关于系统用例的书籍,太多。不想在这里去解释什么是系统用例。但为什么要写系统用例呢,又如何写好呢?
写系统用例是为了更清晰的展示系统的业务场景的功能实现。也是为了给程序员参考的一个图。同时也是与客户沟通的桥梁。很多东西,千言万语,不如一张图那么直观。但在很多项目中,用例分析这个过程被忽略而过。
程序员往往只看到文本的需求,就自己开始做了,对于小项目或许这样可以,如果是大项目,后期肯定崩溃。
一个良好的系统用例,用图形的方式描述了客户的要求:
1. 有那些人去参与这个事件。
2.这些人具体要做什么 (可以理解为调用的方法)
3.这些人做这个事情,需要什么先决条件 (可以理解为参数,包括权限等等)
4.这些在做这些事情的时候,需要第三方帮忙吗?或者需要第三方系统接口吗?
5.做完这些事情,应该达到一个什么样的目的,也就是结果,这个结果会是下一个用例的输入吗?
当你有着人物,事件,参数,输入,输出的一张图 摆在眼前的时候,所有的事情的都清晰了。
看着这张图,就可以写出 相关的接口程序,实现方法等。
通过大量的系统用例,可以提取出公共的用例,比如权限等。从而抽象出公共的实现方法,才不会导致同一个方法,不同的程序员各自实现了一套。
以图书为例子,列表说明一个用例的主要部分,以及要表达清楚的地方。
用例名称 | bu_借阅图书 |
用例描述 | 借阅人通过此用例向系统查询并提交借书请求 |
执行者 | 借阅人 |
前置条件 | 1. 借阅人借阅证件在有效期内 2. 借阅人没有逾期未归还的图书 |
后置条件 | 1. 创建借书定单 2. 更新借阅人借阅记录 |
主过程描述 | 1用户用借阅证提供的帐号登录系统,计算机显示我的图书馆界面 2.用户选择查询图书,计算机显示查询界面 3.用户按书名、作者、出版社查询,计算机显示查询结果 4.用户可单选或多选书本,并确认借阅。计算机显示确认借阅图书清单。 5.用户选择确认借阅,计算机显示借阅定单及费用 6用户选择提交定单,计算机显示提交结果和定单号 7.计算机执行后置条件。用例结束 |
分支过程描述 | 2.1.1用户选择查看原有定单,计算机执行4; 4.1.1用户可单选或多选书本,放入借书篮,计算机显示借书篮现有内容 4.1.2.1.1用户选择继续借书,计算机执行2; 4.1.2.2.1用户选择提交借书篮,计算机执行4 4.2.1 用户选择放弃,计算机执行2; 6.1.1用户选择保存定单,计算机保存并执行1; 6.2.1用户选择放弃,计算机执行1; |
异常过程描述 | 1.1.1借阅证已过期,拒绝登录,用例结束 1.2.1借阅人有逾期未归还书本,启动bu_归还图书用例 5.1.1用户余额不足,计算机显示余额和所需金额 5.1.2.1.1用户选择续费,启动bu_交纳借阅费用例 5.1.2.2.1用户选择放弃,计算机执行1 |
业务规则 | 4.至少选择一本,至多选择三本 |
涉及的业务实体 | Be_费用记录 Be_图书 Be_借书篮 Be_借阅定单 Be_借阅证 |