1、4.2 工作流程图 134.2数据字典 144.2.1数据项 144.2.2数据存储与数据流图 144.3 Spring数据源配置 16第五章 系统详细设计与实现 185.1系统登录模块 185.2主页面 185.3我的面板 195.4在线办公 195.5 内容管理 205.6 系统设置 20第六章 系统测试及运行维护 226.1系统测试 226.1.1测试过程 226.1.2测试目的 226.1.3测试方法和工具 226.2系统运行 236.3系统维护 23参考文献 24致谢 25二级学院教师工作流系统的设计与实现第一章 绪论1.1 选题背景随着企业规模的扩大,对于企业的资源管理、信息的存储
2、和处理也显得迫切需要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快企业的信息化进程是必然选择。本课题是在SSH(Struts+Spring+Hibernate)多层架构的技术基础上设计和实现了办公自动化OA管理系统,可以把企业的各种相关信息,按企业管理信息化的思想进行系统高度集成,便于决策部门随时掌握各种相关信息,最大限度地提高企业的核心竞争力。本文从办公自动化OA管理系统的总体框架设计出发,较为系统的论述了办公自动化OA管理系统多层架构的理论和实现方法,并围绕办公自动化OA管理系统的通用性和可扩展性,对系统的搭建做了细致的阐述,在此,必须引入一种最佳的框架技术作为可行的解决方案。1
3、.2 办公自动化的意义办公自动化(Office Automation,简称OA)是将现代化办公和计算机网络功能结合起来的一种新型的办公方式。办公自动化没有统一的定义,凡是在传统的办公室中采用各种新技术、新机器、新设备从事办公业务,都属于办公自动化的领域。在行政机关中,大都把办公自动化叫做电子政务,企事业单位就大都叫OA,即办公自动化。通过实现办公自动化,或者说实现数字化办公,可以优化现有的管理组织结构,调整管理体制,在提高效率的基础上,增加协同办公能力,强化决策的一致性,最后实现提高决策效能的目的。第二章 SSH技术架构2.1 相关工具介绍2.1.1 MyEclipseMyEclipse企业级
4、工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts、 JSF、CSS、Javascript、SQL和Hibernate。简单而言,MyEclipse是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错,大大简化了复杂Java/JSP应用的开发。2.1.2 TomcatTomcat是一个开放源
5、代码、运行servlet和JSP Web应用软件的基于Java的Web应用软件容器。它是Apache软件基金会(Apache Software Foundation)的一个顶级项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技术的标准实现,是基于Apache许可证下开发的自由软件。Tomcat是完全重写的Servlet API 2.2和JSP 1.1兼容的Servlet/JSP容器。Tomcat使用了J
6、Serv的一些代码,特别是Apache服务适配器。随着Catalina Servlet引擎的出现,Tomcat第四版号的性能得到提升,使得它成为一个值得考虑的Servlet/JSP容器,因此目前许多WEB服务器都是采用Tomcat。Tomcat 6支持最新的Servlet 2.5和JSP 2.1规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱,并得到了部分软件开发商的认可,成为目前比较流行的Web服务器。2.1.3 MySQLMySQL是最受欢迎的开源SQL数据库管理系统,它由MySQLAB开发、发布和支持。MySQL是MySQLAB的注册商标。MySQL是一个
7、快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。MySQL是开源的,开源意味着任何人都可以使用和修改该软件,任何人都可以从Internet上下载和使用MySQL而不需要支付任何费用。如果你愿意,你可以研究其源代码,并根据你的需要修改它。MySQL服务器是一个快的、可靠的和易于使用的数据库服务器。MySQL服务器还包含了一个由用户紧密合作开发的实用特性集。MySQL服务器原本就是开发比已存在的数据库更快的用于处理大的数据库的解决方案,并且已经成功用于高苛刻生产环境多年。尽管M
8、ySQL仍在开发中,但它已经提供一个丰富和极其有用的功能集。它的连接性、速度和安全性使MySQL非常适合访问在Internet上的数据库。 MySQL服务器工作在客户/服务器或嵌入系统中 MySQL数据库服务器是一个客户/服务器系统,它由多线程SQL服务器组成,支持不同的后端、多个不同的客户程序和库、管理工具和广泛的应用程序接口(APIs)。MySQL也可以是一个嵌入的多线程库,你可以把它连接到你的应用中而得到一个小、快且易于管理的产品。2.1.4 JSPJSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP
9、技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP与Java Servlet一样,是
10、在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务
11、器端语言。2.2 MVC模式MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和但有可能为XHTML、XML和 Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(M
12、odel)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC设计模式告诉我们,
13、把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。这点对编程的开发人员非常重要。业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据保存(持续化)。比如将一张采购单保存到数据库,从数据库获取采购单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模中。控制(Controller)可以理解为从用户接收
14、请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化
15、通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能如下图所示。 图1:MVC结构2.3 Spring技术Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,如图所 g示: 组成Spring框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:1、核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用
16、控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。2、Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。3、Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB
17、 组件,就可以将声明性事务管理集成到应用程序中。4、Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。5、Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。
18、6、Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。7、Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能也适用于不受管理的环境。Spr
19、ing 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同J2EE 环境(Web 或EJB)、独立应用程序、测试环境之间重用。第三章 系统分析系统分析就是在办公自动化OA管理系统开发的生命周期中系统分析阶段的各项活动和方法。它的主要目标是在系统规划所定的某个开发项目范围内明确系统开发的目标和用户的信息需求,提出系统的逻辑方案。系统分析在整个系统开发过程中,是要解决“做什么”的问题,把要解决哪些问题、要满足用户哪些具体的信息需求调查、分析清楚,从逻辑上或从功能需求上提出系统的方案,即“逻辑模型”。3.1 系统需求分析办公自动化OA管理系统需要
20、满足如下需求:通知公告在线办公个人办公流程管理内容管理系统设置测试系统用户人事管理模型管理审批3.2 系统功能分析基于系统需求分析,该系统需要实现以下基本功能,下面分别对一些主要功能模块进行介绍。我的通告、通告管理我的任务、审批测试、请假办理流程管理、模型管理机构用户用户管理、机构管理、校区管理菜单管理、角色管理、字典管理日志查询日志查询、连接池监视内容发布、评论内容、公共留言栏目设置个人信息个人信息、修改密码第四章 系统概要设计系统设计阶段的主要任务是将需求分析阶段所总结出来的反映了用户需求的系统逻辑模型转换成可以实施的物理模型,主要解决如何去做的问题。4.1系统功能结构设计根据需求分析结果
21、,本系统分为如下模块:人事管理、个人办公、留言管理、公告管理、系统管理。如3-1图所示。图4-1 系统功能结构图4.2 工作流程图根据学校业务流程需求,系统工作流程如下图所示:撤假否人事审批部门领导审批请假申请调整申请4.2数据字典数据字典的作用主要是对数据流程图中的数据项,数据结构,数据流,处理逻辑,数据存储和外部实体等方面进行具体的定义。建立数据字典的目的是为了保证全局数据的一致性和准确性。数据字典配以数据流程图就可以从图形和文字两方面对系统做出完整的定义和描述。4.2.1数据项编号数据项别名类型长度取值范围含义说明1用户号用户编码数字110-999999唯一标识一个员工的身份2用户名用户
22、名称文本20用户姓名3密码登录密码454用户类型用户的类型5联系方式4.2.2数据存储与数据流图数据存储员工信息功能描述记录员工的基本信息,如姓名,性别,出生日期,身份证号,联系方式,部门等信息。输入数据流员工管理模块输出数据流员工信息管理表存取方式根据id存取员工信息表图4-2 员工信息数据流图工作日志信息记录员工的工作日志、计划和总结。工作日志管理模块工作日志信息表图4-3 工作日志信息数据流图我的消息记录别人发的消息和接收的消息。消息管理模块消息信息表图4-4 消息信息数据流图留言信息记录留言的基本信息留言信息管理模块留言信息管理表留言信息表图4-5 留言信息数据流图公告信息记录公告、新
23、闻信息公告管理模块公告信息管理表公告信息表图4-6 公告信息数据流图4.3 Spring数据源配置本系统是采用了Spring,Struts2,Hibernate3大框架集成开发的,数据源配置在Spring的配置文件中。 jdbcUrl$jdbc.urluser$jdbc.usernamepassword$jdbc.passwordminPoolSize$jdbc.minPoolSizemaxPoolSize$jdbc.maxPoolSizemaxIdleTime$jdbc.maxIdleTimeacquireIncrement value=$jdbc.acquireIncrementmaxSt
24、atements$jdbc.maxStatementsinitialPoolSize$jdbc.initialPoolSizeidleConnectionTestPeriod$jdbc.idleConnectionTestPeriodacquireRetryAttempts$jdbc.acquireRetryAttemptsbreakAfterAcquireFailure$jdbc.breakAfterAcquireFailuretestConnectionOnCheckout$jdbc.testConnectionOnCheckout 本系统采用配置文件的方式来设置驱动的连接字符串,这样写的
25、好处是系统有很高的灵活性,每当要做出一些改动的时候(例如:更换数据库地址,更换数据库实例,更换数据库管理员密码),只需要改动配置文件就可以了,而不用去改程序的代码。便于系统的使用者操作。第五章 系统详细设计与实现5.1系统登录模块系统登录模块是本系统运行后,首先运行显示的页面。此模块主要功能为对用户的身份进行验证,并且将用户的部分信息临时储存在服务器上以便使用。系统登录界面如图4-1所示。图5-1 用户登录界面用户按确认之后表单提交到后台处理,后台从数据库取值,检查用户名密码匹配与否,如果匹配则成功登录主界面并且将用户的信息储存到服务器的临时变量(session)中,如果不匹配则给出提示叫用户
26、继续返回用户登录页面从新输入用户名和密码。5.2主页面用户登录成功后可点击进入到系统主界面,主界面如图5-3所示。图5-3 系统主界面5.3我的面板我的面板主要包括个人信息管理和文件信息管理。5.4在线办公在线办公主要包括通知公告、个人办公以及流程管理。图5-5 在线办公界面5.5 内容管理内容管理主要包括内容管理和栏目设置。5.6 系统设置系统设置主要包括机构用户、系统设置和日志查询。 图5-12 系统设置界面 第六章 系统测试及运行维护6.1系统测试系统测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。6.1.1测试过程测试过程按4个步骤进行,即单元测试、集成测试、确认测试和系统测试及发版测试。 开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。 确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。 系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1