《任务驱动的流程管理软件研发.docx》由会员分享,可在线阅读,更多相关《任务驱动的流程管理软件研发.docx(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、本科毕业论文(设计)题 目 : 任务驱动的流程管理软件研发 学 院 : 计算机与信息科学学院 专 业 : 软件工程 年 级 : 2007级学 号 : 2100姓 名 : 张博渊指 导 教 师 : 周彦辉成 绩 : 年 月 日 任务驱动的流程管理软件研发-任务驱动的流程模版技术张博渊西南大学 计算机与信息科学学院、软件学院,重庆 摘要:随着计算机网络,特别是Internet/Intranet 的迅猛发展和应用,计算机支持的分布式、协同工作的工作流系统(WFMS)在企、事业单位中的地位显得越来越重要。因此,现在很多机构、企业采用任务驱动的工作模式进行工作。 关键词:任务;流程; 引言 随着计算机网
2、络,特别是Internet/Intranet 的迅猛发展和应用,计算机支持的分布式、协同工作的工作流系统(WFMS)在企、事业单位中的地位显得越来越重要。因此,现在很多机构、企业采用任务驱动的工作模式进行工作。 基于工作流的概念,使企业内部人员方便快捷地共享信息,高效地协同工作;改变过去复杂、低效的手工办公方式,实现迅速、全方位的信息采集、信息处理,为企业的管理和决策提供科学的依据。一个企业实现办公自动化的程度也是衡量其实现现代化管理的标准。 任务驱动的流程管理软件系统开发的整体任务就是以Web技术实现任务驱动的流程管理的系统化、规范化、自动化和智能化,从而达到提高企业管理效率的目的,真正实现
3、根据流程安排人力、设备等相应资源,以及对在流程中产生的与工作相关的文档进行管理。 我们运用了java技术在Myeclipse下编写代码,制作系统。什么是Myeclipse呢?MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。它的版本 :1. 5.0版本 2. 6.XGA版本 3. MyEclipse8.0版本 4. Myeclipse 8.5版本 5. MyEclipse 8.6 M1版本MyEclipse企业级工作平台(MyEclipse Enterprise Wor
4、kbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。 编辑本段分类在结构上,MyEclipse的特征可以被分为7类: 1. JavaEE模型 2. WEB开发工具 3. EJB开发工具 4. 应用程序服务器的连接器 5. JavaEE项目部署服务 6. 数据库服务 7. MyEclipse
5、整合帮助 对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。 简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。 编辑本段版本5.0版本Genuitec发布了MyEclipse Enterprise Workbench 5.0,更智能、更快捷、更简单
6、和更便宜的J2EE工具的新版本的诞生。它的价格对于个人和企业开发人员来说都是非常有吸引力的。这是J2EE IDE市场一个重量级的选手。通过增加UML双向建模工具、WYSIWYG的JSP/Strutsdesigner、可视化的Hibernate/ORM工具、Spring和Web services支持,以及新的Oracle数据库开发,MyEclipse 5.0继续为业界提供全面的产品。 Genuitec 总裁Maher Masri 说,“今天,MyEclipse已经提供了意料之外的价值。其中的每个功能在市场上单独的价格都比MyEclipse要高。但是,我们承诺为顾客提供全面并且可以买得起的解决方案
7、。按照这个传统,我们的顾客将继续享受年度订购活动的好处,该活动提供了所有发布功能的入口以及伴随MyEclipse5.0一起的专业技术支持。”我在这个项目组中的工作是完成信息安全和角色管理的模块。主要是对系统本身和内部信息的保护和对使用此系统的用户进行一个细致的权限划分的工作。在我看来流程管理是当今社会发展的一种趋势。自从亚当middot;斯密在国富论中首次提出劳动分工的原理以来,这套商业规则指导企业的运行与发展长达两个多世纪。先是美国汽车业的先锋开拓者亨利middot;福特一世将劳动分工的概念应用到汽车制造上,并由此设计出世界上第一条汽车生产流水线,大规模生产从此成为人类历史上的现实。几乎与福
8、特同时代的通用汽车公司总裁艾尔弗雷德middot;斯隆在福特的基础上将劳动分工理论再次向前推进一步,斯隆实际上树起了劳动分工理论发展的第三个里程碑。福特根据劳动分工原理化解汽车装配工作,把它拆成一系列毫不复杂的任务,使每个工人的工作都简单易学。然而,人员协调和工人工作成果的组合过程却因此而变得复杂非常,管理方面显然跟不上高效率工厂系统的需求了。斯隆正是在此基础上,将劳动分工的理论应用到管理部门的专业人员之中,并使之与工人的劳动分工呈平行发展之势。有了这样完整的工人及管理人员的系统分工,汽车业才真正称得上“大规模生产”。在二十世纪即将结束的九十年代,这套劳动分工规则受到了挑战。大规模生产已越来越
9、多的被大量定制所替代。哈默与钱皮以思想家的口吻开始了对我们所处的时代的企业革命的描述:“一整套两个多世纪之前拟订的原则在19世纪和20世纪的岁月里对美国企业结构、管理和实绩起了塑造定型的作用。在这本书里(流程再造),我们说,现在应该淘汰这些原则,另订一套新规则了。对于美国公司来说,不这样做的另一条路是关门歇业。”这里,哈默与钱皮所说的新规则就是当今风靡全球的业务流程重组(BPR)。流程重组就是对企业的流程、组织结构、文化进行彻底的、急剧的重塑,实现企业形态由以职能为中心的职能导向型向以流程为中心的流程导向型的根本转变,以达到工作流程和生产率的最优化,实现绩效的飞跃。理论创立者哈默博士形象地阐释
10、为“打破鸡蛋才能做蛋卷”,并将其定义为“重新开始”。哈默与钱皮为“显著的进展”制定了一个目标,即“周转期缩短70%,成本降低40%,顾客满意度和企业收益增进40%,市场份额增长25%”。企业的流程再造绝非是缓和的、渐进的改善,而是要实现一跃千里的大步跨越。企业面临不断加剧的市场竞争,日益多样化的客户需求及更加复杂的技术服务市场迫切要求企业转变运营方式,以适应新的环境与竞争需要。但是由于急剧变化的流程重组忽略了人的因素或超越了企业实际,导致流程重组失败率高居不下,经过无数先贤的努力,目前流程优化、流程管理正以其稳健的特点获得越来越多的企业青睐。 ZHANG BoYuanSouthwest Chi
11、na Normal University, Chongqing , China1、 需求分析1.1、需求定义1)、系统以项目为单位进行管理,一个项目包括多个任务,每个任务包括多个步骤,能够自定义项目的工作流程(任务和步骤)。2)、系统以角色来管理用户,例如:系统管理员、项目主管、任务承担人、单位领导等。不同角色具有不同权限,系统管理员可以新建项目,项目主管可以首先确定项目的流程(自定义项目的任务、步骤、完成时间等),然后申请参与人员和资源需求等,任务承担人可以在系统中处理自己的工作,填写相应的任务文档、报告等。单位领导可以查看所有项目的进度、人员、资源的使用情况。3)、流程模版:在系统中应该预
12、定义一些常用项目的流程模版,能够复用已建立的流程模版。例如,一个项目建立了某种工作流程的模版,另外一个项目新建时可以直接套用。流程模版还应支持定义项目任务中所需要的文档,例如一个Word格式的报告、Excel格式的汇总表等。4)、资源分配与管理,人、设备、房间等都是项目的资源,一个单位的资源是有限的,只有在系统中登记的资源才是可用的。系统应能够在 时候自动检测存在时间冲突的资源或死锁,并建议可用的资源或可用的时间,帮助项目资源的调度。5)、文档与消息的流转处理:任务的执行往往表现为各任务(步骤)的相应的文档和消息的流转。例如在项目中,A完成任务后提交报告给B,B审核后提交报告给项目主管,项目主
13、管发现问题后返回给A,A重新进行处理。系统应能够检查任务完成情况,对超期的任务承担人进行催办。用户登录系统后应能够看到提醒、通知、催办等信息。6)、系统中应能够完成对各种信息必要的增、删、改、查功能。7)、系统各部分应该具有统一的风格。8)、系统应该实现为基于Web的应用,支持多人同时协作。1.2、需求用例描述1.2.1 用例图1) 单位领导用例图2) 系统管理员用例3) 项目主管用例图4) 任务承担人用例图2、 概要设计2.1 系统模块图2.2 系统包层次关系图2.3 系统实体类图关系图2.4 系统部署结构图3、 模块详细设计3.1 公共模块详细设计3.1.1 模块描述该模块主要给其他模块的
14、中的一些通用操作。包括模块功能菜单注册功能,分页查询功能,系统配置项的快速访问功能,依赖注入容器的的Helper类访问功能,以及其他的一些工具类,像 Xmltils、 PathHelper、 BeanUtils等。3.1.2 接口设计1)接口 com.wgcflysoft.core.menu.MenuManager 功能描述: 菜单管理器, 该接口定义了系统菜单管理的一些应有的功能,包括菜单项的注册、注销、查找功能等。2) 接口 com.wgcflysoft.core.grid.GridServiceFactory 功能描述: 分页查询服务工厂接口, 该接口定义了分页查询工厂应具备的基本功能。
15、 3) 接口 com.wgcflysoft.core.grid.GridService 功能描述: 带自审功能的分页查询服务接口, 该接口定义了分页查询服务实现应提供的方法接口。 4) 单例类 com.wgcflysoft.core.config.Configuration 功能描述: 该类实现了单例模式,整个系统中只有该类的一份实例存在,该类通过静态方法对外提供服务, 用户可通过该类访问系统中的一些常量和 settings.properties文件中配置的配置项。 3.1.3 结构设计 1) 系统菜单注册功能2) 分页查询3) 系统配置功能4) 依赖注入容器 Helper 类 3.2 安全模
16、块详细设计 3.2.1安全模块简述对于安全模块的设计,我参考了密码学与密匙管理的知识。密码系统的两个基本要素是加密算法和密钥管理。加密算法是一些公式和法则,它规定了明文和密文之间的变换方法。由于密码系统的反复使用,仅靠加密算法已难以保证信息的安全了。事实上,加密信息的安全可靠依赖于密钥系统,密钥是控制加密算法和解密算法的关键信息,它的产生、传输、存储等工作是十分重要的。 3.2.2安全模块的设计(1)使用密码的作用对于可存储,可传输的数据,进行封闭,密封处理的一种手段或技术。密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。(2)密码的种类明文和密文。(3)加密规则在这里,我们使用
17、的加密规则比较通用和简单高效:变明文为密文,称为加密变换;变密文为明文,称为脱密变换。(加密算法不对外公布)(4)密码设定规则【1】采用10位以上密码。对于一般情况下,8位密码是足够了,如一般的网络社区的密码、说是E-mail的密码。但是对于系统管理的密码,尤其是超级用户的密码最好要在10位以上,12位最佳。首先,8位密码居多,一般穷举工作的起始字典都使用6位字典或8位字典,10位或12位的字典不予考虑。其次,一个全码8位字典需要占去4G左右空间,10位或12位的全码字典更是天文数字,要是用一般台式机破解可能要到下个千年了,运用中型机破解还有有点希望的。再次,哪怕是一个12个字母的英文单词,也
18、足以让黑客望而却步。【2】使用不规则密码。对于有规律的密码,如:alb2c3d4e5f6,尽管是12位的,但是也是非常好破解的。因为现在这种密码很流行,字典更是多的满天飞,使用这种密码等于自杀。【3】不要选取显而易见的信息作为口令。单词、生日、纪念日、名字都不要作为密码的内容。以上就是密码设置的基本注意事项。密码设置好了,并不代表万事大吉,密码的正确使用和保存才是关键。要熟练输入密码,保证密码输人的速度要快。输人的很慢等于给别人看,还是熟练点好。不要将密码写下来。密码应当记在脑子里,千万别写出来。不要将密码存人计算机的文件中。不要让别人知道。不要在不同系统上使用同一密码。在输人密码时最好保证没
19、有任何人和监视系统的窥视。定期改变密码,最少半年一次。这点尤为重要,是密码安全问题的关键。永远不要对自己的密码过于自信,也许无意中就泄漏了密码。定期改变密码,会使密码被破解的可能性降到很低的程度。【4】多方密钥协商问题。当前已有的密钥协商协议包括双方密钥协商协议、双方非交互式的静态密钥协商协议、双方一轮密钥协商协议、双方可验证身份的密钥协商协议以及三方相对应类型的协议。如何设计多方密钥协商协议?存在多元线性函数(双线性对的推广)吗?如果存在,我们能够构造基于多元线性函数的一轮多方密钥协商协议。而且,这种函数如果存在的话,一定会有更多的密码学应用。然而,直到现在,在密码学中,这个问题还远远没有得
20、到解决。3.3角色权限详细设计3.3.1角色描述的设计1) 单位领导用例图在整个程序中,单位领导的职能仅仅是查看,不具有其他任何操作。2) 系统管理员用例在整个程序中,系统的管理员具有以下职能:【1】 对用户信息的增加,修改,和删除功能。【2】 对项目信息的增加,修改。【3】 对资源信息的及时更新和清理。备注:出于系统健全性的考虑,我们会将系统管理员的一切相关操作,记录并保存历史记录,单位领导随时查看。3) 项目主管用例图在整个程序中,项目主管的职能是对于一切个项目有关的人员,资源的配置。如:【1】 对于整个项目的时间长度的估算;【2】 对于进行该项目的人员配置。【3】 对也有个该项目的资源申
21、请,使用,和归还。【4】 在系统上分配项目任务。4) 任务承担人用例图在整个程序中,任务承担人的职能就是及时的查看,提交,一切有关项目的,资料信息。3.3.2角色权限的设计1)权限描述在整个系统中,我将分出2个工作域:1具有管理权限的管理域:Admin2具有执行权限的工作域:Work在Work域中我将分出3个组:1单位领导的查看组2项目主管的管理组3任务承担者的执行组2)权限的设计程序(例)固定数据库角色 描述db_owner 在数据库中有全部权限。db_accessadmin 可以添加或删除用户 ID。db_securityadmin 可以管理全部权限、对象所有权、角色和角色成员资格。db_
22、ddladmin可以发出 ALL DDL,但不能发出 GRANT、REVOKE 或 DENY 语句。db_backupoperator 可以发出 DBCC、CHECKPOINT 和 BACKUP 语句。db_datareader 可以选择数据库内任何用户表中的所有数据。db_datawriter可以更改数据库内任何用户表中的所有数据。db_denydatareader不能选择数据库内任何用户表中的任何数据。db_denydatawriter不能更改数据库内任何用户表中的任何数据。可以从 sp_helpdbfixedrole 获得固定数据库角色的列表,可以从 sp_dbfixedroleperm
23、ission 获得每个角色的特定权限。数据库中的每个用户都属于 public 数据库角色。如果想让数据库中的每个用户都能有某个特定的权限,则将该权限指派给 public 角色。如果没有给用户专门授予对某个对象的权限,他们就使用指派给 public 角色的权限。结语 通过这次的项目经历我了解到,流程管理的几个好处1、职能的统一和集中(即使是大型企业也要机构不重叠、业务不重复);2、 职能的合并(凡是一个部门或一个人管理的业务,就不设多个部门或多个人去管理);3、职能的转换(领导职能更主要的是提供服务);4、部分职能的社会化(有利于整个社会资源的整合和优化)。因此,实施流程管理对企业管理的作用是多
24、方面的。为了便于你们在企业宣传和动员,我简单地从企业不同层次员工的角度谈一谈流程管理的作用:对企业负责人而言:不用担心有令不行、执行不力;对中层干部而言:不用事事请示、不再受夹板气;对基层员工而言:掌握了正确做事的方法,不用再背黑锅。用一句话来说,那就是流程管理让一切工作变得更简单。 企业通过实施流程管理,让所有的员工懂得:企业的所有事务工作分别由谁做、怎么做以及如何做好的标准清楚明了、一目了然。由于职责清楚、责任分明,将大大提高企业的市场反应能力和竞争能力。流程管理消除了部门壁垒、消除了职务空白地带,并且由于全体员工潜能的释放和积极性的发挥,将大大提高企业的整体运行效率和效益,也将大大增强企业的核心竞争力。一言以蔽之,流程管理就是消除人浮于事、扯皮推诿、职责不清、执行不力的固疾,从而达到企业运行有序、效率提高的目的。参考文献 1信息技术研究中心.网络信息安全新技术与标准规范实用手册M.第1版.北京:电子信息出版社.2004 2周学广、刘艺.信息安全学M.第1版.北京:机械工业出版社.2003 3陈月波.网络信息安全M.第1版.武汉:武汉工业大学出版社.2005 4宁蒙.网络信息安全与防范技术M.第1版.南京:东南大学出版社.2005