面向对象分析设计(教案稿)_第1页
面向对象分析设计(教案稿)_第2页
面向对象分析设计(教案稿)_第3页
面向对象分析设计(教案稿)_第4页
面向对象分析设计(教案稿)_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1软件工程软件工程面向对象分析与设计面向对象分析与设计2面向对象分析面向对象分析分析分析 分析工作主要包括分析工作主要包括3项内容项内容:理解、表达和理解、表达和验证。验证。 在面向对象分析中,主要由对象模型、动在面向对象分析中,主要由对象模型、动态模型和功能模型组成。态模型和功能模型组成。面向对象分析面向对象分析 关键是识别出问题域内的类与对象,并分关键是识别出问题域内的类与对象,并分析它们相互间的关系,最终建立起问题域的简析它们相互间的关系,最终建立起问题域的简洁、精确、可理解的正确模型。其中对象模型洁、精确、可理解的正确模型。其中对象模型是最基本、最重要、最核心的。是最基本、最重要、最核

2、心的。3 对象模型表示静态的、结构化的系统的对象模型表示静态的、结构化的系统的“数据数据”性质。性质。 面向对象方法强调围绕对象而不是围绕功能来面向对象方法强调围绕对象而不是围绕功能来构造系统。构造系统。 对象模型是对模拟客观世界实体的对象以及对对象模型是对模拟客观世界实体的对象以及对象彼此间的关系的映射,描述了系统的静态结构。象彼此间的关系的映射,描述了系统的静态结构。为建立动态模型和功能模型,提供了实质性的框架。为建立动态模型和功能模型,提供了实质性的框架。 对象模型用类图来描述。对象模型用类图来描述。 对象模型对象模型4 动态模型表示瞬时的、行为化的系统的动态模型表示瞬时的、行为化的系统

3、的“控制控制”性质,它规定了对象模型中的对象的合法变化序列。性质,它规定了对象模型中的对象的合法变化序列。 状态是对对象属性值的一种抽象。状态是对对象属性值的一种抽象。 各对象之间相互触发(即作用)就形成了一系各对象之间相互触发(即作用)就形成了一系列的状态变化。列的状态变化。 一个触发行为称作一个事件。一个触发行为称作一个事件。 对象对事件的响应,取决于接受该触发的对象对象对事件的响应,取决于接受该触发的对象当时所处的状态。当时所处的状态。 动态模型动态模型5 用用UML提供的状态图来描绘对象的状态、触发提供的状态图来描绘对象的状态、触发状态转换的事件以及对象的行为(对事件的响应)。状态转换

4、的事件以及对象的行为(对事件的响应)。 每个类的动态行为用一张状态图来描绘,各个每个类的动态行为用一张状态图来描绘,各个类的状态图通过共享事件合并起来,从而构成系统类的状态图通过共享事件合并起来,从而构成系统的动态模型。的动态模型。 动态模型是基于事件共享而互相关联的一组状动态模型是基于事件共享而互相关联的一组状态图的集合。态图的集合。 动态模型动态模型6 功能模型表示变化的系统的功能模型表示变化的系统的“功能功能”性质,它性质,它指明了系统应该指明了系统应该“做什么做什么”,直接地反映了用户对,直接地反映了用户对目标系统的需求。目标系统的需求。 建立功能模型有助于软件开发人员更深入地理建立功

5、能模型有助于软件开发人员更深入地理解问题域,改进和完善自己的设计。解问题域,改进和完善自己的设计。 用例图进行需求分析和建立功能模型的强有力用例图进行需求分析和建立功能模型的强有力工具。工具。 在在UML中把用用例图建立起来的系统模型称为中把用用例图建立起来的系统模型称为用例模型。用例模型。 功能模型功能模型7(1 1) 针对每个类建立的动态模型,描述了类实例针对每个类建立的动态模型,描述了类实例的生命周期或运行周期。的生命周期或运行周期。(2 2) 状态转换驱使行为发生,这些行为在数据流状态转换驱使行为发生,这些行为在数据流图中被映射成处理,在用例图中被映射成用例,它图中被映射成处理,在用例

6、图中被映射成用例,它们同时与类图中的服务相对应。们同时与类图中的服务相对应。(3 3) 功能模型中的处理(或用例)对应于对象模功能模型中的处理(或用例)对应于对象模型中的类所提供的服务。型中的类所提供的服务。(4 4) 数据流图中的数据存储,以及数据的源点数据流图中的数据存储,以及数据的源点/ /终点,通常是对象模型中的对象。终点,通常是对象模型中的对象。(5 5) 数据流图中的数据流,往往是对象模型中对数据流图中的数据流,往往是对象模型中对象的属性值,也可能是整个对象。象的属性值,也可能是整个对象。 3种模型之间的关系种模型之间的关系8(6 6) 用例图中的行为者,可能是对象模型中的对用例图

7、中的行为者,可能是对象模型中的对象。象。(7 7) 功能模型中的处理(或用例)可能产生动态功能模型中的处理(或用例)可能产生动态模型中的事件。模型中的事件。(8 8) 对象模型描述了数据流图中的数据流、数据对象模型描述了数据流图中的数据流、数据存储以及数据源点存储以及数据源点/ /终点的结构。终点的结构。 3种模型之间的关系种模型之间的关系9面向对象设计面向对象设计 分析是提取和整理用户需求,并建立问题域分析是提取和整理用户需求,并建立问题域精确模型的过程。精确模型的过程。 设计则是把分析阶段得到的需求转变成符合设计则是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。

8、成本和质量要求的、抽象的系统实现方案的过程。 面向对象设计就是用面向对象观点建立求解面向对象设计就是用面向对象观点建立求解域模型的过程。域模型的过程。10系统分解系统分解 软件工程师在设计比较复杂的应用软件工程师在设计比较复杂的应用系统时普遍采用的策略是,系统时普遍采用的策略是,“分而治之,分而治之,各个击破各个击破”。 系统的主要组成部分称为子系统。系统的主要组成部分称为子系统。通常根据所提供的功能来划分子系统。通常根据所提供的功能来划分子系统。11 大多数系统的面向对象设计模型,大多数系统的面向对象设计模型,在逻辑上都由在逻辑上都由4大部分组成。大部分组成。系统分解系统分解12设计问题域子

9、系统设计问题域子系统 面向对象分析所得出的问题域精确模型,面向对象分析所得出的问题域精确模型,为设计问题域子系统奠定了良好的基础,建立为设计问题域子系统奠定了良好的基础,建立了完整的框架。了完整的框架。 面向对象设计仅需从实现角度对问题域模面向对象设计仅需从实现角度对问题域模型做一些补充或修改。型做一些补充或修改。13 在面向对象设计过程中,可能对面向对象分析在面向对象设计过程中,可能对面向对象分析所得出的问题域模型做的补充或修改有:所得出的问题域模型做的补充或修改有: 1. 调整需求调整需求 2. 重用已有的类重用已有的类 3. 把问题域类组合在一起把问题域类组合在一起 4. 增添一般化类以

10、建立协议增添一般化类以建立协议 5. 调整继承层次调整继承层次14 从面向对象设计的角度补充设计人机交互从面向对象设计的角度补充设计人机交互子系统的策略:子系统的策略: 1. 分类用户分类用户 2. 描述用户描述用户 3. 设计命令层次设计命令层次 4. 设计人机交互类设计人机交互类设计人机交互子系统设计人机交互子系统15设计任务管理子系统设计任务管理子系统 确定系统中哪些是必须同时动作的对象,确定系统中哪些是必须同时动作的对象,哪些是相互排斥的对象。然后进一步设计任务哪些是相互排斥的对象。然后进一步设计任务管理子系统。是设计工作的一项重要内容。管理子系统。是设计工作的一项重要内容。 1. 分析并发性分析并发性 2. 设计任务管理子系统设计任务管理子系统16设计数据管理子系统设计数据管理子系统 数据管理子系统是系统存储或检索对数据管理子系统是系统存储或检索对象的基本设施,它建立在某种数据存储象的基本设施,它建立在某种数据存储管理系统之上,并且隔离了数据存储管管理系统之上,并且隔离了数据存储管理模式理模式( (文件、关系数据库或面向对象数文件、关系数据库或面向对象数据库据库) )的影响。的影响。 17设计数据管理子系统设计数据管理子系统1、选择数据存储管理模式、选择数据存储管理模式 (1)文件管理系统)文件管

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论