©2009BUPTTSEG第十章面向对象设计修佳鹏media@bupt.edu.cn软件工程模型与方法Models&MethodsofSoftwareEngineering©2009BUPTTSEG北京邮电大学通信软件工程中心2本章内容10.1面向对象设计综述10.2模型的层次化10.3面向对象设计原则10.4设计用例实现方案©2009BUPTTSEG北京邮电大学通信软件工程中心310.1面向对象设计综述面向对象的设计就是在OOA模型基础上运用面向对象方法进行系统设计,目标是产生一个符合具体实现条件的面向对象设计(OOD)模型。与实现条件有关的因素有:图形用户界面、硬件、操作系统、网络、数据库管理系统、编程语言和可复用的类库等。OOD的成果:以UML包图等表示的软件体系结构以交互图和类图表示的用例实现针对复杂对象的状态图用以描述流程化处理过程的活动图等©2009BUPTTSEG北京邮电大学通信软件工程中心4面向对象的设计过程领域概念模型系统操作契约用例描述及用例文本系统顺序图分析模型设计用例实现方案设计软件体系结构设计用户界面交互图其他(状态图、活动图等)软件体系结构图类图设计模型设计过程©2009BUPTTSEG北京邮电大学通信软件工程中心510.2模型的层次化10.2.1用户界面层10.2.2控制器/处理层10.2.3业务/领域层10.2.4持久化层10.2.5系统层©2009BUPTTSEG北京邮电大学通信软件工程中心6层次化模型用户界面类实现了系统的主要用户界面元素。业务/领域类实现与业务领域相关的概念,源于领域模型。控制器/处理类作为完成用例任务的责任承担者,用于协调、控制其他类共同完成用例规定的功能或行为。持久类把永久存储、检索、更新和删除对象的能力封装起来,使底层的存储技术不暴露出来。系统类为应用提供操作系统相关的功能,通过把特定于操作系统的特性包装起来,使软件与操作系统分离,增加应用的可移植性。用户界面类控制器/处理类持久类业务/领域类系统类持久存储©2009BUPTTSEG北京邮电大学通信软件工程中心710.2.1用户界面层用户界面层指与用户进行交互的部分,包含应用程序中用户界面部分的代码。系统与用户的用户界面可以以多种形式出现:图形用户界面GUI命令行界面其他交互界面(语音等)尽量将用户界面层与系统的业务逻辑分离,专门处理系统与用户的交互。用户与系统的交互方式发生变化,系统的基本业务逻辑不需改变;系统业务逻辑变化,在交互内容不变的情况下,用户界面不需要进行改变。©2009BUPTTSEG北京邮电大学通信软件工程中心810...