软件工程和开发技术第7章 面向对象技术总论.pptVIP

  • 3
  • 0
  • 约2.63万字
  • 约 179页
  • 2022-04-11 发布于四川
  • 举报

软件工程和开发技术第7章 面向对象技术总论.ppt

7.6 面向对象软件工程 7.6.1 传统的面向对象软件工程   传统的面向对象软件工程是将结构化的软件工程生命周期、管理方法和面向对象技术结合的一种软件工程方法。它将面向对象软件开发过程分成面向对象系统分析、面向对象系统设计、面向对象系统实现、面向对象系统测试等阶段,其核心技术是面向对象建模和面向对象程序设计。   在面向对象建模中一般要建立三种模型:对象模型、动态模型和功能模型。对象模型描述系统中的类及其关系,属于系统的静态结构;动态模型描述在系统功能的实现过程中系统对象之间的交互过程;功能模型类似于系统的高层数据流图,抽象了系统的主要功能。在传统的面向对象软件工程的分析和设计阶段,都需要建立这三种模型,只不过涉及的对象范围、抽象的层次、描述的粒度和细度等有所不同。   在系统分析期间比较关注现实世界的建模。此时,建立起来的对象模型是业务模型或称概念模型。它是对现实世界事物及其关系的直接反映,较少涉及系统实现方法和系统对象的描述(分析阶段涉及到的系统对象多是抽象的,如界面对象等)。在此阶段的对象一般称为业务对象或者分析对象。此时建立的动态模型也是针对在业务功能的实现过程中,业务对象之间交互过程的描述。功能模型则从系统外部或比较高的层次上去抽取系统的功能。   系统设计阶段则要考虑系统的实现方案,比如说确定系统运行模式、考虑系统软件分层架构等,要考虑系统的界面、控制等因素。分析阶段建立的各种模型作为设计阶段的输入,在设计阶段中对前期工作进行系统化的包装,使其更适合于信息系统中的实现。例如给业务对象包装上界面类,将其放在某个系统架构(如基于组件的架构)下进行物理设计等。即使是原来的概念对象模型(业务模型),也需要进一步的综合、优化、分离、抽象(如使用分析模式和设计模式等),以适合于系统的目标和信息系统的特点,满足系统的稳定性、维护性、重用性、移植性、分布性等要求。设计阶段的动态模型则是针对在系统功能执行过程中所有系统对象的交互过程进行建模。功能模型则应该进一步细化成整个系统的功能而不仅仅是业务功能。   可以这样说,分析的任务是将现实世界中或者问题域中的概念抽象出来,提出一种与实现环境无关的、抽象的解决方案;设计的任务则是根据信息系统的特点及实现环境进行更好的实现;面向对象实现阶段则将设计阶段的系统模型转换成面向对象程序代码。最后,面向对象测试将对系统的功能进行黑盒测试,对系统的结构进行白盒测试。 7.6.2 现代的面向对象软件工程   1. 用灵活多变的“迭代”的生命周期模型代替一成不变的僵硬的瀑布模型   实践证明,对于某些需求确定的软件,传统的软件工程生命周期模型是非常有效的,通过对生命周期中的里程碑进行严格控制,能够控制软件的开发质量、进度和成本。但是对于某些软件,其需求情况比较复杂。有些在项目初期,需求还不十分明确,有些项目的需求变化比较大。对于这类项目,传统的生命周期模型显然不太适用。因为按照传统的瀑布模型,需求阶段必须要评审通过后,才能进入到下一个阶段。如果需求不能确定,则项目需求分析阶段需要的时间就无法确定,导致整个项目的进度和成本也就无法控制。   后来,人们又提出了各种软件开发的生命周期模型,如螺旋模型、增量模型等,它们本质上都属于迭代生命周期模型。著名的RUP模型是Rational公司在UML建模语言的基础上提出的一种统一软件开发过程模型,它将软件开发过程分成初始、细化、构造、移交等四个阶段。每个阶段都需要专门的里程碑式的评审,达到目标后才能进入下一个阶段。在每个阶段中,还可以进行多次迭代开发,将该阶段中的任务分解成多个迭代目标,每次迭代都有独立的目标,必须要经过评审通过才能进入下一次迭代,通过多次迭代最终达成本阶段的目标。这种迭代方法可以有效地降低项目风险,尤其是需求变化和采用新技术带来的风险。 2. 强调多视图多角度的系统建模 图7.16 RUP中的4+1模型   软件项目和软件产品由于其本身内在的复杂性,给开发和维护带来了很大的困难。人们为了降低和控制其复杂性,想出了各种各样的方法,其中建立模型的方法被广为使用。模型是问题域和求解域之间的一个纽带和桥梁,是对原始问题或者解决方案从不同角度、不同层次的抽象,它可以在不同的人员之间交流并取得共识。对于信息系统来说,不同的人员观察的角度和关心的问题是不一样的。例如:投资者关心的是系统的总体目标、与旧系统之间的关系以及系统最终带来的效益;用户关心的是最终功能和使用方法;开发人员关心的是开发技术和程序结构以及最终的维护;实施人员关心的是系统的最终程序文件及部署位置等等。现代软件工程中强调根据项目每个相关角色所关心的角度进行建模,以取得共识。不同角色观察到的结果虽然有所不同,但整体上应该是一致的。RUP中提出的4+1视图较好地体现了

文档评论(0)

1亿VIP精品文档

相关文档