1.4、一个USE CASE的书写范例:
XXX USE CASE
PRIMARY ACTOR:
LEVEL: Summary, Use goal, Sub function
STAKE HOLDER:其他对此感兴趣的人或者系统
Precondition
当前use case发生的前提条件。比如在一个网络即时通讯的系统中,网络会议的case前提可能是由于需要服务器中转信息,服务器的网络必须要处于正常状态。而对于某些case的前提可能是必须系统某组成部分处于异常状态。
Flow of Events:
A. Primary Scenario:
描述的是basic path。就像前面提到的EBP原则那样,好像是个流水账。按照1、2、3、4……来把事情描述清楚
B. Secondary Scenarios:
在这里要对Primary 场景下发生的个别例外描述清楚,要带着Primary Scenario中的编号,清楚的说明在哪个步骤或者从哪到哪可能会发生什么问题,并且发生了问题后要如何处理,这里着重要描述的是逻辑上的错误
Exception Scenarios:
格式同上,可以将发生的违例描述清楚,包括发生后应该如何处理。这里着重要描述的是程序中可能会发生的各项违例,如:网络中断,发生IO违例……
Post condition:
整个use case执行完毕后系统应当处于什么样的状态下,需要特别说明
这样整个use case就完成了,可以发现use case实际上是围绕actor的。在实际的工作中可能会发生由于需求的改变或者细化,将某个use case拆分为几个use case的情况。
1.5 DOMAIN MODEL
Domain model本质上就是Conceptual Class,特征是:
1、名词;
2、每个object映射到现实世界中的对应物;
3、描述的是彼此之间的关联;
4、不包含方法
Domain model是从use case中直接得到的,下面是从use case中如何得到Domain model的规则:
Conceptual Classes Category in perfect scenario:
1. physical objects:
2. specification ,design or description:
3. places:
4. transaction:
5. transaction line items:
6. role of people:
7. container:
8. things in the container:
9. other extend systems interacted:
10. organization:
11. Events:
12. process:
13. rules and policy:
14. records:
这样就可以得到Domain model。在当前阶段得到的Object越多越好,在下一步的设计中才不会有遗漏。这是一个例子:系统报警case 的domain model:
下一次我们以上面的domain model为例,介绍ssd和ccd,到了设计阶段