问答题
阅读以下关于工作流系统模型建立和性能分析的叙述,根据要求回答问题1~问题4。
[说明]
某软件开发公司向客户交付系统产品后,由技术支持部门负责向客户提供技术服务。该技术支持部门的业务流程如下:
①当该技术支持部门接到一个客户问询电话时,由客户服务代表(CSR)接听该电话。客户服务代表根据客户问询内容产生一份服务请求文件,并开始解决客户提出的问题;
②若客户服务代表解决了客户提出的问题,这份服务请求文件被标记为“已解决”;
③如果客户服务代表在2个小时内未能解决这个问题,客户服务代表将服务请求文件转交给技术支持代表(TSR)处理;
④如果技术支持代表也无法解决这个问题,他/她将邀请助理工程师(ENGR)来一起处理这个问题;
⑤若助理工程师解决了这个问题,该服务请求文件被标记为“已解决”;
⑥若技术支持代表和助理工程师认为,是由于系统的错误引起的问题,则告知客户该问题目前无法解决;并把服务请求文件转交给本公司的工程部门处理;
⑦对已经解决的服务请求,每个月底进行一次归档(放入归档数据库)。
该软件公司正在创建一个相应的工作流管理系统,目前正处于过程定义阶段,即创建工作流模型阶段。对于这些工作流模型,除了要考虑工作流的正确性外,工作流的性能也是十分重要的。工作流性能主要反映工作流定量方面的特性,例如,任务的完成时间、单位时间内处理的任务数量、资源的利用率及在预定时间标准内完成任务的百分比等。
图7-14所示的是一个简单的工作流模型(其中单位时间为1小时),它表示这样一个执行过程:每小时将会有20个任务到达c1,这20个任务首先经过处理task1,再经过处理task2,最终将结果传递到c3。处理task1和处理task2相互独立。

假设性能评价模型符合M/M/1排队模型,在计算性能指标的过程中可以使用下列公式进行计算:
问答题 [问题1] 工作流(Workflow)是针对业务流程中具有固定程序的常规活动而提出的一个概念,通过将业务流程分解,定义良好的任务、角色、规则和过程来进行执行和监控,达到提高生产组织水平和工作效率的目的。以下关于工作流叙述中,错误的是{{U}} (1) {{/U}}。 在UML中,用{{U}} (2) {{/U}}表示企业业务的工作流。这种图显示出工作流中的步骤、决策点,以及完成每一步骤的角色和对象。 (1) A.引入工作流组织,能够在软件开发和业务两个层次受益 B.工作流管理系统在实际系统中的应用一般分为两个阶段,即模型建立阶段和模型执行阶段 C.工作流能有效地把人、信息和应用工具合理地组织在一起,发挥系统的最大效能 D.一个工作流包括一组活动及它们的相互顺序关系,还包括过程及活动的启动和终止条件,以及每个活动的描述 (2)
A.交互图(interaction diagram)
B.业务图(business diagram)
C.用例图(use case diagram)
D.活动图(activity diagram)
【正确答案】
【答案解析】[问题1] 工作流的概念起源于生产组织和办公自动化等许多应用领域,它是针对日常工作中具有相对固定程序的活动而提出的一个概念。在计算机网络技术和分布式数据库技术迅速发展、多机协同工作技术逐渐成熟的基础上发展起来的工作流技术,通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高工作效率、降低生产成本、提高企业生产经营管理水平和企业竞争力的目标。 过程模型与工作流模型的区别在于,过程模型并不要求用计算机来执行,而工作流模型旨在实现业务过程自动化,需要用计算机来执行。过程模型广泛应用于各种应用领域,主要用来进行分析与设计,而工作流模型用于业务流程的分析、设计及实现,目前已经成功地用于政务、物流、图书馆、医院、保险公司和银行等一大批行业,并且在制造业中也得到了应用。 工作流管理系统是一个软件系统,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行。工作流管理系统在实际系统中的应用一般分为3个阶段,即模型建立阶段、模型实例化阶段和模型执行阶段。其中,模型建立阶段通过利用工作流建模工具,完成企事业经营过程模型的建立,将企事业的实际经营过程转化为计算机可处理的工作流模型。模型实例化阶段完成为每个过程设定运行所需的参数,并分配每个活动执行所需要的资源。模型执行阶段完成经营过程的执行,重点是完成人机交互和应用的执行。与之相对应的工作流管理系统提供了3种基本功能:过程建模(工作流过程和相关活动的定义与建模功能),工作流运行控制(在一定的运行环境下,执行工作流过程并完成每个过程中活动的排序和调度功能)及运行阶段的人机交互功能。 用UML建立业务模型是理解企事业业务过程的第一步。使用活动图可表示企业业务的工作流。这种 UML图显示工作流中的步骤、决策点,以及完成每一步骤的角色和对象。它强调对象间的控制流,是一种特殊的状态图(statechart diagram)。 在UML模型图中,协作图(collaboration diagram)按组织结构对控制流建模,它强调上下层次关系。序列图(sequence diagram)用于按时间顺序对控制流建模,它强调的是时间和顺序。用例图展现了一组用例、用户及它们之间的关系,即从用户角度描述系统功能,并指出各功能的操作者。
问答题
[问题2]
为了描述该公司技术支持部门的业务流程,首先需要确定工作流的各个基本元素(即工作流对象、角色、路由和规则)。请按表7-18写出工作流对象及对应的起始点、终止点和该工作流中的所有角色。

{{B}}表7-18 技术支持部门工作流各个基本元素表{{/B}}

{{B}}工作流基本元素{{/B}}
{{B}}描述{{/B}}
工作流对象
(3)
起始点
(4)
终止点
(5)
角色
(6)

【正确答案】
【答案解析】[问题2]
工作流是将一组任务组织起来完成某个经营过程。工作流中最基本的元素是活动和活动之间的连接关系,即工作流包括两个方面:①由人或程序进行的任务或行为(即活动);②这些任务或行为之间的关系 (即流程)。活动对应于经营过程中的任务,主要是反映经营过程中的执行动作或操作;活动之间的连接关系代表了经营过程的规则和业务流程。一个工作流就是用一组连接关系组合起来的一组活动组成的一个反映企业业务过程的模型。
工作流的基本元素包括工作流对象、角色、路由和规则等。其中,工作流对象是指在系统业务中流动的文档、表单、事件或消息。工作流对象有相应的起始点和终止点。工作流对象激发了一个工作流。本试题所描述的业务流程中,工作流对象是由客户服务代表(CSR)产生的“服务请求文件”。起始点是当CSR接到客户问询电话时,产生服务请求文件;终止点是问题解决时,服务请求文件标记为“已解决”。
角色是指在业务流程中产生行为或接受行为的人或机构/部门。本试题的说明中给出的是技术支持部门的业务处理流程,在试题求解的过程中可以不考虑工程部门的角色。所以角色包括CSR(客户服务代表)、TSR(技术支持代表)和ENGR(助理工程师)。
路由是指在工作流中,工作流对象的起始点、中间点和终止点。工作流对象将在各个角色之间流动。规则决定工作流对象路由的原则或条件。该技术支持部门的工作流的路由和规则如表7-22所示。

{{B}}表7-22 技术支持部门工作各个基本元素表{{/B}}

{{B}}路由{{/B}}
{{B}}规则{{/B}}
CSR->TSR
CSR在2小时内没有解决客户的问题
TSR->ENGR
TSR无法解决客户的问题
CSR,TSR,ENGR->归档库
服务请求文件标记为“己解决”,且已到了月底


问答题
[问题3]
计算如图7-14所示的工作流模型的下列性能指标。
(1)每个资源的利用率ρ; (2)每个处理中的平均任务数L;
(3)平均系统时间S; (4)每个处理的平均等待时间W。
【正确答案】
【答案解析】[问题3] 这是一道要求读者掌握性能评价模型中资源的利用率、每个处理中的平均任务数、平均系统时间S及每个处理的平均等待时间等指标的计算题。本试题的解答思路如下。 (1)单位时间内资源繁忙的时间所占的百分比通常用资源利用率度量,它是评价一个模型性价比的关键参数。通常有总利用率和净利用率两类,用户数据处理和开销一起占总容量的百分比称为总利用率;不考虑系统开销,用户数据处理占总容量的百分比称为净利用率,也称为有效利用率。本试题是关于净利用率的计算问题。 (2)在M/M/1排队模型中,资源利用率ρ定义为平均到达任务数与平均处理任务数的比值,即。 (3)从图7-14工作流模型图可知,处理task1占用1个资源,它将接收c1在单位时间(每小时)送来的20个任务。由题干中给出的关键信息“λ表示单位时间内到达的任务数”可知,处理task1的每小时内到达的任务数λ=20。 (4)从图7-14工作流模型图可知,处理task1对每个任务的平均服务时间为2.5分钟。由题干中给出的关键信息“μ表示该资源单位时间内能够完成的任务数”可知,处理task1的资源在单位时间内的。 (5)因此,处理task1的资源利用率。 处理task1的平均任务数。 处理task1的平均系统时间。 处理task1的平均等待时间。 (6)由题干中给出的关键信息“这20个任务首先经过处理task1,再经过处理task2”可知,处理task2的每小时内到达的任务数λ=20。 (7)从图7-14工作流模型图可知,处理task2对每个任务的平均服务时间为2分钟,因此处理task2的资源在单位时间内的。 (8)因此,处理task2的资源利用率。 处理task2的平均任务数。 处理task2的平均系统时间。 处理task2的平均等待时间
问答题
[问题4]
图7-14所给出的工作流模型的性能并不是最好的。实际上,对于工作流系统而言,同样的工作,同样的资源,采用不同的工作流设计,任务的平均等待时间也不尽相同。
若要在不改变资源利用率、任务的到达速率和平均处理时间(S-W)的情况下,降低平均完成时间。请给出修正后工作流模型(画图说明),并简要说明你对工作流模型进行修正时所遵循的基本原则。
【正确答案】
【答案解析】[问题4] 这是一道要求读者掌握工作流系统设计时应遵循哪些原则,以及应用这些原则进行模型修正的综合应用题。本试题的解答思路如下。 若要在不改变资源利用率ρ、任务的到达速率(单位时间内到达20个任务)和平均处理时间(S-W)的情况下,降低平均完成时间,在设计工作流系统时应遵循的原则如下: ①尽可能并行执行任务。并行处理能缩短完成时间; ②争取提高资源弹性。确保资源能够胜任尽可能多的任务。弹性资源的使用能够带来高水平的资源利用率和较短的完成时间; ③尽可能按照处理时间为序来处理任务。通常最好给处理时间短的任务比处理时间长的任务更高的优先级。 根据以上每一条设计原则,对如图7-14所示的工作流模型进行修正的方案如下。 修正方案①:使处理task1和task2并行执行,修正后工作流模型如图7-18所示。 修正方案②:采用提高资源弹性策略,即分别给处理task1和task2各自增加一个资源,以确保每个处理任务的资源能够胜任尽可能多的任务。修正后工作流模型如图7-19所示。 修正方案③:由题干中给出的关键信息“处理task1和处理task2相互独立”可知,处理task1和处理 task2之间不存在任务依赖关系,因此还可采用按照处理时间为序来修正工作流模型。从图7-14工作流模型图可知,处理task1对每个任务的平均服务时间为2.5分钟,处理task2对每个任务的平均服务时间为2分钟。所以可将处理task2安排在处理task1之前。修正后工作流模型如图7-20所示。