欢迎来到天天文库
浏览记录
ID:39891939
大小:423.01 KB
页数:59页
时间:2019-07-14
《管理信息系统第7章面向对象软件工程的概念》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章面向对象软件工程的概念传统软件开发方法的局限性面向对象的过程模型面向对象的概念几种面向对象方法统一建模语言-UML1西安交通大学刘海岩7.1传统软件开发方法的局限性传统的软件工具、软件技术和抽象层次越来越难以适应大规模复杂软件系统的开发特点。软件能力问题已经成为制约软件发展的因素。软件工程自70年代以来,有力的推动了软件能力的解决。自顶向下的分析与设计的方法、软件项目的工程化管理、软件工具和开发环境、软件质量保证等都对软件的发展起了非常重要的作用。传统的软件开发方法在当时的软件工程中起了主导作用,
2、随着系统复杂性、多变性增强,传统方法的缺陷就显露了出来:(1)面向过程为主。系统围绕着由计算机来实现功能的复杂过程而建立,在分析和解决问题时与人们对现实世界的认识有一定差距。2西安交通大学刘海岩(2)软件结构稳定性差。需求分析阶段重点是功能模型,难以彻底明确全部需求。设计阶段的软件体系结构是基于系统功能建立的。每个模块完成一个基本功能,多个模块的组合完成一个整体功能。一个模块的变动可能会影响到多个模块。用户的需求大多针对功能,功能的变化会引起体系结构的变化,不利于系统的维护。(3)软件开发的抽象力度小。
3、解决问题的类型一般用于“输入-处理-输出”为核心的数据处理系统,不适应于复杂的实时、交互、事件驱动、分布式等新型应用的系统开发。(4)软件重用未能得到很好的解决。传统的方法一般从“零”开始开发软件,数据与操作作为相互分离的实体来考虑,使软件的可复用性差。重用的实施仅仅是公用模块的调用。面向对象的封装性、继承性、多态性等特性支持软件重用且重用的粒度大。软件的重用导致更快地、高质量地开发软件,为软件工业化生产奠定基础。3西安交通大学刘海岩传统方法数据与过程是分离的过程1输入输出过程2过程3数据实体属于该对象
4、的数据对象处理数据的方法消息消息对象把数据和处理数据的方法封状成一个单元4西安交通大学刘海岩传统方法与面向对象方法的比较面向对象方法系统是交互对象的集合对象与人或其它对象交互对象发送与响应消息传统方法系统是过程的集合过程与数据实体交互过程接受输入并产生输出5西安交通大学刘海岩7.2面向对象的过程模型1、演化/并行模型(p402)是Booch等人在90年代初建议的。该模型与第1章介绍的螺旋模型、增量模型相似。但强调:(1)对OO系统的分析和设计建模不在相同的抽象层次上进行。(2)分析和设计可以并发地应用到
5、独立的系统构件。6西安交通大学刘海岩该模型每次迭代都要计划、工程和评估。每个计划都要调整进度以适应和本次迭代相关的变化。早期阶段迭代进行的分析与设计工作为了分离出OO模型中的所有重要元素;当工程工作不断进展时,产生软件的增量版本;在评估阶段对每个增量的评估其反馈将影响下一次计划活动及后续增量。2、RUP98年6月推出,该过程强调了开发方法的统一、建模语言的统一、研究成果的统一。该过程是基于构件的,即所构造的系统是由软件构件通过明确定义的接口相互连接所建造起来的。它使用UML来制定软件系统的所有蓝图。RU
6、P的主要特点:(1)用例驱动用例作为系统分析、设计、实现和测试的基本输入。7西安交通大学刘海岩即用例不只是一种确定系统需求的工具,它还能驱动系统的设计、实现和测试的进行。基于用例模型,开发人员可以创建一系列实现这些用例的设计模型和实现模型。开发人员可以审查每个后续建立的模型是否与用例模型一致。测试人员测试实现以确定实现模型的构件是否实现了用例。所以用例启动了开发过程,还使开发过程结合为一体。开发过程是沿着一系列从用例得到的工作流前进的。8西安交通大学刘海岩下图显示了用例模型与其他模型之间的相关性:用例模
7、型由…建立分析模型为系统描述一系列类由…设计设计模型为系统定义一系列子系统和界面由…实现实现模型将类映射到构件由…分配测试模型由…验证验证系统是否提供了用例模型中描述的功能配置模型定义软件分布9西安交通大学刘海岩(2)以构架(Architecture)为中心软件系统的构架从不同角度描述了即将构造的系统,它刻画了系统的整体设计,去掉了细节部分,突出了系统的重要特征,包含了系统中最重要的静态结构和动态行为。构架是根据应用领域的需要逐渐发展起来的,并在用例中得到反映。每种产品都具有功能和表现形式,功能与用例对
8、应,表现形式与构架对应。用例与构架是相互影响的,用例在实现时必须符合于构架,构架必须预留空间以实现现在或将来所有需要的用例。10西安交通大学刘海岩3、迭代与增量的过程迭代指工作流中的步骤,增量指产品中增加的部分。迭代过程要处理一组用例,这组用例合起来能扩展所开发产品的可用性,后续的迭代过程建立在前一次迭代过程末期所开发的产品上。构架提供了一种结构来指导迭代过程中的工作,用例则确定了目标并驱动每次迭代的工作。——三条腿的凳子!4、基于构件统一
此文档下载收益归作者所有