—UML系统建模与设计概论.ppt

  1. 1、本文档共105页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设计模型由四个部件模型和四个活动组成。 四个部件模型:人机接口部件模型 问题领域部件模型 任务管理部件模型 数据管理部件模型 四个活动:构建四个部件模型的活动。 OOD贯穿OOA的五个层次和五个活动,OOA结果就是OOD的问题领域部件,但在OOD中可以改动和增补。 (2) 面向对象设计(OOD)步骤 3.Coad-Yourdon的面向对象方法论 类与对 象层 属性层 服务层 结构层 主题层 问题 领域 部分 人机 交互 部分 任务 管理 部分 数据 管理 部分 主题 服务 消息 属性 实例连接 类边界 实例边界 设计模型的体系结构 4.James Rumbaugh的面向对象方法 对象模型化技术OMT UML创始人 -- James Rumbaugh 詹姆斯-朗博 Rumbaugh的OMT方法将开发过程分为四个阶段: . 分析 需求分析:导出问题范围的描述 系统分析:建立三大模型 . 系统设计:将分析模型划分为子系统 . 对象设计:确定属性及操作,定义算法和数据结构,结构,关系等 . 实现 ① 对象模型(object model). 描述对象的结构(对象、类、层次、关系),表示静态的、系统的数据特征。用对象图描述。对象模型最重要,动态模型和功能模型依此建立. ② 动态模型(dynamic model). 描述系统与时间和操作顺序有关的系统特征,描述系统控制特征。用状态图表示 ③ 功能模型(function model). 描述与数据值变换有关的系统特征。用数据流程图表示。 分析建立三种模型: 一个UML的应用实例 面向对象分析(OOA):在问题域内发现和描述对象。 面向对象设计(OOD):如何定义软件对象以及它们之间如何协作以实现需求。 快速开始的示例 骰子游戏:软件模拟游戏者投掷两个骰子,如果总点数是7则赢得游戏,否则为输 过程:定义用例-定义领域模型-定义交互图-定义设计类图 定义用例(用例是需求分析的一种工具,它是一些情节的描述) 骰子游戏: 1、游戏者请求骰子 2、系统展示结果:如果骰子的总点数是7,则游戏者赢;否则游戏者输 骰子游戏的领域模型(Domain Model) 定义领域模型(OOA) - 识别问题中的概念,它是对真实世界领域中的概念和想像可视化,与具体实现的软件技术无关(比如java或C#) 游戏者 骰子 骰子游戏 骰子游戏的领域模型(Domain Model) 分配对象职责并绘制交互图(动态建模) OOD关注的是:软件对象的定义 – 职责与协作 定义设计类图(静态建模) 从领域模型以及交互图中获得启示,定义软件类,包括属性、方法等等 骰子游戏的局部设计类图示例如下: 1.6 本章小结 软件的基本概念和特点 软件的发展过程及软件开发过程 软件开发的方法 面向对象技术的基本概念及开发过程 几种典型的面向对象方法 为了建立复杂的系统,开发人员必须首先抽象出系统的不同视图,并用精确的表示法来建立模型,最后在模型转换为实现的过程中逐渐添加进相关细节。如图所示,表示法、过程和工具是成功建模的三要素,三者缺一不可。如果建模人员了解表示法的含义,但不知道如何使用这些表示法(过程),那么最终有可能会失败;如果建模人员知道建模的过程,但不知道各表示法的含义,那么最终也可能会失败;如果建模人员不能借助工具记录下建模过程中所得的各制品,那么最后还是有可能会失败。 * * 让对象细节受到保护——封装 当一个对象执行自己的操作时。它对外界隐藏了操作的细节。 封装可以提高重用性, 并且让程序易于维护 封装的程度问题 还是《春晓》。刚才我们将产生**的方法写在了类ChunXiao2中,根据前面所讲,类中的方法代表的是类的操作,而产生**和春晓没有直接关系,这样的封装看起来好像不合理,怎么改进一下呢 ? StarFactory String build() ChunXiao3 【代码】StarFactory.java Chunxiao3.java public class StarFactory{ public String build(){ return **; } } public class ChunXiao3{ public static void main(String[] args){ StarFactory strFac = new StarFactory(); System.out.println(strFac.build()+ 春晓); System.out.println(strFac.build()+ 春眠不觉晓,); System.out.printl

文档评论(0)

a336661148 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档