预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共198页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

软件工程方法与实践(机械工业出版社)实验1:软件工程CASE工具 —什么是软件工程环境? —CASE工具的作用? —主流的代表性CASE工具? —软件工程各阶段工具需求? 要求:理解实验内容与方法、提交实验报告 习题3、4、61.现代软件工程(国家示范性软件学院系列教材) 张家浩/东南大学机械工业出版社2009.1 2.软件工程—理论与实践 许家珆曾翎彭德中编著高等教育出版社2004.7 3.软件工程-实践者的研究方法 (美)RogerS.Pressman著郑人杰等译机械工业出版社2008.6 4.SoftwareEngineering,6thEdition Sommerville.I.(影印版)机械工业出版社2003.4总目录总目录第7章面向对象分析引言:传统软件开发方法的局限性(2)软件结构稳定性差。需求分析阶段重点是功能模型,难以彻底明确全部需求。设计阶段的软件体系结构是基于系统功能建立的。每个模块完成一个基本功能,多个模块的组合完成一个整体功能。一个模块的变动可能会影响到多个模块。用户的需求大多针对功能,功能的变化会引起体系结构的变化,不利于系统的维护。 (3)软件开发的抽象力度小。解决问题的类型一般用于“输入-处理-输出”为核心的数据处理系统,不适应于复杂的实时、交互、事件驱动、分布式等新型应用的系统开发。 (4)软件重用未能得到很好的解决。传统的方法一般从“零”开始开发软件,数据与操作作为相互分离的实体来考虑,使软件的可复用性差。重用的实施仅仅是公用模块的调用。面向对象的封装性、继承性、多态性等特性支持软件重用且重用的粒度大。软件的重用导致更快地、高质量地开发软件,为软件工业化生产奠定基础。9传统方法与面向对象方法的比较 1.与人类习惯的思维方法一致 传统的程序设计技术是面向过程的设计方法,这种方法以算法为核心,把数据和过程作为相互独立的部分。 用这种方法所设计出来的软件系统其解空间与问题空间并不一致,令人感到难于理解。 面向对象的软件开发过程围绕着建立问题域的对象模型来进行:对问题领域进行自然的分解,确定需要使用的对象和类,建立适当的类等级,在对象之间传递消息实现必要的联系。2.稳定性好 传统的软件开发方法以算法为核心,开发过程基于功能分析和功能分解。 用传统方法所建立起来的软件系统的结构紧密依赖于系统所要完成的功能,当功能需求发生变化时将引起软件结构的整体修改。 面向对象方法用对象模拟问题领域中的实体,以对象间的联系刻画实体间的联系。 由于现实世界中的实体是相对稳定的,因此,以对象为中心构造的软件系统也是比较稳定的。 3.可重用性好 用已有的零部件装配新的产品,是典型的重用技术,例如,用标准函数库中的函数作为“预制件”来建造新的软件系统。 重用是提高生产率的最主要的方法。 传统的软件重用技术是利用标准函数库,实际的库函数往往仅提供最基本、最常用的功能。 面向对象方法所使用的对象中,数据和操作是作为平等伙伴出现的,故对象具有很强的自含性。 对象固有的封装性和信息隐藏机制,使得对象的内部实现与外界隔离,具有较强的独立性。 对象是比较理想的模块和可重用的软件成分。面向对象的软件技术在利用可重用的软件成分构造新的软件系统时,有很大的灵活性。 有两种方法可以重复使用一个对象类: (1)创建该类的实例,从而直接使用它; (2)从它派生出一个满足当前需要的新类。 继承性机制使得子类不仅可以重用其父类的数据结构和程序代码,而且可以在父类代码的基础上方便地修改和扩充,这种修改并不影响对原有类的使用。 由于可以像使用集成电路(IC)构造计算机硬件那样,比较方便地重用对象类来构造软件系统,因此,有人把对象类称为“软件IC”。4.较易开发大型软件产品 在开发大型软件产品时,组织开发人员的方法不恰当往往是出现问题的主要原因。 用面向对象方法学开发软件时,构成软件系统的每个对象就像一个微型程序,有自己的数据、操作、功能和用途,可以把一个大型软件产品分解成一系列本质上相互独立的小产品来处理。 对于大型软件产品来说,面向对象范型优于结构化范型。5.可维护性好 由于下述因素的存在,使得用面向对象方法所开发的软件可维护性好: (1)面向对象的软件结构稳定性比较好; (2)面向对象的软件比较容易修改; (3)面向对象的软件比较容易理解; (4)易于测试和调试。 面向对象分析也是要建立各种各样的基于对象的模型,这些模型用于理解领域问题 面向对象的最大特点是面向用例(用例是指在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述),用例贯穿整个开发过程,再引入类模型和动态行为模型。 在用例的描述中引入了外部角色的概念。 面向对象分析(OOA,Object-OrientedAnalysis)是一种半形式化的规格说