需求开发指南5-基于用例与对象的软件开发方法

文/fasiondog

2.3 系统(软件)需求分析

在完成业务需求分析活动后,对客户组织的关键业务流程及其参与者有充分的了解基础上,进一步明确待开发系统(软件)在客户业务流程中所处的位置以及其期望的功能需求。

2.3.1 定义系统范围

在业务需求分析活动中,已经明确了目标客户组织的关键业务流程及其参与者。在此基础上,识别系统范围及其期望的功能,即提取系统用例。系统用例的提取,可以通过系统期望替代完成的业务活动或任务进行提取,即在业务活动图中涉及到的部分活动或任务将被提取为系统用例,如下图所示:

如何提炼系统需求

如何提炼系统需求

提炼系统用例的过程,同时也是业务流程优化的过程。如前述办理个人存款的例子中,哪些活动可以通过计算机系统自动完成来提高服务质量和效率?见下图中,标为“绿色”的活动:

个人存款业务中可由计算机系统自动完成的活动

个人存款业务中可由计算机系统自动完成的活动

在上述“绿色”的活动中,“柜员清点现金,并办理存款”中“清单现金”其实并不能由软件实现。另外,如果排队等待活动由排队机来实现自动排序分配号码的话,客户其实可以先取号然后在等待的过程中领取并填写存款单。这样,不但优化了单个活动,并且通过活动次序的调整,优化了整个办理存款业务的流程。优化后的业务流程如下:

优化后的个人存款流程

优化后的个人存款流程

其中,“黄色”的活动可由“排队系统”来完成,“绿色”活动由“柜面系统”来完成。这样相当于将“银行”系统黑盒打开,为了完成客户办理存款业务,“银行”系统内部需要三个角色(对象)来配合完成,这三个对象就是:柜员、柜面系统、排队系统。其中,柜面系统可为纯软件系统,而排队系统则需要有排队机(客户取号)和呼叫控制端(柜员呼叫下一客户)组成。这样,我们可以得到柜面系统和排队系统的系统用例,如下图所示:

系统用例图示意

系统用例图示意

作者:fasiondog  来源:http://fasiondog.cn/archives/1395.html

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注