
3.3 业务规则
业务规则可以用于表示业务目标、指定业务过程的执行方式、详细说明模型中的关系应满足的条件或约束资源的使用方面的行为。
业务系统通常要受到关于运作规范和业务规则的控制,业务规则可以确保企业按照预定的外部限制(例如法律或法规)或内部(例如,为了使业务尽可能高效和盈利,并实现业务目标)目标的条件下进行运作,业务规则支配了业务系统的策略、术语、定价、定义和配置,并影响业务流程、组织结构和业务行为。规则可以在较高的战略级别上定义,也可以用于表示某个特定的信息系统的详细需求(需求可以根据规则指定,或者规则可以对系统产生一定的需求)。
业务规则可以定义成:对必须满足的政策或条件的声明、单位业务的知识或定义、约束业务某些方面的语句。一条业务规则可以被表示成一个语句,既可以使用这些规则去控制或影响业务过程的执行,也可以使用它们控制业务系统中的资源。每个语句都需要指定必须满足的或控制下一步活动的条件。
定义业务规则的目的是维护业务结构,控制或影响企业的行为。
业务规则既存在于业务模型,也存在于软件系统模型,并且是业务系统与信息系统之间的集成点。
例如,图3-5给出了一张描述了某金融系统结构的类图。其中,客户(Customer)表示这个系统的客户对象。证券(Portfolio)表示某个客户的全部有价证券的集合。
证券(Portfolio)对象是由客户的所拥有的所有现金账户(Cash Account)、股份(Holding)和订单(Order)等有价证券聚合对象。
其中,每个股份(Holding)对象都包含一个有价证券(Security)对象。有价证券(Security)对象又可分为债券(Bond)和股票(Stock)两种类型,并且有价证券(Security)还被定义成一个递归形式的组合(Option)。这意味着,每个股份(Holding)也是一个由股票和债券构成的组合,它代表了客户所持有的一个股份。图中的关联和聚合等关系描述了这些类和对象之间的关系。后面的例子中将多次引用这个类图,来说明业务规则的描述方法。

图3-5 某金融系统的结构模型
人们通常将业务规则划分为派生规则、约束规则和存在性规则三种类型,下面将分别介绍这三种业务规则。