当前课程知识点:软件工程 >  第10章 行为建模 >  10.1 顺序图概念 >  讲课视频

返回《软件工程》慕课在线视频课程列表

讲课视频在线视频

下一节:讲课视频

返回《软件工程》慕课在线视频列表

讲课视频课程教案、知识点、字幕

各位同学好

模型驱动的开发

对提高软件生产过程的

自动化程度有着重要的意义

在下面的这周里

我们将学习用UML模型

来描述软件系统的行为

在前面的学习过程中

我们学习了用类图

对软件的结构进行建模

除了类图之外

在UML的图系中

组建图 对象图 组成结构图

部署图 包图

以及新提出的轮廓图

都是对结构进行建模的图模型

本周我们将学习的

是对软件系统的行为

进行建模的一些图

它主要包括

描述交互行为的顺序图

通信图以及描述对象状态变迁的

状态基图

和描述过程的活动图

这些图主要用于

定义对象的操作 生命周期

彼此之间的消息交互

以及对象在自身状态

切换的时候发出的行为

及切换前后的状态变化

它主要是描述

对象在它的生命周期中的

动态的行为

交互是指对象为实现某个目标

而在彼此之间传递消息的行为

交互行为建模

目标就是为了描述

对象之间如何进行写作

在UML中定义了多种交互图

其中应用最广的就是顺序图

有时我们也将其称为

时序图 序列图

顺序图作为交互图的一种

是对系统的一个

执行过程中的交互活动场景

进行建模的方法

是在类图之外

最常用的一种

UML图形化方法之一

顺序图按时间的次序

表示对象之间的消息

主要 它能够指出

有哪些对象参与了交互

以及它们之间

消息传递的序列

顺序图的建模元素

主要包括对象 生命线

控制焦点 消息

图中给出的是一个学生

在线选课的过程

这个学生名字叫马小跳

他准备选择线性代数这门课

在这个过程中

他首先要在选课登记表单中

填写个人信息 然后提交

选课登记表对象

作为一个界面类

会将这个申请转给

选课管理员对象

要求他将马小跳

加入到线性代数的选课名单当中

选课管理员又会将这个消息

转发线性代数这个实体对象

告诉他 要在名单中添加马小跳

线性代数这个对象

又会将这个请求

转发给线性代数A段这个对象

问你的这个段里还有位置吗

如果有空位的话请添加马小跳

这里无疑它的回答是有位置

我们就成功的将马小跳添加到

线性代数A段的选课名单当中

通过这个过程我们可以看到

我们可以用顺序图

来对之前学过的

用力图中间的

每个交互序列进行建模

我们就不用再继续撰写

文字形式的描述了

通过前面的例子

我们注意到顺序图建模元素中

最重要的就是对象和它的生命线

在顺序图中我们刻划

对象是以何种角色

参与到交互场景中来

无论它是人 物

还是其它的系统以及子系统

对象的命名有三种方式

我们在图中可以看到

方框中标明的

就是对象的不同的类别

第一种表示的是

完整命名的方法

它的命名包括

对象名 冒号和类名

第二种是所谓的匿名对象的

表示方法

这个时候我们是在

冒号后面写上类名

而不在冒号前写出对象名

表示

是任意一个这一类的对象

第三种表示的是未知类的对象

这个时候我们只显示对象名

而不现实类名

这几种方式

都是合乎语法规定的

对象的表示方法

对象的生命线

则是在这些方框的下面

用一个虚线来表示

在画出对象的生命线以后

如果我们需要对对象

它的操作时间 片断

进行区分的话

我们也可以定义控制焦点

也就是激活期

它表明的是对象拥有控制线索

处在活动状态

UML顺序图中

另外一个核心的建模元素

就是消息的表达

消息用于描述对象间的

交互操作和直传递的过程

消息的类型

主要有同步消息

有时候也把同步消息叫做

过程调用消息

异步消息 返回消息

自关联的消息

超时等待和阻塞等

其中 最常用的

就是同步和异步消息

其中 同步消息

有的时候我们需要给它指回

返回消息

返回消息用虚线箭头表明

消息通过指向对象的

水平箭头表示

在上面有时候我们要写出

消息的名称 参数

箭头的不同

用于区分上面介绍到的

不同的消息类型

在消息的定义过程中

我们要注意

随着问题的理解的深入

逐步添加消息的细节

而没必要在一开始

就把消息的所有细节定义出来

这里我们给出了早期的

几种消息表示的形式的例子

其中简单的消息

一般就是包括消息的名称 标号

和它的参数

嵌套消息

可以是带返回值的消息

条件消息则是在消息的前边

用方括号将该消息发出的

必要条件标注出来

循环消息以及同步消息等

则是用表达式

来表明这个消息执行的

控制逻辑

顺序图的基本控制结构

在出现框之前

我们都是采用添加

条件表达式的方式来进行

包括循环 有条件的执行

返回消息以及创建对象

这里给出的是顺序图中的

基本的建模结构

在顺序图建模中的常见问题

主要有消息的循环发送

我们需要在消息的名字之前

添加循环条件或者添加循环框

带有循环控制条件的循环框

这是两种对循环消息的建模方法

在顺序图中带条件的消息的发送

可以通过以下几种手段完成

一是在消息的名字之前

加条件表达式

条件子句的方式

或者采用

附加文字说明的方式

也可以添加条件控制框

或者将顺序图分成多个

顺序图的子图

并建立带条件的关联关系

定义入口条件

软件工程课程列表:

第1章 初识软件工程

-1.1 软件无处不在

--讲课视频

-1.2 软件的本质特性

--讲授视频

-1.3 软件工程的产生与发展

--讲授视频

-1.4 软件工程的基本概念

--讲授视频

-1.5 软件质量实现

--讲授视频

-1.6 业界人士谈软件工程

--海芯科技创始人施侃乐访谈

-测验题--作业

-讨论题

--讨论题

-作业题

--第一张 作业题

第2章 编写高质量代码

-2.1 编程过程与规范

--讲课视频

-2.2 良好的编程实践

--讲课视频

-2.3 Python集成开发环境

--讲课视频

-2.4 代码静态检查

--讲课视频

-2.5 代码性能分析

--讲课视频

-2.6 结对编程实践

--讲课视频

-2.7 刘贺谈软件工程

--讲课视频

--讨论

-测验题--作业

-作业题

--第二章 作业题

第3章 单元测试

-3.1 单元测试概述

--讲课视频

-3.2 黑盒测试方法

--黑盒测试方法

-3.3 白盒测试方法

--基本概念

--代码覆盖标准

--基本路径测试

-3.4 单元测试工具

--单元测试工具

--html

-测验题--作业

-作业题

--第三章 作业题

--作业题附件

第4章 软件开发过程

-4.1 软件过程

--讲课视频

-4.2 软件过程模型

--讲课视频

-4.3 敏捷开发过程

--讲课视频

-4.4 微软公司开发过程

--邹欣经理自我介绍

--微软开发过程之一

--微软开发过程之二

-测验题--作业

第5章 团队开发管理

-5.1 团队组织与管理

--讲课视频

-5.2 项目沟通管理

--讲课视频

-5.3 软件项目计划

--讲课视频

-5.4 软件项目估算

--讲课视频

-测验题--作业

-讨论题

--讨论

第6章 敏捷开发与配置管理

-6.1 敏捷开发之Scrum

-- 敏捷开发之Scrum

--html

-6.2 用户故事与估算

--讲课视频

-6.3 团队协作工具Tower

--Tower工具介绍(1)

--Tower工具介绍(2)

-6.4 配置管理

--讲课视频

-6.5 配置管理工具Git

--讲课视频

-测验题--作业

-作业题--作业

第7章 需求获取

-7.1 需求工程师

--讲课视频

-7.2 需求定义

--讲课视频

-7.3 需求的类型

--讲课视频

--讲课视频(2)

-7.4 需求工程过程

--讲课视频

-7.5 需求的主要来源

--讲课视频

-7.6 需求获取技术

--讲课视频

--讲课视频二

--讲课视频三

-7.7 撰写需求文档

--讲课视频

-测验题--作业

-讨论题

--讨论

第8章 用例建模

-8.1 用例建模概念

--讲课视频

-8.2 用例建模过程

--讲课视频

-8.3 用例建模精讲

--讲课视频

-8.4 建模工具介绍

--讲课视频

-8.5 微信抢票应用案例

--讲课视频

-测验题--作业

-讨论题

--讨论

第9章 面向对象分析与设计

-9.1 面向对象分析

--讲课视频

-9.2 CRC卡片分拣法

--讲课视频-1

--讲课视频-2

-9.3 面向对象设计

--讲课视频-1

--讲课视频-2

-9.4 类图建模

--讲课视频-1

--讲课视频-2

-第9章 面向对象分析与设计--测验题

-讨论题

--讨论

第10章 行为建模

-10.1 顺序图概念

--讲课视频

-10.2 顺序图建模

--讲课视频

-10.3 顺序图风格

--讲义视频

-10.4 状态建模

--讲课视频

-10.5 状态图

--讲课视频

-10.6 状态图精讲

--讲义视频

-测验题--作业

-讨论题

--讨论

第11章 软件系统设计

-11.1 软件体系结构概念

--讲授视频

-11.2 软件设计原则

--讲授视频

-11.3 软件体系结构风格(一)

--讲授视频

-11.4 软件体系结构风格(二)

--讲授视频

-11.5 软件体系结构风格(三)

--讲授视频

-11.6 软件设计过程

--讲授视频

-11.7 Web系统架构设计

--讲授视频

-11.8 数据库选择策略

--讲授视频

-测验题--作业

-作业题

--html

--html

--html

-作业题--作业

第12章 软件交互设计

-12.1 交互设计概述

--讲授视频

-12.2 交互设计目标

--讲授视频

-12.3 GUI设计原则

--讲课视频

-12.4 KLM效率模型

--Video

-12.5 Fitts定律

--讲授视频

-12.6 交互设计过程

--讲授视频

-测验题--作业

第13章 软件系统测试

-13.1 软件测试概念

--讲课视频

-13.2 软件测试类型

--讲课视频

-13.3 软件功能测试

--讲课视频

-13.4 软件性能测试

--讲课视频

-测验题--作业

第14章 软件交付与维护

-14.1 软件部署与交付

--讲课视频

-14.2 软件演化与维护

--讲课视频

-测验题--作业

第15章 期末考试与总结

-第一部分:基础知识

-第二部分:编程与测试(选做)

--编程与测试(选做)

讲课视频笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。