大多数软件开发实践者都知道,UML在对真实世界的现象进行建模时非常优秀
这一特性可以有效帮助分析员和客户进行沟通
一些希望使用业务建模的团队常常有一些经验性的问题,例如:什么时候真正需要业务模型
什么时候用例模型独立存在
我在进行精确的业务建模时我能用哪些UML图形
我如何知道是否用顺序图或者交互图
业务模型如何涉及到其他模型(如领域模型,用例模型等等)呢
我如何有机地组织这些模型
很不幸,本文的焦点集中于应用UML进行业务建模的问题,而很少把业务建模和系统建模进行比较
这将使用户和分析员对使用UML进行业务建模的感到灰心
本文主要通过一个例子讲述它们的关系
这个例子主要用来改进某企业的流程,主要涉及到IT部门、法律顾问、企业架构师、项目经理
业务用例模型概览在这个简单的例子中的第一步是完成业务用例模型概览
如图所示,有两个业务主角和两个业务用例
我们总结业务用例如下:PrepareTender:准备系统说明书的流程
SelectVendor:选择卖方的流程
我们总结业务主角如下:EndUserManager:公司内的需要自动控制系统的部门
VendorManager:卖方的管理者
在这个例子中,得到一个新系统的核心业务目标被精化为两个子目标:详细说明想得到的系统
选择并评估候选人
业务用例规约这一部分,我们来看看如何描述业务用例,虽然RUP中对业务用例规约有很详细的模版,但我们主要把精力放在基本流和扩展流上
PrepareTender的基本流:用例的目标是确定招标文件,同时可以将招标文件发布给候选卖主
指定用户代表
用户代表准备系统规约
IT部门复审系统规约,并改进它,形成招标文件
用户代表批准招标文件
扩展流:系统规约无效
当IT部门发现需求太含糊,最终用户的管理者必须重新制作需求
那么这个用例从第二步从新开始,如果最终用户