《工作流-内蒙古工业大学毕业设计书.doc》由会员分享,可在线阅读,更多相关《工作流-内蒙古工业大学毕业设计书.doc(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、内蒙古工业大学本科毕业设计说明书学校代码: 10128学 号: 040201068 本科毕业设计说明书题 目:基于c/s结构的简单工作流应用系统学生姓名:张志鑫学 院:信息工程学院系 别:计算机系专 业:计算机科学与技术班 级:计算机04-4指导教师:苏依拉 副教授钱庭荣 工程师二 八 年 六 月摘 要该系统为一个C/S(Client/Server)架构的网上订书系统,实现了对工作流的应用,解决了购书系统中存在的团队协作工作中遇到的一些问题,使得操作更加的简便和有序。该系统操作了Oracle数据库,通过JAVA语言实现了工作流的整体控制和实现过程。基于C/S架构,使得用户操作简便迅速,界面大量
2、的使用了JAVA中的GUI编程,实现了表现层。在系统中使用稳定性和可靠性良好的JDBC实现了数据的持久化,应用了工作流技术,使得实际应用过程中的群体协同工作能更好的配合实现。实现点对点的连接建立,所有交流记录的备份,系统实现了用户和管理人员之间的工作流转应用。本文主要完成了对整个工作流的概念的阐述,以及系统的介绍和开发过程的阐述。该系统包括用户和管理员两大模块,整个应用流程是以用户的下订单开始,并以管理员发货,用户收货作为工作流的结束。系统体现了一个简单的工作流转应用问题。本文主要分为项目意义及背景概况、相关技术及工具介绍、系统需求分析与详细设计几个部分,仔细的对系统进行了阐述。关键词:工作流
3、技术;C/S架构;工作流AbstractThe system is a C/S structure for the purchase,complete the work flow applications , solved the problem that team meet in the purchase system they encountered , making the operation more simply and orderly .The system operated the Oracle Database,achieve the control of work flow
4、and the process of achievement by language of JAVABased on C / S structure,users operate simply and quickly,to achieve the view a lot of interface used in the JAVA GUI programmingIn the system used the technology of JDBC that stability and reliability to save the data,used work flow technology,makin
5、g the process of application achieve better To build the connection from one to another,backup all of records,and the system had completed the application circulation between users and management of the workIn this paper,completed the whole concept of the work flow,introduce the system systematic an
6、d described development of the processThe system includes two modules users and administrators,the whole application process is start with user post the form, and administrator check the order,end the work flow with users receiving the goods System reflected a simple work flow applicationsThis paper
7、 is divided into the background and significance of the project profile,technology and equipment,systems analysis and design,work flow to achieve several partsDescribed the system carefullyKeywords: workflow technology ;workflow;C / S structure目 录引 言1第一章 项目意义及背景概况21.1 课题背景及意义21.2 工作流的概况31.2.1 工作流的定义
8、31.2.2 工作流的前景5第二章 相关技术及工具介绍62.1 技术介绍62.1.1 JAVA简介62.1.2 JDBC数据库持久层技术62.1.3 C/S架构72.2 工具介绍72.2.1 Eclipse开发工具简介72.2.2 Oracle数据库8第三章 系统需求分析123.1 需求分析123.1.1 前期调研123.1.2 用户模块133.1.3 管理员模块133.2 系统架构133.2.1 系统图133.2.2 系统用例图143.2.3 流程图153.3 持久化层设计153.3.1 数据库的整体设计163.3.2 数据字典表16第四章 系统的详细设计194.1 View层194.1.1
9、 视图层的设计194.1.2 视图层实现194.2 DAO层284.2.1 DAO层功能284.2.2 DAO层实现284.3 Service层284.3.1 Service层功能284.3.1 Service层实现294.4 Common层30结 论31参考文献32谢 辞33引 言随着信息化建设的加强,工作流软件正在得到更多的开发与应用,成为信息化应用过程中值得关注的一个方面。从工作流管理系统的基本组成结构看,工作流由流程建模工具、外部应用接口、任务管理工具、流程监控工具、组织建模工具、界面定义工具(电子表单工具)和内部核心引擎等组成。自20世纪90年代以来,工作流技术一直是计算机应用领域的
10、一个新热点。对工作流技术进行深入研究有助于提高企业的信息集成,及企业核心业务流程再造(BPR)的成功实施。详细分析研究了工作流的几个方面:工作流定义、工作流模型、工作流仿真、实现技术及分布式对象技术。目前工作流软件的应用还主要是集中在一些信息化成熟度相对较高的大型机构。目前,许多企业在产品设计过程中普遍存在着一些不利因素阻碍着产品开发,在产品设计过程中缺乏有效管理。有些企业虽然在产品设计过程中使用了CAD系统,但是所设计的文档是CAD系统打印出来的硬拷贝,这种纸质文档使得管理效率低下、安全可靠性差。另一方面是设计人员之间,以及设计人员与评审人员之间缺乏及时、有效的交流,互不了解工作进度,造成相
11、互等待的状况,也不能很好地进行知识交流与共享。甚至有些设计文档未经严格评审就提交给生产部门用于生产。工作流原理是针对工作中具有固定程序的常规活动而提出的一个概念,通过将工作活动分解定义良好的任务、角色、规则和过程来进行执行和监控,达到提高生产组织水平和工作效率的目的,工作流技术为企业更好地实现经营目标提供了先进的手段,工作流就是业务流程的计算机化或自动化。许多公司采用纸张表单,手工传递的方式,逐级审批签字,工作效率非常低下,对于统计报表功能则不能实现。而采用工作流软件,使用者只需在电脑上填写有关表单,会按照定义好的流程自动往下跑,下一级审批者将会收到相关资料,并可以根据需要修改、跟踪、管理、查
12、询、统计、打印等,大大提高了效率,实现了知识管理,提升了公司的核心竞争力。33第一章 项目意义及背景概况1.1 课题背景及意义课题的研究背景工作流起源于制造业与办公自动化领域,它是针对日常生活中具有固定程序的活动而提出的一个概念。目的是通过将工作分解成定义良好的任务和角色,按照一定的规则来执行这些任务并对他们进行监控,以提高办事效率,降低生产成本、提高企业生产经营管理水平和企业竞争力。根据工作流管理联盟(Workflow Management Coalition,简称WFMC)的定义:工作流是一类能够完全或者部分自动执行的经营过程,根据一系列过程规则,文档、信息或任务能够在不同的执行者之间传递
13、和执行。工作流技术发源于八十年代中期办公自动化领域的研究工作,但工作流思想的出现还应该更早,1968年Fritz Nordsieck就已经清楚地表达了利用信息技术实现工作流程自动化的想法。八十年代与工作流有关的研究工作包括:宾夕法尼亚大学沃顿学院的Michael D. Zisman开发的原型系统SCOOP,施乐帕洛阿尔托研究中心的Clarence A. Ellis和Gary J. Nutt等人开发的OfficeTalk系列试验系统,还有Anatol Holt和Paul Cashman开发的ARPANET上的“监控软件故障报告”程序。SCOOP、OfficeTalk和Anatol Holt开发的
14、系统都采用Petri网的某种变体进行流程建模12。其中SCOOP和OfficeTalk系统,不但标志着工作流技术的开始,而且也是最早的办公自动化系统。其发展加速是在80年代初期。当时,一些公司为了提高信息收集、处理、储存、应用、传递、共享的效率而建立了自己专用的或可商品化的表单传递应用系统(Forms-rooting Application),这些系统通常运行在大型机或小型机上,用于实现日常表单处理的电子化和自动化,这种系统可以看成是现代工作流管理系统的一个雏型。80年代中期,FileNet和ViewStar等图形图像处理公司率先开拓了工作流产品市场,成为最早的一批工作流产品供应商14。近年来
15、尽管桌面应用系统对个人的生产效率去世有了显著提高,但对群体的生产效率并无明显的同比效率。虽然群件系统的出现大大提高了群体的工作效率,但是它只解决了群体之间的沟通、合作问题,在群体协同工作的环境下,需要依靠某种特定技术和方法对业务运作再工程化,由此而提出了工作流程的概念,数据通信技术的发展为工作流技术提供了硬件基础,软件工程研究的深入以及软件技术的发展,为工作流技术的产生提供了直接动力。C/S结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Cli
16、ent/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。工作流所关注的问题是处理过程的自动化,它根据一系列定义的规则,把文档、信息或任务在参与者之间传递,以达到某种目的。是一个业务过程部分全部有计算机自动执行的技术,提供了把业务流程逻辑从具体IT工具的操作中分离出来的方法,并且还可以在以后把改变的流程逻辑规则添加进去。该系统进一步巩固了JAVA语言基础,使用eclip
17、se作为开发工具,学习并掌握了其使用方式。本系统由用户填写订单,提交订单开始一个工作流,由审核人员对订单进行审核和修改,再由预算人员对该订单进行价格的计算,发出预售通知,并以客户接受来结束此流程。系统方便了企业对整个工作流程的管理,使得工作更加的简便,提高了工作的效率。1.2 工作流的概况1.2.1 工作流的定义工作流技术的历史可以追溯到70年代末的办公自动化和任务批处理,操作系统中的JCL语言就带有原始的工作流思想。第一次使用工作流术语可以追溯到80年代初,但是那个时候还没有真正意义上的工作流管理系统出现。然而,以前的应用系统很难对工作流进行管理,设想一个流程的片段,一个支持任务A的应用激活
18、另一个支持任务B的应用,这意味着A必须知道B应用的存在,但是,应用流程是一成不变的,每当应用流程改变的时候,就要修改应用程序,这种情形显然是不可接受的,另外,这种类似的流程贯穿于多个应用之间,缺乏对这个工作流的监视和控制,因此需要有一个专门的工作流管理系统来定义、管理和执行工作流,它通过计算机表示的工作流逻辑来驱动各个应用系统有序的运行。进入九十年代,越来越多的组织机构开始认识到需要支持设计和执行因为处理过程的高级工具,业务过程问题成为目前信息开发中的突出问题。要求信息系统包含工作流管理系统来支持各种业务过程。根据工作流的发展历程可以看出,工作流管理的概念早在八十年代就已提出,由于计算机技术发
19、展的限制,一直未能得到充分发展,直到最近几年,随着计算机技术和网络技术的迅猛发展,以及伴随着市场竞争的加剧,企业对提高生产质量、缩短生产周期等的强烈要求,工作流成为企业界的研究领域的热门话题。工作流,其对应的英语有两个词:Workflow及Work2Flow。前者侧重于IT技术上的讨论,后者侧重于管理思想上的研究。总的来说,工作流就是工作的流动(Work flow),是工作项之间的传递或转移的动态过程。按照国际工作流管理委员会WFMC的定义,工作流:根据制定的规则集,部分或全部实现一个流程的自动化。在这个过程中,文档、信息、任务在参与者之间传递。而工作流管理是对这个动态过程的优化,它的具体内容
20、有企业管理过程的建模、管理模型的仿真、动态调整与重组、工作流的分布与执行、工作项的跟踪与控制等。对于一个单独的业务流程来说,其生命周期从几分钟到几天(甚至是几个月)不等,这主要是根据其复杂程度以及每一个成员活动的延续时间的长短来决定。同时,每个业务流程的实现方式也大不相同。有的流程在一个工作组范围内实现,有的流程却需要在整个企业范围内实现。工作流就是,“在一个工作群组中,为了达成某一个共同目的而需要多人协力以循序或平行工作的形式来共同完成的任务”。关于工作流的几个名词解释:任务:泛指各种事物上所必须执行的流程性工作。循序或平行:工作流动性是一个人接着一个人执行,或者同时由多人分开执行,或者上述
21、两种。工作:工作合并之后的混合性工作。多人:若是担任就可以完成的任务,则不能归类为流程工作。凡是一件工作必经由两个或者多人来协力完成的工作才成为流程工作。共同目的:多人参与的流程性工作,必须是以完成共同的目的为前提,如果一群人分别针对不同的专案来执行各别工作,并不算构成一个工作流程。架构一个工作流程,首先要定义出在一个群组工作的环境下,所需要执行或控管的事务性工作性质及其内容,根据所定义的工作内容,再将它分成许多子工作,或称为步骤。每个步骤都包含了在这个阶段所需要完成的项目清单,而且这些步骤内的项目应当是在逻辑上适合在同一步骤内完成的。任何一件流程工作都会有许多不同的方法来分解成许多子工作,而
22、如何切割一个流程工作,则要根据实际的情况来做判断;决定各个步骤需要那些专业背景的人员来执行;决定各个步骤在流程执行时的顺序;在执行的过程中,有些步骤的执行会因为某些条件不同而产生不同的结果,进而影响到下一个步骤的执行。所以我们必须要找出这些特定的步骤,并且将相关的执行状态条件定义清楚;将工作流程中的所有执行步骤及每个步骤之间的关系图画出来,并且根据这份关系图来验证流程的可行性。根据各个步骤的不同需求,分别建立各阶段所需要的表单,工作指令,文件等项目。在一般的组织活动中,有相当多数量的事务性工作可以被归类到流程性工作的范围里面,举例如下:采购单流程、贷款审核流程、员工绩效考核流程、工作报表呈报流
23、程、各类报表会签流程12。1.2.2 工作流的前景根据CMP公司的最新研究数据,截至2006年底,不考虑嵌入其他系统的工作流软件,中国独立的工作流软件市场规模为2.27亿元,较2005年同比增长了37.6%。从2002年的0.35亿元到2006年的2.27亿元,其间市场规模增长了5倍以上。虽然增长速度逐年下降,但是其增长速度仍然快于中国软件整体市场的平均增速。另外,如果考虑到嵌入到其他软件系统中的工作流软件,粗浅地估算,截至2006年,中国工作流软件整体市场的规模至少是独立工作流软件市场规模的3倍以上。如果将中国工作流软件市场划分为导入期、成长期、成熟期、衰退期几个阶段的话,目前,中国工作流软
24、件市场正处于成长中期。目前工作流产品需求仍然集中在成熟区域、规模用户市场。从2006年到2007年上半年的情况来看,中国工作流软件需求方面最明显的特征就是应用主要集中在部分规模用户市场。其用户主要集中在像政府、电信、金融、电力等相关行业,这些用户所占的比重已经超过了70%。华南、华东、华北三个传统的强势区域市场占据了85%的份额。也就是说,目前工作流软件的应用还主要是集中在一些信息化成熟度相对较高的大型机构。随着市场进一步成长,分析认为,在20072011年中仍将保持不断的增长趋势,不过增长速度将逐年有所下降。一方面,工作流软件市场的成长与成熟,将推动市场规模的增长;但从另外一方面来看,随着向
25、协同软件、流程管理软件以及应用软件的整合,独立的工作流软件市场规模将受到挤压,因而其增长也将受到限制。 第二章 相关技术及工具介绍2.1 技术介绍 2.1.1 JAVA简介(1)Java的特点在Java诞生时,世界上已有上千种不同的编程语言,而当时最为流行的是C+,由于C+是从C语言发展而来,它背负着沉重的包袱,不能做到完全面向对象。Java吸收了大量C+中的优秀特性,除去了那些模糊、复杂、容易出错的特性以及C和C+中影响程序健壮性的部分,如:指针,内存申请和释放等,并引入了很多独特的高级特性。首先,作为一种程序设计语言,Java是分布式的、面向对象的、不依赖于机器的结构,且具有可移植性、安全
26、性,并且提供了多线程并发的机制,以及动态下载程序代码的机制,而且还提供代码检验机制以保证安全性。其次,它最大限度地利用了网络,Java的applet可在网络上传输而不受CPU和环境的限制。另外,Java代码清晰合理、简明流畅,还提供了丰富的类库,使程序设计者可以很方便地建立自己的系统。总之,Java是一种编程语言、一种开发环境、一种应用环境、一种部署环境、一种广泛使用的网络编程语言,它是一种新的计算概念。在面向对象的程序设计(OOP)中,使用Java语言的继承性、封装性、多态性等面向对象的属性可以较好地实现信息的隐藏、对象的封装,从而降低程序的复杂性,实现代码的复用,提高开发速度10。(2)线
27、程的概念线程与进程相似,是一个执行的程序,是程序中单个顺序的流控制;但与进程不同的是,同类的多个线程(multithread)是共享一块内存空间和一组系统资源的,而线程本身的数据通常只有微处理器的寄存器数据,以及一个供程序执行时使用的堆栈。所以系统在产生一个线程,或者在各个线程之间切换时,负担要比进程小的多,正因为如此,线程被称为轻负荷进程(light-weight process)。一个进程中可以包含多个线程。Java程序通过流控制来执行程序流,程序中单个顺序的流控制称为线程,多线程则指的是在单个程序中可以同时运行多个不同的线程以执行不同的任务。很多人可能对于多任务有一定的了解,即计算机在看
28、上去几乎同一时间内运行着多个程序。而多线程的程序则在更接近于机器本身的基础上发展这一思想,这就是说单个程序内部也可以在同一时刻进行多种运算。很多程序语言需要利用外部的线程软件包来实现多线程,而在Java内支持多线程,它的所有类都是在多线程的思想下定义的。2.1.2 JDBC数据库持久层技术1996年,sun公司提出,一般认为是java database connectivity。JDBC TM(trademark)。避免数据库的不同,为程序开发人员访问数据库提供统一的编程接口,即为API。当前数据库的持久化主要有几种流行的技术,hibernate就是其中之一,他的使用是要比JDBC简单的多,但
29、是低层的实现仍然使用了JDBC技术,对JDBC 技术进行了轻量级的封装,虽然使用简单,便于理解,但是Hibernate技术仍存在一定的问题,对于特大型的企业,对数据的持久化要求非常严格的时候,仍然采取JDBC技术,因为JDBC有良好的稳定性。对于数据库的持久化JDBC是一个建议采用的技术。2.1.3 C/S架构客户/服务器(C/S)模式:是指由一个或多个客户和一个或多个服务与下层的操作系统和网络系统所形成的一种允许分布式计算、分析的复合系统。C/S结构具有以下优点:交互性强:在C/S中,客户端有一套完整的应用程序,在出错处理、在线帮助等有强大的功能,并且可以在子程序间自由切换。可靠性高:由C/
30、S采用的是点对点的结构模式,各种应用逻辑必须通过相应的前端应用程序来完成,系统安全性,可靠性强。事务数据处理能力强:由C/S模式下要由客户应用程序Client、服务器管理程序Serve中间件Middleware3个部件组成,在逻辑结构上比B/S少一层,对相同的任务,C/S完成的速度总比B/S快,这使得C/S处理大量信息的能力是B/S所无法比拟的,另外,C/S结构目前己经非常成熟,有大量的优秀开发工具支持。2.2 工具介绍2.2.1 Eclipse开发工具简介Eclipse最初是IBM公司的一个产品,2001年11月其1.0版本正式发布,面世之初,Eclipse还很不起眼,并饱受业界批评,到20
31、03年3月, Eclipse发布了它的2.1版本,立刻引起了轰动,下载的人蜂拥而至,导致它的下载服务器都因超载而堵塞了。现在IBM将投入巨资开发的Eclipse作为一个开源项目捐给了开源组织Eclipse.org。Eclipse出色而有独创性的平台特性,吸引了众多大公司加入到Eclipse平台的发展上来,包括HP, Oracle,Sybase,Borland,Rational Software等8。Eclipse的技术特征与优势:Eclipse是一种通用工具平台,普遍适用的开放式扩展IDE。它提供了功能丰富的开发环境,该环境允许开发者高效的创建一些能够无缝集成到Eclipse平台中的工具。Ec
32、lipse的设计思想是:一切皆为插件。Eclipse的核心非常小,其他所有的功能都是以插件的形式附加到这个Eclipse核心之上,这样的功能插件包括它的插件开发环境(简称PDE)等等,而且Eclipse还对这些插件的协同工作提供了良好的支持,不仅安装简单,而且可以无缝结合。Eclipse对这些插件是动态载入动态调用的,所谓动态就是Eclipse启动后要用到这个插件时,这个插件才会被调入内存的,当它不再使用后,它又会在适当的时候被清除内存。即使你安装了一大堆插件在Eclipse中,你也不会担心某些不用的插件白白占着内存。Eclipse有极为强大的集成开发环境,它集成了CVS,JUnit和Ant,
33、且其强大的代码重构功能独步江湖无人能及。因为Eclipse的安装包集成了java开发环境的插件JDK,所以Eclipse默认是一个Java的开发工具。但Eclipse不仅仅只是Java的开发工具,我们只需安装C/C+的插件(简称CDT),就可以把它当作一个C/C+开发工具来使用。只要有相应的插件,我们也可以用Eclipse来做其他语言的开发工具。Eclipse的插件扩展机制是其最突出的特点和优势,我们还可以利用Eclipse的插件开发环境(简称PDE)来开发自己的Eclipse插件,随我所需的扩展Eclipse的功能。Eclipse是开放源代码的软件。这意味着Eclipse不仅可以免费使用,还
34、可以通过研究源代码学习世界上顶尖开发人员的编程技术,并可以共享遍布全球的开发人员所贡献的公共开放源代码库。Eclipse是真正可扩展并可配置的。Eclipse采用插件机制,犹如一个花瓶,你可以随时向花瓶里面插花,也可以很容易将不再需要的花取出。Eclipse支持众多的开发语言而不仅仅是Java。Eclipse只是给开发人员提供了一个能够扩展系统功能的最小核心,基于扩展点的插件体系结构使得Eclipse支持多种语言成为可能。只要安装相应语言的插件,Eclipse就可以支持该种语言的开发。目前,Eclipse已经可以支持C、COBOL、PHP、Perl、Python等多种语言。Eclipse提供了
35、对多重平台特性的支持。开发者可以使用他们感觉最舒适、最熟悉的平台,例如Windows、Linux等。Eclipse对每个平台都有其单独的图形工具包,这使得应用程序具有接近本地操作系统的外观和更好的性能。2.2.2 Oracle数据库Oracle公司是全球最大的信息管理软件及服务供应商,成立于1977年,总部位于美国加州Redwood shore。Oracle已经是世界最大的应用软件供应商。Oracle电子商务套件涵盖了企业经营管理过程中的方方面面。Oracle应用产品包括财务、供应链、项目管理、人力资源和市场与销售等150多个模块,荣获多项世界大奖,现已被全球近7600多家企业所采用。ORAC
36、LE 是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合7。是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一。Oracle数据库10g是业界首个为网格计算而设计的数据库。较低的入门级定价使得Oracle成为大型企业、中小型企业和部门级的最佳选择,它有多种版本供用户选择:Oracle具有以下优势:(1)Oracle数据库高可用性通过扩大各个组织和团体中数据库应用的范围,数据库和互联网使得能够实现全球性的合作和信息共享。小公司和全球性大企业一样,在全世界范围内都有用户需要每天24小时地访问数据。如果不能保证这
37、种数据访问,就会损失收入和客户并受到惩罚,而且负面的新闻报道将对客户和公司的声誉有持续的影响。构建一个具有高可用性的IT基础架构对于希望在当今瞬息万变的经济环境立于不败之地并取得成功的企业而言至关重要。在设计容错和灵活IT基础架构时,很重要的一点就要考虑意外停机和计划停机时间。意外停机主要是由于计算机故障或数据故障引起的。计划停机主要是由于生产系统的数据改变或系统改变而引起的。故障保护:配置和验证Windows集群,并通过与微软集群服务器集成的高可用性软件快速准确地自动恢复Oracle数据库和应用系统。回闪查询:无需复杂、耗时的操作即可恢复更早版本的数据。回闪表、数据库和事务查询:诊断和撤销错
38、误操作,包括对单独一行所做的修改、由杂乱的事务导致的变化、对单个或多个表所做的修改(包括表的删除)以及对整个数据库所做的所有修改。数据卫士:自动维护生产数据库的多个远程备份副本;恢复从生产环境到备份数据库的处理。 (2)可伸缩性真正应用集群:跨多个相互连接或集群的服务器运行任意未做更改的打包或定制的应用系统。集成的集群件:利用一组通用、内置的集群服务创建和运行数据库集群。自动工作负载管理:将服务连接请求发送给拥有最低负载的适当服务器;一旦发生故障,自动将幸存的服务器重新分配以用于服务。Java和PL/SQL的本地编译:Java和PL/SQL语言编写部署在数据库中的程序。(3)安全性密码管理:利
39、用单一用户名和密码连接整个企业内的多个数据库。加密工具包:借助PL/SQL包加密和解密存储的数据。虚拟专用数据库:编写行级安全性程序;确保应用程序上下文的安全。细粒度审计:定义特定的审计策略,包括对错误数据的访问发出警告。(4)应用软件开发Java支持:更快地执行Java应用程序,集成现有的软件资产,将Java/J2EE应用程序连接到支持网格的数据库,通过Web服务支持非连接的客户,并将本地数据与远程和动态数据结合起来。HTML DB:借助快速Web应用系统开发工具,开发和部署快速、安全的应用系统。全面的XML支持:通过对W3C XML数据模型提供支持,使存储和检索XML本地化;使用标准访问方
40、法导航和查询XML。PL/SQL和JSP:用服务器端Java和存储的程序语言;使用SQL确保安全、方便和无缝。COM自动化、微软事务服务器/COM+集成、ODBC和OLE DB:支持多种Windows数据访问方法。(5)可管理性企业管理器:通过单一集成的控制台,基于Oracle产品系列管理和监控所有应用程序和系统。自动内存管理:自动管理Oracle数据库实例使用的共享内存。自动存储管理:跨所有可用资源分配I/O负载,并通过垂直集成的文件系统和卷管理器优化性能;消除人工I/O调优。自动撤消管理:监控所有Oracle系统的参数设置、安全设置、存储和文件空间条件的配置。 服务器管理的备份和恢复:借助
41、Oracle恢复管理器(RMAN)简化、自动化并提高备份及恢复性能。(6)数据仓储数据压缩:在不影响查询时间的情况下压缩保存在关系表中的数据;降低磁盘系统成本。Oracle分析函数:使用面向在线分析处理(OLAP)的内置分析工作空间。可移动的表空间,包括跨平台:将一组表空间从一个数据库转移到另一个数据库,或者从一个数据库转移到自身的其他位置。星形查询优化:加入一个事实表和大量维度表。(7)集成Oracle流:在一个数据库内或从一个数据库到另一个数据库的数据流中实现数据、事务和事件的传播与管理。高级队列:通过基于队列的发布订阅功能,使数据库队列能够充当持久的消息存储器。工作流:支持与完整的工作流
42、管理系统基于业务流程的集成。分布式查询/事务处理:在分布式数据库的两个或更多不同节点上查询或更新数据。(8)内容管理超级搜索:跨多个信息库搜索和定位数据,包括:Oracle数据库、遵循ODBC的数据库、IMAP邮件服务器、HTML文档、磁盘文件等。媒介物:开发、部署和管理包含具有最流行格式的媒体内容的传统、Web和无线应用系统文本:构建文本查询应用系统和文档分类应用系统。定位器:管理地理空间数据来利用地域商业价值。第三章 系统需求分析3.1 需求分析3.1.1 前期调研C/S (Client/Server,客户机/服务器)模式又称C/S结构,是软件系统体系结构的一种。C/S模式简单地讲就是基于
43、企业内部网络的应用系统。与B/S(Browser/Server,浏览器/服务器)模式相比,C/S模式的应用系统最大的好处是不依赖企业外网环境,即无论企业是否能够上网,都不影响应用。 通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出
44、新的应用系统。传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端,还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。C/S架构软件的优势。应用服务器运行数据负荷较轻。最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应
45、客户(已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立订单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。它是随着Internet技术的兴起,对C/S模式应用的扩展。在这种结构下,用户工作界面是通过IE浏览器来实现的。最大的缺点是对企业外网环境依赖性太强。基于以上的分析和调研,系统采用了C/S架构。
46、基于这种架构的系统,一般应用在采购单流程中,采购单流程、贷款审核流程、员工绩效考核流程、工作报表呈报流程、各类报表会签流程。设计是采购单流程的实现,在实际生活中有着广泛的应用,很好的协调了企业中工作的流转,有一定可应用性。下面是一个实际应用的工作流转应用系统的流程图。 图3-1 实际应用系统流程图该系统很好的体现了工作流的应用,流程的开始有用户开始,经过审查,决策,接受订单,负款,送货,存档完成了整个的工作流转。基于这些调研系统也完成了工作流转应用。3.1.2 用户模块对于简单的工作流系统来说,工作流以用户开始整个流程。用户模块要完成从数据库中查询用户完成用户的登录,注册,对订单的查询,订单明
47、细的查询,能够添加订单。由于系统基于C/S,要完成用GUI编写客户端界面,实现消息的点对点的发送。使用网络编程技术,实现客户端和服务器端的通讯。3.1.3 管理员模块任务1:对于用户提交的订单,要实现对订单的审核,从数据库中查出订单是否能够被接受,库存中是否有足够的存货,如果货源充足,做出接受用户的订单的决策,将任务状态改变,交给下一个任务处理;如果货源不充足,反馈给用户拒绝订单的修改意见。等待用户的再次修改订单。任务2:等待任务1完成后,接着对订单进行下一个流程的处理,要和用户核对信息,确定订单,通知用户即将出库,请用户接收。3.2 系统架构3.2.1 系统图该图体现了系统的主要思想和流程,图中表现出了流的概念,表现出了工作流的整体工作过程。图3-2 系统图3.2.2 系统用例图该用例图为用户用例图,用户可以实现注册、登录、查看订单、下订单。图3-3 用户用例图管理员1用例图体现了管理员具有的功能,可以进行登录,对订单进行审核处理。图3-4 管理员1用例图管理员2用例图体现了管理员具有的功能,可以进行登录,对订单进行出库处理。图3-5管理员2用例