软件工程 教学课件 ppt 作者 马林艺 第五章面向对象软件设计

上传人:E**** 文档编号:89320382 上传时间:2019-05-23 格式:PPT 页数:20 大小:411.50KB
返回 下载 相关 举报
软件工程 教学课件 ppt 作者 马林艺 第五章面向对象软件设计_第1页
第1页 / 共20页
软件工程 教学课件 ppt 作者 马林艺 第五章面向对象软件设计_第2页
第2页 / 共20页
软件工程 教学课件 ppt 作者 马林艺 第五章面向对象软件设计_第3页
第3页 / 共20页
软件工程 教学课件 ppt 作者 马林艺 第五章面向对象软件设计_第4页
第4页 / 共20页
软件工程 教学课件 ppt 作者 马林艺 第五章面向对象软件设计_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《软件工程 教学课件 ppt 作者 马林艺 第五章面向对象软件设计》由会员分享,可在线阅读,更多相关《软件工程 教学课件 ppt 作者 马林艺 第五章面向对象软件设计(20页珍藏版)》请在金锄头文库上搜索。

1、SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING,第五章 面向对象软件设计,本章要点,以Coad和Yourdon方法为重点讲述面向对象设计的过程。,面向对象中的基本概念,对象设计采用的原则和方法。,SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING,传统软件设计技术中,主要分为概要设计和详细设计两个 阶段。采用面向对象技术,整个设计过程分为系统设计与 对象设计两部

2、分内容。,5.1.1 面向对象设计的任务,51 面向对象设计概述,按照Rumbaugh等人提出的对象建模技术(Object Mod eling Technique,OTM),面向对象设计过程主要由以 下步骤组成:,SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING,51 面向对象设计概述,1)系统设计。主要完成系统整体结构的设计,包括将 子系统分配到处理器和任务中,选择实现数据管理、界 面支持和任务管理的设计策略,为系统设计合适的控制 机制。 2)对象设计。对OOA模型中的类对象

3、模型具体化、详细 化,包括用传统设计方法中过程设计的方法设计对象的每 个操作,定义实现系统所需的内部类,为类属性设计内部 数据结构等。 3)消息设计。使用对象间的协作和对象-关系模型,设计 消息模型。 4)复审设计模型。设计过程是递进的,从需求和实现两个 角度对设计模型进行复审,并伴随着附加的OOA活动。,SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING,51 面向对象设计概述,1.层次关系:面向对象设计模型的五个层次体现的逻 辑关系各不相同: (1)服务层。服务指类中的操作,

4、而服务层上考虑 的关系指对象间的操作之间的调用关系。 (2)属性层。属性是类保存数据的位置,而属性间 的联系指类之间数据的交换。 (3)结构层。面向对象设计模型中的两种主要结构是: 继承结构和聚合结构。,5.1.2 面向对象的设计模型,SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING,51 面向对象设计概述,(4)类与对象层。这一层次体现类或对象被封装的方式,即类或对象向类的外界提供的功能。 (5)主题层。主题层描述的是分析模型中的需求,即由类组成的组件能够实现哪些功能。 2.

5、子系统之间的交互方式 从目前软件系统来看,子系统之间的交互存在两种可能的方式:客户-供应商(Client-supplier)关系和平等伙伴(peer-to-peer)关系。,5.1.2 面向对象的设计模型,SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING,51 面向对象设计概述,3.组织系统的两种方案: (1)层次组织结构 :其特点是将软件系统组织为一个层次系统,每层是一个子系统。 (2)块状组织结构:在此种组织方案下,软件系统也会被分为若干的子系统。但系统分解后的子系统间相互

6、独立,其耦合度较层次组织结构要弱得多。 4.设计系统的拓扑结构: 由子系统组成完整的系统时,典型的拓扑结构有管道形、树形、星形等,5.1.2 面向对象的设计模型,SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING,5.2 系统设计,根据Rumbaugh对OMT方法的定义,系统设计主要由以下步骤组成: 1)划分子系统。将整个系统按照执行功能的不同划分为若干个子系统,每个子系统承担一定的独立功能。 2)确定需要并发运行的子系统,并为它们分配处理器。对于面向对象方法的各子系统,如果需要

7、并行执行,就需要有任务分配子系统协调其他子系统的执行,满足要求。 3)描述子系统之间的通信。子系统间的耦合以相互通信的方式实现。,5.2.1 系统设计过程,SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING,5.2 系统设计,4)确定系统资源的管理和控制。可以将系统的资源管理与控制看作是某一子系统的责任来统一管理和控制系统的资源,而对于系统资源的使用者则作为此子系统的消费者看待。 5)确定人机交互构件,即用户界面。用户界面体现了系统与用户的信息交换方式,应按照一定的设计原则和使用

8、习惯制定良好的用户界面,提高系统输入、输出的效率。 6)选择实现数据管理和任务管理的基本策略。应优化对数据管理和任务管理的设计,使得系统可以高效地运行。,5.2.1 系统设计过程,SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING,5.2 系统设计,1.划分子系统: 面向对象分析所得出的问题域精确模型,为提取和划分子系统奠定了良好的基础,并提供了完整的框架。 对子系统的划分归纳起来有以下几种原则: 1)复用设计的原则。即根据解决问题的需要,将从类库或其它来源获得的既存类增加到问题

9、的解决方案中。 2)把与应用论域相关的一些类关联起来,对与问题解决相关的一些类组织起来,建立类的层次结构。,5.2.2 子系统设计,SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING,5.2 系统设计,3)加入一般化类以建立类间协议。如果若干类有某种相似方法,就可以制定一个一般化类,并为它定义一般化类,将通用方法作为虚函数。 4)调整继承支持级别。 5)修改设计以提高性能 6)加入较低层的构件 2.处理并发操作,5.2.2 子系统设计,SOFTWARE ENGINEERING S

10、OFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING,5.2 系统设计,可以采用以下两种解决方案: 1)将并发子系统分配到不同的处理器。 2)将并发子系统分配到相同的处理器并由系统提供同步控制。 3.描述子系统间通信 OOA中已经用对象-关系模型表示了对象间的协作关系,子系统可以看作是高层的模块,有必要定义子系统间的协作关系。 4.资源管理构件 系统中通常有一些共享资源,多个子系统可能同时竞争这些资源。,5.2.2 子系统设计,SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWAR

11、E ENGINEERING SOFTWARE ENGINEERING,5.2 系统设计,1.分类分析用户特点,设计不同界面 2.增加用户界面专用的类与对象 3.利用快速原型演示,改进界面设计 4.描述任务的情景 5.设计命令层 6.设计详细的交互,5.2.3 用户界面设计,SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING,5.2 系统设计,所谓任务,是进程的别称,是执行一系列活动的一段程序。 具体而言,任务管理部件的设计一般遵循如下的步骤与策略: (1)识别由事件驱动和时间驱动

12、的任务 (2)识别关键任务、任务优先级以及任务管理类 (3)定义任务 (4)修改任务,5.2.4 任务管理设计,SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING,5.2 系统设计,1.定义数据格式 (1)关系型数据库管理系统 (2)面向对象数据库管理系统 2.设计相应的操作 (1)关系型数据库管理系统 (2)面向对象数据库管理系统,5.2.5 数据管理设计,SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERIN

13、G SOFTWARE ENGINEERING,5.3 对象设计,任何一种设计方法必须提供以下机制: 数据结构的表示 2) 处理过程的说明 3) 处理过程的调用,SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING,5.3 对象设计,对象的实现描述中包括以下信息: 对象名及所属对象类 2) 私有数据结构的每一数据项及其类型 3) 每个操作的过程性描述或指向这样一个过程性描述的指针 1协议描述,5.3.1 对象描述,SOFTWARE ENGINEERING SOFTWARE ENGIN

14、EERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING,5.3 对象设计,协议原指网络通信双方的通信约定,这里借用这个概念来表示对象间是如何通信的。 2实现描述: 实现描述是对对象接收到某个消息后所执行的操作的实现细节的描述,包括关于对象私有部分的信息,即关于描述对象的属性的数据结构的内部细节及描述操作的过程细节。,5.3.2 算法设计,SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING,5.3 对象设计,模块化是提高软件质量的一个重要方

15、面,也是OOD四 个基础特征之一。而程序构件化则是体现模块化的重要 手段。在面向对象设计中,仅定义对象的属性和操作是 不够的,还必须描述存在于对象间的接口和对象的整体 结构。程序构件可以用于表示对象整体结构以及对象和 其它构件间相互的连接。,5.3.3 程序构件与接口,SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING,5.4 领域对象设计,1)调整需求 2) 重用已有的组件 3) 引入父类,分组管理领域类 4) 增添一般化类建立协议 5) 调整OOA模型 1 6) 设计复审,5.4.1 领域对象的设计内容,SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING SOFTWARE ENGINEERING,5.4 领域对象设计,一个设计模板能命名、抽象和标识通用设计结构的主要 方面,有助于创建可复用的设计。设计模板描述相关的 类和实例,它们的角色和协作以及责任分布,5.4.2 领域对象的设计模板,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号