- 1、本文档共61页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
10.3设计用户界面*安徽工程科技学院计算机系*需求分析和软件设计阶段都必须考虑人机交互问题。需求分析阶段要确定人机交互的属性和外部服务设计阶段要给出有关人机交互的所有系统成份,包括:用户如何操作系统、系统如何响应命令、系统显示信息的报表格式等。第十章面向对象的设计方法10.4精化设计模型*安徽工程科技学院计算机系*经过前面的分析和设计步骤,设计模型已相当丰富,包含了较完整的静态结构模型(顶层架构图、类图)和动态行为模型(交互图)。现在有必要对这些模型再进行分析、优化,以生成高质量的设计模型,为后续的实现阶段奠定坚实基础。第十章面向对象的设计方法精化设计模型*安徽工程科技学院计算机系*设计模型精化的任务(1)以顶层架构图为基础,精化目标软件系统的体系结构。(2)精化类之间的关系。(3)精化类的属性和操作。(4)针对具有明显状态转换特征的类,设计状态图。(5)针对比较复杂的类方法,设计活动图。本节首先介绍UML状态图,然后依次介绍完成上述任务的方法。10.4精化设计模型10.4.1状态图*安徽工程科技学院计算机系*状态图用来描述一个特定类的对象的所有可能状态以及因事件而引起的状态转移。状态图的结点包含状态名和活动(activity)两部分内容。活动是可选的,它们又分为四种:(1)entry活动:一旦对象进入该状态,相应的活动被触发执行。(2)exit活动:一旦对象离开该状态,相应的活动被触发执行。(3)do活动:当对象位于该状态时,执行相应的活动,对象的状态不变。(4)on-event活动:当对象位于该状态并且接收到某一事件后,执行相应的事件响应活动。10.4精化设计模型状态图*安徽工程科技学院计算机系*在状态图的状态转移边上可以附加以下信息:事件名(事件参数表)[条件表达式]/动作^事件目标.事件名(事件参数表)。第一个事件是引发对象状态变迁的触发事件;条件表达式表示此转移边所代表的状态迁移的发生条件;动作表示对象在进行状态迁移的同时还将执行的处理功能;最后一个事件表示对象在进行状态迁移时还可以向其他对象发送事件。所有上述语法成分都是可选项。10.4精化设计模型状态图*安徽工程科技学院计算机系*一张状态图可以包含一个初态,一到多个终态。基本的UML状态图见图6.5。UML的状态图是一种结构化的状态图,即,其状态可以进一步细分为多个子状态,子状态之间可以拥有“and”、“or”两种关系。对象处于复合状态s1ands2当且仅当对象既处于子状态s1,又处于子状态s2;对象处于复合状态s1ors2当且仅当对象既处于子状态s1或者处于子状态s2。4精化设计模型状态图*安徽工程科技学院计算机系*带有复合状态的UML状态图见图10.9。图中,“active”状态是由“process”和“auth”两个子状态经过and合成构成的复合状态在“active”的任一子状态上,如果发生了“cancel”事件,对象将进入“Cancelled”状态。在“Authorizing”状态下,如果权限验证失败,则立即进入“Rejected”状态。在对象到达“active”状态的两个and子状态的终态“Dispatching”和“Authorized”并执行完这些状态中的活动(图10.9中未标出)之后,对象进入“Delivered”状态。10.4精化设计模型图10.9带复合状态的UML状态图*安徽工程科技学院计算机系*4精化设计模型10.4.2精化体系结构*安徽工程科技学院计算机系*精化体系结构的目的是,寻找一种包的划分方案,使得每个包直接包含的类的数量适中,包的边界清晰、自然,并且包间的耦合度较低。在包图中,包间耦合度取决于包间依赖关系,而依赖关系又取决于分属于两个包的类之间的关系。类之间的耦合程度(从高到低)排列:(1)继承关系。(2)构成关系。(3)聚合关系。(4)关联关系。(5)依赖关系。(6)两个类的对象受同一执行者变化的影响。10.4精化设计模型精化体系结构*安徽工程科技学院计算机系*在分析过程中,用包图表示了目标软件系统的顶层架构。随着分析和设计不断深入,原有包图中的包可能包含了过多的类,此时需要对其进行分拆。按照软件工程“强内聚、松耦合”的原则,这种分拆应该具有某种自然划分的性质,并且尽可能降低划分以后的子包之间的耦合度。如果拟将包P拆分成子包P1和P2,但包P中的类C与包P1和包P2中的类都存在相当密切的联
文档评论(0)