3.2 业务建模基础
与以前大多数软件应用程序是由程序设计奇才设计出来的不同,现在的软件系统正日益成为人们日常生活中的基本工具。这些软件系统是按照实际业务中的工作方式去设计和运行的,而不是按照程序员规定的模式去工作。这就要求应用程序能非常直观地适合于使用它的组织或个人,为了更好地达到这一需求,新的方法则要求在进行软件系统开发之前或者同时要力图了解业务领域,而这个过程就是业务建模所要达到的目标。
业务建模是一种建模方法的集合,目的是对现有业务进行分析和理解,从而建立相应的业务模型。这一过程不仅有助于开发人员理解业务本质,而且这些模型将作为后续软件系统模型的输入。具体的工作包括对业务流程建模、对业务组织建模、改进业务流程、领域建模等方面。
业务建模的基本思想是使用软件建模技术来描述企业管理和业务所涉及的对象和要素,以及它们的属性、行为和彼此关系。这有助于理解在业务领域中描述的事物是如何与软件领域中的事物相联系的,从而建立业务模型和系统模型之间的对应关系,以保证系统模型是能够满足业务需求的。
当然,对于一个软件工程师来说,业务建模只是辅助环节,并不是每个项目、每个软件人员都需要去实施该过程。当开发人员对所要处理的业务非常熟悉,而且业务本身没有改进的必要时,就没有必要进行业务建模。当然,在很多软件项目开发的初期,通过业务建模可以帮助开发团队理解业务现状,从而能够更好地发现软件需求,因此业务建模在软件开发中还是具有非常重要的意义的。RUP中是这样描述业务建模目标的。
◆ 理解将要实施系统的目标组织结构和动态特性。
◆ 理解当前目标组织中的问题,并明确改进的潜力。
◆ 确保客户、最终用户和开发人员就目标组织有统一的理解。
◆ 获取用于支持目标组织的系统需求。
为了达到这些目标,业务建模的主要任务就是:拟定目标组织对新系统的远景(Vision),并根据该远景来定义业务模型中组织的过程、角色和职责。而该业务模型包括业务用例模型和业务对象模型。