第4章-面向对象的软件设计方法.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章-面向对象的软件设计方法资料

屏幕变化状态图 “插卡”过程的屏幕转换状态图:每个状态表示一个屏幕,迁移表示当前屏幕用户的激励。 屏幕结构类图 InputPin屏幕的结构图。每个屏幕的结构可以用类图设计,即屏幕上有什么(窗口),如:文本框、按钮等 屏幕结构包图 顾客控制台包含丰富的元素,可以进一步细化形成一个对应的包,专门描述界面元素其中有分为5个子包,分别对应“插卡”、“取款”、“存款”、“转账”、“查询”5个独立的过程。每个子包又对应一些列的屏幕,并对应到表示屏幕切换的状态图 用户界面设计 一个独立的过程包含若干屏幕变换 状态图表示屏幕间的变换 状态图的一个状态表示一个屏幕 一个屏幕的结构用屏幕结构(类)图表示 内容 4.1 基于UML的分析与设计过程 4.2 用例分析与设计 4.3 概念模型和顶层架构设计 4.4 用户界面设计 4.5 数据模型设计 4.6 设计精化 4.7 类设计 4.8 部署模型设计 数据模型设计 数据模型设计包括数据结构设计、数据库设计、数据文件设计等,本节主要关注持久数据存储设计。持久数据模型设计步骤为: (1)确定设计模型中需要持久保存的类的对象及其属性, 其中实体类是主要关注对象。 (2)确定持久存储的数据之间的组织方式。 (3)确定数据模型中的操作行为,例如数据完整性验证、 数据读取、存储与更新、数据求和、求数据平均值等。 (3)进一步优化持久数据操作的性能,如使用数据索引、 存储过程、触发器等方式。 数据模型设计的输出制品是数据模型,包括以UML类图表示的数据库表格以及它们之间的关系。数据模型必须满足设计模型对持久数据存储的要求。 关系数据库建模 类对应于关系数据模型中的表格(table),对象对应于记录(record),属性对应于表格中的字段(field)或者列(column),类中的方法实现可以用SQL语句对数据库表格进行操作。 table表示表格,key表示关键字,foreign key表示外键 数据模型 内容 4.1 基于UML的分析与设计过程 4.2 用例分析与设计 4.3 概念模型和顶层架构设计 4.4 用户界面设计 4.5 数据模型设计 4.6 设计精化 4.7 类设计 4.8 部署模型设计 4.6 设计精化 设计精化的任务: (1)精化软件架构 (2)调整软件组成类 (3)精化交互模型 (4)精化类之间关系 (1)精化软件架构 精化软件架构的主要目的是寻找一种理想的包划分方案,使得每个包中直接包含的类的数量规模适中,包的边界清晰、自然,并且包间的耦合度较低。 随着分析和设计不断深入,原有包图中的包可能包含了过多的类,此时需要对其进行分拆。 按照软件工程强内聚、松耦合的原则,这种分拆应该具有某种自然划分的性质,并且尽可能降低划分以后的子包之间的耦合度。 精化软件架构 包间的耦合度主要取决于依赖关系,包间的依赖关系又取决于两个包中类之间的关系,包划分(拆分、移动、合并等)的有关原则: 避免包间的循环依赖关系,即排除包P1依赖于包P2、P2又依赖于P1的情形。 在层次结构中,位于较低层次的通用包不应当依赖于较高层次中的专用包。 在层次结构中,较高层次的包可以依赖于较低层次的包,但应尽量在相邻的层次间发生。 如果针对某些子系统专门划分了接口包和实现包,那么,其它与该子系统相关的包只能依赖于接口包,不能依赖于实现包。 图4-17、4-18 “用户交互层包、子包精化后的模型” (2)调整软件构成类 对设计模型中的类进行调整和优化,以满足强内聚、低耦合、简单性、自然性等软件工程原则。调整和优化主要包括: (1)增加辅助类,例如实现通信、关键算法的类 (2)合并相互通信频繁的类 (3)分拆规模过大的类 (3)精化交互模型 精化交互图时,消息名、对象交互的参数、返回值等均需要注明。需要考虑以下内容: (1)要考虑软件架构和组成类被调整之后对交互模型会产生哪些影响,新出现的对象或拆分后的对象如何参与交互过程,在其中起到什么样的作用 (2)对象在交互过程中的消息传递需要哪些参数和返回值。 (3)交互过程是否需要细化,例如增加必要的消息,或对局部引用一个更加具体的交互图。 图4-20 精化后的Withdrawal顺序图 (4)精化类之间的关系 研究类之间的连接关系: (1)根据这些连接的语义强度将它们精确地判定为UML的依赖、关联、聚合或构成关系之一; (2)确定连接的方向及参与连接的类对象之间的数量对应关系; (3)根据软件复用的要求及软件结构简洁化、清晰化的要求,优化类之间的关系。 精化类之间的关系 对象obj1和obj2之间的消息传递机制: (1)引用全局对象 (2)通过参数传递 (3)引用局部对象 (4)通过类的成员变量: 暂时性连接,用依赖关系表示 稳定性连接 构成关系 聚合/集关系

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档