UML业务建模(PPT70页)_第1页
UML业务建模(PPT70页)_第2页
UML业务建模(PPT70页)_第3页
UML业务建模(PPT70页)_第4页
UML业务建模(PPT70页)_第5页
已阅读5页,还剩65页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第6 6章章 业务建模业务建模信息系统建设的前奏信息系统建设的前奏第第6 6章章 业务建模业务建模第6章 业务建模2模型的种类模型的种类模型的用途模型的用途业务模型业务模型业务过程、工作流、组织业务过程、工作流、组织需求模型需求模型需求捕获和沟通需求捕获和沟通架构模型架构模型对正在构建的系统的高层次的理解,不同软件系统之对正在构建的系统的高层次的理解,不同软件系统之间的交互、开发者之间交流系统设计信息间的交互、开发者之间交流系统设计信息应用模型应用模型系统内底层设计架构系统内底层设计架构数据库模型数据库模型设计数据库的结构和数据库如何与应用交互设计数据库的结构和数据库如何与应用交互第第6 6

2、章章 业务建模业务建模第6章 业务建模3第第6 6章章 业务建模业务建模第6章 业务建模4本章主要讲解的重点:本章主要讲解的重点:什么是业务模型什么是业务模型为什么要对业务建模为什么要对业务建模建模的范围建模的范围UMLUML如何改进业务如何改进业务如果使用如果使用UMLUML对业务建模对业务建模UMLUML业务用例模型业务用例模型业务分析模型业务分析模型6.1 6.1 业务模型业务模型第6章 业务建模5简单地讲,业务模型简单地讲,业务模型(business model)(business model)是对业务的抽象表是对业务的抽象表示,它从业务的不同侧面提供了一个简化的视图。示,它从业务的不

3、同侧面提供了一个简化的视图。一个业务可以用不只一种一个业务可以用不只一种“业务模型业务模型”表示。表示。不同的业务模型强调不同的业务特征或业务概念,同时隐藏了业不同的业务模型强调不同的业务特征或业务概念,同时隐藏了业务的其他方面。务的其他方面。通过这种方式,可以只关注想要处理的那部分业务的相关信息。通过这种方式,可以只关注想要处理的那部分业务的相关信息。第6章 业务建模6业务过程模型展示业务过程模型展示的是为执行一个给的是为执行一个给定的业务功能而产定的业务功能而产生的活动流生的活动流( (典型典型的活动发生在企业的活动发生在企业内部,参见右图内部,参见右图) )。第6章 业务建模7假设要构造

4、一个信息技术假设要构造一个信息技术(IT)(IT)系统,那么需要什么视图呢系统,那么需要什么视图呢? ? 需要能够捕获到下列事物的结构和相互间交互的模型:需要能够捕获到下列事物的结构和相互间交互的模型:业务的组织或部门。业务的组织或部门。业务的利益相关人业务的利益相关人顾客、工作者、业务伙伴等等。顾客、工作者、业务伙伴等等。业务运作产生的业务功能,不论是为了顾客的需要还是为了企业务运作产生的业务功能,不论是为了顾客的需要还是为了企业内部的需要。业内部的需要。满足业务功能所需的业务资产。满足业务功能所需的业务资产。对于地理上分散的业务,还包括前面列出的条目对应的地理位对于地理上分散的业务,还包括

5、前面列出的条目对应的地理位置。置。事实上一个业务往往是地理上分散的,业务的这种地理分布事实上一个业务往往是地理上分散的,业务的这种地理分布性经常被忽视,以致于给业务和业务系统的实现带来非预期性经常被忽视,以致于给业务和业务系统的实现带来非预期的复杂性和严重制约。的复杂性和严重制约。第6章 业务建模8“总之,业务模型说明了企业的功能,企业做什么,如何总之,业务模型说明了企业的功能,企业做什么,如何做和何时做。业务模型应该强调做和何时做。业务模型应该强调架构架构,也就是说业务模型,也就是说业务模型除了要解释各种时间流,即架构中模型元素的除了要解释各种时间流,即架构中模型元素的动态行为动态行为,还要

6、强调企业的还要强调企业的静态结构静态结构”。这些模型应该展示出今天已经存在的业务信息,以及明天这些模型应该展示出今天已经存在的业务信息,以及明天你所需要的业务信息。你所需要的业务信息。业务模型反映的内容确实是个庞大事业。要做到描述中的业务模型反映的内容确实是个庞大事业。要做到描述中的所有事情需要投入大量的时间和资源。这也说明了为什么所有事情需要投入大量的时间和资源。这也说明了为什么大部分公司都企图为公司的业务建立一个全面综合的模型。大部分公司都企图为公司的业务建立一个全面综合的模型。业务建模通常在企业的部门或子部门等更小的范围和更具业务建模通常在企业的部门或子部门等更小的范围和更具体的策略层面

7、内进行。体的策略层面内进行。此外,此外,业务模型总是用于达到一个业务模型总是用于达到一个具体的业务目标,消除明显的业务缺陷或者严重的业务问具体的业务目标,消除明显的业务缺陷或者严重的业务问题。题。6.2 6.2 为什么要对业务建模为什么要对业务建模第6章 业务建模9有许多原因促使建立业务模型。这些原因包括从高层的业有许多原因促使建立业务模型。这些原因包括从高层的业务规划到实际运行的务规划到实际运行的ITIT系统。我们对其中几项进行考察。系统。我们对其中几项进行考察。大部分企业都有一个任务陈述。如果没有这样的任务陈述,它们大部分企业都有一个任务陈述。如果没有这样的任务陈述,它们至少也有正式书面形

8、式或非书面形式陈述的企业视点。如何知道至少也有正式书面形式或非书面形式陈述的企业视点。如何知道你的公司为了达到这一视点而进行组织的呢你的公司为了达到这一视点而进行组织的呢? ?如何应对市场变化如何应对市场变化所带来的业务变更所带来的业务变更? ?什么系统需要变更什么系统需要变更? ?这些变更如何影响企业中这些变更如何影响企业中的其他系统的其他系统? ?如果不了解你目前的状况、需要达到的目标和为了达到这如果不了解你目前的状况、需要达到的目标和为了达到这个目标需要做什么,那么你就不可能完成或者改善你的任个目标需要做什么,那么你就不可能完成或者改善你的任务。建立一个好的业务模型可以解决这些问题。务。

9、建立一个好的业务模型可以解决这些问题。第6章 业务建模10案例案例我曾为一家公司工作,帮助这家公司制订一个三年规划。这个规我曾为一家公司工作,帮助这家公司制订一个三年规划。这个规划的基本目的是用来理解企业如何组织它的各个部门,以满足不划的基本目的是用来理解企业如何组织它的各个部门,以满足不断变化的顾客需求,建立新的业务目标,如何制订财政预算来实断变化的顾客需求,建立新的业务目标,如何制订财政预算来实现业务的变更。我们成立了一个由多人组成的工作小组:副总裁、现业务的变更。我们成立了一个由多人组成的工作小组:副总裁、部门负责人、资深雇员和几位部门负责人、资深雇员和几位ITIT专业人员,其他人员因需

10、补充。专业人员,其他人员因需补充。我们经常会谈,并尝试采用著名的方法学,以快速制订出企业的我们经常会谈,并尝试采用著名的方法学,以快速制订出企业的三年规划。我们关注的焦点是这个方法学中的业务规划阶段,以三年规划。我们关注的焦点是这个方法学中的业务规划阶段,以及如何设计新的业务结构和业务操作。及如何设计新的业务结构和业务操作。频繁的会议持续了好几周。业务部门的成员发言、方法学专家协频繁的会议持续了好几周。业务部门的成员发言、方法学专家协调、速记员记下了大量的会议记录,但是没有完成任何预定的目调、速记员记下了大量的会议记录,但是没有完成任何预定的目标。这种工作方式的典型模式是标。这种工作方式的典型

11、模式是“前进一步,后退两步前进一步,后退两步”。在截。在截止日期日益临近的情况下,一位工作组成员将我拉到一旁并对我止日期日益临近的情况下,一位工作组成员将我拉到一旁并对我说:说:“你知道一些关于你知道一些关于UMLUML的资料,能用你知道的帮助我们做点的资料,能用你知道的帮助我们做点什么吗什么吗?”?”第6章 业务建模11就这样,我邀请副总裁和他的两名助理到房间里,同他们探讨他就这样,我邀请副总裁和他的两名助理到房间里,同他们探讨他们的企业。我并没有试图教会他们如何使用们的企业。我并没有试图教会他们如何使用UMLUML,但是在谈话的,但是在谈话的过程中,我担当了绘图师的角色,绘制了一些业务用例

12、图过程中,我担当了绘图师的角色,绘制了一些业务用例图(business use case diagram(business use case diagram,本章的后面对业务用例图有详细,本章的后面对业务用例图有详细介绍介绍) )。这些图引发了一场关于本企业各部门、其他企业、政府。这些图引发了一场关于本企业各部门、其他企业、政府机关和顾客的详细讨论。在讨论中我们很快发现了影响工作组工机关和顾客的详细讨论。在讨论中我们很快发现了影响工作组工作进度的根源作进度的根源这三位资深的企业领导各自掌管企业的不同部这三位资深的企业领导各自掌管企业的不同部门,但是对这些部门的整体运作方式却没有达成共识。门,但

13、是对这些部门的整体运作方式却没有达成共识。这种问题太常见了。这些业务部门的人员精明能干,可以很好地这种问题太常见了。这些业务部门的人员精明能干,可以很好地领导自己的部门。但是他们对部门间的整体运作缺乏完整的理解。领导自己的部门。但是他们对部门间的整体运作缺乏完整的理解。使用了用例图后,解决这个问题只用了三天的时间,相比之下,使用了用例图后,解决这个问题只用了三天的时间,相比之下,之前的工作方式却在几周都没有取得明显的进展。之前的工作方式却在几周都没有取得明显的进展。第6章 业务建模12案例启示:案例启示:在对业务做出调整前,你必须理解现在的业务。在对业务做出调整前,你必须理解现在的业务。必须理

14、解未来的业务,以便明确以后的发展目标。必须理解未来的业务,以便明确以后的发展目标。没有人能够充分理解或完全记住大规模业务的所有方面。没有人能够充分理解或完全记住大规模业务的所有方面。不要给业务部门的人员灌输过多的技术术语和技术工具。这些是不要给业务部门的人员灌输过多的技术术语和技术工具。这些是协调员协调员( (模型设计师模型设计师) )应该掌握的。业务人员只需负责业务运营,应该掌握的。业务人员只需负责业务运营,建模工作由模型设计师负责。建模工作由模型设计师负责。可视化的业务模型,即使是很简单的模型、也会为讨论和解决业可视化的业务模型,即使是很简单的模型、也会为讨论和解决业务问题提供务问题提供“

15、焦点焦点”。第6章 业务建模13建模对未来业务的规划运作大有益处。在开发新系统的同时,建模对未来业务的规划运作大有益处。在开发新系统的同时,不得不对提供业务支持的既有系统进行维护和改造。在规划中,不得不对提供业务支持的既有系统进行维护和改造。在规划中,“遗产系统遗产系统(legacysystem)(legacysystem)”的继承是一项最终必须完成的任的继承是一项最终必须完成的任务。然而,除了几个仍在公司供职的职员以外,这些遗产系统务。然而,除了几个仍在公司供职的职员以外,这些遗产系统对其他人来说都是神秘的。仅仅了解系统对外提供的服务,这对其他人来说都是神秘的。仅仅了解系统对外提供的服务,这

16、对遗产系统的维护和改造是不够的,还需要理解系统详细的内对遗产系统的维护和改造是不够的,还需要理解系统详细的内部细节。将遗产系统的内部细节知识传授给其他接管系统的人部细节。将遗产系统的内部细节知识传授给其他接管系统的人对于遗产系统的升级和维护至关重要。但是多长时间要进行一对于遗产系统的升级和维护至关重要。但是多长时间要进行一次这样的传授呢次这样的传授呢? ?另外,遗产系统的文档常常是过期失效的。另外,遗产系统的文档常常是过期失效的。因此,这种知识传授通常只能在系统的因此,这种知识传授通常只能在系统的“物理实现层物理实现层”进行,进行,通过将源代码移交给后来的程序员来完成维护任务。最终的结通过将源

17、代码移交给后来的程序员来完成维护任务。最终的结果是,用这样的传授方式,后来的程序员可能理解了代码,但果是,用这样的传授方式,后来的程序员可能理解了代码,但是却没有理解代码实现的完整业务功能。即使在最理想的情况是却没有理解代码实现的完整业务功能。即使在最理想的情况下,这种做法也是费时和低效的。如果要为遗产系统建立公共下,这种做法也是费时和低效的。如果要为遗产系统建立公共的系统模型,那么一种可被广泛理解的语言绝对是很好的辅助的系统模型,那么一种可被广泛理解的语言绝对是很好的辅助工具。工具。6.3 6.3 业务建模的范围业务建模的范围第6章 业务建模14大部分情况下,业务或系统的开发本质上是灵活多变

18、的。大部分情况下,业务或系统的开发本质上是灵活多变的。尽管这样的灵活策略在短期甚至较长时期内能够奏效,但尽管这样的灵活策略在短期甚至较长时期内能够奏效,但是最终得到的是交互不良的功能或者整体和部分存在冗余是最终得到的是交互不良的功能或者整体和部分存在冗余的多个系统。这些系统具有灵活多样性,但是它们组成一的多个系统。这些系统具有灵活多样性,但是它们组成一个整体后不能满足业务或顾客的需要。个整体后不能满足业务或顾客的需要。因此,因此,从理论和学术上讲,你应该对全部业务建立模型。从理论和学术上讲,你应该对全部业务建立模型。第6章 业务建模15在启动任何项目的开发工作之前首先获得一个完整的、全在启动任

19、何项目的开发工作之前首先获得一个完整的、全面的模型是很重要的。然而在实践中,这件事情是最难完面的模型是很重要的。然而在实践中,这件事情是最难完成的,其中既有技术原因也有行政管理上的原因。虽然如成的,其中既有技术原因也有行政管理上的原因。虽然如此,在下列情况下,对全部业务建立模型的任务值得去完此,在下列情况下,对全部业务建立模型的任务值得去完成:成:如果有一个拱形的目标,这个目标要求转换所有的业务或大部分如果有一个拱形的目标,这个目标要求转换所有的业务或大部分业务。业务。如果有一个项目或者一组不相关的项目,这些项目需要几年才能如果有一个项目或者一组不相关的项目,这些项目需要几年才能完成。完成。如

20、果正在增加一个独一无二的或者前所未有的业务功能。如果正在增加一个独一无二的或者前所未有的业务功能。如果正在对一部分业务进行重组,这部分业务与其他业务之间或如果正在对一部分业务进行重组,这部分业务与其他业务之间或外部业务之间存在复杂关系。外部业务之间存在复杂关系。第6章 业务建模16换句话说,换句话说,如果计划是庞大的、复杂的或长期的,那么建如果计划是庞大的、复杂的或长期的,那么建立一个完整的业务模型是值得投资的。立一个完整的业务模型是值得投资的。这样做有很多益处:这样做有很多益处:获得了对业务的正确和公认的理解获得了对业务的正确和公认的理解( (明确表达被公认了的知识,明确表达被公认了的知识,

21、将避免走许多弯路将避免走许多弯路) )。可以更有效地控制复杂性可以更有效地控制复杂性( (不要忘记,复杂性随着业务功能或系不要忘记,复杂性随着业务功能或系统之间关系的增多而呈几何级数增长统之间关系的增多而呈几何级数增长) )。明确了业务变更的起点。明确了业务变更的起点。为管理大型项目或多个项目奠定了可靠的基础。为管理大型项目或多个项目奠定了可靠的基础。可以建立起所有权和财务职责。可以建立起所有权和财务职责。6.4 UML6.4 UML如何帮助我改进业务如何帮助我改进业务第6章 业务建模17当获得了一个已有业务系统的模型后,就可以确保所有的当获得了一个已有业务系统的模型后,就可以确保所有的利益相

22、关人理解当前的业务活动。然而,这个模型需要被利益相关人理解当前的业务活动。然而,这个模型需要被各方一致地理解。各方一致地理解。使用使用UMLUML作为公共建模语言确保了这种一致的理解。作为公共建模语言确保了这种一致的理解。使用一个简洁的使用一个简洁的UMLUML模型,能够找出以下要改进的方面:模型,能够找出以下要改进的方面:无效之处。无效之处。性能问题。性能问题。冗余过程。冗余过程。不正确的或者存在冲突的业务规则。不正确的或者存在冲突的业务规则。暴光暴光( (例如,一些业务或者系统的风险环节例如,一些业务或者系统的风险环节) )。需要巩固、提高或进行其他改进的方面。需要巩固、提高或进行其他改进

23、的方面。未充分利用的或过度利用的系统或人员。未充分利用的或过度利用的系统或人员。注意:人也是业务系统中的一部分。你不仅要对业务内容建立注意:人也是业务系统中的一部分。你不仅要对业务内容建立模型,还要对业务活动中的人的角色和职责建立模型。模型,还要对业务活动中的人的角色和职责建立模型。6.5 6.5 如何使用如何使用UMLUML对业务建模对业务建模第6章 业务建模18考虑下面三个彼此相关的问题,是使用考虑下面三个彼此相关的问题,是使用UMLUML进行业务建模的进行业务建模的良好起点:良好起点:你与谁做生意你与谁做生意? ?他们希望与你做什么样的生意,或者反过来说,你希望与他们做他们希望与你做什么

24、样的生意,或者反过来说,你希望与他们做什么样的生意什么样的生意? ?你的业务如何满足他们的需要你的业务如何满足他们的需要? ?这三个简单问题决定了业务操作的上下文背景。这三个简单问题决定了业务操作的上下文背景。举个例子,比方说你正在经营一个零售商店。那么你与谁举个例子,比方说你正在经营一个零售商店。那么你与谁做生意做生意? ?哪些人、公司或者系统与你有生意来往哪些人、公司或者系统与你有生意来往? ?对零售商对零售商店来说,与你做生意的实体应该包括传统的零售顾客店来说,与你做生意的实体应该包括传统的零售顾客(Retail Customer)(Retail Customer)、运输公司、货源供应商

25、、信用卡公司、运输公司、货源供应商、信用卡公司(Credit Company)(Credit Company),等等。,等等。所有这些人、企业和系统都在所有这些人、企业和系统都在你的业务中扮演了一个角色。他们被称为你的业务中扮演了一个角色。他们被称为业务参与者业务参与者(business actor)(business actor)。第6章 业务建模19业务参与者业务参与者(business actor)(business actor)如同现实世界中的演员一样,如同现实世界中的演员一样,他们都扮演了各自的角色,参见下图:他们都扮演了各自的角色,参见下图:零售顾客零售顾客(RetailCusto

26、mer)(RetailCustomer)、信用卡公司、信用卡公司(CreditCompany) (CreditCompany) 、零、零售商售商(Salesperson)(Salesperson)第6章 业务建模20为什么要与这些业务参与为什么要与这些业务参与者打交道者打交道? ?因为什么原因因为什么原因要同他们做生意要同他们做生意? ?在零售在零售业务中,业务参与者可能业务中,业务参与者可能希望做以下几件事:希望做以下几件事:购买产品。购买产品。退货。退货。 提交产品给顾客。提交产品给顾客。提交产品给你的零售商店。提交产品给你的零售商店。给顾客开帐单。给顾客开帐单。其他。其他。既然知道了业务

27、参与者想要既然知道了业务参与者想要做什么,就需要了解商店如做什么,就需要了解商店如何满足他们的需要何满足他们的需要? ?要为这要为这些业务参与者提供什么样的些业务参与者提供什么样的服务或业务功能服务或业务功能? ?零售业务零售业务中的一些典型业务功能可能中的一些典型业务功能可能包括:包括:零售。零售。开帐单。开帐单。仓库管理。仓库管理。货物运输。货物运输。第6章 业务建模21这些都是业务参与者如何参与你的业务的具体案例。在这些都是业务参与者如何参与你的业务的具体案例。在RationalRational统一过程统一过程(Rational Unified Process)(Rational Uni

28、fied Process)中,这些中,这些案例被称为业务用例案例被称为业务用例(business use case)(business use case),参见下图。,参见下图。6.6 UML6.6 UML业务用例模型业务用例模型第6章 业务建模22结合业务参与者和业务用例这两种模型元素,可以为业务结合业务参与者和业务用例这两种模型元素,可以为业务创建业务用例模型创建业务用例模型(business use case model)(business use case model)。6.6.1 6.6.1 业务用例图业务用例图业务用例图说明了业务操作的上下文背景。它描述了业务业务用例图说明了业务操

29、作的上下文背景。它描述了业务的外部实体的外部实体( (业务参与者业务参与者) )、业务内部实体、业务内部实体( (业务用例业务用例) )以及以及两者之间的关系。两者之间的关系。“业务用例图说明了业务的预期功能,它是用于识别外部业务用例图说明了业务的预期功能,它是用于识别外部实体的角色和组织内可交付产品的一个基本输入实体的角色和组织内可交付产品的一个基本输入”。业务用例图是业务的上下文视图。业务用例图是业务的上下文视图。如下图所示:如下图所示:第6章 业务建模23第6章 业务建模24业务用例图中的带箭头实线表示业务参与者和业务用例之业务用例图中的带箭头实线表示业务参与者和业务用例之间的关联间的关

30、联(association)(association)。关联表明被连接的模型元素之间存在某种关系。关联表明被连接的模型元素之间存在某种关系。箭头方向从发起活动的模型元素指向被发起的模型元素。箭头方向从发起活动的模型元素指向被发起的模型元素。在上面的例子中,在上面的例子中,“Salseperson(Salseperson(售货员售货员)”)”使用使用( (也就是发起也就是发起) )了业务用例了业务用例“ProcessSale(ProcessSale(销售处理销售处理)”)”。一个关联可以没有方向箭头,这样的关联表示双向的通信路径。一个关联可以没有方向箭头,这样的关联表示双向的通信路径。第6章 业

31、务建模25从技术上讲,参与者到用例之间的关联线是不允许出现方从技术上讲,参与者到用例之间的关联线是不允许出现方向箭头的。然而,在设计现实世界的系统时,这种与向箭头的。然而,在设计现实世界的系统时,这种与UMLUML标标准之间的无关紧要的偏差自然有它的价值所在。在一个中准之间的无关紧要的偏差自然有它的价值所在。在一个中等的系统中,比如说系统中有等的系统中,比如说系统中有6 6个用例,你很可能很容易地个用例,你很可能很容易地找出十几个参与者。在大型系统或者企业级系统找出十几个参与者。在大型系统或者企业级系统( (系统的系系统的系统统) )中,可能包含更多的用例。中,可能包含更多的用例。使用箭头可以

32、让你很快看清使用箭头可以让你很快看清哪些参与者是主动的哪些参与者是主动的( (发起了用例发起了用例) ),那些元素是被动的,那些元素是被动的( (不不是发起了用例,而是为参与者提供了某种服务是发起了用例,而是为参与者提供了某种服务) )。第6章 业务建模26参与者之间的关联也是不允许的,但是在现实世界中,一参与者之间的关联也是不允许的,但是在现实世界中,一个参与者确实与其他参与者之间存在直接通信关系,特别个参与者确实与其他参与者之间存在直接通信关系,特别是参与者是人的场合。是参与者是人的场合。绘制出参与者之间的关联线也是重绘制出参与者之间的关联线也是重要的,这些关联线可以使你正确的表达业务操作

33、要的,这些关联线可以使你正确的表达业务操作。看到参。看到参与者之间的关联线后,会促使你决定关联所代表的参与者与者之间的关联线后,会促使你决定关联所代表的参与者之间的交互是否不存在或者应该自动隐含之间的交互是否不存在或者应该自动隐含这是业务系这是业务系统和系统架构的重要设计决策。统和系统架构的重要设计决策。第6章 业务建模27吸取教训吸取教训1.1.使用使用UMLUML的目的是清晰地表达设计,不足为了盲目符合的目的是清晰地表达设计,不足为了盲目符合UMLUML标准标准的规格说明。的规格说明。2.2.如果你如果你“创造性创造性”地使用地使用UMLUML并达到了并达到了1 1中的目标,这样最好不中的

34、目标,这样最好不过。过。但是要当心:不要完全重新定义但是要当心:不要完全重新定义UMLUML的语义或者用别人不能的语义或者用别人不能正确解释的用法使用正确解释的用法使用UMLUML元素。元素。换句话说,就是要倍加小心。换句话说,就是要倍加小心。第6章 业务建模28在确立了业务用例之后,下一步需要定义这些用例的含义。在确立了业务用例之后,下一步需要定义这些用例的含义。决不能假定地认为每个人都已经了解了用例的业务功能或者知道这些决不能假定地认为每个人都已经了解了用例的业务功能或者知道这些用例能够做些什么。用例能够做些什么。明确地表达用例的内容,应该为每个业务用例编写一个简短的功能描明确地表达用例的

35、内容,应该为每个业务用例编写一个简短的功能描述。述。这个描述应该是一个总体性陈述:这个描述应该是一个总体性陈述:业务用例是什么,它的内容是什么以及为什么要有这样的内容业务用例是什么,它的内容是什么以及为什么要有这样的内容( (也就是说用例的也就是说用例的“任务任务”是什么是什么) ),何时使用这个用例,以及其,何时使用这个用例,以及其他与这个用例有关的具体信息。他与这个用例有关的具体信息。用例的描述篇幅只需要一到两段就足够,只要每个人都能够读懂业务用例的描述篇幅只需要一到两段就足够,只要每个人都能够读懂业务用例的目的。用例的目的。用例规约用例规约第6章 业务建模29举一个例子,对一个名为举一个

36、例子,对一个名为“account management(account management(帐户管帐户管理理) )”的用例,可以进行如下的描述:的用例,可以进行如下的描述:帐户管理帐户管理(Account Management)(Account Management):本业务用例为小型商业企业和:本业务用例为小型商业企业和零售顾客提供服务,可以在一个分店内进行,在正常的营业时间零售顾客提供服务,可以在一个分店内进行,在正常的营业时间内发生,执行与帐户存取有关的操作。这些操作包括新建和销毁内发生,执行与帐户存取有关的操作。这些操作包括新建和销毁一个帐户、转帐、修改帐户注册信息和合并帐户。该用例

37、不包括一个帐户、转帐、修改帐户注册信息和合并帐户。该用例不包括帐户查询、存款、退款或在线业务。帐户查询、存款、退款或在线业务。一旦用例描述得到了一致的认同,它就可以作为进一步明一旦用例描述得到了一致的认同,它就可以作为进一步明确业务用例的具体内容的上下文背景。进一步明确用例需确业务用例的具体内容的上下文背景。进一步明确用例需要要活动图(活动图(activity diagramactivity diagram)。)。 6.6.2 6.6.2 活动图活动图第6章 业务建模30既然已经明确了要和你打交道的人员、业务以及组织,你既然已经明确了要和你打交道的人员、业务以及组织,你为了满足他们的需要而提供

38、的服务,现在就需要理解他们为了满足他们的需要而提供的服务,现在就需要理解他们之间如何交互以提供这些服务。每个业务用例背后隐藏的之间如何交互以提供这些服务。每个业务用例背后隐藏的细节是什么细节是什么? ?以业务用例以业务用例Process SaleProcess Sale为例,实际生活中一为例,实际生活中一个顾客是如何购买一件零售产品的呢个顾客是如何购买一件零售产品的呢? ?需要经历哪些步骤以需要经历哪些步骤以及这些步骤由谁完成及这些步骤由谁完成? ?这个交易可以按照下面描述的过程进这个交易可以按照下面描述的过程进行:行:1.1.顾客进入商店,挑选要购买的产品。顾客进入商店,挑选要购买的产品。2

39、.2.顾客向售货员出示挑选的产品。顾客向售货员出示挑选的产品。3.3.售货员扫描产品条码售货员扫描产品条码( (对所有的产品重复这个过程对所有的产品重复这个过程) )。4.4.售货员报告商品总价。售货员报告商品总价。5.5.售货员向顾客询问付款方式。售货员向顾客询问付款方式。6.6.顾客支付购买商品的费用。顾客支付购买商品的费用。7.7.售货员认可支付的费用。售货员认可支付的费用。8.8.收据和产品交给顾客。收据和产品交给顾客。第6章 业务建模31或者也可能是:或者也可能是:1.1.顾客进入商店,挑选要购买的产品。顾客进入商店,挑选要购买的产品。2.2.顾客向售货员出示挑选的产品。顾客向售货员

40、出示挑选的产品。3.3.售货员向顾客询问付款方式。售货员向顾客询问付款方式。4.4.如果顾客选择了信用卡支付,顾客需要将他的信用卡提交给售如果顾客选择了信用卡支付,顾客需要将他的信用卡提交给售货员货员( (如果不选择信用卡支付方式,则转到第如果不选择信用卡支付方式,则转到第6 6步继续执行步继续执行) )。5.5.售货员刷卡收费。售货员刷卡收费。6.6.售货员扫描产品条码售货员扫描产品条码( (对所有的产品重复这个过程对所有的产品重复这个过程) )。7.7.售货员报告商品总价。售货员报告商品总价。8.8.如果选择信用卡支付方式,顾客授权支付如果选择信用卡支付方式,顾客授权支付( (否则,顾客提

41、供现金,否则,顾客提供现金,售货员认可支付的费用售货员认可支付的费用) )。9.9.收据和产品交给顾客。收据和产品交给顾客。第6章 业务建模32甚至也可能是:甚至也可能是:1.1.顾客进入商店,挑选要购买的产品。顾客进入商店,挑选要购买的产品。2.2.顾客自己在产品条码扫描机中插入信用卡。顾客自己在产品条码扫描机中插入信用卡。3.3.顾客扫描产品条码顾客扫描产品条码( (对所有的产品重复这个过程对所有的产品重复这个过程) )。4.4.扫描机自动报告商品总价。扫描机自动报告商品总价。5.5.顾客授权支付。顾客授权支付。6.6.支付被售货员确认。支付被售货员确认。7.7.收据交给顾客。收据交给顾客

42、。从上面的例子可以看到,同样一笔交易可以采取多种不同从上面的例子可以看到,同样一笔交易可以采取多种不同的方式。这也是为什么人们要对工作流程达成一致的原因。的方式。这也是为什么人们要对工作流程达成一致的原因。真实世界中可视化的工作流模型就显得十分重要。活动图真实世界中可视化的工作流模型就显得十分重要。活动图以一种容易学习和容易被理解的方式描绘了工作流程。以一种容易学习和容易被理解的方式描绘了工作流程。第6章 业务建模33用一个活动图描述交易过程的第一种可能的工作流程。用一个活动图描述交易过程的第一种可能的工作流程。活动图展示出业务参与者和业务元素之间的交互:活动图展示出业务参与者和业务元素之间的

43、交互:1.1.顾客进入商店,挑选要购买的产品。顾客进入商店,挑选要购买的产品。2.2.顾客向售货员出示挑选的产品。顾客向售货员出示挑选的产品。3.3.售货员扫描产品条码售货员扫描产品条码( (对所有的产品重复这个过程对所有的产品重复这个过程) )。这三个步骤构成了这三个步骤构成了Process SaleProcess Sale业务用例的活动图的开始部业务用例的活动图的开始部分。分。第6章 业务建模34注意:是注意:是“Process SaleProcess Sale业务用例业务用例”的活动图的开始部分。的活动图的开始部分。第6章 业务建模35从图中可以看到两个业务参与者的名字从图中可以看到两个

44、业务参与者的名字(Retail Customer(Retail Customer和和Salseperson)Salseperson)出现在图中的两列的最上方。出现在图中的两列的最上方。图中的列被称为图中的列被称为泳道泳道(swimlane)(swimlane)。在。在UML 2.0UML 2.0中这些列叫作中这些列叫作划分划分(partition)(partition)。一列中的任何活动一列中的任何活动(activity(activity,图中的椭圆型结点,图中的椭圆型结点) )都是由该列顶部都是由该列顶部标记的人、组织或系统执行的。标记的人、组织或系统执行的。注意在注意在UML2UML20

45、0中,这些节点被称为动作中,这些节点被称为动作(action)(action)。UML2UML20 0中同时有一个被称为活动的模型元素,中同时有一个被称为活动的模型元素,UML2UML20 0中的活动中的活动可以包括动作和控制节点,用于描述动态行为。可以包括动作和控制节点,用于描述动态行为。活动流从开始状态活动流从开始状态(start state(start state,图中的实心圆,图中的实心圆) )开始,沿着箭头开始,沿着箭头的指向进行。的指向进行。第6章 业务建模36即使只有活动图的开始部分,这部分活动图也能展示出需要工即使只有活动图的开始部分,这部分活动图也能展示出需要工作小组进一步讨

46、论的区域。作小组进一步讨论的区域。如:如:o 上述活动流中包含了售货员扫描产品条码的活动。上述活动流中包含了售货员扫描产品条码的活动。o 是否选用条码扫描机是系统的实现决策,现在就作出选用是否选用条码扫描机是系统的实现决策,现在就作出选用条码扫描机这样的实现决策在系统开发过程中似乎显得为条码扫描机这样的实现决策在系统开发过程中似乎显得为时过早。时过早。o 一般地说,过早的制订实现决策是不明智的。一般地说,过早的制订实现决策是不明智的。也有许多零也有许多零售商店不使用条码扫描机。他们采用人工输入的方式记录售商店不使用条码扫描机。他们采用人工输入的方式记录商品价格。这些图能够帮助你在开发过程的早期

47、,在昂贵商品价格。这些图能够帮助你在开发过程的早期,在昂贵的系统实现阶段开始之前权衡实现决策。的系统实现阶段开始之前权衡实现决策。o 事实上,如果条码扫描机出现故障,售货员可能会人工记事实上,如果条码扫描机出现故障,售货员可能会人工记录产品价格录产品价格( (或者执行令人恐怖的或者执行令人恐怖的“价格检查价格检查”) )。这里出。这里出现了第一例现了第一例可选流可选流(alternate flow)(alternate flow)。在绘制最初的活动图时,一个好的策略是首先绘制最理想场景在绘制最初的活动图时,一个好的策略是首先绘制最理想场景下的活动流,然后为先前的活动流增加后来新发现的可选场景。

48、下的活动流,然后为先前的活动流增加后来新发现的可选场景。第6章 业务建模37继续下面的活动:继续下面的活动:4.4.售货员报告商品总价。售货员报告商品总价。5.5.售货员向顾客询问付款方式。售货员向顾客询问付款方式。第6章 业务建模38注意:注意:Retail CustomerRetail Customer泳道中的泳道中的 “customer customer acknowledgment(acknowledgment(顾客认可顾客认可)”)”活动是什么活动是什么? ?在最初的活动流里没有这个活动。在最初的活动流里没有这个活动。在绘制活动图的过程中,我们意识到工作流中直接从第在绘制活动图的过程

49、中,我们意识到工作流中直接从第4 4步到步到第第5 5步在实际中是不正确的(或者说是不完善的)。步在实际中是不正确的(或者说是不完善的)。如果这样做是正确的,为什么活动流已经进行到了由售货员如果这样做是正确的,为什么活动流已经进行到了由售货员向顾客询问付款方式时售货员才报告商品总价呢向顾客询问付款方式时售货员才报告商品总价呢? ?售货员报售货员报告商品总价的原因是为了给顾客一次提出质疑的机会。顾客告商品总价的原因是为了给顾客一次提出质疑的机会。顾客没有钱支付怎么办没有钱支付怎么办? ?如果条码扫描机上显示的商品总价与顾如果条码扫描机上显示的商品总价与顾客根据商品标签上的价格计算的结果不一致怎么

50、办客根据商品标签上的价格计算的结果不一致怎么办? ?这些图为我们质疑工作流这些图为我们质疑工作流( (文字描述看上去可能很精确,但是文字描述看上去可能很精确,但是绘成图表后却发现了错误绘成图表后却发现了错误) )的正确性和合理性提供了机会,使的正确性和合理性提供了机会,使可选流进入了我们的考虑范围。可选流进入了我们的考虑范围。第6章 业务建模39继续下面的工作流:继续下面的工作流:6.6.顾客进行支付。顾客进行支付。7.7.售货员接受支付。售货员接受支付。在图中,加入了支付活在图中,加入了支付活动。动。可以从图中看到,这样可以从图中看到,这样的业务流程显然非常简的业务流程显然非常简单。这条工作

51、流是基于单。这条工作流是基于支付方法的支付方法的( (现金、信用现金、信用卡、馈赠卷、优惠卡,卡、馈赠卷、优惠卡,等等等等) )。第6章 业务建模40继续下面的流程:继续下面的流程:8.8.产品和收据交给顾客。产品和收据交给顾客。首先交给顾客什么呢,是首先交给顾客什么呢,是收据还是顾客购买的产品收据还是顾客购买的产品? ?在本例中,这是无关紧要在本例中,这是无关紧要的问题。两个活动可以平的问题。两个活动可以平行进行。行进行。两个活动的平行进行在活两个活动的平行进行在活动图中是通过使用动图中是通过使用同步点同步点(synchronization(synchronization,图中,图中的水平加

52、黑条的水平加黑条) )表示的。表示的。从同步点出发的两个活从同步点出发的两个活动流可以彼此独立地进动流可以彼此独立地进行。行。两个两个( (或多个或多个) )活动流进活动流进入一个同步点,则意味入一个同步点,则意味着所有活动流都完成后,着所有活动流都完成后,工作流程才能继续。工作流程才能继续。第6章 业务建模41图中还增加了一个结束活动图中还增加了一个结束活动(terminating activity)(terminating activity),即,即“顾顾客离开商店客离开商店”。这个活动似乎没有什么用途,但是它确实澄清。这个活动似乎没有什么用途,但是它确实澄清了一些事实,即:了一些事实,即

53、:结束活动结束活动(terminating activity)(terminating activity)使你明确地观察到业务参使你明确地观察到业务参与者和业务用例之间的交互是如何终止的。与者和业务用例之间的交互是如何终止的。此外,如果本例中的商店是一个网上在线商店,顾客离开商店此外,如果本例中的商店是一个网上在线商店,顾客离开商店具有许多业务和应用设计上的含义。具有许多业务和应用设计上的含义。例如,当顾客离开了网上在线商店例如,当顾客离开了网上在线商店( (也就是离开了这个商店也就是离开了这个商店的的WebWeb站点站点) ),商店还不能立即将产品送至顾客手中,而是要,商店还不能立即将产品送

54、至顾客手中,而是要在业务流中增加一个履行网上交易的活动,并且要修改相应在业务流中增加一个履行网上交易的活动,并且要修改相应的付款活动,因为要考虑到产品运输和手续费用。商店也不的付款活动,因为要考虑到产品运输和手续费用。商店也不能给顾客开出正式的收据,但是可以立即通过电子邮件给顾能给顾客开出正式的收据,但是可以立即通过电子邮件给顾客寄送一张电子收据。活动流的结束要用终止状态客寄送一张电子收据。活动流的结束要用终止状态(end (end statestate,图中公牛眼形状的符号,图中公牛眼形状的符号) )明确地在图中表达出来。明确地在图中表达出来。第6章 业务建模42工作流的结束可能会引发一个问

55、题:工作流的结束可能会引发一个问题:为什么不为为什么不为“Give Receipt to RetailCustomer”Give Receipt to RetailCustomer”和和“Give Give Product to Retail Customer”Product to Retail Customer”这两个流增加一个公共的出这两个流增加一个公共的出口同步点,以确保顾客只有在获得了商品和收据后才能离开口同步点,以确保顾客只有在获得了商品和收据后才能离开? ?这个问题很值得思考。这个问题很值得思考。问题的答案取决于你对业务操作的期望。你是否希望执行某些问题的答案取决于你对业务操作的期

56、望。你是否希望执行某些动作来确保顾客在没拿到产品和发票之前不能离开动作来确保顾客在没拿到产品和发票之前不能离开( (一些商店一些商店确实在顾客离开之前要检查商品收据确实在顾客离开之前要检查商品收据)?)?如果是这样的话,增加一个同步点是一个很好的想法。如果是这样的话,增加一个同步点是一个很好的想法。如果你的业务操作不执行这样的动作,那么增加同步点就是如果你的业务操作不执行这样的动作,那么增加同步点就是不正确的。不正确的。这些问题是简单的文本描述很难反映出的问题。可视化的模型这些问题是简单的文本描述很难反映出的问题。可视化的模型可以更好地揭示事物和事物之间的关系,反映出简单文字描述可以更好地揭示

57、事物和事物之间的关系,反映出简单文字描述所不能表达的关注焦点。所不能表达的关注焦点。第6章 业务建模43第6章 业务建模44可选流可选流开发上面的简单的活动图引发了业务用例开发上面的简单的活动图引发了业务用例“Process Sale”Process Sale”的工的工作流中需要解决的几个问题。这个活动图中有许多可能的可选流:作流中需要解决的几个问题。这个活动图中有许多可能的可选流:条码扫描机出现故障,只得人工录入商品价格。条码扫描机出现故障,只得人工录入商品价格。条码扫描机出现故障,售货员不知道商品价格,逐一检查每项条码扫描机出现故障,售货员不知道商品价格,逐一检查每项商品的价格。商品的价格

58、。顾客不认可商品总价,顾客的钱不够,取消交易。顾客不认可商品总价,顾客的钱不够,取消交易。顾客不认可商品总价,顾客的钱不够,从顾客挑选的商品中扣顾客不认可商品总价,顾客的钱不够,从顾客挑选的商品中扣除一件或几件商品。除一件或几件商品。顾客不认可商品总价,认为价格不对,重新对商品定价。顾客不认可商品总价,认为价格不对,重新对商品定价。顾客不认可商品总价,不愿意多付钱,取消交易。顾客不认可商品总价,不愿意多付钱,取消交易。用户选择的付款方式不被商店接受用户选择的付款方式不被商店接受( (例如,商店只接受信用卡例如,商店只接受信用卡付费付费) )。等等。等等。这些可选流可以用这些可选流可以用判定点判

59、定点(decision point(decision point,图中的菱形图元,图中的菱形图元) )描描绘。绘。第6章 业务建模45在图中展现在图中展现了判定点是了判定点是如何用于表如何用于表示条码扫描示条码扫描机出现故障机出现故障后可能的可后可能的可选流。选流。第6章 业务建模46总之:总之:业务用例图展示了业务的上下文,也就是业务内部和外部的事物业务用例图展示了业务的上下文,也就是业务内部和外部的事物各自是什么。各自是什么。业务用例图说明了哪些人或系统与业务发生交互关业务用例图说明了哪些人或系统与业务发生交互关系。它系。它捕获捕获了业务和外部世界之间的接口。了业务和外部世界之间的接口。活

60、动图描述了关于业务如何操作的基本工作流。它活动图描述了关于业务如何操作的基本工作流。它详细定义详细定义了业了业务和业务参与者之间的接口务和业务参与者之间的接口(interface)(interface)。它帮助你理解人或系它帮助你理解人或系统是如何与业务交互的、理解交互的过程以及执行的活动。采用统是如何与业务交互的、理解交互的过程以及执行的活动。采用活动图,你可以对如何完成一项任务获得基本的理解。活动图,你可以对如何完成一项任务获得基本的理解。第6章 业务建模47注意:业务规则注意:业务规则业务规则业务规则(business rule)(business rule)是施加在业务活动中的策略、约

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论