面向工作流的软件工程.ppt

上传人:小飞机 文档编号:6148985 上传时间:2023-09-29 格式:PPT 页数:12 大小:330.47KB
返回 下载 相关 举报
面向工作流的软件工程.ppt_第1页
第1页 / 共12页
面向工作流的软件工程.ppt_第2页
第2页 / 共12页
面向工作流的软件工程.ppt_第3页
第3页 / 共12页
面向工作流的软件工程.ppt_第4页
第4页 / 共12页
面向工作流的软件工程.ppt_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《面向工作流的软件工程.ppt》由会员分享,可在线阅读,更多相关《面向工作流的软件工程.ppt(12页珍藏版)》请在三一办公上搜索。

1、面向工作流的软件工程,工作流,工作流(Workflow),是对工作流程及其各操作步骤之间业务规则的抽象、概括、描述。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务工作流管理系统(Workflow Management System,WfMS)的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理系统来实现。,工作流模型,根据 WfMC 工作流参考模型(Workflow Reference Model)的定义,工作流管理系统包括以下几个部分:流

2、程定义工具(Process Definition Tool),是创建流程定义的工具,通常作为工作流开发环境的一部分被提供。流程定义(Process Definition),是一个工作流从开始到结束除数据模型之外的所有必要信息,包括所有步骤(Step)以及步骤之间的流转(Transation)和步骤中的动作(Action)。工作流表现服务(Workflow Enactment Service),通常为工作流引擎(Workflow Engine),解释流程定义并为用户的工作列表添加工作项(Work Item)或者调用其他服务。,工作流相关数据和应用程序数据(Workflow Relevant Da

3、ta and Application Data),通常为数据模型。除此之外还有工作列表(Work Lists),工作列表处理程序和用户界面(Worklist Handler&User Interface),监控操作(Supervisory Operations),以及暴露和内涵的接口(Exposedand Embedded Interfaces),工作流-特点,图形化、可视化设计流程图 支持各种复杂流程 组织结构级处理者指定功能 B/S结构,纯浏览器应用 强大的安全性特色 表单功能强大,扩展便捷 灵活的外出、超时管理策略 处理过程可跟踪、管理 丰富的统计、查询、报表功能 与MAIL系统集成,工

4、作流与软件开发过程,WFMC(Workflow Management Coalition,工作流标准组织)对工作流(Workflow)的定义是:自动运作的业务过程的部分或整体,表现为参与者对文件、信息或任务按照规程采取行动,并令其在参与者之间传递。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。软件开发工作是工作流的一种。软件开发周期中,大概包括需求分析、需求文档设计、软件产品开发、软件产品测试、软件产品部署等步骤和流程,并且其中还有针对整个开发过程中对软件开发环节的项目管理工作。软件项目管理平衡软件开发过程中各种可能产生冲突的目标,管理风险,克服各种约束并成功交付符合用户满意度

5、的软件产品。软件项目管理的目标包括:为项目管理提供框架,为计划、人员配备、执行和监控项目提供实用的准则,为管理风险提供框架等。,软件开发周期中,与“工作流”的定义相对应的有如下几点:软件开发周期中,开发过程需要先进行客户需求定义,并将过程中包含的需求活动文档化,以描述过程的步骤、规则、信息等。对于开发过程中的人员参与,需要对项目团队中的设计人员和开发人员进行相应的培训,让每一个参与者都能掌握与过程相关的知识和技巧。整个软件开发过程必须有效执行并时刻进行监控,通过这种方法确保活动按照文档化的过程定义进行执行并确保最终目标的实现。,软件过程与工作流的结合,在软件工程的发展过程中,人们不断的总结软件

6、开发工作中的经验和教训,从中得到了许多新的开发模型,例如从瀑布开发模型到快速原型模型,之后发展出RUP(Rational Unified Process)迭代模型,这些开发模型的出现在一定程度上解决了软件开发过程的复杂性问题。使得软件过程与工作流很好地结合,需要首先考虑软件过程中的复杂性与工作流的易控性的相互平衡,这就要求在开发过程中不能完全采用迭代开发模型,而是要采用迭代模型和瀑布模型相结合的方法,从而生成一种简单的开发模型。,这种开发模型下的开发流程就是前文中所提到的:需求分析、概要设计、详细设计、编码、测试、部署。此流程中的每一个活动都由特定的参与者来执行,对应于不同的活动,这些参与者的

7、角色应当是:需求分析师、概要设计师、详细设计师、程序开发人员、测试工程师、项目经理。当这六种角色的前五种参与者执行完相应的活动之后,开发过程中相应的软件产品提交到项目经理处,由项目经理对已完成的任务进行评估和审核。基于软件过程的工作流是一种特殊的工作流管理系统,因为软件开发过程中的活动离不开各环节参与者的劳动和工作,不同的参与者之间不仅需要传递各种文档,而且还需要各种角色的参与者进行面对面的沟通和交流。正式因为这些因素和工作环节的需要,导致了软件开发过程并不是完全的按顺序执行。为了解决这个问题,就需要设定过程中大方向的流程按顺序执行,而每个活动的细节流程根据各自的实际情况,按照迭代方式执行。每

8、个活动在最后通过评审后,就表示该活动就已结束。,面向工作流的开发方法,从软件开发方法的历史发展进程来看,随着软件产品需求和功能越来越复杂、软件程序源代码量越来越多,开发模式从一开始的过程性的开发到面向数据结构的开发,再到面向对象的软件开发,我们总是极力地去改善软件的可理解性和可维护性。仔细想想,面向对象就是最终的软件开发方法学吗?如果不是,那又是什么呢?我们说面向对象开发在一定程度上改善了软件的可理解性,但还是不能在很大程度上改善其复杂性。面向对象软件的可理解性还是基于开发人员的水平,目前的软件开发还是需要专业的程序员才能做。,那么,我们的开发工作流目前是一个什么样的状况呢?目前的软件开发工作

9、流系统主要面向两个方面:一个是开发流程性业务时会用工作流,如办公自动化、财务报销流程、合同审核流程等;还有一个就是在把已经存在的各个业务系统中的业务集成中会用到。其实,软件程序开发的主要部分也是一种工作流,在开发语法中有“if else、while”流程控制语言。那么,我们是否也可以把程序的开发过程作为一种流程的定制过程呢?笔者认为应该是可以的。相对少的程序员开发一些公用的功能(甚至那些公用的功能也可以用图形化开发方式),然后我们在流程中设置业务过程。这时会发现我们不关心所用到的功能是哪个类的,我们只要把功能按类别分类,方便查找就可以了。我们的程序是图形化的,甚至我们的高端用户都可以加入到我们的开发流程中,我们的开发完全变成了画流程图。,其实这方面的工作国内已经有开发商在做尝试,BEA的开发思想中也包含了这种想法。有理由相信,在不久的将来我们的企业管理软件的开发将变得很简单,我们不需要把软件的开发分成概要设计、详细设计、编码、测试等阶段。我们在与用户沟通的过程中原型就出来了,这种原型就是软件产品。我们的软件开发人员将被解放出来跟用户沟通、分析用户的业务,变成行业或业务方面的专家。或许下一代的软件开发方法就是关于面向工作流的图形化软件开发。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号