用例图
用例图 1. 入门 2. 术语和概念 3. 普通建模技术 3.1 对系统的语境建模 3.2 对系统的需求建模 3.3 正向工程和逆向工程
1. 入门 观察一个盒子 使用一个软件系统 用例图的功能 n个按钮和1个LCD板 如何知道盒 无其它信息 子的功能? 软件系统遵循一般使用惯例 勉强使用 更复杂、精细的行为? 用例图的功能 让用户理解盒子(软件系统)的功能 让开发者实现这些功能 如何知道盒 子的功能? 无法了解
1. 入门:对移动电话进行建模 CH5-UseCaseDiagram.mdl
用例图 1. 入门 2. 术语和概念 3. 普通建模技术 3.1 对系统的语境建模 3.2 对系统的需求建模 3.3 正向工程和逆向工程
2. 术语和概念 2.1 use case diagram 2.2 公共特性 2.3 内容 显示一组use case、actor及他们之间关系的图 2.2 公共特性 一个名称 图形化的内容(是模型某个方面的投影) 2.3 内容 use case、actor、dependency/generalization/association note、constraints package
2. 术语和概念 2.4 一般应用 用例图对系统的用例视图进行建模。用例视图说明系统在其周边环境的语境中可以向外界提供的服务 使用用例图的方式有两种 对系统的语境建模 目的:澄清系统边界 分辨各种actor,说明actor所扮演的角色的含义 对系统的需求建模 说明这个系统应该做什么 从系统外部的视点出发
用例图 1. 入门 2. 术语和概念 3. 普通建模技术 3.1 对系统的语境建模 3.2 对系统的需求建模 3.3 正向工程和逆向工程
3.1 对系统语境建模——语境 语境 环境 人 语境 待开发软件系统
3.1 对系统语境建模——策略 识别参与者 将类似的actor组织成一般/特殊的层次 who需要从系统中得到帮助以完成任务? 执行功能必须要who who与外部硬件或其它软件系统交互? who执行管理和维护功能? 将类似的actor组织成一般/特殊的层次 在需要特殊说明的地方,为actor提供一个stereotype 说明这些actor和系统用例间的通信路径
对语境建模的例子 信用卡验证系统 actors:顾客(个人顾客/企业顾客) 还有代表机构的参与者,如零售机构(顾客通过这个机构刷卡,购买商品或者服务);主办财务机构(负责信用卡帐户的结帐服务)
3.2 对系统的需求建模 系统的需求 相当于 系统外部事物与系统之间的契约,契约声明了期望系统做什么 建造系统时,以契约为起点。 迭代、增量地实现系统时,分析/设计人员对于契约的理解还会演化
3.2 对系统的需求建模——策略 通过识别系统的参与者,建立系统的语境 对于每个参与者,考虑它期望的行为或需要系统提供的行为 把公共的行为命名为用例 分解用例,分解异常行为 用注解修饰这些用例,以陈述非功能需求
对系统的需求建模的例子
3.3 正向工程和逆向工程 正向工程 (forward engineering): 通过到一个语言的映射,将模型转化为代码的过程 逆向工程(reverse engineering):把特定的语言映射成一幅图,从而把代码转化为模型的过程 用例图并不详述一个系统的实现过程,因此不能直接对它进行正向工程和逆向工程 对用例图进行正向/逆向工程,主要通过对用例的各种事件流进行变换而实现