第 12章 业务建模
1,业务建模概述
业务建模是对问题域的工作过程建模。不同于软件
系统建模,但它是系统建模的依据。
开发软件系统的主要问题是:系统的需求是不是用
户的真正需求?怎样才能知道用例分析中得到的用例
集完全满足了用户的需求?
业务建模可以较准确地 捕获需求,能够为软件系统
分析设计 提供依据 。
1,业务建模概述
一个机构中存在各种各样的业务过程,每个业务过
程往往由多个活动组成。
机构
业务过程
1..*
对象
中间产品
部门
1..*
输出
1..*
商品
客户
输入
1,业务建模概述
需要业务建模的系统:企业信息系统、银行业务系
统、电信服务系统等。
不需要业务建模的系统:操作系统、嵌人式系统等。
目的, 1)更好地理解、分析、改善和替换机构中业
务过程; 2)作为软件系统的开发基础,使软件系统能
更好地支持机构的业务过程。
1,业务建模概述
对以下几个方面建模:
?对象( object),涉及 what方面的问题;原材料、产品、工人等
?过程( process),涉及 how方面的问题;机构中的工作流程、主要过程
?事件( event),涉及 when方面的问题;在什么时候做什么活动
?地点( location),涉及 where方面的问题;在什么地方做什么活动
?社会 -政治( s-p),涉及 who方面的问题。社会环 境
1,业务建模概述
业务模型与软件系统的关系 (类似接口与实现)
软件系统A
软件系统B
业务模型
< < I n t e r f a c e > >
不同的软件系
统对业务模型
中的业务支持
程度和准确度
可能会不一样
2,业务建模中的基本概念
主要概念有:
?目标( goal),业务企图达到的结果。生产一种产品,机构向社会提供某
种服务等
?过程( process),在业务中被执行的活动,这些活动会改变资源的状态。
?资源( resource),在业务中使用或产生的对象,资源之间存在相互关系。
人,物料,信息,产品等。
?规则( rule),对业务中的某些方面进行规定和约束,是业务知识的一种
表示形式。规定了一个过程应该怎样执行,资源的结构及相互关系应该是怎
样的等。
规则分,功能性 (达到某种需求),行为性 (怎样做)和 结构性 (资源间
关系)三种类型,分别可由 业务用例图, 活动图 和分析级 类图 描述。
3,UML的业务建模扩展
业务建模与 UML没有直接关系:各自是独立演化、
发展的。
使用 UML建立业务模型有许多好处:
? 概念上相似 许多概念可自然地影射到 OO技术中。
? 技术成熟 OO技术已在软件开发领域使用多年,证明其能够处理大
型复杂的软件系统,同样可处理大型复杂的业务系统。
? 标准化的符号 UML已成为标准,标准化符号有助于业务建模人
员与软件开发人员的交流。
? 消除业务模型与软件模型之间的鸿沟 采用一致的符号,
能消除模型之间的鸿沟,象 OO能消除分析与设计阶段的鸿沟一样。
3,UML的业务建模扩展
通过扩展 UML进行业务建模,方法是:在 UML的核
心元素上定义构造类型来满足业务建模的需要。
? Eriksson-Penker扩展
? Rose 2003扩展
3,UML的业务建模扩展
Eriksson-Penker扩展
<<process>>
业务过程
业务过程是活动的
<<process>>构造类型
<<assembly line>>a
装配线是包的 <<assembly
line>>构造类型
装配线表示信息系统中的
一个信息对象,业务过程
可以读或 /和写装配线上的
信息
3,UML的业务建模扩展
Eriksson-Penker扩展
资源是业务过程产生、更新和使用的对象。
可是信息、抽象资源和具体资源
<<resource>>
resName
信息是资源的一种,在消息的传
递过程中获得的知识。
用类的 <<information>>表示。<<information>>
infoObjName
3,UML的业务建模扩展
Eriksson-Penker扩展
抽象资源是是不可触摸的资源,如数学公
式、概念等。
<<abstract>>
resName
具体资源是看得见、摸得着的资
源,如机器、文档等。
<<physical>>
resName
3,UML的业务建模扩展
Eriksson-Penker扩展
目标是业务试图要达到的结果。
<<goal>>
Name
人是具体资源。
<<people>>
peopleObj
3,UML的业务建模扩展
Eriksson-Penker扩展
目标是业务试图要达到的结果。
业务规则对业务中的某些方面进
行规定和约束。
<<problem>>
ProblemName
< < b u s i n e s s > >
R u l e S t a t e m e n t
Eriksson-Penker扩展实例
3,UML的业务建模扩展
3,UML的业务建模扩展
Eriksson-Penker扩展实例
产品定价 维护价格模型
3,UML的业务建模扩展
Rose 2003扩展
业务参与者
业务工人
业务实体 业务用例
业务参与者是机构
外部与机构交互的
一切人和事物。它
与机构中业务活动
有关。
业务工人是机构内部
扮演一定角色的人。
业务实体是
业务过程中
使用或产生
的对象。
业务用例 是机构中
为外部的业务参与
者提供有价值的一
组相关工作流。
业务用例 的工作流
描述 用活动图或文
本语言。
业务用例图 表示机
构的业务用例、业
务参与者、业务工
人及它们之间的相
互关系
3,UML的业务建模扩展
Rose 2003扩展 机构单元是业务工
人、业务实体和其
它业务模型元素的
集合,是组织业务
模型的机制。
机构单元是包的
<<Organization
Unit>>构造类型,
机构常代表一个部
门,其中包含部门
的业务模型。
D e p t N a m e
< < O r g a n i z a t i o n U n i t > >
书中 UML元素图形与 Rose有不一样的,
也有不存在的,也有扩展。
不存在的可通过构造类型实现。
4,业务体系结构
业务体系结构:
就是一个已组织好的元素集合,这些元素表示的是
业务系统中的组织结构、行为结构和业务过程的抽象,
它们之间有清晰的关系,并根据功能形成一个 整体。
4,业务体系结构
业务体系结构可用多个不同的视图表示。 如 Eriksson-
Penker用了四个视图:
业务景象视图
( Business Vision View)
业务过程视图
( Business Process View )
业务结构视图
( Business Structure View )
业务行为视图
( Business Behavior View )
关于业务的总体景象,
描述机构中的业务目
标结构以及为达到业
务目标需要解决的问
题。用 类图、对象图
等 来表示。
表示业务中的活动及
活动与资源之间为了
达到业务目标所进行
的交互,也考虑不同
业务过程之间的交互。
用 活动图 描述描述业务中的资源的结构,如业务的组织
方式,所创建的产品
的结构等。它是业务
过程视图补充,用 类
图、对象图 描述
考虑的是业务模型中
每个重要资源的单个
行为。它是业务过程
视图补充,用 状态图、
顺序图、协作图、活
动图 等来描述
5,从业务模型到软件模型
根据业务模型中定义的信息来创建软件模型,可使
软件系统更好地支持机构中的业务,是软件系统的需
求分析和设计的基础。
业务模型在软件系统建模时有下列作用:
?帮助确定什么样的软件系统对于机构中的业务过程
最适合。
?帮助定义功能性需求。(用例集)
?帮助定义非功能性需求。系统的健壮性、安全性、
速度、可利用性、性能等方面的需求。
?作为分析和设计软件系统的基础。(资源 -类)
?帮助识别业务组件(封装了业务功能)。
5,从业务模型到软件模型
业务模型 ===? === 软件模型, No
业务模型中的许多元素不会出现在软件模型中。如
有些业务活动是手工形式完成的,业务模型中类也不
会完全影射到软件模型。
软件模型中涉及的详细技术解决方案,不会在业务
模型中出现。
业务模型可为分析和设计软件模型时提供许多信息:
确定类、类的属性和操作、类的层次结构和相互关系、
对象之间的相互协作等方面。