it education & training 软件工程与 uml 林琳 email: [email protected] beyond technology

44
IT Education & Training 软软软软软 UML 软软 Email: [email protected] om Beyond Technology

Upload: angel-young

Post on 19-Dec-2015

309 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

软件工程与 UML 林琳

Email: [email protected]

Beyond Technology

Page 2: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

今天的工作任务1. 完成系统行为交互建模:时序图建模

提交内容1. 系统时序图

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 3: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

工作任务 1 :完成系统行为交互建模——时序图建模

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 4: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

知识点:第 9 章 动态视图——时序图• 9.1 时序图的相关概念• 9.3 时序图的用途• 9.4 时序图的建模技术

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 5: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

9.1 时序图的相关概念• UML 的交互图是用户系统动态方面的建模,交

互图可分为时序图和协作图。• 时序图( Sequence Diagram )描述了对象之间

传递消息的时间顺序,它用来表示用例中的行为顺序,是强调消息时间顺序的交互图。时序图描述类系统中类和类之间的交互,它将这些交互建模成消息交换,也就是说,时序图描述了类以及类间相互交换以完成期望行为的消息。

• 时序图包括了 4 个元素,分别是对象( Object )、生命线( Lifeline )、激活( Activation )和消息( Message )。

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 6: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

时序图符号表示

生命线

: Actor

obj ect1

1: operati on

激活消息

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里对象

Page 7: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

一个旅客到机场换登机牌的情况

: 旅客 : 登记处柜台

1: 出示机票

2: 存放行李

3: 征询旅客选择

4: 旅客收到登机牌

1. 交互的对象2. 消息交互的时间顺序

Page 8: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

时序图阅读练习 1 :

: 学生 : 课表 : 书 : 笔记本电脑

1: ()今天上什么课

2: UML软件工程与

3: ()拿书

4: ()拿笔记本电脑

Page 9: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

时序图阅读练习 2 :

: 论坛管理员

登录系统 帖子管理模块

数据库模块相关处理

1: 输入账号和密码

2: I D提交管理员

3: 显示帖子处理信息

4: I D提交删除、置顶帖、精华帖的

5: 数据库处理,并更新数据

6: 提示成功

7: 提示成功信息

Page 10: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

时序图阅读练习 3 :

: 管理员

登录系统 档案管理模块 添加档案 数据库模块

1: 输入用户名和密码2: I D提交用户

3: 提交添加档案命令

4: 提示添加档案信息列表

5: 输入待添加档案的信息

6: 提交档案信息,并存入数据库

7: 显示添加档案成功信息给客户端

Page 11: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

时序图阅读练习 4 :

请描述该时序图表达的含义

: 案卷输入人员

登录系统 案卷管理模块 案卷录入 数据库模块

1: 输入用户名和密码

2: I D提交用户

3: 提交案卷录入命令

4: 提示输入案卷的相关信息

5: 显示输入的案卷相关信息

6: 提交案卷列表

7: 提交成功

8: 显示案卷录入成功信息

Page 12: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

9.3 时序图的用途• 时序图强调按时间展开的消息传送,这在一个

用例脚本的语境中对动态行为的可视化非常有效。

• UML 的交互图是用于对系统的动态方面的建模,交互图又可分为时序图和协作图,时序图用于描述对象之间消息的时间顺序,协作图用于描述对象间的交互关系,以致它们的用途有所差别。

• 以下是时序图有别于协作图的特性:( 1 )时序图有生命线( 2 )时序图有激活期

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 13: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

时序图可以用于软件开发的不同阶段和不同情况下:1. 当不同类之间存在多个简短的方法时,描述

控制流的整体序列。2. 显示并发进程和激活。3. 显示在协作图中难以描述的时间序列。4. 显示涉及类交互与对象无关的一般形式。

Page 14: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

9.4 时序图的建模技术• 对系统动态行为建模,当强调按时间展开信息的传送时,一般使用时

序图。• 使用时序图对系统建模时,可以遵循如下策略。( 1 )设置交互的语境,这些语境可以是系统、子系统、操作、类、用

例和协作的一个脚本。( 2 )通过识别对象在交互中扮演的角色,根据对象的重要性,将其从

左向右的方向放在时序图中。( 3 )设置每个对象的生命线。一般情况下,对象存在于交互的整个过

程,但它也可以在交互过程中创建和撤销。( 4 )从引发某个交互的信息开始,在生命线之间按从上向下的顺序画

出随后的消息。( 5 )设置对象的激活期,这可以可视化实际计算发生时的时间点、可

视化消息的嵌套。( 6 )如果需要设置时间或空间的约束,可以为每个消息附上合适的时

间和空间约束。( 7 )给某控制流的每个消息附上前置或后置条件,这可以更详细地说

明这个控制流。

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 15: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

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” 。

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 16: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

时序图工具箱

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 17: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

消息• 将消息加进时序图

– 单击工具箱中的 按钮;– 将鼠标从发送消息的对象或参与者的生命线拖动到接受消

息的对象或参与者的生命线; – 输入消息文本。

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 18: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

消息• 将反身消息加进时序图

– 单击工具箱中的 按钮;– 单击收发消息的对象生命线; – 输入消息名。

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 19: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

为消息分配操作• 要给消息分配操作:

– 右键单击框图中的消息;– 从弹出的列表中选择一个操作;或者单击 <new operation

>定义一个 新操作。• 改变消息指定的操作:

– 右键单击框图中的消息; – 从弹出的列表中选择新的操作名 。

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 20: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

对象规范• 映射类( Class )

– 在 Class 下拉列表框中选择类名; 或者,– 将浏览器中的类拖动到框图中的对象上。

• 对象持续性( Persistence ) – Persistent :对象保存到数据库或者其他形式的永久存储体中

– Static :对象保存在内存中直到程序中止– Transient :对象只在短时间内保存在内存中

• 多实例( Multiple instances ) – 选中该复选框之后,协作图中的对象图标将显示

为多实例图标。但在时序图中,对象图标仍然是单个对象的图标。

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 21: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

消息规范• General 标签

– Name :消息名– Documentation :对消息的附加说明

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 22: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

消息规范• Detail 标签

– 消息同步类型( Synchronization )

选项 含义

Simply简单消息。

Synchronous

同步。客户(发送消息的对象)发出消息后,等待供应者(即消息接收者,或操作提供者)响应消息。客户等供应者执行完操作之后才能继续其本身的进程,在执行操作的这段时间内,客户一直处于等待状态,直到它收到从操作提供者那里返回的消息。

Balking阻止。客户只能在操作提供者能立即接收消息的情况下发送消息。如果操作提供者没有准备好接收消息,则客户将放弃该消息。

Timeout超时。客户发出消息并指定等待时间,如果供应者不能在指定时间内处理消息,则客户将放弃该消息。

Asynchronous

异步。客户发出消息后,不等待消息是否接收,无需等待供应者的应答,可以直接继续自身的操作。

Procedure Call

过程调用。客户发出消息,等待处理消息的整个嵌套顺序完成之后才能继续。

Return返回。从过程调用返回。返回箭头可以省略,因为这种消息隐式地表示一个活动的结束。

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 23: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

消息规范• Detail 标签

– 消息频率( Frequency )• 消息频率可以让消息按规定

的时间间隔发送• 不定期( Aperiodic ) : 将消

息设定为不定期发送的消息、只发送一次,或者不规则时间间隔发送

• 定期( Periodic ) : 将消息设定为定期发送的消息

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 24: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

消息编号• 消息根据对象生命线从上往下从 1 开始进行编号。删除消息时, Rose自动将其余消息重新编号。

• 打开或关闭消息编号:– 选择 Tools > Options ; – 选择 Diagram标签; – 复选或取消 Sequence Numbering 。

• 在时序图中,消息可以按两种方式编号: Top-Level(顶级编号)方式,如 1 、 2 、 3 ;或者 Hierarchical(等级编号)方式,如 1.1 、 1.1.2 、 1.1.3 。

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 25: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

消息编号• Top-Level 编号

– 定义• 顶级编号。编号由 1 开始,后续消息的编号单调递增,消息编号只有一个单一的数字,没有数字子集。

– 举例• 如用户设定了编号为 1. , 1.1. , 1.2. 和 1.2.1. 的消息,在顶级编号时将被编号为 1 , 2 , 3 和 4

– 一般用于对象和消息很少的时序图中 – 要对消息进行顶级编号:

• 单击 Tools > Options ; • 单击 Diagram标签; • 选中 Sequence Numbering复选框。

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 26: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

消息编号• Hierarchical编号

– 定义• 即等级编号, Hierarchical 编号使用带小数点的号码,方便

显示消息嵌套。– 举例

• 如 1 表示第一个消息, 1.1 表示嵌套在消息中的第一个消息,1.2 表示嵌套在消息中的第二个消息。注意:如果删除消息 1 ,则嵌套在消息 1 中的其他消息也将同时被删除。

– 要对消息进行等级编号: • 选择 Tools > Options ; • 单击 Diagram标签; • 同时选中 Sequence Numbering 和 Hierarchical Messages复

选框。

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 27: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

消息编号• Hierarchical编号

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 28: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

控制焦点• 显示或关闭控制焦点

– 单击 Tools > Options ; – 单击 Diagram标签; – 选中“ Focus of Control” 左边的复选框,表示在时序图中显示控

制焦点;否则,在时序图中不显示控制焦点。• 控制焦点着色

– 单击箭头指向控制焦点的消息。 – 选择 Format > Fill Color ; – 在颜色框中单击要选择的填充颜色; – 单击 OK 。

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 29: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

控制焦点• 控制焦点的嵌套

– 嵌套的控制焦点依附在另外一个控制焦点之上,它可以确切地区分一个消息开始和终止的具体位置。

– 要显示嵌套的控制焦点,必须同时选中 Options 对话框中 Diagram标签中的 Hierarchical Messages 和 Focus of Control两个选项。

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 30: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

练习一下:使用 ROSE 画出一下时序图

: 学生 : 课表 : 书 : 笔记本电脑

1: ()今天上什么课

2: UML软件工程与

3: ()拿书

4: ()拿笔记本电脑

Page 31: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

时序图的补充——关于控制结构的表示• 在 UML2.0规范中,引入了组合碎片的概念( Combin

ed Fragment ) ,在时序图中加入一些方框标记,来表示控制结构。这样的时序图,我们把它称作为帧化时序图

• ref标记:简化表示重复的内容或子活动的引用。• alt标记:条件执行( if-else )。• par标记:并行执行。• loop标记:循环执行( while/for )。• opt标记:可选执行( if 单条件)。

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 32: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

Page 33: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

Page 34: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

Page 35: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

Page 36: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

Page 37: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

完成实验 6 :系统行为建模技术 1—— 时序图

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 38: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

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

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 39: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

实验报告书写注意:

姓名 xx 学号 xxxxxxxx 年级 07

实验日期 09.11.17/

09.11.18

实验地点 A5202/

A5304

专业 日语强化 /日语强化

任课教师 林琳 实验教师 林琳 班级 X

实验: 六

注意:实验报告每个同学都要完成,当节课做,下课时课代表收上来交给老师.电子版程序也由课代表收齐后发给老师.

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 40: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

实验报告书写注意:• 实验名称 :系统行为建模技术 1—— 时序图

• 实验目的、要求 1. 掌握系统行为建模技术,利用时序图来描述

系统按时间展开的信息传递。2. 通过使用 Rose 工具,绘制时序图。• 实验设备 • 学生自己的笔记本

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 41: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

实验报告书写注意:• 实验内容、步骤 • 内容: • 1 )对图书馆管理系统中,图书馆管理人员的

行为活动进行分析。• 2 )使用 Rational Rose 完成图书馆管理系统

中,管理员工作的时序图。

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 42: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

实验报告书写注意:• 实验方法与步骤:

• 打开 rose 工具,新建一个模型,命名为:学号姓名 - 实验 6 ,如: 7317110101兰维海-实验 6

• 完成图书馆管理系统的图设计:单击浏览器中的 Logical View 。在弹出菜单中选择【 New- Sequence Diagram】,输入时序图的名称:实验 6 ,按照所给的示例,将元素拖放到设计窗口中。完成设计之后。点击【 save】保存设计图。

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 43: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

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

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里

Page 44: IT Education & Training 软件工程与 UML 林琳 Email: linlin@ccniit.com Beyond Technology

IT Education & Training

课程小结• 本次课中,用到以下知识:1. 领域类图到数据库设计2. 时序图—— rose绘制时序图

领域分析 需求分析 设计 编码 测试 交付可行性研究

我们的进度,在这里