- 1、本文档共78页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[第章软件设计过程的技术与方法
第10章 软件设计过程 的技术与方法 软件设计过程的技术与方法 10.1 软件工程方法学 10.2 软件工程的标准化 10.3 软件设计常用的文档类型及作用 10.4 能力成熟度模型CMM 10.1软件工程方法学 软件工程方法学 10.1.1 软件开发流程与软件工程方法学 软件工程方法学是指导和管理软件开发的应用工程学科,一个软件的开发流程不外乎涉及三个方面的内容:分析、软件设计和实现。随着开发方法的不断进步,人们设计了不同的软件生命周期模型。对不同生命周期模型实现过程的演化反映了软件工程方法的进化。纵观软件工程方法的进化过程,经历了从概念的提出到相关技术的研究,再到软件工程方法学的形成;从相关工具的形成,再到相关工具的实现等一系列的过程,逐步形成当前指导软件开发的技术基础。软件工程方法的每一步发展都充分体现了在保证产品质量前提下提高开发速度的基本目标。 软件工程方法学 10.1.2 软件工程基本方法 软件工程方法在软件开发的长期过程中随着软件工程技术的不断进步而不断完善,软件工程的基本方法经历了传统的结构化方法、面向对象方法、软件过程方法和构件工程方法四个阶段的演变。虽然软件工程方法取得了很大的进步,但是当前采用的软件开发方法主要还是结构化方法、面向对象方法。因为对相当数量的软件系统来说,以上两种方法,尤其是结构化方法,仍然是目前较为有效的软件开发方法。在本教材中主要使用结构化方法和面向对象方法描述软件开发的基本过程。 软件工程方法学 1.结构化方法 结构化方法是按功能将问题分解抽象成模块、建立模块和模块之间的调用关系来进行软件开发的。它的基本思想是将系统中的功能与数据相分离。 结构化方法是一种围绕功能来组织软件系统的方法,在这种方法中,系统的基本构成要素是模块,它是一种实现系统单一功能的程序单元。模块具有输入、输出、内部数据和过程等基本要素。 软件工程方法学 2.面向对象方法 面向对象开发方法是继结构化开发方法之后,着重解决系统需求变化和维护困难等问题而发展起来的一种全新的方法。面向对象方法是一种围绕真实世界中的事物来组织软件系统的全新方法。在这种方法中,系统的基本构成要素是对象。从软件开发人员的角度来看,对象是一种将数据和处理这些数据的操作合并在一起的程序单元;从用户的角度来看,对象是一种具有某些属性和行为的事物。对象可以是具体的,也可以是概念性的。对象具有标识惟一性、分类性、多态性、继承性和封装性等基本特性。 软件工程方法学 3.软件过程方法 软件过程方法起始于软件开发的过程思想。随着软件工程不同开发模型的相继提出,开发人员从注重软件开发的各个独立活动步骤发展到探究以软件开发过程中的方法、机制等内容为基础的思维方式,逐渐形成了软件开发的过程概念。 软件工程方法学 软件过程概念在1984年10月召开的第一届国际软件过程讨论会上首次正式提出,并将软件过程定义为:“软件过程(Software Process)是在软件生存期中所实施的一系列活动的集合,且每个活动可由一些任务组成。” 进入20世纪90年代,国际标准化组织(ISO)和国际电器电子工程师学会(IEEE)分别推出《软件过程标准》,将软件过程概念进一步扩展为多视面(Multi View)的过程。它把软件过程定义为“软件生命周期过程或软件过程组,是指软件生命周期中的一系列相关过程。过程是活动的集合,活动是任务的集合,任务则起到把输入加工成输出的作用。活动的执行可以是顺序的、迭代的(重复的)、并行的、嵌套的或者是有条件地引发的。它从合同、工程、运作、管理等视面研究软件生存期中所涉及的各种过程和活动。” 软件工程方法学 软件过程方法是为建立软件过程所必须实施的一系列工程化的活动,它的研究对象是与此有关的方法、工具和环境。它的出现被认为是人们对软件工程方法认识的又一次质的飞跃。它促使软件开发人员把注意力从抽象的软件生命周期模型转向对软件项目成功起着关键作用的过程细节。 软件工程方法学 4.构件工程方法 基于构件的软件工程(Component-Based Software Engineering,CBSE)是强调使用可复用的软件构件来设计和构造基于计算机的系统。它借鉴了工业界开发新产品中的使用已有部件,而不是一切都从头开始设计的成功经验。 软件工程方法学 软件复用的基础是由专门的软件企业生产的软件组件(Component),即构件。软件开发人员在软件开发时可大量复用这些规范的、高效的软件构件,以达到降低软件的开发费用,提高软件的生产效率和提高软件质量的目的。 在基于构件的软件工程方法的实施中,包含领域工程和基于构件的开发这两个并行的工程活动
文档评论(0)