- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OMT将开发过程划分为四个阶段 对象设计:设计模型是在分析模型的基础上添加实现细节来完成的,在增加工这细节时,设计人员应该遵守在系统设计阶段确定的策略 实现:对象设计阶段所产生的对象类和联系最后都必须翻译成具体的程序设计语言,数据库或硬件实现,在开发过程中,程序设计应该是相对简单机械的部分,因为所有最困难的决策已经在设计阶段做出,目标语言在某种程度上可能影响设计决定,但设计决不应该依赖程序设计语言的细节,虽然目标语言在某种程序上可能影响设计决策 * * 分析模型 对象模型: 描述静态结构, 定义做 事情的实体 功能模型: 描述处理(数据变换), 指明系统应“做什么” 动态模型: 描述交互过程, 规定什么 时候做 * * OMT模型系统分析和设计过程概观图 产生需求 结构及对象 设计 建立模型 问题描述 对象模型、动态模型、功能模型 详细的对象模型 详细的动态模型 详细的功能模型 分 析 阶 段 设 计 阶 段 * * 实例:饮料自动售货机系统 设置 一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。 * * 实例:饮料自动售货机系统 销售 顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。顾客按键后饮料由取物楼掉出,并自动结算及找钱。 取消交易 顾客可在按下选择键前任何一个时刻,拉动退币杆取消交易收回硬币。 * * 步骤 (1)找出对象及其关联 (2)赋予类及关联的属性数据 (3)组织类的结构 OMT的对象图 * * 找出饮料自动售货机系统中的对象 设置 一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。 * * 找出饮料自动售货机系统中的对象 销售 顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。顾客按键后饮料由取物楼掉出,并自动结算及找钱。 取消交易 顾客可在按下选择键前任何一个时刻,拉动退币杆取消交易收回硬币。 * * 对象模型 描述系统内部对象结构,包括对象本身的定义、对象的属性、操作,以及对象与其它对象之间的关系。 对象模型是OMT方法论中最重要的部分,动态模型、功能模型都将依次而建立 对象模型以对象图形式呈现,对象图由类构成。 * * 饮料自动售货机系统对象图 贩卖机 饮料号码 价格 投币-接受 饮料掉出 金额显示 按纽 退币杆 售完显示 存量计算器 饮料号码 存量 递减 售完显示 重置 选择钮 选择钮状态 灯亮 灯熄 售完灯亮 按钮 顾客 姓名 硬币 投币-置入 拿取饮料 退币杆 退币杆状态 拉动 金额计算器 金额 累加 找零 重置 购买 选取 被拉动 属于 属于 属于 属于 建立数据字典 为所有模型实体准备一个数据字典,精确描述每一个对象类,包括: 成员 约束 关联、属性、操作 * * 动态模型 用来描述系统与时间相关的动态行为即系统的控制逻辑,表现对象彼此间经过相互作用后,随时间改变的不同运算顺序。 动态模型以“事件”(Events)和“状态”(States)为其模型的主要概念。 动态模型以状态图形式呈现 * * 小结:结构化设计 * * 结构化设计的质量标准(Note 51) 结构图 耦合度 聚合度 信息隐蔽的目的: 提高模块的独立性,减少修改或维护时的影响面。 * * 结构图(note 51a) A C B D A B Z X.Y A C B D 1 重复调用和一次调用 条件调用 * * 耦合度(Note 51b) 结构化设计方法的重要成果是把影响耦合度的因素归结为如下原则: 连系方式的类型:用过程语句调用低于直接调用 接口的复杂性:接口间传递信息的数量 连系的作用:传送信息流的类型,数据型、控制型或混合型 耦合时间:按执行时间、装入时间、连接时间及编译时间来区分。 * * 连系的作用(Note 51c) 混合型的例子:当一个模块修改另一个模块的代码时,对修改者来说修改的代码是当作数据来处理的。而对被修改者来说,则是一种对“控制”的变动。 控制型的例子:模块A通过用作控制信号的开关量实际上控制着模块B的工作。
原创力文档


文档评论(0)