1.2业务分析
1.2.1业务主角
1.2.1.1主角选取方法
根据涉众分析报告或者是涉众人物关系图,我们很容易得到备选的涉众列表。其次我们在根据所定义的边界,寻找那些站在边界外的涉众。用主角的定义审查这些备选的涉众在此边界内的行为模式,从而找出符合定义的涉众二形成业务主角。
并非所有涉众都会成为业务主角。只有那些直接与系统交互的涉众才能成为业务主角,另外,涉众利益可以被多个不同的业务主角代表,这表示一个涉众可以衍生出多个业务主角。
1.2.1.2业务主角例子
在下图中通过客户服务边界中客户和收货人这两个涉众进行分析得出。收货人可能衍生出:政府机关、企业收货人和个人收货人。另外,客户、政府机关、企业收货人和个人收货人也可能不直接与系统交互而是委托客服人员与系统交互。所以客服人员作为代理人也是客户服务的业务主角。
客户服务业务主角
通过对业务的边界、业务目标等分析。我们得出:
仓储事业部涉众主角分析得到:配货主管、配货员、叉车驾驶员、收货人和收获主管;
营销事业部涉众主角分析得到:业务员;
计划财务部涉众主角分析得到:财务人员;
配送事业部涉众主角分析得到:发送主管;
另外还存在系统管理员和物流经理这两个角色。
内部管理服务业务主角
1.2.2业务用例
1.2.2.1定义
我们习惯上理解的需求指的是系统需求,也就是软件需求规格说明书里所描述的内容。它与计算机硬件是紧密相关的,受制于计算机环境。在同一过程中,系统需求只是整个需求过程的一部分,仅仅说明计算机里面实现的那一部分需求。软件需求源于业务需求。
业务用例是用例版型中的一种,专门用于需求阶段的业务建模。与其他用例的版型不同 的是,也用例专门用于业务建模。而业务建模是针对客户业务的模型,也就是现在客户的业务是怎么来建立模型的。严格来说业务建模与计算机系统建模无关,它只是业务领域的一个模型,通过业务模型可以得到业务范围,帮助需求人员理解客户业务,并在业务层面上和客户达成共识。
业务主角站在边界之外,背负着涉众赋予的业务目标。要如何完成这些业务目标呢?业务主角需要做完这件事情,接着做完那件事情…..这样才能达到目标。对于系统来说,每一件事情就是一个业务用例。每个业务用例都体现了业务主角的一个系统期望,而所有这些期望则完成边界所代表的业务目标。
1.2.2.2构成和特征
业务用例获取方式很多,可以通过岗位手册,业务流程指南,职务说明等一些文件获取,也可以从涉众分析中获得灵感。另外一种重要方法是业务主角访谈。可以通过以下问题引导业务主角代表说出他们的业务需求:
对系统的期望是?
打算在这个系统做哪些事情?
做这个事情的目的是?
完成这些事情的有什么结果?
业务用例可以概括来说就是:某某做什么事情。
下图为业务用例的构成图示:
业务用例特征:
用例是相对独立的:它不需要与其他泳衣交互而独立完成参与者的目的。
用例的执行结果对参与者来说说可以观测的和有意义的:
用例必须由一个参与者发起;
用例必然是以动宾短语形式出现的;
一个用例就是一个需求单元、分析单元、设计单元、测试单元,甚至部署单元;
1.2.2.3业务用例例子
客户服务业务用例概括图
1.2.3业务建模
一个完整的业务模型包括:
业务用例视图
业务用例场景
业务用例规约
业务规则
业务对象模型
业务用例实现视图
业务用例实现场景
包图
其中,业务用例在获取业务用例的时候已经基本完成了。
1.2.3.1用例场景活动图
业务用例场景用来描述业务用例在该业务的实际过程中是如何做的,绘制业务用例场景可以使用以下这些工具。例如,如果想强调参与改业务的各种参与者的职责和活动,可以选择活动图来描述。如果想强调业务完成时间顺序,可以选择时序图来描述。如果想强调与该业务的各参与者之间的交互过程,可以选择用协作图来描述。
场景隐含两个基本要求,一是必须忠实于真实业务,二是一个场景只能描述业务的一种执行方式。也就是说不能带有“设计”思想在里面,或者视图“抽象”和“优化”业务过程执行。同时,不要试图在一个场景里面把所有业务内容都包括进来。绘制一副充满判断分支的活动图。
以客户下达入库指令业务用例为例子,描述这个业务用例的用例场景。
客户下达入库指令业务用例活动图
1.2.3.2业务用例时序图
大多数情况下,时序图用于描述对象之间按一定顺序互通消息而完成一个特定的目标。在业务用例场景这一情况下,由于我们这时还没有业务对象,一般来说业务对象要到领域模型或者概念建模阶段才会定义出来。这个时候我们考虑业务主角和业务工人这类特殊的业务对象。
在绘制活动图是以业务主角和业务工人为泳道来绘制的,以此类推,时序图也将业务主角和业务工人作为对象来绘制。
客户下达入库指令时序图
1.2.3.3业务对象模型
1.2.3.4业务用例实现
业务用例实现视图展现业务用例有哪些实现途径。
业务用例是业务需求,而业务用例实现则是业务的实现路径,从软件工程的角度说,这个视图展现了需求的可追溯特点。在实际工作中,如果一个业务用例用例只有一个实现途径,那么绘制业务用例实现视图似乎不是那么必要,但是如果一个业务用例有多重实现途径,则应当绘制业务用例实现视图来组织实现业务的那些业务对象和业务过程。
例如我们的下达入库指令这个业务用例的实现方式有两种实现方式。B2C客户和B2G客户的下达入库指令。
下达入库指令业务用例实现视图
1.2.3.5业务用例实现场景
业务用例实现场景的建模方法与业务用例场景有着微妙的差别。业务用例场景用于说明业务怎么样执行,当缺少表达如何“实现”的机制。例如,一项业务中需要对文件进行保存,但是如何保存可以有多种实现方式,可以扫描成图片,可以做成pdf文件等等。这种实现机制就是在业务用例实现场景中描述的。虽然描述的都是同样的业务要求,但是着力点不同。通常,建立计算机系统的目的就是让用户通过人机交互来完成业务,因此,在业务用例实现时应当着重描述如何通过人机交互来完成业务。
业务用例实现场景
1.2.3.6业务用例模型
一个业务用例可能有多个业务用例场景,每个业务用例场景对应一个业务用例实现;每个业务用例实现要实现它所对应的业务场景中的多个业务环节,因而一个业务用例实现场景也是由多个实现过程组成的。
业务用例模型图