Upload
angel-young
View
309
Download
0
Embed Size (px)
Citation preview
IT Education & Training
今天的工作任务1. 完成系统行为交互建模:时序图建模
提交内容1. 系统时序图
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
工作任务 1 :完成系统行为交互建模——时序图建模
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
知识点:第 9 章 动态视图——时序图• 9.1 时序图的相关概念• 9.3 时序图的用途• 9.4 时序图的建模技术
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
9.1 时序图的相关概念• UML 的交互图是用户系统动态方面的建模,交
互图可分为时序图和协作图。• 时序图( Sequence Diagram )描述了对象之间
传递消息的时间顺序,它用来表示用例中的行为顺序,是强调消息时间顺序的交互图。时序图描述类系统中类和类之间的交互,它将这些交互建模成消息交换,也就是说,时序图描述了类以及类间相互交换以完成期望行为的消息。
• 时序图包括了 4 个元素,分别是对象( Object )、生命线( Lifeline )、激活( Activation )和消息( Message )。
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
时序图符号表示
生命线
: Actor
obj ect1
1: operati on
激活消息
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里对象
IT Education & Training
一个旅客到机场换登机牌的情况
: 旅客 : 登记处柜台
1: 出示机票
2: 存放行李
3: 征询旅客选择
4: 旅客收到登机牌
1. 交互的对象2. 消息交互的时间顺序
IT Education & Training
时序图阅读练习 1 :
: 学生 : 课表 : 书 : 笔记本电脑
1: ()今天上什么课
2: UML软件工程与
3: ()拿书
4: ()拿笔记本电脑
IT Education & Training
时序图阅读练习 2 :
: 论坛管理员
登录系统 帖子管理模块
数据库模块相关处理
1: 输入账号和密码
2: I D提交管理员
3: 显示帖子处理信息
4: I D提交删除、置顶帖、精华帖的
5: 数据库处理,并更新数据
6: 提示成功
7: 提示成功信息
IT Education & Training
时序图阅读练习 3 :
: 管理员
登录系统 档案管理模块 添加档案 数据库模块
1: 输入用户名和密码2: I D提交用户
3: 提交添加档案命令
4: 提示添加档案信息列表
5: 输入待添加档案的信息
6: 提交档案信息,并存入数据库
7: 显示添加档案成功信息给客户端
IT Education & Training
时序图阅读练习 4 :
请描述该时序图表达的含义
: 案卷输入人员
登录系统 案卷管理模块 案卷录入 数据库模块
1: 输入用户名和密码
2: I D提交用户
3: 提交案卷录入命令
4: 提示输入案卷的相关信息
5: 显示输入的案卷相关信息
6: 提交案卷列表
7: 提交成功
8: 显示案卷录入成功信息
IT Education & Training
9.3 时序图的用途• 时序图强调按时间展开的消息传送,这在一个
用例脚本的语境中对动态行为的可视化非常有效。
• UML 的交互图是用于对系统的动态方面的建模,交互图又可分为时序图和协作图,时序图用于描述对象之间消息的时间顺序,协作图用于描述对象间的交互关系,以致它们的用途有所差别。
• 以下是时序图有别于协作图的特性:( 1 )时序图有生命线( 2 )时序图有激活期
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
时序图可以用于软件开发的不同阶段和不同情况下:1. 当不同类之间存在多个简短的方法时,描述
控制流的整体序列。2. 显示并发进程和激活。3. 显示在协作图中难以描述的时间序列。4. 显示涉及类交互与对象无关的一般形式。
IT Education & Training
9.4 时序图的建模技术• 对系统动态行为建模,当强调按时间展开信息的传送时,一般使用时
序图。• 使用时序图对系统建模时,可以遵循如下策略。( 1 )设置交互的语境,这些语境可以是系统、子系统、操作、类、用
例和协作的一个脚本。( 2 )通过识别对象在交互中扮演的角色,根据对象的重要性,将其从
左向右的方向放在时序图中。( 3 )设置每个对象的生命线。一般情况下,对象存在于交互的整个过
程,但它也可以在交互过程中创建和撤销。( 4 )从引发某个交互的信息开始,在生命线之间按从上向下的顺序画
出随后的消息。( 5 )设置对象的激活期,这可以可视化实际计算发生时的时间点、可
视化消息的嵌套。( 6 )如果需要设置时间或空间的约束,可以为每个消息附上合适的时
间和空间约束。( 7 )给某控制流的每个消息附上前置或后置条件,这可以更详细地说
明这个控制流。
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
创建时序图• 创建方法
– 单击 Browse > Interaction Diagram ,弹出 Select Interaction Diagram 对话框;在对话框左边选择预建立时序图的包,单击 OK 。弹出 New Interaction Diagram 对话框;在 Title字段输入新框图的名字,单击 diagram type 中的 Sequence ,单击 OK 。
– 在左边浏览器 Use Case View 或 Logical View 上右键单击,选择“ new” ,选择“ Sequence Diagram” 。
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
时序图工具箱
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
消息• 将消息加进时序图
– 单击工具箱中的 按钮;– 将鼠标从发送消息的对象或参与者的生命线拖动到接受消
息的对象或参与者的生命线; – 输入消息文本。
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
消息• 将反身消息加进时序图
– 单击工具箱中的 按钮;– 单击收发消息的对象生命线; – 输入消息名。
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
为消息分配操作• 要给消息分配操作:
– 右键单击框图中的消息;– 从弹出的列表中选择一个操作;或者单击 <new operation
>定义一个 新操作。• 改变消息指定的操作:
– 右键单击框图中的消息; – 从弹出的列表中选择新的操作名 。
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
对象规范• 映射类( Class )
– 在 Class 下拉列表框中选择类名; 或者,– 将浏览器中的类拖动到框图中的对象上。
• 对象持续性( Persistence ) – Persistent :对象保存到数据库或者其他形式的永久存储体中
– Static :对象保存在内存中直到程序中止– Transient :对象只在短时间内保存在内存中
• 多实例( Multiple instances ) – 选中该复选框之后,协作图中的对象图标将显示
为多实例图标。但在时序图中,对象图标仍然是单个对象的图标。
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
消息规范• General 标签
– Name :消息名– Documentation :对消息的附加说明
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
消息规范• Detail 标签
– 消息同步类型( Synchronization )
选项 含义
Simply简单消息。
Synchronous
同步。客户(发送消息的对象)发出消息后,等待供应者(即消息接收者,或操作提供者)响应消息。客户等供应者执行完操作之后才能继续其本身的进程,在执行操作的这段时间内,客户一直处于等待状态,直到它收到从操作提供者那里返回的消息。
Balking阻止。客户只能在操作提供者能立即接收消息的情况下发送消息。如果操作提供者没有准备好接收消息,则客户将放弃该消息。
Timeout超时。客户发出消息并指定等待时间,如果供应者不能在指定时间内处理消息,则客户将放弃该消息。
Asynchronous
异步。客户发出消息后,不等待消息是否接收,无需等待供应者的应答,可以直接继续自身的操作。
Procedure Call
过程调用。客户发出消息,等待处理消息的整个嵌套顺序完成之后才能继续。
Return返回。从过程调用返回。返回箭头可以省略,因为这种消息隐式地表示一个活动的结束。
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
消息规范• Detail 标签
– 消息频率( Frequency )• 消息频率可以让消息按规定
的时间间隔发送• 不定期( Aperiodic ) : 将消
息设定为不定期发送的消息、只发送一次,或者不规则时间间隔发送
• 定期( Periodic ) : 将消息设定为定期发送的消息
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
消息编号• 消息根据对象生命线从上往下从 1 开始进行编号。删除消息时, Rose自动将其余消息重新编号。
• 打开或关闭消息编号:– 选择 Tools > Options ; – 选择 Diagram标签; – 复选或取消 Sequence Numbering 。
• 在时序图中,消息可以按两种方式编号: Top-Level(顶级编号)方式,如 1 、 2 、 3 ;或者 Hierarchical(等级编号)方式,如 1.1 、 1.1.2 、 1.1.3 。
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
消息编号• Top-Level 编号
– 定义• 顶级编号。编号由 1 开始,后续消息的编号单调递增,消息编号只有一个单一的数字,没有数字子集。
– 举例• 如用户设定了编号为 1. , 1.1. , 1.2. 和 1.2.1. 的消息,在顶级编号时将被编号为 1 , 2 , 3 和 4
– 一般用于对象和消息很少的时序图中 – 要对消息进行顶级编号:
• 单击 Tools > Options ; • 单击 Diagram标签; • 选中 Sequence Numbering复选框。
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
消息编号• Hierarchical编号
– 定义• 即等级编号, Hierarchical 编号使用带小数点的号码,方便
显示消息嵌套。– 举例
• 如 1 表示第一个消息, 1.1 表示嵌套在消息中的第一个消息,1.2 表示嵌套在消息中的第二个消息。注意:如果删除消息 1 ,则嵌套在消息 1 中的其他消息也将同时被删除。
– 要对消息进行等级编号: • 选择 Tools > Options ; • 单击 Diagram标签; • 同时选中 Sequence Numbering 和 Hierarchical Messages复
选框。
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
消息编号• Hierarchical编号
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
控制焦点• 显示或关闭控制焦点
– 单击 Tools > Options ; – 单击 Diagram标签; – 选中“ Focus of Control” 左边的复选框,表示在时序图中显示控
制焦点;否则,在时序图中不显示控制焦点。• 控制焦点着色
– 单击箭头指向控制焦点的消息。 – 选择 Format > Fill Color ; – 在颜色框中单击要选择的填充颜色; – 单击 OK 。
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
控制焦点• 控制焦点的嵌套
– 嵌套的控制焦点依附在另外一个控制焦点之上,它可以确切地区分一个消息开始和终止的具体位置。
– 要显示嵌套的控制焦点,必须同时选中 Options 对话框中 Diagram标签中的 Hierarchical Messages 和 Focus of Control两个选项。
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
练习一下:使用 ROSE 画出一下时序图
: 学生 : 课表 : 书 : 笔记本电脑
1: ()今天上什么课
2: UML软件工程与
3: ()拿书
4: ()拿笔记本电脑
IT Education & Training
时序图的补充——关于控制结构的表示• 在 UML2.0规范中,引入了组合碎片的概念( Combin
ed Fragment ) ,在时序图中加入一些方框标记,来表示控制结构。这样的时序图,我们把它称作为帧化时序图
• ref标记:简化表示重复的内容或子活动的引用。• alt标记:条件执行( if-else )。• par标记:并行执行。• loop标记:循环执行( while/for )。• opt标记:可选执行( if 单条件)。
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
IT Education & Training
IT Education & Training
IT Education & Training
IT Education & Training
IT Education & Training
完成实验 6 :系统行为建模技术 1—— 时序图
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
图书管理系统中的一个时序图
: 图书馆工作员
u1 : UserLogi n
s1 : SysMai n
l 1 : Lend r1 : Return
1: l ogi n
2: l ogi nSucces
4: openLend
6: openReturn
3: l endbook
5: returnbook
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
实验报告书写注意:
姓名 xx 学号 xxxxxxxx 年级 07
实验日期 09.11.17/
09.11.18
实验地点 A5202/
A5304
专业 日语强化 /日语强化
任课教师 林琳 实验教师 林琳 班级 X
实验: 六
注意:实验报告每个同学都要完成,当节课做,下课时课代表收上来交给老师.电子版程序也由课代表收齐后发给老师.
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
实验报告书写注意:• 实验名称 :系统行为建模技术 1—— 时序图
• 实验目的、要求 1. 掌握系统行为建模技术,利用时序图来描述
系统按时间展开的信息传递。2. 通过使用 Rose 工具,绘制时序图。• 实验设备 • 学生自己的笔记本
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
实验报告书写注意:• 实验内容、步骤 • 内容: • 1 )对图书馆管理系统中,图书馆管理人员的
行为活动进行分析。• 2 )使用 Rational Rose 完成图书馆管理系统
中,管理员工作的时序图。
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
实验报告书写注意:• 实验方法与步骤:
• 打开 rose 工具,新建一个模型,命名为:学号姓名 - 实验 6 ,如: 7317110101兰维海-实验 6
• 完成图书馆管理系统的图设计:单击浏览器中的 Logical View 。在弹出菜单中选择【 New- Sequence Diagram】,输入时序图的名称:实验 6 ,按照所给的示例,将元素拖放到设计窗口中。完成设计之后。点击【 save】保存设计图。
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
实验 6:时序图示例
: 图书馆工作员
u1 : UserLogi n
s1 : SysMai n
l 1 : Lend r1 : Return
1: l ogi n
2: l ogi nSucces
4: openLend
6: openReturn
3: l endbook
5: returnbook
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里
IT Education & Training
课程小结• 本次课中,用到以下知识:1. 领域类图到数据库设计2. 时序图—— rose绘制时序图
领域分析 需求分析 设计 编码 测试 交付可行性研究
我们的进度,在这里