时序图总结.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
时序图总结

时序图学习总结 时序图(Sequence Diagram),一种交互图.用来显示对象之间的关系,并强调对象之间消息的时间顺序,同时显示了对象之间的交互。用例就是需求流程说明,时序图则是流程的实际顺序时序图中包括如下元素:类角色,生命线,激活期和消息 1,类角色(Class Role) 类角色代表时序图中的对象在交互中所扮演的角色,位于时序图顶部和对象代表类角色。3,激活期(Activation) 激活期代表时序图中的对象执行一项操作的时期,在时序图中每条生命线上的窄的矩形代表活动期。 序列图   要达到某个特定的目标,必然要执行一系列的方法调用。UML 序列图的典型用途就是显示出方法调用过程。图二显示了一个交易事务中计算累计金额的序列图,调用从 Sale 类的 calcTotal() 方法开始,相关的代码片断在序列图之后给出。    术语说明:UML 把操作(Operation)定义为方法的特征(Signature)。“方法”(Method)这一术语被保留给实现操作的代码。但在 Java 环境中, “方法”这一术语的应用范围更广泛一些。在 UML 序列图中,调用一个操作就叫做发送一个消息(Message)。序列图实际上阐述了操作的具体实现,所以下面我们会较多地用到“方法”这个术语(偶尔也会 用到“消息”这个术语)。 图二 计算交易总金额的序列图 为了便于把握序列图的总体情况,图一只显示了方法的名称。详细的序列图可以显示出方法的参数和返回值。在序列图中,对象以常规的 UML 符号显示,即使用与对象所属的类一样的形状或符号(默认是矩形),再注明对象的名称,加上一个冒号,再加上相应的类名称。然后再为整个名字加上下划线(例 如,图二中的 aProduct:Product)。可以省略对象的名字(例如图二中的:Sale),也可以省略类的名字(例如图二的Sender),但两者都省略显然 是不允许的。如果省略了类的名字,冒号必须保留。   时间的流逝方向是从上到下的垂直方向。每一个对象有一条顺着页面垂直向下的生命线(Lifeline),紧接着表示对象的矩形。方法调用的表示方式是,画一根从发出调用的对象的生命线指 向被调用对象生命线的箭头。只要对象的任意方法处于执行状态,对象的生命线加宽。加宽之后的生命线称为“活动条”(Activation Bar),活动条可以嵌套,表示在前一方法的执行过程中,又有同一对象的另一个方法被调用,图二的getQuantity() 方法示范了活动条嵌套的一个例子。   方法的返回值可以通过虚线开叉箭头的形式表示,但这是可选的,例如图二中从:Sale 指向 Sender 的箭头。   如果要在一个对象的集合上进行迭代操作,则在方法的名字前面加上一个星号(再在方括号里面说明循环条件,可选)。在图二中,Sale 类对 LineItem 类对象的调用给出了迭代操作的一个例子。   就象 UML 类图一样,原本需要查看多个源代码文件才能了解的信息,通过一个 UML 序列图就可以表示出来。对已有的代码实施反向工程获得对应的序列图,可以帮助不熟悉代码的开发者快速了解程序的工作流程。 图三显示了 Sale 类 complete() 方法的序列图,它对调用次序(消息)进行了编号。complete() 方法调用了 Sale 类的另外两个方法,即 calcTotal() 和 calcPayments()。图三用环形的回调符号表示一个对象正在调用它自身的方法。 图三 完成一次交易的序列图    如果序列图很大,可能出现一个屏幕无法显示出来的情况。在图三中,通过设置建模工具 Together ControlCenter 的选项面板,类的名称不再和对象名称并列显示,而是显示在对象名称的下方,减少了显示对象所需的水平空间。如果类的名称很长,用这种显示方式可以有效地缩 减图形宽度,一般能够改善图形的可读性。然而,如果要严格遵从最新的 UML 规范,类的名称必须和对象名称并列放置,中间用冒号分隔,如图二所示。    complete() 方法调用了 calcTotal() 方法,图二显示的 calcTotal() 序列是图三 complete() 序列的结果。如果要简化图三,我们可以省略图三的 Product 对象以及它与 LineItem 对象的交互,让读者在查看这部分内容时参考图二。和类图中面临的细节处理问题一样,到底是否要省略(或者说,详细到哪种程度),也必须根据用户的需要而 定。例如,一些序列图的读者可能希望注明各种标准的 Java 类,例如迭代器、封装器、集合类等。虽然序列图可以显示出要用到的循环和分支结构,但通常而言,这一层次的细节最好让读者在序列图的指导下通过阅读 Java 源代码获得。

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档