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