基于SSM的OA系统后台的设计与实现--论文.docx
《基于SSM的OA系统后台的设计与实现--论文.docx》由会员分享,可在线阅读,更多相关《基于SSM的OA系统后台的设计与实现--论文.docx(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于SSM的OA系统后台的设计与实现基于SSM的OA系统后台的设计与实现摘 要办公自动化(Office Automation)简称OA,它通常利用现代化计算机网络技术,使用各种设备和人机信息系统来协助完成工作任务,把人们从传统办公业务繁琐的人力操作中解放出来,以达到提高工作效率、工作质量和生产率的目的。本系统采用B/S架构来实现企业办公自动化和管理信息化,同时采用近期比较流行的SpringMVC、Spring和Mybatis的框架组合实现了部门管理,职能管理,员工管理,权限管理,员工工资管理,审批流程管理和站内消息这几个主要功能模块。审批流程管理是本系统中的重要研究内容,主要涉及到工作流的设计
2、与实现,通过可视化技术实现流程模板的创建及流程实例的生成,不仅用户体验良好,而且具有高度灵活的可扩展性,同时该功能模块支持任务拦截,任务回退等功能,具有较高的实用性而且符合办公自动化的理念。关键词:办公自动化;SpringMVC;Spring;Mybatis;工作流Design and Implementation of OA System Based on SSMAbstractOffice Automation referred to as OA, it often uses modern computer network technology, a variety of equipmen
3、t and information systems to help people complete tasks and liberates people from the traditional office operations cumbersome manual operation in order to improve work efficiency, quality of work and productivity purposes.The system is based on B/S structure, using the MVC model to development. And
4、 the use of recent popular frameworks combination SpringMVC, Spring and Mybatis. The system implements department management, function management, staff management, rights management, payroll management, approval process management and station news these several major functional blocks.Approval proc
5、ess management is an important research content in this system, which mainly involves the design and implementation of workflow, through the visualization technology to achieve the creation of process templates and process instances generation, not only the user experience well, but also it has a hi
6、ghly flexible scalability. At the same time this function module supports task interception, task back and other functions. It has a high practicality and in line with the concept of office automation.Key words: Office Automation; SpringMVC; Spring; Mybatis; workflow目 录论文总页数:35页1 引言11.1 课题背景及意义11.2
7、国内外研究现状及发展动态11.3 课题研究内容22 系统总体设计方案22.1 系统总体结构设计及分析22.1.1 三层架构和MVC模式22.1.2 前后端分离32.2 系统功能设计32.3 开发运行平台选择及分析42.3.1 技术选型42.3.2 开发运行环境52.4 系统技术难点及关键技术52.5 系统优点63 系统详细设计63.1 系统模块总体设计63.2 系统流程及分析73.3 系统功能的详细定义83.3.1 组织管理模块83.3.2 个人信息管理模块83.3.3 工资管理模块93.3.4 站内消息模块93.3.5 审批流程模块93.4 对象定义与数据库设计103.4.1 主要对象定义1
8、03.4.2 数据库设计123.5 系统接口关系193.6 系统界面要求203.7 关键技术与难点解决方案214 系统具体实现224.1 登录拦截与权限验证的实现224.2 流程定义的实现244.3 流程模型解析的实现254.4 工作流并行执行的实现265 系统运行及测试结果285.1 测试环境285.2 测试的对象及目的285.3 测试内容及结果285.4 系统运行实例29结 语32参考文献33致 谢34声 明351 引言1.1 课题背景及意义根据我国现状,我国企业普遍使用的是传统的自动化管理,传统的自动化管理主要以纸质来记录和传递信息,不仅繁琐而且效率不高,浪费了大量的人力物力。因此,如何
9、实现高效的办公管理成为企业迫切的需求1。数字化办公必然引起管理体制的变革,而管理体制变革势必意味着需要从新分配利益和权利,而只要关系到利益和权利就是一件复杂的事情2。尽管这样,实现全面的数字化办公仍是现代企业发展的必然趋势。传统办公模式和网络化办公模式如图1和图2所示:图1 传统办公模式图图2 网络化办公模式图大型OA往往功能繁琐,管理与使用起来都比较复杂,同时所需的开发和维护费用也非常高昂3。而中小型企业对OA的要求没有那么高,所以低成本网络OA系统拥有很大的市场。1.2 国内外研究现状及发展动态国外方面,办公自动化起源于50年代的美国和日本,70年代后期才逐步形成涉及多种技术的新型综合学科
10、。80年代,办公自动化高速发展,随着技术的进步,OA市场出现了应用高端化、市场规模化的趋势。90年代后,随着计算机网络技术的高速发展,办公自动化也随之高速发展,呈现出数字化、智能化、综合化的发展趋势。国内方面,虽然国外有许多成熟的OA产品,虽然功能强大但并不一定符合中国企业的现状,操作管理都不符合国内用户的习惯,因此,20世纪初国内也逐渐开始开发适合国内企业的办公自动化软件,到现如今出现了一大批琳琅满目的OA协同软件,但都不尽人意,企业往往需要根据本企业特性进行二次开发。因此,目前OA系统市场需要更多个性化强的办公自动化软件。经过这几十年的发展,办公自动化越来越成熟,其应用范围也愈来愈广。目前
11、办公自动化是以知识管理为核心,拥有强大的数据处理能力,可以充分集成各种信息数据,这些数据不仅包括电子邮件信息,而且还包括文件系统中的文件、数据库数据、数据仓库中的数据,甚至是互联网上的数据;还可以充分利用各种协同工作手段包括多线程讨论、文档共享、电子邮件及一些辅助工具提供在线及时共享等。同时办公自动化也在不停地进步发展,用最新的技术、设备和观念来制定办公自动化的有关规划,以达到花费最少,收益最大的目的4。1.3 课题研究内容本课题在对OA需求分析的基础上抽取出其中比较有价值的几个功能点,包括对工资的管理、审批流程的实现、站内交流这几个方面。确定好需求后再设计整个项目的框架和数据库。然后理清逻辑
12、,划分功能模块,确定模块与模块之间的联系。接着编写代码实现各个模块的功能,最后在完成整个项目后还要不断测试,增加用户体验。本课题研究的重点在于工作流的设计与实现,包括对流程的定义和描述,对流程的解析,对流程的执行,要求能够良好的实现审批流程的功能,并且在实现功能的同时还要有良好的用户体验。2 系统总体设计方案2.1 系统总体结构设计及分析2.1.1 三层架构和MVC模式三层架构把所有代码分解成UI界面层,BLL业务逻辑层和DAL数据访问层5。这样分解能够使程序员更加专注的处理具体的业务逻辑。比如常见的分解方法中,把对数据库的增删改查封装到DAO(Data Access Object,数据访问对
13、象)中,这样在处理具体的业务逻辑时就可以直接调用DAO方法来实现数据库的存储。而MVC模式主要是针对B/S结构的程序,也就是WEB应用程序,它把展示数据的页面尽可能的和业务代码分离。MVC把纯净的界面展示独立到Views层,把交互的程序逻辑独立到Controller层中,在 Views 和 Controller 中传递数据使用一些专门封装数据的实体对象Models。MVC和三层架构是没有关系的。因为任何应用程序都可以划分为三层;而MVC一般用于WEB应用程序。但从解耦的角度来看它们又是一致的,因为都是用来划分代码层次,只不过划分的方法不一样罢了,所以它们是可以同时存在的。本系统采用B/S架构,
14、同时采用MVC模式和三层架构来进行代码层次的分解,如图3所示:图3 MVC模式和三层架构2.1.2 前后端分离前后端分离是当前B/S架构应用程序比较流行的开发模式。 常见的“前后端分离”案例是SPA( Single Page Application)6。也就是常说的单页App,因为所有的请求都是通过异步接口( AJAX/ JSONP)的方式来发送和响应的,所以页面无刷新,就呈现出一种好像所有东西都在同一个页面上的效果。但是在实际开发中SPA只能作为简单的应用模式,无法满足复杂的业务需求7,所以本系统采用同步加异步混合的开发模式,即少部分场景例如用户登录、表单提交等采用同步方式,其它场景尽量采用
15、AJAX技术进行异步交互,同时本系统的前后端分离,对开发人员从职责上划分的主要场景为:(1)前端开发人员:负责View层,与后端开发人员共同决定涉及前后端交互的Controller层。(2)后端开发人员:负责MVC中的Model层,包括业务处理逻辑等,同时与前端开发人员交流沟通后实现Controller层。2.2 系统功能设计结合市面上现有OA情况,根据开发人员对自动化办公的需求分析,本系统主要抽取了以下几个开发人员觉得有价值的功能,包括员工管理,部门管理,职能管理,工资管理,站内消息,审批管理等,功能需求如图4所示:图4 主要功能模块图(1)员工管理,包括对员工的增加、删除、修改、查看操作,
16、能实现不同条件的搜索,对员工登录密码的初始化。(2)部门管理,包括对部门的增加、删除、修改、查看操作,能实现不同条件的搜索。(3)职能管理,职能是对员工类型的划分,包括对职能的增加、删除、修改、查看操作。(4)权限管理,权限管理作为职能管理的补充,权限之间有父子关系,但最多三级权限,那么一二级权限组成菜单列表,三级权限为具体增删改操作。然后为职能分配权限,再为员工分配职能,那么不同职能的员工就拥有了不同的权限。(5)工资管理包括职能工资管理和员工工资管理。职能工资管理:为不同类型的员工设置一个基本工资,在员工工资录入的时候,默认此员工的基本工资为此员工所属职能的基本工资;员工工资管理,包括对员
17、工工资记录的增加、查看,和按条件查询工资记录,并对查询出来的工作记录利用饼图折线图等进行分析统计。(6)站内消息,OA系统内的用户能够互相发送短消息,支持富文本,包括一个收件箱和发件箱,能增加,删除,查看,搜索消息,提示未读消息。(7)审批流程管理,利用开发人员开发的工作流引擎,实现简单的审批流程功能,包括流程设计器,流程模板,申请列表,我的申请,我的任务,我的审批记录,查看申请状态等功能。2.3 开发运行平台选择及分析2.3.1 技术选型市面上J2EE的开源框架层出不穷,本系统采用近期比较流行的SSM的框架组合,即SpringMVC4.2.3+Spring4.2.3+Mybatis3.4.1
18、的框架组合,同时使用Hibernate3.3.1,其中Mybatis和Hibernate都是操作数据库的框架,同时使用是因为Mybatis查询效率高,而Hibernate由于其ORM特性,对更新修改操作很方便。具体采用技术框架描述如下:(1)SpringMVCSpring MVC是一种实现了MVC设计模式的轻量级Web框架,大大简化了开发人员的日常Web开发,选择SpringMVC还有一个原因,就是SpringMVC对Ajax的支持非常好。(2)SpringSpring是一个全方位的应用程序框架,一般用Spring来整合整个应用程序,同时它也可以很轻松的用来整合其它各种框架,包括Mybatis
19、、Hibernate 等。(3)MybatisMyBatis是优秀的持久层框架,它可以通过配置xml或注解的方式来定制SQL,然后将接口和Java的实体对象映射成数据库中的记录。(4)HibernateHibernate是一个完全实现了ORM的持久层框架。通过Hibernate,只要映射好了对象和数据库的关系,就可以通过直接更改对象来同步数据,而不需要人工使用SQL和JDBC,大大提高了开发效率。2.3.2 开发运行环境开发过程在Windows系统下进行,需要Java环境,开发工具选择MyEclipse,数据库使用MySql,服务器选择Tomcat,具体选择如表1所示。表1 开发运行环境系统环
20、境JDK1.6+开发工具MyEclipse2014服务器Tomcat7+画图工具Visio数据库MySQL5.1.4数据库管理工具Navicat Premium操作系统Windows2.4 系统技术难点及关键技术(1)同时使用Mybatis和Hibernate两种持久层工具,可能出现冲突同时使用是因为为了兼具两种工具的优势,Mybatis可以定制原生SQL,查询效率高,Hibernate对实体对象之间的关联关系处理的非常好,用来做添加和更新操作很方便,但同时使用会出现一些比如数据源、事务管理方面的冲突。(2)防止用户重复登录因为是办公系统,需要保证安全性,一个用户在同一时间地点只允许登录一次。
21、(3)当前用户的登录拦截和权限验证最好能有一个统一进行验证的验证中心,对用户的访问进行拦截,每一次访问都进行一次登录验证和权限验证,提高安全性。(4)根据用户权限显示菜单和操作为用户分配操作权限后,最好能够根据用户拥有的权限显示当前用户的菜单和操作按钮,没有权限就不显示,这样就不会总是出现提示没有操作权限的提示,提高用户体验度。(5)工资记录包含多个工资条目员工的工资记录可能包含多个工资条目,能够根据具体情况进行增删。(6)工作流的模型解析和执行工作流的关键在于对流程模型进行定义和描述;然后对流程模型进行解析,解析成程序能读懂的实体对象;当提交申请生成流程实例后,就可以根据选择的流程模型进行执
22、行;审批流程的主要功能包括部署流程,流程的顺序执行和并行执行,流程的回退,查看审批记录,配置任务的前后置动作等。2.5 系统优点本系统采用了优秀的Web框架极大的减少了代码编写量,同时采用MVC模式和三层架构编写代码,极大降低了其耦合性,方便代码的编写,降低了人力物力,节约开发成本。同时本系统采用免费开源的MySQL开源数据库,同样节约了成本。在使用上,管理员可以为不同的职能设置不同的权限,同时本系统的操作简单,界面友好,能让使用者能快速上手。3 系统详细设计3.1 系统模块总体设计本系统不同用户根据其职能拥有不同的权限,在同一个登录页面登录,身份验证后,进入相同的首页,但是首页上只会显示拥有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 SSM OA 系统 后台 设计 实现 论文
限制150内