UML用例图及类图用法 文档
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
识别执行者
中软培训
责任类似或重叠——抽象出执行者
识别用例
中软培训
用例的基本定义:
步骤
用例实例是 在系统中执行 的一系列动作 ,这些
动作将生成特定 执行者可见 的价值结果。一个
用例定义一组用例实例 。
目标
路径 ——Ivar Jacobson (RUP)
通俗地讲:执行者通过系统达到某个目标
识别用例
问
题
UML三个主要作用(1) 中软培训
? 理由一:UML是客户、系统分析员和程序员之间的“桥梁”
使用可视化建模来获取并表现商业逻辑和对象
? 用例图 ? 活动图 ? 状态图
使用可视化建模来分析和设计计算机应用程序
? 时序图 ? 对象图 ? 部署图 ? ……
UML三个主要作用(2)
? 理由二:UML从客户的角度将复杂的系统整理清楚
中软培训
UML实用技术
V1.0
软件开发过程详解
中软培训
? 目前的现实是什么?——业务建模
找
? 在这个现实下,开发系统是为了达到什么目标? ——愿景
到
问
? 为了达到目标,系统应对外提供什么样的功能和性能? ——需求
题
解
? 为了提供这些功能,系统内部应该有什么样的核心业务机制? ——分析
决
? 为了满足性能,系统的核心机制如何在选定的架构上实现? ——设计
用表达式
书写用例文档
——可用性
× ?系统应易于使用
中软培训
?第一次使用时30分钟内能学会添加员工(任务时间)
√ ?5次击键能完成客人入住服务,不需要使用鼠标(操作次 数) ?80%的用户认为系统易学,并且使用效率高(用户调查)
D部iagr署am 图
物理架构
UML9种图
中软培训
? 用例图:业务建模、需求、测试 ? 类图:业务建模、分析、设计 ? 对象图:业务建模、分析、设计 ? 组件图:设计 ? 部署图:设计
敏捷建模原则:需要时再添加
结 构
? 顺序图:业务建模、分析、设计 ? 协作图:业务建模、分析、设计 ? 状态图:需求、分析、设计 ? 活动图:业务建模、设计
用例的粒度(3):四轮马车
中软培训
警惕CURD泛滥!
任何业务归根到底都可以看作 CURD,但光CURD能为Actor 提供价值吗?
CRUD 是Create (创建)、 Read(读取)、 Update (更新)和 Delete (删除)缩写
识别用例
用例的粒度(3):四轮马车误区
中软培训
多个用例会操作同一项数据
中软培训
UML三个主要作用(3) 中软培训
? 理由三:UML能使越来越复杂的软件 系统架构更加合理和健壮
功能需求
成本
兼容性
容量
错误处理
稳定性
software
容错性
性能
全面
技术交互
可移植
系统模型可由“4+1”视图展现 中软培训
逻辑视图
实现视图
分析设计结构
系统功能
用例视图
进程视图
部署视图
系统并发工作情况
中软培训
静态结构
State DiDagiSa对rtgaarm象taem图
动
态 行 为
SDciSDaecgina协eraganrrmai作aormio图
模型
DiSatgSarttaaemte Dia组gr件am图
SDcSiDaecgina状eraganrrmai态aormio图
活动图
Component DCioamgrpaomnent
识别执行者
中软培训
思路: ? 谁使用了系统的主要功能? ? 谁改变了系统的主要数据? ? 谁从系统获取信息? ? 谁需要系统的支持以完成日常工作任务? ? 谁负责维护、管理并保持系统正常运行? ? 系统需要应付(处理)哪些硬件设备? ? 系统需要和哪些外部系统交互? ? 谁(或什么)对系统运行产生的结果感兴趣? ? 有没有自动发生的事件?
用例图可以作用例文档的总图 进一步的精度:有层次的文档 文档中每一句话都有其价值
? 用例编号:用例名 ? 执行者 ? 前置条件 ? 后置条件 ? 涉众利益 ? 基本路径
? 1……XXXX ? 2……XXXX ? 3……XXXX
? 扩展
? 2a.……XXXX
? 2a1.……XXXX
? 字段列表 ? 业务规则 ? 非功能需求 ? 设计约束 ? 待解决问题
识别用例
中软培训
用例的粒度(6):灵活处理CURD
也可以把包含复杂交互的路径独立出去形成用例
识别用例
中软培训
执行者使用这个系统达到什么目标? 语法测试:【执行者】使用系统来【用例】
识别用例
讨论(1):登录怎么处理?
中软培训
识别用例
讨论(2):几个登录?
中软培训
或
用例文档:更进一步的精度 中软培训
中软培训
用例要点: ? 价值结果→有意义的目标 ? 系统执行→价值结果由系统生成 ? 执行者可见→业务语言,用户观点 ? 一组用例实例→用例的粒度
识别用例
有意义的目标:
中软培训
识别用例
用户观点而非系统观点:
中软培训
用户观点
系统观点
识别用例
用例命名:执行者视角
动词(+宾语) 状语 定语
中软培训
识别用例
实现模块和代码间的关系 系统物理拓扑架构
模型可由9个图来展现
墨绿色表示动态图 粉红色表示静态图 (可把用例图单列出来)
Use Case DUiDasgiae时rgaCrm序aams图e
功能
UDsUiaesgeCraaCmsaese Dia用gr例am图
DiSatgSarttaaemte Diag类ra图m
?+ → 数据序列
? []→
可选项
?{}* → 多个
?{ | | | } → 可能取值
?A=B → 把B的结构赋给A
中软培训
可以用自然语言,也可以用表达式
书写用例文档
——字段列表
中软培训
?注册信息=公司名+联系人+电话+{联系地址}* ?联系地址=州+城市+街道+邮编 ?保存信息=注册信息+注册时间 ?客房状态={空闲|已预定|占用|维修中}
可互换
行
为 可互换
主要步骤
中软培训
识别执行者
中软培训
——执行者(Actor )
在系统之外,透过系统边界与系统进行有 意义交互的任何事物。
识别执行者
中软培训
执行者要点: ? 系统外——必须和它交互 ? 系统边界 ——直接与系统交互 ? 有意义的交互 ——属于目标系统的责任 ? 任何事物 ——人、外系统、外部因Βιβλιοθήκη Baidu、时间
书写用例文档
——用例的内容
中软培训
书写用例文档
——涉众利益
利益的冲突
中软培训
银行的 用户的 法律的
谁的?
书写用例文档
中软培训
——路径交互步骤的描述
?只写“可观测的” ?使用主动语句 ?句子必须以执行者或系统作为主语 ?每一句都要朝目标迈进 ?分支和循环 ?不要涉及界面细节
书写用例文档
——字段列表