目录
①商品销售系统,顾客通过网络下单之后,系统计算出总计金额,并将数目传递给一个外挂的会计系统,该系统是另外购买的。 有几个参与者?
②用户如果预定了天气预报,系统每天定时给他发天气消息;如果当天气温高于35度,还要提醒用户注意防暑。 请找出系统的参与者。
一、UML概念
UML(统一建模语言,Unified Modeling Language)是一种标准化的建模语言,用于描述、设计和可视化软件系统的结构和行为。 UML由图形符号和文本标签组成,其目的是帮助开发团队在分析、设计、实现等过程中更好地理解和沟通系统需求和设计,使软件开发过程更加直观和系统化。
二、UML发展历程
UML经历了从分散的方法到统一的标准化语言,再到工业化应用的发展阶段,并通过公众反馈不断优化,逐步成为软件工程领域的标准建模语言。
三、UML中的图
四、UML建模工具
- Enterprise Architect
- Rational Rose 2003 ( 经典的UML建模工具,目前仍有广泛的应用 不支持UML2.0)
- Microsoft Visio
- 数以百计的各类共享/开源工具
- StarUML
- ArgoUML
- Kant&Plato
- ……
五、用例图的基本概念
用例图是显示一组用例、参与者以及它们之间关系的图,描述系统中相关的用户,以及系统对不同用户提供的功能和服务。用例图中的主要元素如下所示:
(1)参与者
1、参与者的概念
识别参与者
关键词:边界
参与者:在系统之外,透过系统边界与系统进行有意义交互的任何事物。
2、参与者-要点分析
①系统外
- 参与者不是系统的一部分,处于系统的外部
②系统边界
- 参与者透过系统边界直接与系统交互,参与者的确定代表系统边界的确定
③系统角色
- 参与者并不是某个特定的对象,需要从参与系统的角色(作用)来寻找参与者
④与系统交互
- 系统需要处理其交互过程
⑤任何事物
- 用户、外部系统、外部因素、时间
3、五个角度考虑参与者
4、思考题
①商品销售系统,顾客通过网络下单之后,系统计算出总计金额,并将数目传递给一个外挂的会计系统,该系统是另外购买的。 有几个参与者?
答案:
②用户如果预定了天气预报,系统每天定时给他发天气消息;如果当天气温高于35度,还要提醒用户注意防暑。 请找出系统的参与者。
答案:
时间作为参与者,用于激活那些系统定期的、自动执行的用例
(2)用例
1、用例的概念
关键词:价值
简洁定义:参与者使用系统达到某个目标(用户与系统交互的行为)
定义
用例就是参与者在系统中做某件事从开始到结束的一系列活动的集合,以及结束时应该返回的可观测、有意义的结果,其中也包含可能的各种分支情况。
2、用例的特征
用例的特征保证用例能够正确地捕捉功能性需求,同时也是判断用例是否准确的依据。
用例是(状语)动词+(定语+ )宾语

①用例是相对独立的
②用例是由参与者启动的
- 不存在没有参与者的用例
③用例要有可观测的执行结果
- 登录系统应及时通知用户“登录成功”或者跳转到登录后的界面
- 缺少返回消息的用例是不正确的
3、如何判断一个用例是否是一个优秀的用例?
- 用例应描述系统该做什么,而不是如何做
- 用例应采取参与者的视点
- 用例应对参与者有价值
- 用例描述的时间流应是一个完整场景
- 所有的参与者、用例都应有相应的关联用例或关联参与者
- 计算用例的数量,控制用例的数目
(3)元素之间的关系
1、参与者与用例之间的关联关系
①关联关系
- 实线箭头 如果箭头指向用例,表明参与者发起用例,即用例的主参与者
- 如果没有箭头或箭头指向参与者,表示用例与外部服务参与者或外部接受参与者之间有交互,即用例的次参与者
- 一个用例可以隶属一个或多个参与者,一个参与者也可以参与一个或多个用例。
- 主参与者与次参与者:通常来说主参与者是用例的重要服务对象,而次参与者处于一种协作地位。
②泛化关系
一般参与者与特殊参与者之间的关系
注意箭头方向:特殊参与者继承(指向)一般参与者
例:在一个网上购物系统中,普通用户只能浏览网站上陈列的商品,而注册会员除了普通用户具有的操作之外,还有权限进行在线购物。
③依赖关系
- 包含
- 扩展
包含
- 包含关系:基本用例的行为必然执行包含用例的行为
- 基本用例一定会要求包含用例执行。
注意箭头方向:A包含B,因此A指向B
例:在一个网上购物系统中,当注册会员在线购物时,网上购物系统需要对顾客的信用进行检查,检查输入的信用卡号是否有效。
扩展
扩展关系是指将扩展用例在一定的条件下按照相应的扩展点插入到基础用例中。
基础用例不必知道扩展用例的任何细节,仅提供扩展点。
扩展用例的行为是否被执行,取决于基础用例中的判定点。
总结-依赖关系
总结
UML(统一建模语言)为软件开发提供了结构化的可视化工具,帮助团队更好地理解和沟通系统需求。它经历了从分散方法到统一标准的演变,成为软件工程的核心语言。用例图是UML的重要组成部分,展示了参与者与用例之间的关系,明确系统功能和服务。通过识别参与者和用例,开发者能够系统化地分析和设计软件,从而提升开发效率与质量。