基于WEB架构的简单流程管理系统设计.docx
- 文档编号:30413635
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:16
- 大小:82.25KB
基于WEB架构的简单流程管理系统设计.docx
《基于WEB架构的简单流程管理系统设计.docx》由会员分享,可在线阅读,更多相关《基于WEB架构的简单流程管理系统设计.docx(16页珍藏版)》请在冰豆网上搜索。
基于WEB架构的简单流程管理系统设计
哈尔滨工业大学
国家示范性软件学院
本科毕业设计(论文)开题报告
题目:
基于B/S架构的通用简单流程管理系统
专业软件工程
学生姓名
联系方式
年级
实习基地中兴软件技术(南昌)有限公司
基地指导教师
联系方式
校内指导教师
联系方式
开题日期2005-11-20
哈尔滨工业大学软件学院
目 录
1.项目来源及开发目的和意义1
1.1项目背景及来源1
1.2项目的目的和意义2
1.3国内外相关产品的发展现状3
2.开发内容和系统的总体设计4
2.1通用简单的流程管理的可实现性4
2.2系统的基本功能4
2.3数据库的设计5
2.4总体设计及所用技术6
3.进度安排,目标及其他6
3.1为完成项目已具备的条件和所需经费6
3.2项目参与人员以及分工6
3.3项目的目标6
3.4项目的进度计划7
3.5可能遇到的困难7
4.参考文献8
附图1:
数据库设计概念模型9
附录1:
哈尔滨工业大学毕业设计(论文)任务书10
附录2:
本科毕业设计(论文)开题审查意见表12
1.项目来源及开发目的和意义
1.1项目背景及来源
流程(process)的定义是:
一个或一系列有规律的行动,这些行动以确定的方式发生或执行,导致特定结果的出现——单个或一系列连续的操作。
简单地说,流程就是将输入转化为输出的一系列活动。
流程具有三个基本要素:
输入、活动和输出。
输入情况会影响输出情况,输出的是令客户满意的方式,输出的时间要尽可能的越短越好[1]。
综上,最常见的“流程”存在于企业中。
一个企业所作的几乎所有的事情都可以算作是一个流程,流程是单个的或者一组的活动,获取输入,再向内部或外部用户提供输出。
无论公司大小,它每天都在用流程向外提供产品和服务。
本项目主要探讨简单流程管理的实现。
简单的流程管理的对象是简单的流程。
一个简单的流程有确定的开始提供输入,确定的结束提供输出,一组角色操作这个流程来从输入转化为输出,由一系列互相联系的活动构成。
简单的流程关注一个确定的处理对象。
如“Bug”,“请假单”,“票据”等,活动可以看作是这个确定的处理对象的某一个状态。
对象的状态根据活动之间的关联在各个状态之间转化。
如上说述业务流程的计算机化或自动化也可称作是工作流管理。
完整的工作流管理系统要比本项目所实现的流程管理要复杂一些。
本项目局限了流程活动间状态转换的方式,简化了一些功能,因此称之为简单的流程管理。
一些简单流程管理的例子:
图1-1 某公司请假审批流程
图1.2 一种Bug管理流程
本项目即来源于中兴软件技术内部项目《Bug管理系统》。
原项目被设计为可以由用户自定义Bug管理的流程,以适应不同项目组的规模及需求。
因此原项目的设计要求充分灵活以实现流程的可定制。
但我认为原项目的设计仍然没有充分放开,仍然拘泥于“Bug管理”这一特殊的流程管理而没有抽象到更高的程度。
因此我重新设计了这一套可以通用的简单流程管理系统。
经过用户定制,这套系统可以完成原Bug管理系统的功能,并且可以作为其他场合的简单流程管理系统使用。
1.2项目的目的和意义
流程管理常见而重要。
首先,在企业方面,公司的产品和服务都要靠流程来体现,因此流程管理和流程控制是公司整体功能中最重要的部分。
流程是连接企业生产和客户需求的纽带。
流程的好坏和产品,服务的质量有直接的关系。
流程控制的好坏是衡量公司管理水平的标准之一。
流程管理也可以加强公司各部门之间的协作。
公司在具体事务的运作上,不可避免的要涉及到员工与员工之间、部门与部门之间的协同配合。
在企业中很常见的问题就是各部门之间职责重叠,职责不清,互相推诿。
有效的流程管理可以解决这些问题。
虽然流程管理最常见于企业之中,流程的思想在其他方面都有应用。
如在软件质量管理中常见的Bug管理就是一种典型的流程管理。
在其他场合,一些有着确定步骤的处理过程也可以表达为流程管理。
综上所述,随处可见的简单的流程管理,无论应用在何处,都有很大的共同点。
经过计算机科学的抽象,完全可以制作出一个花费小,功能精炼的通用简单流程系统。
制作这一套系统是可行的且有必要的。
本项目的意义在于:
1)它采用B/S结构开发,对客户端要求少,容易在企业中部署。
2)它的功能精炼,易用,灵活。
适合于中小企业的流程管理,也方便企业优化流程。
3)它的设计开放,易扩展。
通过简单的二次开发可以方便的与企业的现有系统融合。
4)它采用业界流行的开源框架设计开发,成本低,费用小。
5)本项目和国内正在逐步兴起的大型工作流管理系统的基本功能很接近,企业可以利用它引进工作流的思想,逐步改造业务流程。
虽然本项目并不是真正的工作流管理系统。
但基本的工作流管理系统应有的工作流设计,工作流控制,工作流交互功能在系统中都有体现,也可以说是一套简化了的工作流管理系统。
1.3国内外相关产品的发展现状
目前,企业流程管理在国内方兴未艾,有很多咨询公司和IT厂商开始涉足这一领域。
西方新兴的“企业流程再造”的思想也在慢慢渗透进国内的各大企业。
利用计算机软件产品进行企业的流程管理是一个必然的趋势,国内很多公司都在为企业定制流程管理软件。
虽然这些流程管理软件在之前经过了仔细的调研,但这样费用过大,开发周期长,且成品不够灵活,一旦企业流程有了变化,软件不能及时的适应。
而对于一些中小企业,需要的往往是简单,灵活的流程管理。
国内许多ERP系统自带有定制的流程管理。
但通常这些流程被写死在系统当中,不灵活,不可定制。
ERP系统的开发费用昂贵,部署困难,成功率低。
并不适合中小企业使用。
企业的流程管理系统通常表现为工作流管理系统。
国内许多厂商如上海东兰科技等都在开发,部署自己的工作流管理系统。
这些系统多半是C/S架构和B/S架构混合设计,开发成本较大。
国外相关产品如IBM的LotusNotes是一套成功的办公自动化平台,在许多软件企业都有应用,但仍然有笨重,昂贵的缺点。
2.开发内容和系统的总体设计
2.1通用简单的流程管理的可实现性
综上所述,简单的流程管理在很多场合都有应用。
尤其对于中小企业,大型,重型的流程管理系统并不适合,这些企业真正需要的是轻型,费用小,且可以灵活定制的流程管理系统。
因此,这里我们要尝试制作一个符合如上要求的流程管理系统。
从之前的例子可以看出,流程管理有其在形式上的一致性。
即都有确定的开始和结束状态,状态之间有确定的转化。
因此,流程可以抽象为数据结构中的有向图来考虑。
对于一个有向连通图,定义一个确定的节点为起始节点,一个不同的确定的节点为终止节点。
除起始节点外,其它节点的入度都大于1;除终止节点外,其它节点的出度都大于1。
从起始节点到终止节点的若干条路必定最终会走过图的所有节点。
符合这些条件的图,就是一个流程的抽象表示。
图的节点即为流程的状态(活动),图的有向边即为状态之间的转化关系。
有若干个可以应用于图上的事物,事物可以处于图的节点所表示的有限个状态之一。
称这些事物为流程对象。
有若干个角色关注这个图。
每个角色关注图上不同的一些有向边。
每个角色可以看到处于自己关注的有向边所连接的两个节点所表示的状态的流程对象,且可以将这些流程对象的状态沿着有向边改变为另一个状态。
若在所有角色的共同合作下,可以将一个处于起始状态的流程对象的状态,改变为终止状态,则这个流程对象就走完了整个流程,整个过程就是一次流程管理。
综上,我们可以完全从抽象的角度查看简单的流程管理。
这样,流程的存储,操作均可以由计算机编程来自动化实现,这套系统是可行的。
2.2系统的基本功能
整个系统分为流程的定义维护和流程的管理实现两大块功能。
其功能细节如下:
流程定义部分:
1)流程基本信息的修改和创建
2)流程对象属性的修改、创建、删除
3)流程状态的修改、创建、删除
4)流程线的修改、创建、删除
5)流程的删除
6)角色信息的创建和修改
7)角色权限信息的编辑
8)角色信息的删除
9)用户信息的创建和修改
10)用户信息的删除
流程运行部分:
1)登陆
2)修改基本信息
3)流程对象的创建
4)流程对象列表的查看
5)流程对象的删除
6)流程对象状态的改变
7)流程对象详细信息的查看与修改
2.3数据库的设计
由于本系统是一套通用的流程系统。
数据库的设计不会拘泥于任何已经有的流程管理模式。
也就是说。
我们需要设计一套完全灵活,可以适应于大多数场合的数据库。
在2.1中已经分析过系统的可行性。
可以将系统存储为一个有向图,设计数据库来完成流程运转的算法,尽量少考虑业务上的逻辑,这样设计出的系统是最通用的。
数据库设计的概念模型参见附图1。
表flow存放一个流程的最基础信息,主要包括流程名称,流程对象的名称。
表flow_state存放流程的一个活动,也即流程对象的一个状态。
抽象的说,flow_states存放有向图的一个节点。
这个表包括流程状态的名称。
表flow_line存放一个流程线,即流程活动之间的转换关系。
抽象的说,flow_line存放有向图的一个边。
flow、flow_state、flow_line构成了流程,也即一个有向图的基本信息。
object_property定义了流程对象所可能有的属性。
flow、flow_state、flow_line、object_property的数据是在流程的定义阶段生成的。
这些数据将在之后的流程控制和交互阶段影响整个系统的运作。
表flow_object存放了每一个在流程中的流程对象的当前状态。
主要包括对象名称和对象当前状态。
系统按照之前已有的定义,按照规则和用户的操作,逐步改变对象的状态,完成流程管理的职责。
表object_value存放了流程对象所具有的属性值。
每一个属性在object_propety表中都有过定义。
表role、user构成了权限系统,存储了操作流程的角色信息和它们的权限。
以上这些构成了一个通用流程的所有必要元素,有这些数据表的支持,这个系统就可以工作了。
另外,表history存放了对象的状态转化历史。
主要有状态转化的执行人,被转化的对象,目的状态。
2.4总体设计及所用技术
系统采用B/S架构,所有的功能在浏览器中呈现。
采用Java技术。
项目将运行在Tomcat服务器下。
前台表现层使用JSP实现,配合Spring的WebMVC框架。
业务层采用轻量级的SpringIoC容器。
采用Hibernate作为持久层。
采用MySQL作为数据库。
这一套方案是完全开源,免费的。
Spring是一个轻量级的,强大的应用程序框架,提供了许多开始一个应用程序所必要的元素。
Hibernate是一个成熟的持久层框架,使用它可以很好的分离业务逻辑和底层数据库的操作逻辑,提高开发效率。
而MySQL同样是一套优秀的,已经应用于很多场合的数据库系统。
利用以上这些技术,我们的系统就可以是低成本的,灵活的。
而Spring和Hibernate的搭配使用也可以让我们灵活的应变可能的需求变更。
3.进度安排,目标及其他
3.1为完成项目已具备的条件和所需经费
如本报告所述,项目已经完成的工作有计算机模型的建立,需求分析和数据库设计。
技术方面,由于在之前的项目中已经应用了大量Hibernate框架的内容,因此我对这部分比较熟悉。
对于Spring框架相对比较陌生,需要一段时间来熟悉。
开发中所使用的计算机、正版软件、必要的资料完全由中兴软件技术(南昌)有限公司提供。
3.2项目参与人员以及分工
这个项目由我提出,是由另一个合作项目Bug管理系统生发而来。
原项目设计为可以自定义Bug的处理流程,由此想到做出一个通用的流程系统。
但即使如此,原项目的设计已经与Bug处理的流程紧密耦合在一起,无法做成通用系统,因此可以说这是一套全新的系统,基本上将由本人独立完成。
3.3项目的目标
由于项目参与人员有限,项目的需求已被缩小到最少。
项目的目标大致有两个:
业务上,体现出通用流程的思想,制作一套可用的管理系统;技术上,充分发掘Spring和Hibernate框架的优势,做一套高质量,易扩展的Web应用系统。
项目的最低目标是完成以上的各项需求。
视时间,一些可以扩展的功能设想如下:
●流程定义部分,采用直观的图形化的方式提供给管理员。
管理员可以像画图一样,定义出一个完整的流程。
●设计定义一套接口使得系统可以与其他企业的既有系统联合,使得系统可以成为企业的一个简单流程管理组件。
这主要体现在数据库上的联合。
3.4项目的进度计划
开始时间
进行项目
预计时间
2005-11-28
学习Spring框架的相关知识
2周
2005-11-12
系统的总体设计和详细设计
3周
2005-1-2
系统的界面设计
1周
2005-1-9
系统的编码
4周
2005-2-6
系统的测试和完善
2周
表3-1 项目的进度计划
预计14周完成。
进度中没有考虑到休息日,期间包括各种文档的编写。
若项目在进度期内顺利进行,可以考虑完成一些扩展的功能。
3.5可能遇到的困难
Spring框架尽管是轻量级的,但是它很庞大,其中体现出的设计思想是很复杂的。
因此完全的理解好Spring框架,利用它做出良好的应用程序并不容易。
在制作中,我计划多参考一些成功的Spring案例,认真揣摩学习。
本系统的目标是可以真正实用,又要做到通用,这需要很多的权衡,取舍。
由此在之后的开发过程中。
现有的一些设计,需求分析可能要几经修改。
即使是在公司项目中,这样的现象也是很常见或者几乎无法避免的。
因此,从最开始的设计中,要考虑好今后的扩展。
4.
参考文献
1.佚名.《公司流程管理》.
2.陈志坚.《什么是流程再造》.
3.中兴软件项目内部文档.《Bug管理系统需求说明书》.2005年11月
4.上海东兰科技.《LiveFlow产品特色》.2005年9月
5.蒋明炜等.《工作流管理与ERP应用》.《中国计算机报》.2005年4月
6.上海东兰科技.《什么是工作流》.2005年9月.
7.Hibernate3发行包.《HibernateReference》.2005年5月
8.夏昕.《Spring开发指南》.2004年10月
9.RodJohnson. 《J2EEDesignandDevelopmentWithoutEJB》.电子工业出版社.JavaEye译.2005年9月第一版
10.SpringFramework发行包.《SpringReference》.2005年9月
11.JohnsonVlissides.《DesignPatterns》.机械工业出版.2005年5月
附图1:
数据库设计概念模型
附录1:
哈尔滨工业大学毕业设计(论文)任务书
姓名:
YYY院(系):
软件学院
专业:
软件工程班号:
任务起止日期:
2005年11月28日至2006年5月31日
毕业设计(论文)题目:
B/S架构下通用简单流程管理系统的实现
立题的目的和意义:
流程管理常见而重要。
首先,在企业方面,公司的产品和服务都要靠流程来体现,因此流程管理和流程控制是公司整体功能中最重要的部分。
流程是连接企业生产和客户需求的纽带。
流程的好坏和产品,服务的质量有直接的关系。
流程控制的好坏是衡量公司管理水平的标准之一。
流程管理也可以加强公司各部门之间的协作。
公司在具体事务的运作上,不可避免的要涉及到员工与员工之间、部门与部门之间的协同配合。
在企业中很常见的问题就是各部门之间职责重叠,职责不清,互相推诿。
有效的流程管理可以解决这些问题。
虽然流程管理最常见于企业之中,流程的思想在其他方面都有应用。
如在软件质量管理中常见的Bug管理就是一种典型的流程管理。
在其他场合,一些有着确定步骤的处理过程也可以表达为流程管理。
综上所述,随处可见的简单的流程管理,无论应用在何处,都有很大的共同点。
经过计算机科学的抽象,完全可以制作出一个花费小,功能精炼的通用简单流程系统。
制作这一套系统是可行的且有必要的。
本项目的意义在于:
1)它采用B/S结构开发,对客户端要求少,容易在企业中部署。
2)它的功能精炼,易用,灵活。
适合于中小企业的流程管理,也方便企业优化流程。
3)它的设计开放,易扩展。
通过简单的二次开发可以方便的与企业的现有系统融合。
4)它采用业界流行的开源框架设计开发,成本低,费用小。
5)本项目和国内正在逐步兴起的大型工作流管理系统的基本功能很接近,企业可以利用它引进工作流的思想,逐步改造业务流程。
虽然本项目并不是真正的工作流管理系统。
但基本的工作流管理系统应有的工作流设计,工作流控制,工作流交互功能在系统中都有体现,也可以说是一套简化了的工作流管理系统。
技术要求和主要内容:
系统采用B/S架构,所有的功能在浏览器中呈现。
采用Java技术。
项目将运行在Tomcat服务器下。
前台表现层使用JSP实现,配合Spring的WebMVC框架。
业务层采用轻量级的SpringIoC容器。
采用Hibernate作为持久层。
采用MySQL作为数据库。
整个系统分为流程的定义维护和流程的管理实现两大块功能。
其功能细节如下:
流程定义部分:
1)流程基本信息的修改和创建
2)流程对象属性的修改、创建、删除
3)流程状态的修改、创建、删除
4)流程线的修改、创建、删除
5)流程的删除
6)角色信息的创建和修改
7)角色权限信息的编辑
8)角色信息的删除
9)用户信息的创建和修改
10)用户信息的删除
流程运行部分:
1)登陆
2)修改基本信息
3)流程对象的创建
4)流程对象列表的查看
5)流程对象的删除
6)流程对象状态的改变
7)流程对象详细信息的查看与修改
进度安排:
开始时间
进行项目
预计时间
2005-11-28
学习Spring框架的相关知识
2周
2005-11-12
系统的总体设计和详细设计
3周
2005-1-2
系统的界面设计
1周
2005-1-9
系统的编码
4周
2005-2-6
系统的测试和完善
2周
同组设计者及分工:
XXX:
指导,监督项目进展情况,帮助项目的提出,需求的定义和数据库的设计。
YYY:
项目整体的设计,编码,测试和实施,文档编写。
指导教师意见:
签名:
年月日
教研室主任意见:
签名:
年月日
附录2:
本科毕业设计(论文)开题审查意见表
基地指导教师意见(需写具体内容)
YYY同学的毕业设计选题较有创意,课题来源于实际的项目,又脱离于具体问题之上,具有很高的研究价值。
该同学在开题之前做了较充分的准备,项目需求明确,进度安排合理,开题报告书写较规范。
同意开题。
签字:
XXX
2005年12月2日
校内指导教师意见(需写具体内容)
签字:
年月日
开题审查小组审查意见
评委签字:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 WEB 架构 简单 流程 管理 系统 设计