本章介绍UML建模元素
1:Stereotype-也被称为类型、构造型
UML里的元素扩展,简单来说其功能就是在已有的类型上添加一些标记,类似于打个戳,从而生成新的东西。
简单的说加一句话来更加清楚准确描述这个类。
2:Actor(主角、参与者)-是在系统之外与系统交互的某人或某事物,在建模过程中处于核心地位。
参与者和系统之间有一个明确的边界,参与者只能存在于边界之外,边界之内的所有人和事物都不是参与者。
人或物都可以时参与者;
3:如何确定参与者-一定是启动业务的主角
4:业务主角和业务工人
业务主角(business actor)是参与者的一个版型,用于定义业务的主角,不依赖计算机系统。业务主角是与业务系统有着交互的人和事物,用来确定业务范围。
业务范围:项目所涉及的所有客户业务的客观存在;系统范围:软件将要实现对应业务的系统功能。
业务工人被动参与业务
5:参与者和干系人
干系人-是与要建设的这个系统有利益相关的一切人和事
参与者就是干系人代表,对系统提出要求来获得他所代表的涉众的利益。
用户(user),指的是系统的使用者,是参与者的代表,一个用户可以代理多个参与者。
6:用例:一种把现实世界的需求捕获下来的方法。用例定义了一组用例实例,其中每个实例都是系统所执行的一系列操作,这些操作生成特定主角可以观测的值。
一个用例就是与参与者互动,并且给参与者提供可观测的有意义结果的一系列活动的集合。
一个场景就是一个用例的实例。捕获功能性需求就是用例的作用
一个完整的用例定义由参与者、前置条件、场景、后置条件构成。如下图所示
用例的特征:相对独立的、结果可观测和有意义。
这件事必须由一个参与者发起。不存在没有参与者的用例,用例不应该自动启动,也不应该主动启动另一个用例。
用例必然是以动宾短语形式出现的
一个用例就是一个需求单元、分析单元、设计单元、开发单元、测试单元,甚至部署单元。
7:用例的粒度-是指的一个用例所描述事件的大小
在业务建模阶段,用例的粒度以每个用例能够说明一件完整的事情为宜,即一个用例可以描述一项完整的业务流程。
在概念建模阶段,以每个用例能完整描述事件流为宜;
在系统建模阶段,用例视角是针对计算机的,因此用例的粒度以一个用例能够描述操作者与计算机的一次完整交互为宜。
现实情况中,根据系统的大小选择不同用例粒度,可以更好适应其需求范围。
不论粒度如何选择,必须把握的原则是在同一个需求阶段,所有用例的粒度应该是同一个量级的。
8:用例的获得
9:用例和功能的误区
用例需要从使用者的观点出发来描述软件;功能是脱离使用者的愿望而客观存在的。
用例是系统性的,以开灯为例,需要描述谁在什么情况下通过什么方式开灯结果是什么;
功能是孤立的,只要按下开关灯就亮;
描述一个事物可以从三个方面:
- 这个事物是什么--强调结构组成,比如车由发动机、刹车系统……组成
- 这个事物能做什么--强调功能,可以带人、载物、空调……
- 人们能够用这个事物做什么--可以踩油门提高车速,踩刹车减速…
用例可以解释为一系列完成一个特定目标的功能的组合,针对不同的应用场景,这些功能体现不同的组合方式。
10、目标和步骤的误区
步骤不能完整反映参与者的目标,不能作为用例;
用例体现的完整的目标,达成目标需要几个步骤;
当边界发生变化,步骤也可以变为用例,
11、用例颗粒--在同一需求阶段的用例颗粒应该保持在同一量级