- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UML建模风格之顺序图.
UML建模风格之顺序图
和合作图、活动图一样,UML顺序图( Rumbaugh、Jacobson、和booch, 1999)是一种动态建模方法。 UML顺序图一般用于:
确认和丰富一个使用情境的逻辑。 一个使用情境就是系统潜在的使用方式的描述,也就是它的名称所要描述的。 一个使用情境的逻辑可能是一个用例的一部分,或是一条备选线路;一个贯穿单个用例的完整流程,例如动作基本过程的逻辑描述,或是动作的基本过程的一部分再加上一个或多个的备用情境的逻辑描述。或是包含在几个用例中的流程,例如一个学生注册入学之后,立即就要在三个班级注册。
研究你的设计,因为它们为你提供了一种方式,你可以使用这种方式来可视化的调用类定义的操作。
检测面向对象的设计中的瓶颈。 通过观察什么消息被发送给一个对象,以及通过概略的观察运行被调用的方法需要花费多长时间,你很快就能了解那里的设计需要变化,以达到在系统内部平衡负荷的目的。 实际上某些CASE工具甚至能够让你模拟软件这些特征。
使你能够感觉到你的应用程序的那个类将会变得复杂的,这是个信号,意味着你需要为那些类画状态图了。
指南∶
通用准则
尽力保持消息的顺序从左到右排列
将分类器分层
用和你的用例图一致的名称命名角色
用和你的类图一致的名称命名类
一个角色的名称可以和类的名称相同
包含一个逻辑的叙述性描述
在图的最左边放置初始的角色
在图的最左边放置人和组织角色
在图的最右边放置系统角色
只在合适的时候才建模对象的Destruction
分类器的原则
当你在消息上引用对象时要命名他们
当存在部分相同的类型时需要命名对象
一致地应用文本版型
少量地应用可视化的版型
集中在关键的交互
消息的原则
把消息名放在箭头旁边
直接创建对象
为软件消息使用操作符号
为涉及人和组织角色的消息使用叙述性文字
推荐使用参数名称,而不是参数类型
为参数占位符注明类型
类的消息实现为静态操作
为用例调用使用include版型
返回值的原则
当返回值非常明显时就不要对返回值建模
只有当你需要在别处引用返回值时才对返回值建模
在箭头旁边调整返回值
返回值建模为方法调用的一部分
为返回值占位符注明类型
明确的为简单值标明实际值
一、通用准则
1.尽力保持消息的顺序是从左到右排列的
一个顺序图的消息流开始于左上方,消息乙的位置比消息甲低,这意味着消息乙的顺序比消息乙要迟。因为西方的阅读习惯是从左到右,你应该尽量按照和描述消息流一样的方式,从左至右排列分类器(角色、类、对象,和用例)。 在图1中你可以看到分类器已经按照这种方式排列好了,如果Seminar对象在controller的左边,那排列方式就不是标准的了。 注意有时候消息流从左到右的排列是不可能的,例如一对对象彼此调用操作的情形。
2.将分类器分层
分层是一个通用的面向对象设计的方法,系统通常来说,总是组织成user interface、process/controller、business、persistence、和system层( Ambler 2001)。 当系统是以这种方式设计的时候,通常会加强同属于一层的分类器合作,而降低不同层的分类器的耦合度。 因此按类似的方式对你的顺序图进行分层是有意义的。 就这个使用情境的例子来说,一种分层的方法就是先注明人类角色,然后是表示情境的逻辑的controller类,然后是user interface类,接着是business类,最后是相关的技术类,它封装了对数据库和系统资源的访问。 以这种方式对你的顺序图分层,会使得顺序图更容易阅读,也更容易发现分层的逻辑问题。 图1就采取这种方法。
图1.一次学生的注册。
3.用和你的用例图一致的名称命名角色
当你在对一个使用情境建模时,你的顺序图一般会涉及一个或多个角色。 为了保持一致性,显示在顺序图中的角色的名称应该和用例图上的相同。
4.用和你的类图一致的名称命名类
顺序图中的类和类图中的类是相同的,因此它们应该有相同的名称。
5.一个角色的名称可以和类的名称相同
在图1你可以看到一个命名为学生的角色和一个命名为学生的类。 这样做是合理的,因为这两个分类器表示两个不同的概念,角色表示在现实中的学生,而类则表示你正在构建的商业应用程序中的学生。
6.包含一个逻辑的叙述性描述
图1可以很难理解--特别是对于不熟悉阅读顺序图人来说--因为它是很接近于实际的源程序。 在你模型中包含一个业务逻辑的描述是很常见的,特别当该顺序图描述一个使用情境时,就像在在图⒉的左边看到的,这可以增加图的可理解性,并且Rosenberg和Scott(1999)指出,这也为跟踪用例和顺序图间的信息提供了重要的信息。
图2.在线定单付款。
7.在图的最左边放置人和组织角色
对业务应用软件来
文档评论(0)