一、时序图简介(Brief introduction) 时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的。顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序。时序图中包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等等。 二、时序图元素(Sequence Diagram Elements) 角色(Actor) 系统角色,可以是人、及其甚至其他的系统或者子系统。 对象(Object) 对象包括三种命名方式: 第一种方式包括对象名和类名; 第二中方式只显示类名不显示对象名,即表示他是一个匿名对象; 第三种方式只显示对象名不显示类明。 ![UML建模之时序图(Sequence Diagram) UML建模之时序图(Sequence Diagram)](https://cdn.ancii.com/article/image/v1/4K/9-/vw/wv9K-4qzeMPr_RzVw5-_xZ4LDHFwcve9Xj2Z62yHHLthUjFLFYkq_Lg2znlkhk33hMYP_2wI0dxvJA0CltM3jZ16z6rCOSFm10x82SDd8KLP3QgYyi5pU0alr_RGdZvqQBiCVoV84Dvs72C67DkDUEWeuHex993hD1HQiW9eRa-_LL5kCrWmzi4MLTvbncKYFvy5YYJCFWb5_CQsOl8ymKlYUrZ3_PmJSpoXRMzsqOKR3RqETT9vg3AxQWN8-qynGmdqpO6-Gyt8RNUvN2t1qe02csqH_6rPAY9RowHJpm_FSzzY0JkgZLLIZ7HMbQtm.jpg)
生命线(Lifeline) 生命线在顺序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间,如下图 ![UML建模之时序图(Sequence Diagram) UML建模之时序图(Sequence Diagram)](https://cdn.ancii.com/article/image/v1/eH/Zg/Cq/qCZHgezhtQ_PQX_7XwgYuZ4LDHFwcve9Xj2Z62yHHLthUjFLFYkq_Lg2znlkhk33hMYP_2wI0dxvJA0CltM3jZ16z6rCOSFm10x82SDd8KKBgfJjFot_LxA_r8p0RcvWJufzoIY_kQqNei_oD_TvWT1B1GuQp4jbzOO5VyveBnw3n-HbQH_Tx2VnfJ38sozJ7-Tiq0VIpVUo_ubANLn9JBr4rk8NUSzxnJyGgBrQId3LdedzR7hK7JgLmgQzAH8QWO0TX-lrCIPqrm65pI4-RRsxLmutP7N4aDnCgbiduDXc1maFXWkRwJm_iI8wuLZF.jpg)
控制焦点(Focus of Control) 控制焦点是顺序图中表示时间段的符号,在这个时间段内对象将执行相应的操作。用小矩形表示,如下图。 ![UML建模之时序图(Sequence Diagram) UML建模之时序图(Sequence Diagram)](https://cdn.ancii.com/article/image/v1/rH/6f/Zg/gZ6HfrL9OmH7-0QQkSMhqp4LDHFwcve9Xj2Z62yHHLthUjFLFYkq_Lg2znlkhk33hMYP_2wI0dxvJA0CltM3jZ16z6rCOSFm10x82SDd8KIE-FqTi9cRP4RT-GVCdHByzJHmfw9wqiTstH95N7rc3IoDBZJM02-8rV4M-Nk3DgZe8FwdeTQV6LmlpDyej8VXdNi2iu42dFQ7wA5Jrbj5FcUfzZQCJS3Dxyap6IxUXTNJpJw47tI7fXcTc0f_11FDBjSFgizRNV5NMiWr67RXr-9OfVcE5M5rjx1Fu-PoD--A0OLMGG-KBM1alDBdljJK.jpg)
消息(Message) 消息一般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message).如下图所示: ![UML建模之时序图(Sequence Diagram) UML建模之时序图(Sequence Diagram)](https://cdn.ancii.com/article/image/v1/eH/Zg/Cq/qCZHgezhtQ_PQX_7XwgYuZ4LDHFwcve9Xj2Z62yHHLthUjFLFYkq_Lg2znlkhk33hMYP_2wI0dxvJA0CltM3jZ16z6rCOSFm10x82SDd8KKQxD7JprGkRcWQiemx_9SllG3ZhYXlnNOc0xpzha0U_CZALyFAqcLOgSzTlH3KpZUIwKJNIWIjYkrepcZ4LkLFGWJlMcAcaZfCy_znY_vD62KA2HmneqREJm3aQEXgsI-vMnaav6PooowRupGf2eBQbVowWBC87FL-00DPbWWmmsGXRXCsESthk9upLtD-B0GkUguqZvq-72UtWDuc9fYa.jpg)
同步消息=调用消息(Synchronous Message) 消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。 异步消息(Asynchronous Message) 消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。 返回消息(Return Message) 返回消息表示从过程调用返回 自关联消息(Self-Message) 表示方法的自身调用以及一个对象内的一个方法调用另外一个方法。 ![UML建模之时序图(Sequence Diagram) UML建模之时序图(Sequence Diagram)](https://cdn.ancii.com/article/image/v1/nX/Gq/jr/rjGXqn2ZFvqfjCXe1GVxS54LDHFwcve9Xj2Z62yHHLthUjFLFYkq_Lg2znlkhk33hMYP_2wI0dxvJA0CltM3jZ16z6rCOSFm10x82SDd8KL7JaESXt7wd31np28oHNrX3Ejzch8ZE3pypWHW8pKFOVZxsbfnh5XOi6ZfAPgNFyJ6-aP5nqV7ZIAHqOXp7Oa75IHZG3CcB5-vbq4fuaLbPiUsoUymFHyFFZzftIRBV3CMGLExRfqOpLCPrgIPzqZnxv1DYyR2ZpzYnxhDcCgqHhxVqsjvBbanQXqOSBfhw7HlIHAfwQ_qMiSbP6PN-UxE.jpg)
Combined Fragments ![UML建模之时序图(Sequence Diagram) UML建模之时序图(Sequence Diagram)](https://cdn.ancii.com/article/image/v1/WP/Mc/9g/g9MPcWJKNpvD8AGCnVBJDp4LDHFwcve9Xj2Z62yHHLthUjFLFYkq_Lg2znlkhk33hMYP_2wI0dxvJA0CltM3jZ16z6rCOSFm10x82SDd8KIr4yt8kdJM4jhxu8PNuaZQDGnURujen4SKeIgikgB0-zTeve5P4aB4p8W1SfipCmyjj-SXhPBYhKYFV4KLlh2qlkFGlrZRkiCoqe7RkO5U70FlMrF_1e9v00DV3eKoy0c0I0Iod8vIXmRRbW4iD95koIzkUG3KpQqJgM-QemsLOABwO6u9ZZY9KLmEx_IP91DPUpXnYv6XQtvoOvYXKza8.jpg)
- Alternative fragment(denoted “alt”) 与 if…then…else对应
- Option fragment (denoted “opt”) 与 Switch对应
- Parallel fragment (denoted “par”) 表示同时发生
- Loop fragment(denoted “loop”) 与 for 或者 Foreach对应
三、时序图实例分析(Sequece Diagram Example Analysis) 时序图场景 完成课程创建功能,主要流程有: 1、请求添加课程页面,填写课程表单,点击【create】按钮 2、添加课程信息到数据库 3、向课程对象追加主题信息 4、为课程指派教师 5、完成课程创建功能 时序图实例 ![UML建模之时序图(Sequence Diagram) UML建模之时序图(Sequence Diagram)](https://cdn.ancii.com/article/image/v1/WP/Mc/9g/g9MPcWJKNpvD8AGCnVBJDp4LDHFwcve9Xj2Z62yHHLthUjFLFYkq_Lg2znlkhk33hMYP_2wI0dxvJA0CltM3jZ16z6rCOSFm10x82SDd8KJFGK-3InyGTS-mC-v1cqjYPQa0608qTg1vsDNFyp6qo2LYGkW0sTZzWmSQzkZinUF6yfsgkSy05_neP19yUefd_-d0dGDWhwrgQvFJTwjXl9cz_nK4j7NRCDSvy0Fdijih--3mAfMCfvwhpyZWB0N-gL74Ul229Tv9dVK8EQ2YoLLJLjvgW4I2rd8scvSnf_WChtz7LV7k0TlkInoC_fbk.jpg)
时序图实例分析 1、序号1.0-1.3 完成页面的初始化 2、序号1.4-1.5 课程管理员填充课程表单 3、序号1.6-1.7 课程管理员点击【Create】按钮,并响应点击事件 4、序号1.8 Service层创建课程 5、序号1.9-1.10 添加课程到数据库,并返回课程编号CourseId 6、序号1.11-1.12 添加课程主题到数据库,并返回主题编号topicId 7、序号1.13 给课程指派教师 8、序号1.14 向界面抛创建课程成功与否的消息 四、总结(Summary) 时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的。顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序。时序图中包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等等。最后,以课程创建功能演示一时序图实例。 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://smartlife.blog.51cto.com/1146871/284874 |