第3章 用例图
第3章用例及用例图-案例精品PPT课件
● ② 确定各参与者所期望的系统行为。
管理员: 增加课程 修改课程 删除课程
学生: 查询课程 选择课程 网上付费
10
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。 ● ③ 把这些系统行为命名为用例。
11
● ④ 确定各用例之间的关系(泛化,包含,扩展)。
12
● ⑤ 绘制用例图。
5
案例1: • 用例图
6
案例1: • 优化
7
案例2:
某学校网上选课系统的用例分析
管理员通过系统管理界面进入系统,建立本学 期要开设的各种课程,将课程信息保存到系统中, 并可以对课程进行改动和删除。 学生通过客户机浏览器进入系统,选择课程:可 以查询课程,选择课程,支付课程费用。
8
● ① 找出系统外部参与者,确定系统边界和范围。
You Know, The More Powerful You Will Be
谢谢大家
荣幸这一路,与你同行
It'S An Honor To Walk With You All The Way
演讲人:XXXXXX 时 间:XX年XX月XX日
2
3.7 业务用例图
• 业务角色(Business Actor)
– 机构(组织)外部参与者
• 业务工人(Business Worker)
– 机构内部参与者所起作用的表示
• 业务用例(Business Use Case)
– 业务功能(无论是手工还是自动处理)
• 业务机构(Business Organization)
13
● ⑥ 编制用例说明。
● 用例:增加课程
●参与者:管理员
●操作流:
UML概述
UML建模基础——UML概述东软人才实训中心3 Sept. 2008©Neusoft Confidential课程结构1第五章:状态图和活动图2第三章:类图1第四章:交互图1第二章:用例图1第一章:UML 概述、Rose 简介课时(H )内容培训目标•能够使用Rose工具画UML类图•能够看懂用UML表示的设计第一章:UML 概述、Rose 简介学时:1学时教学方法:讲授ppt +上机练习目标:本章旨在向学员简要介绍UML建模的重要性、UML的概念模型,通过本课的学习,学员应该掌握如下知识:1)了解UML的概念模型2)简要介绍UML的“4+1view ”3)了解Rose工具UML概述•什么是UML?–UML: 统一建模语言Unified Modeling Language–UML是由Rational公司三位世界级面向对象技术专家Grady Booch,Ivar Jacobson和Jim Rumbaugh提出的。
–UML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。
•什么是UML?–不是一种可视化编程语言,而是一种可视化建模语言–不是工具或知识库的规格说明,而是建模语言的规格说明,是一种表示的标准–不是过程,也不是方法,但是允许任何一种过程和方法使用它•什么是模型?–模型就是真实世界的简化–为我们提供一个系统的原型•为什么要建模?–为了更好的理解我们将要或正在开发的系统–是把复杂的系统变成小的系统,采用“各个击破”的原则逐一解决–因为我们通常无法理解一个复杂系统的全部–模型能为我们做什么?•帮助我们对系统进行可视化•允许我们详细说明系统的结构或行为•给出一个指导我们构造系统的模板•对我们做出的决策进行文档化业务流程计算机系统可视化建模可视化建模就是用标准的图形表示法来建模“建模获取系统的关键部分”UML•什么是可视化建模?可视化建模的作用•可视化建模获取业务流程–用例(use case)分析是一种从用户的角度获取业务流程的技术–使用相同的语言,不至于产生歧义–用例分析能让分析师在构建系统之前理解要构建什么可视化建模的作用(续)•可视化建模是一个交流工具–使用相同的语言,不至于产生歧义业务领域计算机领域Logical ViewPhysical View User InterfaceBusiness Logic Database Java JSPC++ JavaSQL•管理复杂性–把3000多个类放在一张图中不好–可视化建模的“包”(package)•把元素模型化成有意义的组合•为不同的人提供不同级别的抽象–软件构架(architecture)•促进复用(reuse)–复用是软件的“圣杯”–不止是复用代码,而是复用建立原始工件时需要的所有分析、设计、实现、测试、文档化–可以有一个类复用、多个类(或一个组件)的复用、应用模式等复用方式–可视化建模让你从复用的角度看,如果想复用工件,什么是可用的UML的概念模型•UML的概念模型–UML建模的三个主要元素•构造块:事物、关系、图•规则:命名、范围、可见性、完整性、执行•公共机制:规范说明、通用划分、扩展机制•UML元素–构造块–事物•对模型中最具有代表性的成分的抽象–关系•把事物结合在一起–图•聚集了相关的事物•UML元素–构造块–事物–结构事物:通常是UML模型的静态部分,描述概念或物理元素•类•接口•用例:通常代表一个需求•协作:表示一个用例的实现•主动类:至少拥有一个进程或线程的类•组件:系统中物理的、可替代的部件,如源代码文件•节点:运行时存在的物理元素,如一个设备•UML元素–构造块–事物(续)–行为事物:是UML模型的动态部分,是模型中的动词•交互(interaction):可描述一个对象群体的行为或单个操作的行为•状态机(state machine):可描述单个类或一组类之间协作的行为–分组事物:是UML中的组织部分•包(package)–注释事物:是UML中的注释部分•注解(note)•UML元素–构造块–关系–关系•依赖(dependency):一个事物发生变化会影响到另一个事物。
第03章 用例和用例图
5
用例的特点 ① 用例用于描述系统的功能,这个功能是外 部使用者看到的系统功能,不反映功能的实现 方式。
储蓄系统
开户 存款
√
√ √ √
取款
转帐
6
用例的特点
② 用例描述用户提出的一些可见需求,对应 一个具体的用户目标。
储蓄系统 √ √ √ 开户 存款 取款 转帐
√
×
数据上传
7
用例的特点 ③ 用例反映系统与用户的一次交互过程,应 该具有交互的信息的传递。
泛化关系代表一般与特殊的关系, 与继承类似.
在泛化关系中, 子用例继承了父用例的行为和含义, 子用例也可以增加新的行为和含义或覆盖父用例中 的行为和含义.
20
3.4.2 泛化关系
21
3.4.3 包含关系
包含关系是指一个用例(基本用例)的行为包含了另一 个用例(包含用例)的行为.
包含关系是依赖关系的版型, 但其含义更多.
3.6 用例的描述
用例阐述:写用例规约
用例规约:更进一步的精度
用例文档的核心,作为用例文档的总图 进一步的精度:有层次的文档 文档中每一句话都有其价值
用例图是骨架,而用例规约则是其内在的血肉
43
3.6 用例的描述
谁来写用例文档 ?
最完美:业务人员接受训练,写出优美的 用例文档 最现实:业务人员提供素材,开发人员写 用例文档 最糟糕:业务人员不管,完全由开发人员 杜撰
3
3.7 寻找用例的方法
3.8 用例的常见问题
15
3.3 脚本
脚本(scenario)在UML中指贯穿用例的一条单一路径, 用来显示用例中的某种特殊情况. 其它译名: 情景、场景、情节、剧本.
第3章 Rational Rose概述
Rational Rose窗口介绍
浏览器中包含四个视图: • Use Case视图 • Logical视图 • Component视图 • Deployment视图
•
•
Rose浏览器的功能非常强大,并且易于操作,具有 很强的拖放功能,可以自动地更新模型中的元素等。
2015-3-22
西安财经学院管理学院
Rose模型视图
• Logical视图关注的是系统的逻辑结构。在Logical 视图中,要标识系统中的构件,检查系统信息和功 能,检查组件之间的关系。重复使用是一个主要目 的。通过认真指定类的信息和行为、组合类,以及 检查类和包之间的关系,就可以确定重复使用的类 和包。完成多个项目后,就可以将新类和包加进重 复使用库中。
2015-3-22
西安财经学院管理学院
Rational Rose窗口介绍
5 框图窗口
• 框图窗口是Rose的主要编辑窗口,可以在框图窗 口中浏览模型中的一个或者几个UML框图。如果改 变框图中的元素中,Rose自动更新浏览器中对应的 内容。同样,如果在浏览器中改变元素时,Rose自 动更新相应框图。这样Rose就可以保证模型的一致 性。
Rational Rose窗口介绍
2 浏览器
浏览器功能如下: 浏览器采用的是树形结构, • 增加模型元素 如下图所示,用于在Rose • 浏览现有模型元素间的关 模型中迅速漫游。浏览器 系 • 移动模型元素 中显示了模型中的所有角 • 更名模型元素 色、使用案例、类、组件 • 将模型元素加进框图 等。 • 将文件或URL链接到元素 • 将元素组成包 • 访问元素的详细规范 • 打开框图
用于查看错误和报告各个命令的结果西安财经学院管理学院2016228绘制类图右键单击类图从弹出的菜单中选择openspecificatio双击要设定的属性从type下拉框中选择数据类型在exportcontrol分组框中选择可见性类型西安财经学院管理学院2016228右键单击类图从弹出的菜单中选择openspecification双击要设定的属性从return下拉框中选择数据类型在exportcontrol分组框中选择可见性类型西安财经学院管理学院2016228绘制类图时的良好习惯属性和操作的文档说明在设定它们的值类型的窗体中西安财经学院管理学院2016228西安财经学院管理学院2016228绘制关系系统之间的类是有关联的在uml中可以用关系来描述类之间的关系类之间的关系主要有以下五种
鲁科版高中物理必修第一册第3章第2节科学探究_弹力课件
探究点三 弹力的方向
情境探究
1.分析以下图中接触面上有没有弹力,画出其示意图。
提示 接触面上的弹力与接触面垂直,指向形变恢复的方向,对点点接触问 题,弹力垂直接触点的切线方向,具体受力示意图如图所示。
2.分析轻绳对球的拉力。
提示 绳子受到拉力后会有形变,由于收缩而产生弹力,故绳上弹力方向沿绳 指向绳收缩的方向,具体拉力如图所示。
弹力产生的过程为:
2.弹力有无的判断方法 (1)直接法 对于形变比较明显的情况,可以根据弹力产生的条件判断,两个条件都满足时 才有弹力产生。 (2)假设法 要判断物体在某一接触位置是否受弹力作用,可假设将在此处与物体接触的 另一物体去掉,看物体是否在该位置保持原来的状态,若能保持原来的状态, 则说明物体间无弹力作用,否则有弹力作用。
④弹簧弹力的变化量ΔF与形变量的变化量Δx也成正比,即ΔF=kΔx。
题组过关 1.如图所示,一劲度系数为k、原长为l的轻弹簧,上端固定在天花板上,下端悬 挂一木块。木块处于静止状态时弹簧的伸长量为Δl(弹簧的形变在弹性限度 内),则木块所受重力的大小等于 ( D )
A. k
B. l
l
kl
C.Δl
3.甲图中AB为轻质杆,图中杆的A、C端都通过铰链与墙连接,杆在B处由铰链 连接,且系统均处于静止状态,图乙为一个弹性杆上端固定着一个小球,下端 固定在斜面上,分析杆对B点及小球的作用力。
提示 带活动轴的轻杆弹力只能沿杆,既可以是拉力,也可以是支持力,而固 定杆对物体的作用力根据情况而定,可以指向任何方向。
常见的几种弹力的方向
探究归纳
1.面与面接触时弹力的方向,垂直于接触面而指向受力物体。
2.点与面接触时弹力的方向,过接触点垂直于接触面(或接触面的切面),而指向受
UML面向对象设计与分析 课后习题答案
读卡机 插入IC卡
显示屏
输入设备
接爱IC卡
客户管理
显示输入密码请求
查询密码
输入密码
传送密码
显示服务类型请求 输入取款请求
显示可选的取款金额请求 输入取款金额
查询服务类型 传递取款请求
查询取款金额
传送金额
出钞 取钞
点钞机
事务管理
消息1 确认密码合法
2.为下面打印文件时的工作流建模通信图: 用户通过计算机指定要打印的文件。 打印服务器根据打印机是否空闲,操作打印机打印文件。 如果打印机空闲,则打印机打印文件; 如果打印机忙,则将打印消息存放在队列中等待。 该系统共有四个对象 Computer、PrintServer、Printer 和 Queue。
credit card
+Verify()
0..*
n
sale
+Update()
check n
+verify()
0..*
inventory
+Load()
1
n +Save()
+Update()
第 4 章 活动图
2.运用本书前面介绍有关活动图的相关知识,根据图 4-33 的图书馆管理系统还书用例建模 该用例的活动图。综合运用所学到的标记符,包括活动、转移、控制点、泳道、分叉和汇合
其中,后两个类是 Instructor 类的子类。 (5)建立“一名教师助理可以协助一名教师和一名教授,一名教师只能有一名教师助
理,一名教授可以有 5 名教师助理”的模型。创建 TeacherAssistant 类,并使其与 Teacher 类和 Professor 类都建立关联。
(6)将 TeacherAssistant 类建模为 Graduate 类的派生类。
软件工程PPT课件第3章 软件需求分析
–多个来回
6
软件需求分析的通信途径
7
分析建模
结构化分析模型 面向对象分析模型 分析模型描述工具
DFD、DD和PSPEC(加工规约)
CFD、CSPEC(控制规约)和STD E-R图 用例图,对象-关系图,对象-行为图
8
结构化分析模型
数据对象 说明 E-R图 加工说明 DFD图
44
数据流图
数据流图(DFD)是一种图形化技术,它描绘信息
流和数据从输入移动到输出的过程中所经受的变换 。 在数据流图中没有任何具体的物理部件,它只是 描绘数据在软件中流动和被处理的逻辑过程。 数据流图是系统逻辑功能的图形表示,即使不是 专业的计算机技术人员也容易理解它,因此是分析 员与用户之间极好的通信工具。 此外,设计数据流图时只需考虑系统必须完成的 基本逻辑功能,完全不需要考虑怎样具体地实现这 些功能。
2
需求分析的结构化分析方法准则
(1) 必须理解并描述问题的信息域,根 据这条准则应该建立数据模型。 (2) 必须定义软件应完成的功能,这条 准则要求建立功能模型。 (3) 必须描述作为外部事件结果的软件 行为,这条准则要求建立行为模型。 (4) 必须对描述信息、功能和行为的模 型进行分解,用层次的方式展示细节。
40
分析模型的元素
数据字典(DD):模型核心(中心库) E-R图(ERD): 数据流图(DFD)
指明数据在系统中移动时如何被变换; 描述对数据流进行变换的功能;
DFD中每个功能的描述包含在加工规约 (小说明)。
状态变迁图(STD)
指明作为外部事件的结果,系统将如何 动作。
41
3.4.2 数据建模
4
需求分析的任务和步骤
信息系统分析与设计答案(第二版)
第一章信息系统基础一、简答题1.什么是信息?信息与数据有什么区别?信息的本质是什么?答:信息,一般是指具有新内容、新知识的消息或情报。
信息与数据具有内在的联系。
数据是记录在一定介质上并可鉴别的符号,数据是无意义的符号,信息则是蕴含意义的符号。
数据是信息加工的原材料,信息是数据加工的结果。
信息的本质是物质的属性和特征,是事物运行状态与规律的表征。
2.什么叫系统?可以从哪个方面对系统进行分类?答:系统是由相互联系、相互影响的若干要素结合为具有特定目标、特定功能,并处于一定环境之中的有机整体。
从系统的复杂程度划分:简单的、中等的、复杂的和超复杂的系统.从抽象程度划分:概念系统、逻辑系统、物理系统(也叫客观系统)。
从系统与外界的关系划分:封闭系统、开放系统。
3.简述管理的概念答:管理是对一定组织所拥有的资源进行有效整合以达成组织既定目标和履行责任的动态创造性活动。
管理的目的是实现组织的目标.4.信息资源管理的基本模式是什么?答:是技术管理模式、经济管理模式、人文管理模式.二、填空题1.(数据)是无意义的符号,(信息)是蕴涵意义的符号.2.信息的本质是(物质)的属性和特征,是(事物)运动状态与规律的表征.3.信息的特征有:承载性、(层次性)、传输性、(共享性)、加工性和时效性。
4.从逻辑层次看,可以把信息分为(语法信息)、语义信息和(语用信息)三种类型。
5.系统是由相互(联系)、相互影响的若干(要素)结合为具有特定目标、特定功能,并处于一定环境之中的有机整体.6.系统的特性是指具有目的性、(相关性)、整体性、(层次性)和适应性几种。
7.管理的职能有决策、(组织)、计划、(领导)、控制和激励等六个方面。
三、选择题1.下面说法正确的是(D)A.数据就是数字 B.数据就是信息C.数据是加工之前的信息 D.信息是数据加工的结果2.下面哪个不属于信息的特征?(D)A.承载性B.传输性C.层次性D.独享性3.下面不属于系统特性的是(B)A.目的性B.功能性C.层次性D.适应性4.下面说法不正确的是(A)管理职能方面考题(决策是管理的核心)A.决策是企业的核心 B.从时间性可以把计划分为长期计划和短期计划C.组织结构也被称为组织机构 D.激励有直接满足和间接满足两种方法5.下面哪一种不属于信息资源管理模式?(D)A.技术管理模式 B.经济管理模式 C.人文管理模式 D.社会管理模式6.下面哪一种不属于信息资源管理的五大要素?(A)A.信息资源管理的应用B.信息资源管理的架构C.信息资源管理的组织D.信息资源管理的环境四、论述题1.谈谈信息资源管理在信息系统建设中的作用答:信息资源是指人类社会活动中所涉及到的信息内容,按照某种方法和规律,经加工处理有序化并大量积累后的用用信息的集合.信息资源管理是对整个组织信息资源开发利用的全局管理,这种管理独立于信息技术,重视人和社会因素,追求一种将技术因素和人文因素相结合协调解决问题的方法,形成独立的管理领域。
第3章 业务建模
业务建模步骤
1、识别业务参与者(Business Actor),业务参与者也称 组织的执行者或业务执行者,即在组织之外和组织交互 的人群或组织。
图1 业务参与者
以一家商业银行为研究对象,谁在外面和它打交道?储户来存钱,企 业来贷款,人民银行要对它作监管…。这些就是该商业银行的执行者。
错误与正确的业务用例图示例
业务实体(Business Entity)
业务用例模型
业务用例模型是说明业务预期功能的模型。作为一个核心 输入模型,业务用例模型用于确定组织的各个角色和可交 付工件。 业务用例模型是企业最核心,最概括的业务说明。它主要 是由业务用例和业务参与者构成的,其主要目的是说明客 户和合作伙伴是如何开展业务的,它描述业务的主要方式 是通过业务用例的方式。 业务用例模型实际上就是企业经营业务的一种描述。为了 建立完整、准确的企业用例模型,应该将注意力专注于企 业的业务做了些什么事情,而不应该集中于如何做。
图13 Word要不要画出来?
业务序列图要点
4、把时间看作特殊的业务实体
时间和定时器不是一个概念。时间是外系统,定时器是其他系统 用来和时间打交道的边界类。世界上只有一个时间系统,但有无 数的定时器。
图 4-22 把时间当作一个系统
业务建模应用举例
以一个大学图书馆管理系统EasyLibrary为例,根 据建模要求和步骤,逐步完成建模工作。目前, 先完成愿景与业务建模部分。 业务建模使用astah工具进行。
描述业务流程的手段
2、活动图
这里的活动图准确地说是活动图的“山寨版”─流程图。 用流程图来表示组织内部各系统(岗位)之间的协作,即 业务流程,就变成了业务流程图,接近于活动图。活动图 可以看作是流程图的扩展,添加了分区(Partition,即 UML1.x中的泳道)、分叉(Fork)、结合(Join)等元素, UML2.x进一步增加了Petri网的元素,表达能力更加丰富。
第三章 软件工程 需求分析-基础部分
3.1.4 需求分析的过程
分析与综合 从信息流和信息结构出发,逐步细化所有的软件功能, 从信息流和信息结构出发,逐步细化所有的软件功能,找 出系统各元素之间的关联,接口特性和设计上的约束, 出系统各元素之间的关联,接口特性和设计上的约束,分 析它们是否满足功能要求,是否合理. 析它们是否满足功能要求,是否合理.剔除其不合理的部 增加其需要部分.最终综合成系统的解决方案, 分,增加其需要部分.最终综合成系统的解决方案,给出 目标系统的详细逻辑模型. 目标系统的详细逻辑模型. 常用的分析方法 面向数据流的结构化分析方法 面向数据流的结构化分析方法 (SA) 面向数据结构的Jackson方法 面向数据结构的Jackson方法 (JSD) 面向数据结构的结构化数据系统开发方法 面向数据结构的结构化数据系统开发方法 (DSSD) 面向对象的分析方法 面向对象的分析方法 (OOA) 等
16
3.2.1 需求获取技术
需求调查对象 对组织的高层管理者, 对组织的高层管理者,进行组织管理目标或经营方针等 组织战略问题的调查 对中层的管理者, 对中层的管理者,进行全部业务流的调查 对业务工作人员, 对业务工作人员,进行详细业务信息的调查 市场调查 了解市场对待开发软件有什么样的要求; 了解市场对待开发软件有什么样的要求;了解市场上有 无与待开发软件类似的系统 考察现场 了解用户实际的操作环境,操作过程和操作要求. 了解用户实际的操作环境,操作过程和操作要求.对照用 户提交的问题陈述,对用户需求可以有更全面, 户提交的问题陈述,对用户需求可以有更全面,更细致的 认识. 认识. 观察用户工作流程 用户和开发人员共同组成联合小组
具体化 表 达 需 求
3
目标系统
物理模型
实例化
逻辑模型
第3章 信息系统分析与设计 用例及用例图
3.8 发现用例
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。
● ② 确定各参与者所期望的系统行为。
第49页,共87页。
3.8 发现用例
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。
② 确定各参与者所期望的系统行为。 ● ③ 把这些系统行为命名为用例。
①.泛化关系 ②.包含关系 ③.扩展关系
第31页,共87页。
1. 泛化关系
参与者与参与者之间,用例与用例之间存在一般与 特殊的泛化关系。
第32页,共87页。
2. 包含关系
两个用例之间,一个用例(基用例)的行为要用到 另外一个用例(包含用例)的行为。 包含关系用依赖关系的<<include>>构造型来 表示。
②.在基用例执行的过程中,被包含的用例一定要被执行;
扩展关系如果条件不为真,扩展用例可以不执行。
③.包含关系中的基用例必须依赖被包含的用例,它不能
独立存在;扩展关系中的基用例可以独立存在。
第37页,共87页。
3.6 用例图
1. 用例图的作用
用例图用来描述软件需求模型中的系统功能,通 过一组用例可以描述软件系统能够给用户提供的功 能。
3. 参与者的表示 参与者可以表示为下面三种形式。
第23页,共87页。
4. 参与者之间的关系 参与者之间可以有泛化关系。
第24页,共87页。
5. 参与者的特性 参与者具有以下特性: ①.参与者位于系统外部; ②.参与者与系统发生交互关系 ③.参与者与系统之间存在交互接口
第25页,共87页。
3.4 参与者与用例之间的关系
3.5 用例之间的关系 3.6 用例图
《软件工程》第3章用例图及其应用
用例图的概念和作用
用例图是一种描述系统功能和用户行为的图形化工具。它帮助开发人员和利 益相关者理解系统的需求,并作为沟通和验证的工具。用例图能够直观地展 示系统功能,帮助识别系统的边界和行为。
用例图的基本元素
用例图包含参与者、用例和关系三个基本元素。参与者代表系统的外部角色, 用例代表系统的功能或服务,而关系则表示参与者和用例之间的交互和依赖 关系。
用例图的符号和表示方法
用例图使用参与者图标、椭圆形表示的用例以及连接线表示关系。参与者图标通常表示为人的图 标,用例图标则是一个椭圆形,并用文字描述用例的名称。
用例图在软件工程中的重要性
用例图在软件工程中起到了至关重要的作用。它不仅帮助开发人员了解系统 需求和功能,还能够引导需求分析和测试的工作,并作为可视化的沟通工具, 促进不同角色之间的合作交流。
结论
用例图作为软件工程中常用的建模工具,具有直观、易理解的特点。通过用例图,我们能够更好 地理解和沟通系统需求,提高系统开发的质量和效率。
用例图的绘制步骤
绘制用例图的步骤包括:确定系统的边界和参与者、识别系统的用例、绘制参与者和用例的图标、 添加关系和标注信息、进行审查和验证。
用例图的应用场景
用例图在软件工程中有广泛的应用场景,例如需求分析、系统设计、测试规 划等。通过用例图,开发人员和利益相关者能够共同理解系统功能和用户需 求,从而有效地进行软件开发。
《软件工程》第3章用例图及其应用
用例图在软件开发中重要性
1
用例图是软件开发过程中的重要工具之一,它能 够帮助开发团队更好地理解用户需求,明确系统 的功能范围。
2
通过用例图,开发团队可以对系统的交互方式进 行模拟和验证,从而发现潜在的问题和缺陷,提 高软件的质量。
用例图的更新可以及时地反映到自 动化测试脚本中,保证测试脚本的 实时性和准确性。
评估测试覆盖率
用例图可以帮助测试人员评 估测试的覆盖率,确保所有 重要的功能和业务流程都被
测试到。
通过对比用例图和已执行的 测试用例,可以找出未被测 试到的功能和业务流程,从
而完善测试计划。
测试覆盖率的评估有助于提 高测试的质量和效率,降低 漏测的风险。
02
针对每个测试场景,细化出具体的测试用例,包括输
入数据、预期结果和测试步骤。
03
用例图可以帮助测试人员更好地理解系统需求,从而
设计出更全面的测试用例。
指导自动化测试脚本编写
用例图提供了系统的功能框架和业务流 程,为自动化测试脚本的编写提供了指 导。
测试人员可以根据用例图中的元素和关系, 编写出对应的自动化测试脚本。
验证设计满足原始需求
01 用例图是需求分析和设计阶段源自重要产物,它描 述了用户期望的系统功能和行为。
02 在系统设计完成后,可以通过与原始用例图进行 对比,验证设计是否满足原始需求。
03 如果设计不符合原始需求,则需要重新调整设计, 直到满足所有需求为止。
评估系统可扩展性和可维护性
用例图可以帮助评估系统的可扩展性和可维护性。
扩展关系
02
03
第三章 用例和用例图
系统边界
… 参与者透过系统边界直接与系统交互,参与者的确定代表
系统边界的确定
有意义交互
任何事物
人、外部系统、外部因素等
武汉大学国际软件学院
12
3.2.2 识别参与者:参与者要点
•
参与者指在系统中所扮演的角色。即在确定参与者时, 应主要考虑他的角色,而不是这个角色的实例。
•
• • •
某些组织中可能有很多营销人员,但他们均起着同 一种作用,扮演着相同的角色。 … 一个用户也可以扮演多种角色:一个高级营销人员
经理
用例C
•
如系统中经理可以参加雇员 的所有用例
武汉大学国际软件学院
21
3.2.2 识别参与者:泛化关系的误用
浏览信息
注册成员
普通浏览者 搜索产品
用户
留言
登录验证身分
系统管理员
回复留言
发送邮件
武汉大学国际软件学院
22
3.2.3 识别用例(use case) 分析典型用例是开发者准确迅速地了解用户要求的最常用 也是最有效的方法,是用户和开发者一起深入剖析系统功 能需求的起点。 “用例”是Ivar Jacobson于20世纪60~70年代在爱立信公 司开发AKE、AXE系列时发明的。
武汉大学国际软件学院
29
用例要点:用户观点而非系统观点
订票 旅客 查看今日航班
处理订票
旅客 显示今日航班
用户观点
系统观点
武汉大学国际软件学院
30
用例 VS. 功能
•呼叫某人
•传输/接收 •电源/基站 •输入输出(显示、键盘) •电话簿管理 •……
•接听电话
•发送短信 •记住电话号码
•…… 用户观点
UML各章习题
UML各章习题第1、2章面向对象与UML1.简述统一建模语言(UML)统一建模语言(UML)是一种绘制软件蓝图的标准语言。
可以用UML对密集型软件系统的制品进行可视化详述和文档化。
UML是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言(1分)。
它融入了软件工程领域的新思想、新方法和新技术。
它的作用域不限于支持面向对象的分析与设计(1分),还支持从需求分析开始的软件开发的全过程(1分)。
UML的作用是用图的形式从静态和动态方面来全面描述将要开发的系统(2分)。
2. 简述面向对象分析方法(OOA)的5个基本步骤 1)、识别对象,识别对象包括标识潜在的对象和筛选对象两步(1分) 2)、识别对象的属性(1分) 3)、识别对象的行为(1分) 4)、识别对象所属的类(1分) 5)、定义主题词(1分)3、什么是高内聚度?高内聚度是对一个类中的各个职责之间相关程度和集中程度的度量。
一个具有高度相关职责的类并且这个类所能完成的工作量不是特别巨大,那么它就具有高内聚度。
包括两个含义:一、不要给一个类分派太多的职责,在履行职责时尽量将部分职责分派给有能力完成的其它类去完成。
二、不相关的职责不要分派给同一个类。
4、什么是对象间的可见性?答:可见性(Visibility)指的是一个对象能够“看到” 或者引用另一个对象的能力。
5、领域建模的步骤有哪些?答案:列出候选的概念类;画出领域模型图;加入概念类间的关联;加入概念类的属性。
6、什么是软件生命周期?软件生命周期(SDLC,Systems Development Life Cycle)是软件的产生直到报废或停止使用的生命周期,周期内包括问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。
这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.5.1 Use Case的确定
Use Case的种类大体如下: (1)系统的开始和停止的Use Case。 (2)系统维护的Use Case。 如添加新用户,设置用户的操作模板(profile)等。 (3)维护系统中存储数据的Use Case。 如所建造的系统要与现存的系统数据同步。 (4)修改系统行为的功能的Use Case。 如创建一个新报表,而不是对一个一个的报表进行单 独的编程。
正确
正确
错误
3.4.2 用例之间的关系
包含关系用于表示用例为执行其功能时需要 从其他用例引入功能。 扩展关系则表示用例的功能可以通过其他用 例的功能得到扩充。 泛化关系表示用例之间的一般与特殊关系。
一、包含关系
1、概念
包含关系描述的是一个用例需要某种类型的功能,而该功 能被另外一个用例定义,那么在用例的执行过程中,就可 以调用已经定义好的用例。 2、表示符号
3.2.2 参与者
参与者运行Use Case,获得系统的某项服务。一个参与 者可以运行多个Use Case,而一个Use Case可以由多个 参与者运行。 参与者的图形表示如图3.3所示。
<<actor>>
参与者名
图3.3 参与者的表示图形
3.2.2 参与者
一个参与者与其他的参与者可以有泛化联系,即一个参与 者可以继承一个更一般的参与者的特性。
3.5.1 Use Case的确定
注意Use Case的大小。 不要只用一个Use Case就把一个系统或子系统 的功能行为全部包括在内,也不要把Use Case 划分得过于琐碎细小。 一般应该把系统或子系统中主要的业务流找出 来,对每一个业务流建立一个相应的Use Case。 为业务处理的各种例外(异常)情况的事件流 单独建立一个相应的Use Case。
3.5.2 建立Use Case模型
应当先建立业务 Use Case模型,然 后再从业务Use Case模型向系统 Use Case模型映射。 注意Use Case图的 层次,从系统到 子系统逐层建立 Use Case图。
实例:图书管理系统
实例:自动饮料售货系统
分析此用例图,
思考: •是不是“取消订单”每次都会调用“查询订单”? •“查询订单”能否单独执行?
3、包含关系的使用场合 (1)如果两个以上用例有大量一致的功能,则可以将这个功能分解到另一 个用例中,其他用例可以和这个用例建立包含关系。(如之前介绍的自动 饮料售货系统) (2)一个用例的功能太多时,可以使用包含关系建立若干个更小的用例。 (如下页的学生信息管理系统) 4、意义 它有助于在将来实现系统时,确定哪些功能可以重用,在编写代码时就可 实现代码的重用,缩短开发周期。
3.3.2 业务Use Case与系统Use Case
业务Use Case 是指系统提供的业务(Business)功能与参与者(用户)的交互,表现 问题领域中各实体之间的联系和业务往来活动。 业务Use Case用于建立问题领域的业务Use Case模型。 系统Use Case 是指参与者与系统的交互,它表现了系统的功能需求和动态行为。 系统Use Case用于建立系统的Use Case模型。 每一个业务Use Case都要由一组系统Use Case支持。 在系统开发的开端阶段,应把注意力集中在业务Use Case上,在精化阶 段和构建阶段再考虑系统Use Case。
用例名 用例名 Rose
图3.4 Use Case的表示图形
Visio
3.3.3 Use Case图
按照抽象层次,Use Case图可以划分为系统层(最高 层)、子系统层和对象类层(最低层)。 系统层Use Case图描述系统提供的全部服务。 子系统层Use Case图描述子系统提供的服务,它的外部 交互者可以是其他的子系统或高一层的参与者。子系统 层又可以划分为多个层次。 对象类层的Use Case图描述对象类提供的功能片或操作, 它的外部交互者可以是其它对象类或高一层参与者。 在系统的开发过程中,Use Case图可以自顶向下不断精 化,抽象出不同层次的Use Case图。
关系
系统
用例
参与者
Student Grade Manage System RecordGrade
QueryGrade
Teacher
ModifyGrade
Student
图 3.2 学生成绩管理系统的用例图
系统的符号:用一个长方形表示
系统的名称:写在长方形的顶部
参与者画在长方形外部,用例画在长方形的内部。
3.2.3 参与者的确定
确定参与者首先应明确系统的范围,并从应用的角度考 虑系统的作用,确定将有哪些外部事物与系统进行交互。 凡是与系统进行信息交换(包括数据信息和控制信息交 换)的外部事物可以确认为参与者。 系统的外部事物包括:人员、设备、外部系统。 凡是直接使用系统的人员可以确认为参与者。 某些设备与系统相联,直接向系统提供外界信息或在系 统的控制下运行,可以确认为参与者。 凡是与系统相联,并与系统交互的外部系统,可以确认 为参与者。
VerifyIdentity
身份验证用例
CheckPassword Fingerprint
子用例可以出现在父用例出现的任何位置
实例:银行存取款系统
代理客户操作
3.5 Use Case图的应用
3.5.1
3.5.2
Use Case的确定
建立Use Case模型
3.5.1 Use Case的确定
确定Use Case时必须考虑参与者对系统的服务功能的要 求以及参与者与系统的交互过程。 在标识Use Case时需要考虑的问题如下: · 对于每一个已经确定的参与者,系统将有一些什么任务, 提供什么服务。 · 在系统中是否需要传递信息给参与者。 · 参与者是否需要通知系统某些突然的外部变化。 · 系统是否为领域业务提供了正确的行为。 · Case的运行特征是否标识出来了。 Use · Case将支持和维护的系统功能是什么。 Use
3.3 Use Case
3.3.1 3.3.2 3.3.3
Use Case概念 业务Use Case与系统Use Case Use Case图
3.3.1 Use Case概念
Use Case是对系统的用户需求(主要是功能需求)的描述, Use Case表达了系统的功能和所提供的服务。 Use Case描述参与者与系统交互中的对话。它可以用一系 列的步骤来描述,这些步骤构成一个“脚本”(Scenario)。 脚本”的集合就是Use Case。全部的Use Case构成了对于系 统外部是可见的行为的描述。 Use Case只描述参与者和系统在交互过程中做些什么,并 不描述怎样做。 一个参与者可以运行多个Use Case,而一个Use Case可以有 多个参与者运行它。但是,也有的Use Case很难有与它明确 关联的参与者。
3.3.1 Use Case概念
例:一个网上商店,顾客购买商品的过程的Use Case可以用文字列表描述 如下。 购买商品 (1)顾客浏览查询产品分类目录,找出所需要的产品。 (2)顾客准备结算。 (3)顾客填写购货信息(产品信息,数量、送货地址、送货日期)。 (4)系统显示价格和应付款项。 (5)顾客填写信用卡信息。 (6)系统检查信用卡的有效性,确认交易成功。 (7)系统确定发货时间,发出发货通知。 (8)系统发确认成交的电子邮件给顾客。 异常处理:信用卡有效性检查失败。 本Use Case包含了两个脚本:成功的商品交易的 “购买商品” 脚本, “信用卡有效性检查失败”的脚本。
提示:执行基用例时,每次都必须调用被包含用例,被包含用例也可单独 执行。
实例:学生信息管理系统
二、扩展关系 1、概念
用一个用例(可选)扩展另一个用例(基本例)的 功能。 对扩展用例的限制规则:将一些常规的动作放在一 个基本用例中;将可选的或只在特定条件下才执行 的动作放在它的扩展用例中。
பைடு நூலகம்
2、符号表示
基用例
<<extend>>
扩展用例
提示: 扩展用例依赖于基用例。扩展用例不是完整的独立用例, 无法单独执行。
基用例没有扩展也是完整的,只有特定的条件发生了,扩 展用例的行为才被执行。
思考:以下三个用例图中,哪些是正确的,哪些是错误的?
三、泛化关系
泛化将特殊用例和一般用例联系起来。即子用例是父用例的 特化,子用例除具有父用例的特性外,还可以有自己的另外 特性。父用例往往是抽象用例,子用例来代表父用例的更多 明确的形式。
3.1 概述
Use Case图示例,如图3.1所示。 一个有关金融贸易业务活动的Use Case图
图3.1 Use Case图示例
3.2 参与者
3.2.1 3.2.2 3.2.3
系统范围与系统边界 参与者 参与者的确定
3.2.1 系统范围与系统边界
系统(System)是指由多个系统元素有机地结合在一起, 并执行特定的功能以达到特定目标的集合体。计算机系 统是用于解决某个特定的领域问题的。 系统分析的首要任务是问题识别,明确系统范围,划分 系统边界,确定系统的责任。 系统范围(System Scope)是指系统的问题域的目标、 责任、任务和规模,以及系统应提供的服务。 系统边界(System Border)是指一个系统的所有系统元 素与系统以外的事物的分界线。 系统的范围与边界取决于开发的目标、任务和规模。
3.3.3 Use Case图
Use Case图是系统的一个功能模型。它提供计算机系统的高层次的 用户视图,表示以外部参与者的角度来看系统将是怎样使用的。 一个Use Case图包含参与者、Use Case,以及它们之间的联系. 参与者与Use Case之间的联系用实线表示。 Use Case与Use Case之间的联系可以用实箭线或虚箭线表示。
3.4 关系