UML-CHP02_用例图 (2)
UML之用例图
UML之⽤例图⽤例图⽤例图是⽤来描述系统功能的技术,表⽰⼀个系统中⽤例与参与者及其关系的图,主要⽤于需求分析阶段。
⽤例图的基本组成元素:参与者、⽤例、元素之间的关系。
⽤例图使⽤范围:需求分析1.捕获需求。
描述功能需求、⾏为需求(系统要完成什么任务)2.分析需求。
明确类和对象,建⽴之间的关系⽤例图的基本概念1、⽤例图是表⽰⼀个系统中⽤例与参与者关系之间的图。
它描述了系统中相关的⽤户和系统对不同⽤户提供的功能和服务。
2、⽤例图相当于从⽤户的视⾓来描述和建模整个系统,分析系统的功能与⾏为。
3、⽤例图中的主要元素包括参与者、⽤例以及元素之间的关系。
此外,⽤例图还可以包括注解和约束,也可以使⽤包将图中的元素组合成模块。
如:参与者的概念1、参与者是与系统主体交互的外部实体的类元,描述了⼀个或⼀组与系统产⽣交互的外部⽤户或外部事物。
2、参与者位于系统边界之外,⽽不是系统的⼀部分。
3、参与者是从现实世界中抽象出来的⼀种形式,却不⼀定确切对应的现实中的某个特定对象。
符号:如何确定参与者?通过对参与者进⾏关注和分析,我们可以把重点放在如何与系统交互这⼀问题上,便于进⼀步确定系统的边界。
另外,参与者也决定了系统需求的完整性。
确定参与者可以从以下⼏个⾓度来考虑:1)为系统提供输⼊的⼈或事物2)接收系统输出的⼈或事物3)需要接⼊的第三⽅系统或设备4)时间是否会触发某些事件5)负责⽀持或维护系统中信息的⼈系统中的参与者⼀般可以分为四类:主要业务参与者:主要从⽤例的执⾏中获得好处的关联⼈员。
主要系统参与者:直接同系统交互以发起或触发业务或系统事件的关联⼈员。
外部服务参与者:响应来⾃⽤例的请求的关联⼈员。
外部接收参与者:从⽤例中接收某些价值或输出的⾮主要的关联⼈员。
参与者的泛化关系当系统中的⼏个参与者既扮演⾃⾝的⾓⾊,同时也有更⼀般化的⾓⾊时,可以通过建⽴泛化关系来进⾏描述。
与类相似,⽗参与者可以是抽象的,即不能创建⼀个⽗参与者的直接实例,这就要求属于抽象⽗参与者的外部对象⼀定能够属于其⼦参与者之⼀。
UML用例和用例图
25
UML用例图的建模
1. 找出系统中的角色和用例。
2) 如何从系统中识别出用例 基于这些角色及其需求,通过回答前面的问题,可以建立如下用 例: 记录成绩(Record grades) 更新成绩(update grades) 生成报告卡(generate report cards) 检查报告卡(check report cards) 分发报告卡(distribute report cards ) 浏览成绩(view grades)
15
UML用例图组成
3、用例图的关联
2)用例与用例的扩展关联 例如,系统中允许用户对查询的结果进行导出、打印。对于查询而 言,能不能导出、打印查询都是一样的,导出、打印是不可见的。 导入、打印和查询相对独立,而且为查询添加了新行为。因此可以 采用扩展关系来描述:
16
UML用例图组成
3、用例图的关联
19
UML用例图的建模
1. 找出系统中的角色和用例。
创建用例图的第一项任务是找出要建立的系统模型中的角色和用例。 这项任务通常是由与潜在用户会见的系统分析员完成的。在某些情况 下,该任务还包括与顾客面对面的访谈,在访谈中可以提出问题,了 解他们的需求。访谈过程中,可以多做些记录以备后用。在另外一些 情况下,其他人会提供项目的业务需求列表。对于这些业务需求,需 要向提供者提出一些问题以得到所需要的答案。这些需求和得到的答 案将成为创建用例图的笔记。
22
UML用例图的建模
1. 找出系统中的角色和用例。
1) 如何从系统中识别出角色
23
UML用例图的建模
1. 找出系统中的角色和用例。
2) 如何从系统中识别出用例 用例的获取是需求分析阶段的主要任务之一。但对于一个大系统, 要直接列出用例清单常常是十分困难的。这时可先列出角色清单, 再对每个角色列出它的用例,问题就会变得容易得多。在识别出 了角色之后,就可以通过回答下述问题来帮助识别用例:
UML——用例图
参与者的表示
• 名称:名词短语 • 语法:人形符号 • 参与者与用例之间有何关系?
–关联
用例图概念
• 用例图(use case diagram)是什么? –表示一组用例、参与者及关系的图。
• 用例图中主要有哪些内容? –用例、参与者、依赖、泛化和关联,还 有注解和约束,包
7.储户取走卡和钱; 8.ATM机屏幕恢复为初始状态。
扩展点
扩展点 4a. ATM机验证用户口令不通过 4a1. ATM机给出提示信息,并吐出信用卡; 4a2. 储户取出卡; 4a3. ATM机屏幕恢复为初始状态. 6a. ATM验证用户输入钱数超过3000 6a1. ATM机给出提示信息,并吐出信用卡; 6a2. 储户取出卡; 6a3. ATM机屏幕恢复为初始状态.
用例概念(2)
• 用例描述将实现的行为,而不描述其如何实 现,使所有人员不必为细节所累。 –系统级功能,完整的功能需求。 –参与者actor与用例的交互关系。参与者 可以是人或自动系统。 –一个用例完成一项与参与者利益相关的 确定工作。
• 用例作为测试来源。 • 用例进一步可用交互表示其如何实现。
。。。。 ❖补充说明
无
用例建模 1
1. 识别Actor 2. 识别Use case 3. 3. 画用例图 4. 4. 为每个use case 写用例规约(Use
case specification)
课堂练习
• 对一个图书管理信息系统中的借书功能进行 用例分析,画出用例图,说明每个用例的事 件流。
• 用包含关系分解并重用公共行为,并用扩展关系 建立有条件的行为变体。注意区别这两种关系。
• 对于一个包含关系,被包含的用例尽可能选择一 个抽象的用例,这样具体用例就能提供更多灵活 性,而且包含关系也具有稳定性。
UML用例图的基本概念
UML的用途
需求分析
UML可以帮助开发人员更好地理 解客户需求,通过用例图等工具 将客户需求转化为可执行的用例。
系统设计
UML可以帮助开发人员在系统设 计阶段进行系统架构和组件的设 计,通过类图、时序图等工具进 行系统的分析和设计。
05
案例分析
案例一:简单登录系统用例图分析
总结词:简单明了
详细描述:简单登录系统通常包括用户名和密码输入、验证和登录成功或失败的反馈等基本功能。在 UML用例图中,可以清晰地表示出系统的主要功能和参与者的角色。
案例二:网上购物系统用例图分析
总结词:复杂多样
详细描述:网上购物系统涉及到多个参与者,如顾客、管理员和供应商等,以及多种复杂的业务功能,如商品展示、购物车 管理、订单处理和支付等。在UML用例图中,需要对各个功能进行详细的描述和分类,以便更好地理解系统的结构和功能。
用例图在系统设计中的应用
架构设计
用例图可以用于指导系统的架构设计,通过分析用例之间 的关系和交互,设计系统的组件和模块结构。
01
接口设计
用例图可以帮助设计系统组件之间的接 口,明确组件之间的输入输出关系和交 互协议。
02
03
系统流程设计
用例图可以用于描述系统的流程,通 过分析用例的执行顺序和交互逻辑, 设计系统的流程和顺序结构。
用例图在需求分析中的应用
1 2
沟通工具
用例图作为一种可视化图形表示,可以作为沟通 工具,帮助开发团队、客户和利益相关者理解系 统的需求和功能。
需求确认
通过绘制用例图,可以与利益相关者讨论和确认 系统的需求,确保对需求的理解和期望是一致的。
UML的逻辑模型图
UML的逻辑模型图UML(Unified Modeling Language)是面向对象设计和开发中使用的一种标准化建模语言,其中逻辑模型图是其中的一种类型。
逻辑模型图是用于描述系统功能和行为的非物质结构模型,主要包括用例图、类图、对象图、状态图、活动图和序列图。
本文将重点介绍逻辑模型图中的用例图、类图和对象图三种。
用例图用例图通过描述用户和软件系统之间的交互来表示系统的功能和行为,是面向用户的一个模型。
用例图中包括参与者和用例两个主要元素。
参与者表示使用系统的人、人群或其他系统,用例则表示系统所提供的服务。
参与者与用例通过关系进行连接,分为关联关系、扩展关系、包含关系和泛化关系等。
以一个在线商城为例,客户、管理员、游客可以作为参与者,登录、注册、购物、添加物品等则是对应的用例。
客户可以通过购物车购买物品,可以查看订单状态,而管理员则可以修改物品、审核订单和退货等。
类图类图是用于描述系统内部静态结构的一种模型,它表示系统中的类、接口和它们之间的关系。
类图中包括类、接口、属性、方法等主要元素。
以一个汽车销售系统为例,车辆、销售员和客户都可以作为类。
而车辆包括品牌、型号、颜色、价格等属性,还有加速、制动等方法。
销售员则包括姓名、电话、销售量等属性,还有售车、联系客户等方法。
对象图对象图是用于描述系统中对象间的相对位置和关系的一种模型。
它可以表示对象在特定状态下的关系和属性,有助于表示对象之间的交互、通信和连接。
对象图中包括对象、属性、关系等主要元素。
以一个图书馆系统为例,书架、馆藏书、借阅者都可以作为对象。
借阅者可以借阅馆藏书,而馆藏书则可以属于不同的书架,还有编号、价格、作者等属性。
总结UML的逻辑模型图是面向对象设计和开发中使用的一种标准化建模语言,其中包括用例图、类图和对象图三种。
用例图主要用于描述系统功能和行为,类图用于描述系统内部静态结构,对象图则用于描述系统中对象之间的相对位置和关系。
通过应用这些模型,可以更加深入地了解系统的结构和功能,从而为系统的设计和开发奠定坚实的基础。
UML用例图
用例图初感UML是一组图示符号的标准。
所谓图示符号,就是一组定义好的图示,它们可以表达定义好的各种意思。
用UML进行软件建模,就是用规定好的符号画图,这些图表达了开发人员脑中的软件系统。
用UML进行软件建模,其难度并不比我们小时候上的美术课更难。
在美术课上,一个圆形加上四根线条表示太阳,一个三角形加上一个矩形表示房子;同理,在UML的用例图中,一个椭圆表示用例,一个小人表示参与者。
我并不认为它们之间有质的区别,想到我对这种小学生画图课恐惧了几年,不由得感到羞愧。
用例图是UML的九个图中较为重要和常用的一种图。
常常用于软件开发的需求分析阶段,也能用于软件的系统测试阶段。
简单的来说,用例图是描述系统的外部视图。
在开始设计一个软件系统时(更广义的情况下,可以用来设计任何系统),需要一种手段来发现系统的功能,用例图虽然是图示,但是这些图示隐含了一种启发系统功能的手段。
其实所有的UML图都只包含图示和标准,并不包含方法,但是它们往往隐含了某种方法。
UML和软件开发方法的关系,很类似于汉字和语文的关系。
用例图包含了三种基本的概念:用例、角色和系统。
它们可以组合起来表达系统的外部视图。
而且这种表达方式是如此直观和简单。
第一张用例图画用例图是一件很简单的事情,而且感觉还很舒适,因为用例图简洁、直观。
虽然用例图不能像HelloWorld一样运行,也不能生成代码,不过画一张清晰的用例图还是很有成就感的。
我使用的工具是Eclipse+EclipseUML插件,功能不如Rose,但是是开源而且免费的(EclipseUML有free版也有企业版),而且效果也不错。
第一张用例图如下:可以看出图中有一个系统(保险商务系统),两个角色(客户和保险销售员)以及三个用例(签订保险单、销售统计资料、客户数据资料),另外还有四个连接线以及一个注释。
如果在纸上或者合适的工具中,画这样一张用例大概只需要五分钟吧。
不过仅仅画出来是没有意义的,需要弄清楚其背后真正的含义才行。
第2讲用例与UML用例图精品PPT课件
学习目标
上讲回顾 用例的概念 用例分析的过程 使用用例模型捕获系统需求
上讲回顾
UML的全称__________________________________. UML的图基本构造块包括_______和______. UML的基本构造块中的关系包括哪几种__________. UML的图包括哪几种____________. 动态图包括哪些_____________________________. 静态图包括哪些_____________________________. RUP是______________________________________.
评价应聘者
录用应聘者
录用应聘者
拒绝应聘者
拒绝应聘者
参与者的泛化
Employee Manager
面试面应试聘应者 聘者 评评价价应应聘聘者 者 录录用用应应聘聘者者
拒拒绝绝应应聘者聘者
参与者的泛化
• 只有在子参与者使用了父参与者所使用的 所有用例时,参与者泛化才是合适的。
• 参与者泛化会带来不必要的复杂性,所以 不要强加一个不存在的关系。
用例的特点 : 用例捕获某些用户可见的需求,实现一个具 体的用户目标。 用例由参与者激活,并提供确切的值给参与 者。 用例可大可小,但它必须是对一个具体的用 户目标实现的完整描述。
参与者(Actor)
参与者是指对用例所描述的事件序列的发 起者。
参与者可以是一个人、另一个系统、一台 硬件设备或某段时间的流逝。
后置条件:顾客得到现金
事件流
(1)事件流由简短步骤的序列组成。 (2)陈述性的、带编号、按时间排序 (3)每个步骤简单地描述了什么东西执
行了什么动作。 每个步骤应该具有如下格式: <编号> <某事> <行为> (4)一个事件流仅描述用例中的一条路径, 不包括其它的分支。
chap02UML详细介绍
模版参数
Shape
Shape
(标准图形)
+ Draw ()
(变体图形)
+ Start() : int + Stop() : int
抽象类
- 10 -
接口
UML
模版类
3. 类图
3.3 类图中的关系及解释 3.3.1 关联关系 ※ 描述了类的结构之间的关系。具有方向、名字、角色和多重性等 信息。一般的关 联关系语义较弱。也有两种语义较强,分别是聚 合与组合
UML表示法
ClassDiagram
名字 关系的名字是“使用”
方向 双向关联(省略箭头)
+diagram use
角色 类的角色是“事物 “
1..*
多重性 (用数字和*表示) 1…*:1个或多个 1个类图有1个或多个类 1个类属于1个或多个类图
+thing Class
实例
1..*
UML
- 11 -
关联关系
Java代码 public abstract class Vehicle { private float fMaxSpeed; public abstract int Start(); public abstract int Stop(); public abstract int Run(float fSpeed); }
UML表示法
依赖关系
UML
- 12 -
UML表示法 聚合关系 特殊关联关系,指明一个聚集(整体)和组成部分之间的关系
组合关系 语义更强的聚合,部分和整体具有相同的生命周期
UML表示法
部分 整体
UML实践----用例图、顺序图、状态图、类图、包图、协作图
UML实践----用例图、顺序图、状态图、类图、包图、协作图UML实践----用例图、顺序图、状态图、类图、包图、协作图面向对象的问题的处理的关键是建模问题。
建模可以把在复杂世界的许多重要的细节给抽象出。
许多建模工具封装了UML(也就是Unified Modeling Language?),这篇课程的目的是展示出UML的精彩之处。
UML中有九种建模的图标,即:用例图类图对象图顺序图协作图状态图活动图组件图配置图本课程中的某些部分包含了这些图的细节信息的页面链接。
而且每个部分都有一个小问题,测试一下你对这个部分的理解。
为什么UML很重要?为了回答这个问题,我们看看建筑行业。
设计师设计出房子。
施工人员使用这个设计来建造房子。
建筑越复杂,设计师和施工人员之间的交流就越重要。
蓝图就成为了这个行业中的设计师和施工人员的必修课。
写软件就好像建造建筑物一样。
系统越复杂,参与编写与配置软件的人员之间的交流也就越重要。
在过去十年里UML就成为分析师,设计师和程序员之间的“建筑蓝图”。
现在它已经成为了软件行业的一部分了。
UML提供了分析师,设计师和程序员之间在软件设计时的通用语言。
UML 被应用到面向对象的问题的解决上。
想要学习UML必须熟悉面向对象解决问题的根本原则――都是从模型的建造开始的。
一个模型model就是根本问题的抽象。
域domain就是问题所处的真实世界。
模型是由对象objects组成的,它们之间通过相互发送消息messages来相互作用的。
记住把一个对象想象成“活着的”。
对象有他们知道的事(属性attributes)和他们可以做的事(行为或操作behaviors or operations)。
对象的属性的值决定了它的状态state。
类Classes是对象的“蓝图”。
一个类在一个单独的实体中封装了属性(数据)和行为(方法或函数)。
对象是类的实例instances。
用例图用例图Use case diagrams描述了作为一个外部的观察者的视角对系统的印象。
UML的使用教程与实例分享
UML的使用教程与实例分享UML(统一建模语言)是一种用于软件开发过程中进行建模的标准化语言。
它提供了一种图形化的方式来描述软件系统的结构、行为和交互。
在软件开发过程中,使用UML可以帮助开发团队更好地理解和沟通需求,设计和实现高质量的软件系统。
本文将介绍UML的基本概念和常用图表,并通过实例分享来帮助读者更好地理解和应用UML。
1. UML的基本概念UML由一系列图表组成,每种图表都用于描述软件系统的不同方面。
常用的UML图表包括用例图、类图、时序图、活动图等。
用例图用于描述系统的功能需求,类图用于描述系统的静态结构,时序图用于描述系统的动态行为,活动图用于描述系统的业务流程。
了解这些基本概念是使用UML的前提。
2. 用例图用例图是UML中最常用的图表之一,用于描述系统的功能需求。
用例图由参与者(Actor)和用例(Use Case)组成。
参与者是系统的外部角色,可以是人、其他系统或设备等。
用例是系统的功能需求,描述了系统与参与者之间的交互。
通过用例图,可以清晰地了解系统的功能和参与者之间的关系。
3. 类图类图是UML中描述系统静态结构的图表。
类图由类、属性和方法组成。
类是对具有相同属性和行为的对象的抽象,属性是类的特征,方法是类的行为。
通过类图,可以清晰地了解系统中的各个类及其之间的关系。
类图还可以用于生成代码和数据库设计。
4. 时序图时序图是UML中描述系统动态行为的图表。
时序图描述了系统中对象之间的交互和消息传递顺序。
时序图由对象、生命线、消息和控制流程组成。
对象是系统中的实体,生命线表示对象的生命周期,消息表示对象之间的交互,控制流程表示对象之间的控制流程。
通过时序图,可以清晰地了解系统中对象之间的交互过程。
5. 活动图活动图是UML中描述系统业务流程的图表。
活动图由活动、决策、并行和合并等元素组成。
活动表示系统中的业务流程,决策表示系统中的判断条件,并行表示系统中的并发流程,合并表示系统中的流程合并。
UML用例图
UML用例图UML 用例图:准则在 Visual Studio 旗舰版中,可以绘制“用例图”来概括使用您的应用程序或系统的用户以及该应用程序或系统的用途。
若要创建UML 用例图,请在“体系结构”菜单上,单击“新建关系图”。
用例图有助于讨论和传达以下内容:您的系统或应用程序与人、组织或外部系统进行交互的几种方案。
它帮助参与者实现的目标。
系统的范围。
用例图不显示用例的详细信息:它只概括用例、参与者和系统之间的某些关系。
特别是,用例图不显示每个用例为实现目标所执行步骤的顺序。
可以在其他关系图和文档中描述这些详细信息,这些关系图和文档可与各用例相链接。
有关更多信息,请参见本主题中的详细描述用例。
您为用例提供的描述将使用与系统所用于的领域相关的一些词汇,如“销售”、“菜单”、“顾客”等。
明确定义这些词汇及其关系是非常重要的,您可以借助 UML 类图来进行定义。
有关更多信息,请参见 UML 类图:准则。
用例只处理系统的功能要求。
诸如业务规则、服务质量要求和实现约束等其他要求必须另外表示。
体系结构和内部细节也必须另外说明。
有关如何定义用户需求的更多信息,请参见用户需求建模。
本主题中使用的示例与顾客可在其上从本地餐馆订餐的网站有关。
“参与者”(1) 是与您的系统进行交互的一类人、组织、设备或外部软件组件。
例如,“顾客”、“餐馆”、“温度传感器”、“信用卡授权方”都是参与者。
“用例”(2) 表示一个或多个参与者为实现特定目标而执行的操作。
例如,“订餐”、“更新菜单”、“处理付款”都是用例。
在用例图中,用例与执行它们的参与者相关联 (3)。
“系统”(4) 是您开发的任何成果。
系统可以是小型软件组件,其中的参与者只是其他软件组件;系统也可以是完整的应用程序;系统还可以是部署在多台计算机和设备上的大型分布式应用程序套件。
例如,“订餐网站”、“送餐业务”、“网站版本2”都是子系统。
用例图可以显示系统或其子系统支持的用例。
UML之用例图
初学UML之-------用例图分类:UML Modeling2007-10-16 04:37 58803人阅读评论(48) 收藏举报一.UML简介UML(统一建模语言,Unified Modeling Language)是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言。
它融入了软件工程领域的新思想、新方法和新技术。
它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。
在系统分析阶段,我们一般用UML来画很多图,主要包括用例图、状态图、类图、活动图、序列图、协作图、构建图、配置图等等,要画哪些图要根据具体情况而定。
其实简单的理解,也是个人的理解,UML的作用就是用很多图从静态和动态方面来全面描述我们将要开发的系统。
二.用例建模简介用例建模是UML建模的一部分,它也是UML里最基础的部分。
用例建模的最主要功能就是用来表达系统的功能性需求或行为。
依我的理解用例建模可分为用例图和用例描述。
用例图由参与者(Actor)、用例(Use Case)、系统边界、箭头组成,用画图的方法来完成。
用例描述用来详细描述用例图中每个用例,用文本文档来完成。
1.用例图参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。
因此参与者可以是人,可以是事物,也可以是时间或其他系统等等。
还有一点要注意的是,参与者不是指人或事物本身,而是表示人或事物当时所扮演的角色。
比如小明是图书馆的管理员,他参与图书馆管理系统的交互,这时他既可以作为管理员这个角色参与管理,也可以作为借书者向图书馆借书,在这里小明扮演了两个角色,是两个不同的参与者。
参与者在画图中用简笔人物画来表示,人物下面附上参与者的名称。
用例是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。
这是UML对用例的正式定义,对我们初学者可能有点难懂。
我们可以这样去理解,用例是参与者想要系统做的事情。
UML_02_用例图
是对活动者的称谓,可以指外部系统和设备。
• 如果一个活动者的操作是由另外一个活动者代理完成的, 可以建立该活动者到另外活动者的依赖(或关联)关系。
关系
组成
关联(accociation) 包含(include) 扩展(extend) 泛化(generalization)
关系
关联(accociation)
用例:
• 1、客户存款 • 2、客户取款 • 3、客户查询余额 • 4、客户转账
• 5、客户修改密码
• 6、打印收据
40
参考答案
习题
41
谢谢
42
Байду номын сангаас
示例
<<include>> 关系 信息亭
Buy Subscription Clerk
<<include>>
Make charges
用例
信用卡服务商
Survey sales
监督员
26
网上选课系统
示例
网上选课系统:管理员通过系统管理界面进入,
建立本学期要开的各门课程,将课程信息保存在 数据库中,并可以对课程进行改动和删除。学生 通过浏览器根据学号和密码进入选课界面,在这 里学生可以查询已选课程信息并选课,教师可以
前提条件
• 是执行用例之前必修满足的条件,例如前提条件可能是另外一个用 例已经执行、或者用户具有运行当前用例的权限。
后置条件
• 用例结束后执行的动作,比如一个用例结束后必须运行另外一个用 例。并不是每个用例都有后置条件。
事件流
用事件流更详细地描述用例的功能 主事件流和其他事件流
用例描述
UML-CHP02_用例图
特别注意:有时候时间触发器也可以看成是参与者
软件工程
ቤተ መጻሕፍቲ ባይዱ
如何识别用例?
RUP(Jacobson):用例实例是在系统中执行的一系列动 作,这些动作将生成特定参与者可见的价值结果。一个用例 定义一组用例实例。
用户
打电话
通俗地,用例是参与者利用系统所要达到的目标.
软件工程
用例建模的步骤
确定系统的范围和边界 确定执行者 确定用例 对用例进行描述 定义用例之间的关系 审核用例模型
用例是文档,而非制图!
软件工程
用例的文字描述应包括以下内容
用例的目的(功能); 该用例在什么情况下被哪个参与者启动执行; 用例与参与者之间交互哪些消息来通知对方作出决定; 交互的主消息流及因此被使用或修改的实体; 用例中可供选择的异常事件流; 用例的结束标志:给参与者返回一个可识别的值. 举例: 用例名称:学生选课 执行者:学生 目 的:完成一次学生选课的完整过程. 类型:主要的,基本的 级别:一级
软件工程
注意I-业务语言而非技术语言
发票,洗衣机, 工作业绩
C++,字 段,.net,AJAX
软件工程
注意Ⅱ-用户观点而非系统观点
订票
处理订票
旅行者
旅行者
查看今日 航班
显示今日 航班
软件工程
注意Ⅲ-用例命名:动词+名词 尽量少用弱动词弱名词
弱动词:进行 使用 复制 加载 重复
弱名词:数据 报表
基本用例可以单独存在,但是在一定的条件下,它的行为可以被另一个 用例的行为扩展。
当一个用例有多个可选系统行为时,可以用扩展关系对其进行扩展,使 得基本用例的不同子流程能在不同的情形下以扩展用例的形式被激活。
UML 各种图总结精华
UML 各种图总结精华UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。
下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景。
一、基本概念如下图所示,UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图。
静态图分为:用例图,类图,对象图,包图,构件图,部署图。
动态图分为:状态图,活动图,协作图,序列图。
1、用例图(UseCase Diagrams):用例图主要回答了两个问题:1、是谁用软件。
2、软件的功能。
从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。
2、类图(Class Diagrams):用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。
各种关系的强弱顺序:泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖2.1.泛化【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何继承父类的所有特征和行为。
例如:老虎是动物的一种,即有老虎的特性也有动物的共性。
2.2.实现【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现。
2.3.关联【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。
双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
【代码体现】:成员变量2.4. 共享聚合【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。
uml的用例
uml的用例
UML(统一建模语言)用例图是一种展示系统功能、用户需求和系统之间交互的图表。
它描述了系统的功能、行为以及这些功能和行为是如何被各种参与者使用的。
以下是用例图的一些基本元素和用法:
1.参与者(Actors):
参与者表示与系统进行交互的外部实体,可以是人、另一个系统或者一个组织。
它们用符号表示为简单的图标,通常位于用例图的边界上。
2.用例(Use Cases):
用例代表系统提供的各种功能或服务。
每个用例描述了系统对参与者的响应。
用例用椭圆形图标表示,并在图表内部标注名称。
3.关系(Relationships):
用例和参与者之间的连线表示了参与者如何与用例交互。
主要有关联(Association)、包含(Inclusion)、扩展(Extension)等不同类型的关系来描述这种交互。
4.系统边界(System Boundary):
用例图通常有一个矩形的系统边界,表示系统的范围和边界。
用例图有助于概述系统的功能和用户需求,让团队更好地理解系统的行为和交互。
它们通常作为需求收集和系统设计阶段的重要工具,帮助各方之间更清晰地沟通和共享对系统的理解。
UML(2)-用例图
UML(2)-⽤例图通过⽤例来捕获系统需求,然后结合参与者进⾏系统功能需求的分析和设计。
由参与者、⽤例及它们之间关系构成的⽤于描述系统功能的动态视图称为⽤例图。
⼀个椭圆,⽤例的名字可以放在椭圆的中⼼或椭圆下⽅的中间位置表⽰⼀个⽤例。
参与者⽤⼈型符号表⽰。
两者之间的关系⽤带箭头的线段描述,其中箭头所指⽅为被动接受者(可以⽤不带箭头的线段描述不带主被动关系)。
要注意的是:箭头的⽅向并不是指信息流的⽅向。
参与者与⽤例之间的信息流默认存在,是双向的。
(⼀)⽤例图的作⽤⽤例图的主要作⽤是描述参与者和⽤例之间的关系,帮助开发⼈员可视化的了解系统功能。
传统的需求表述⽅式是Software Requirment Specification(软件需求规约,SRS),采⽤功能分解⽅式来描述系统功能,将系统功能分解到各个系统功能模块中,然后通过描述每个模块的功能来达到描述整个系统功能的⽬的。
软件需求规约容易混淆需求和设计的界限,导致需求分析包含部分概要设计;通过分割了的系统功能难于表现实现⼀个完整的系统服务。
⽤例图可视化的表达了系统的需求,且把需求与设计分离开。
(⼆)⽤例图构成(1)参与者(Actor)参与者指存在于系统外部且直接与系统进⾏交互的⼈、系统、⼦系统或类的外部实体的抽象。
通过⼈形图来表⽰参与者,参与者的名字在图的下⽅。
参与者是⼀种⾓⾊,⽽不是具体的⼈或事物本⾝。
参与者之间的关系主要是泛化关系,也就是继承关系。
继承关系通过空⼼三⾓箭头的实线段表⽰。
(2)⽤例(Use Case)⽤例是参与者可以感受到的系统服务或功能单元。
它是以⽤户的⾓度上来描述系统功能。
参与者与⽤例之间的关系是关联关系,也称为通信关联。
参与者是⼀种⾓⾊,⽤例不是具体实例,⽽是表⽰⼀个类。
⽤例包含的系统功能有⼤有⼩,这就是⽤例的粒度,粒度⼤,⽤例包含的功能多。
⽤例的粒度重要的是⼀个度。
它决定了⽤例模型级的复杂度,也决定了每个⽤例内部的复杂度。
2UML用例图
用例图的主要作用: 用例图的主要作用:
用来描述待开发系统的功能需求和系统使用场景 用来描述待开发系统的功能需求和系统使用场景 作为开发过程的基础,驱动各阶段的开发工作 作为开发过程的基础, 作为开发过程的基础 用于验证与确认系统需求 用于验证与确认系统需求
一,用例图的组成
由如下元素组成: 用例图由如下元素组成 用例图由如下元素组成: 角色(Actor):也称为参与者,它代表系统的用户. 角色(Actor) 角色(Actor):也称为参与者,它代表系统的用户. 系统边界(System Scope):它确定系统的范围. 系统边界(System Scope):它确定系统的范围. 系统边界 用例(Use Case):它代表系统提供的服务. 用例(Use Case):它代表系统提供的服务. 用例 关联(Association):它表示角色与用例间的关系. 关联(Association) 关联(Association):它表示角色与用例间的关系. 从图中可以看出,所有的用 从图中可以看出, 例都放置在系统边界内, 例都放置在系统边界内,表明它 属于一个系统. 属于一个系统.角色则放在系统 边界的外面, 边界的外面,表明角色并不属于 系统.但是角色负责直接(或间 系统.但是角色负责直接( 驱动与之关联的用例的执行. 接)驱动与之关联的用例的执行.
Record grades
Update grades Generate report cards Check report cards
Distribute report cards
View grades
2,区分用例优先次序
这项任务通常是由系统分析人员完成, 这项任务通常是由系统分析人员完成,他们对哪一项任务 最关键,哪一项任务最艰巨有最好的全局认识. 最关键,哪一项任务最艰巨有最好的全局认识.他们还可以确 定出哪个用例可以为其他用例所重用.在上例中, 定出哪个用例可以为其他用例所重用.在上例中,可以轻松地 提出以下优先次序列表: 提出以下优先次序列表: ① 记录成绩 ② 测览成绩 ③ 更新成绩 ④ 生成报告卡 ⑤ 检查报告卡 ⑥ 分发报告卡 某些用例必须在其他用例之前完成, 某些用例必须在其他用例之前完成,因为它们之间要相互 依赖.例如,在系统更新成绩之前,必须记录成绩. 依赖.例如,在系统更新成绩之前,必须记录成绩.因此很明 Grades是最重要的用例 是最重要的用例. 显,Record Grades是最重要的用例.
UML用例图和类图
UML⽤例图和类图1.⽤例图
关联关系:参与者使⽤某个⽤例,箭头指向消息接收⽅。
泛化关系:⼦⽤例继承⽗⽤例,箭头指向⽗⽤例。
包含关系:⽤例分解出的各步骤,箭头指向分解出来的⽤例。
扩展关系:箭头指向基础⽤例。
依赖关系:箭头指向被依赖项。
2.类图
泛化关系:空⼼三⾓实线箭头,继承⾮抽象类
实现关系:空⼼三⾓虚线箭头,继承抽象类、接⼝
聚合关系&组合关系:空⼼、实⼼菱形实线箭头,A箭头指向B,表⽰B由A组成。
是整体与部分的关系
组合关系(实⼼)偏重强依赖,表⽰整体不存在的话部分也不存在,例如,公司不存在了,部门也将不存在了;聚合关系(空⼼)则不同,表⽰的是即使整体不存在了,部分仍然存在;例如,部门撤销了,⼈员不会消失,他们依然存在。
关联关系:⽤直线表⽰时,说明双⽅互相知道;若强调⽅向,例如A指向B,表⽰A知道B,B不知道A
是⼀种拥有的关系,它使⼀个类知道另⼀个类的属性和⽅法;
依赖关系:A依赖于B,是⼀种使⽤的关系
【代码表现】:局部变量、⽅法的参数或者对静态⽅法的调⽤。
UML用例和用例图
1、储户插入ATM卡,并键入密码; 2、储户按“取款”按钮,并键入取款数目; 3、储户取走现金、ATM卡并拿走收据; 4、储户离开。
问题:只描述了参与者的动作序列,而没有描述系统的行为
ATM取款案例
Use Case:取款 Actor:储户
主事件流:
1、ATM系统获得ATM卡和密码; 2、设置事物类型为取款; 3、ATM系统获取要提取的现金数目; 4、验证帐户上是否有足够储蓄金额; 5、输出现金、数据和ATM卡; 6、系统复位。
关系一样,用例和参与者也可以继承另一个用例和参 与者。 泛化的示例:银行存款有两种方式,一种是银行柜台 存款,一种是ATM机存款。
Байду номын сангаас
父用例
子用例
关系—参与者与参与者之间
泛化关系
Customer
Personal
Company
用例的粒度
用例的粒度指用例所包含的系统服务或功能单元 的多少。用例的粒度越大,用例包含的功能越多, 反义包含的功能越少。
有足够库存 …….(后续描述省略)
主要内容
基本概念:Use case、Actor、Scenario
Use case间的关系 Use Case 分析技术 案例讲解
案例1:ATM系统
建立一个具有基本功能的ATM机软件
客户可以存钱,取钱 客户可以查询帐户余额 客户可以修改密码 客户可以进行转帐
用例是参与者启动的,基于这样的考虑,ATM 系统根据业务流程大致可以分为以下的几个用例:
客户取钱 客户存钱 客户查询余额 客户转帐 客户更改密码
建立用例图
完整用例图
存款
(from UseCases)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
notice:sometimes timer may be regarded as an actor.
(2) A condition or capability that must be met or
possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed documents
name
软件工程
Use Cases and Actors
From the perspective of a given actor, a use case does something that is of value to the actor, such as calculate a result or change the state of an object. The Actors define the environments in which the system lives
User of mobile
Make a calling
Use cases is the objectives that the user want to achieve using the system.
软件工程
Need to notice observable result of value to an actor
软件工程
Actors
An actor represents a set of roles that users of use case play when interacting with these use cases. Actors can be human or automated systems. Actors are entities which require help from the system to perform their task or are needed to execute the system’s functions. Actors are not part of the system.
Object-Oriented Modeling
Chapter 2 Use case Modeling
高俊涛
东北石油大学
计算机与信息技术学院
计算机科学系
软件工程
Preface
From the first chapter, you already know that the first step in writing great software is making sure it does what the customer wants it to. But how do you figure out what a customer really wants? And how do you make sure that the customer even knows what they really want? In this chapter, you are going to learn how to satisfy you customer by making sure what you deliver is actually what they asked for.
name
软件工程
Specifying the Behavior of a Use Case
Describing the flow of events within the use case. Can be done in natural language, formal language or pseudo-code. Includes: how and when the use case starts and ends; when the use case interacts with actors and what objects are exchanged; the basic flow and alternative flows of the behavior.
软件工程
Contents 2.1 Software Requirements
The Concept The difficulty
2.2
Use Case Modeling
Building Blocks Relationships between use cases Guidelines for use case model
软件工程
How to identify an use case?
RUP(Jacobson):the instance of an use case is a set of actions of the system. These actions will bring obvious value to the user. An use case define a set of scenario (the instance of an use case)
软件工程
2.1 软件需求的概念
The complexity of requirements analysis
(2)Requirements keep changing Developers: The technology of communication is not enough Lack of knowledge of requirements engineering Don’t grasp the business processes of users Requirements are not clear and detailed The management of project is disorder
Use case is document, not the diagram !
2.3
Conclusions软件工程2.1Fra bibliotek软件需求的概念
The Definition of Software Requirements
(1) A condition or capability needed by a user to solve
a problem or achieve an objective.
Actor
Use Case
软件工程
Use Case
Use cases specify desired behavior. A use case is a description of a set of sequences of actions that a system performs to yield an observable result of value to an actor. Describes a system from an external usage viewpoint.
软件工程
2.1 软件需求的概念
The complexity of requirements analysis
(2)Requirements keep changing Users: Knowledge about IT is not enough The description is not clear The importance of requirements is not understood Business scope keep changing Business process changing
软件工程
2.3 需求分析技术:功能分析
Example for Use Case
User of mobile Search for numbers
Sends Message
Make a phone call
软件工程
How to identify actors?
Actor is anyone or anything that interacts with the system causing it to respond to events. An actor may be:
软件工程
The process of use case modeling
Determine the scope of the system Determine the actors Determine the use cases Describe the use cases Define the relationships between use cases Review the use case model
通过输入电话号码拨打电话的场景 通过查打电话号码簿拨打电话的场景 通过查打电话号码簿拨打电话,电话打到一半电话欠费的场景
软件工程
The guideline to modeling use cases
Use cases are short texts Use cases may be an scenario Use cases may be a set of scenario Use cases don’t include design Use cases don’t include user interfaces Use cases don’t include testing the count of actions of a primary scenario is less than 9 The secondary scenario is more important that primary scenario