毕业设计 基于web的办公自动化系统_第1页
毕业设计 基于web的办公自动化系统_第2页
毕业设计 基于web的办公自动化系统_第3页
毕业设计 基于web的办公自动化系统_第4页
毕业设计 基于web的办公自动化系统_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 20 11 届毕业设计(论文)基于web的办公自动化系统教 学 部: 专 业: 学 生 姓 名: 班 级: 学号 指导教师姓名: 职称 职称 最终评定成绩 200 年 月 摘 要办公自动化,简称oa,是办公信息处理的自动化,它利用先进的技术,使人的各种办公业务活动逐步由各种设备、各种人机信息系统来协助完成,达到充分利用信息,提高工作效率和工作质量,提高生产率的目的。所开发的办公自动化系统,基于公司本身内部管理及业务发展需求,应用计算机技术,internet技术,实现企业办公自动化,管理信息化。本系统采用结构化与原型法结合的系统开发方法。整个系统分为系统整体设计及用作用户登录和注册的用户身份验

2、证模块,用作系统管理员对职工信息进行管理的职工信息管理模块,用作当前登录用户对自己的通讯录进行管理的个人通讯录模块,用作当前登录用户对自己的日程进行管理的日程安排模块、用作当前登录用户对自己的工作日志进行管理的工作日志模块、用作系统各个用户之间互相发送信息的短消息管理模块、用作系统管理员对会议进行管理以及普通用户查看会议信息的会议管理模块、用作系统管理员对公告进行管理以及普通用户查看公告信息的公告管理模块和当前登录用户上传、下载、查看文件的文件管理模块等。系统开发采用先进的开发软件与技术,即采用dreamweaver页面制作软件与photoshop等技术相结合开发系统的页面,用jsp动态页面设

3、计技术与struts2、spring、hibernate技术,mysql数据库管理系统开发强大完善的数据库支持环境。关键词:oa系统,ssh2框架,办公自动化,jspabstractoffice automation abbreviated as oa, the automation of information processing that work , it utilizes advanced technology, makes various official working operational activities of peoples help to finish by var

4、ious apparatus , various man-machine information systems progressively , reach and fully utilize information, improve working efficiency and work quality , the purpose to boost productivity .the office automated systems based on auspicious open scientific and technological computer training school i

5、nternal management and business develop the demand, employ the computer technology, internet technology, realizes enterprises office automation, manage the information. this system adopts the systematic development approach that combines with prototype law. the whole system into the overall design a

6、nd system for users to log in and registered user authentication module for the system administrator to manage the information workers trade union information management module for the current log of users to manage their personal address book contacts module for the current log of users to manage t

7、heir own agenda of the schedule of modules for current users log in the log of their work to manage the work of the log module for the system among various users send short message information management module for systems management members of the general meeting of management and information of th

8、e user to view the session management module for the system administrator to manage the notice, as well as ordinary users to view the information notice management module and the current log users to upload, download, view documents, such as document management module.system develops, adopt advanced

9、 development software and technology, and adopt dream weaver page animation software and photo shopped. technology combine together and develop the systematic page, use jsp dynamic page designing technique and struts2,spring,hibernate,mysql data base management system develops the strong and complet

10、e database and supports the environment.keywords: oa system , ssh2 framework , office automation , jsp 目 录第1章 前言11.1 课题背景11.1.1 办公自动化概述11.1.2 中小企业办公模式的现状21.2 研究意义21.3 设计技术及开发环境41.3.1 设计技术41.3.2 开发环境5第2章 可行性分析72.1 组织管理和可行性72.2 经济可行性72.1 技术可行性7第3章 需求分析93.1 现行业业务分析93.1.1 业务流程93.1.2 功能分析93.2 系统建模11第4章 系

11、统设计174.1 系统设计174.2 数据库设计284.2.1 数据库概念设计284.2.2 数据库逻辑设计31第5章 系统实现345.1 系统框架345.2 持久层hibernate实现355.2.1 创建并配置hibernate映射文件355.2.2 开发并配置hibernate dao层365.3 控制层struts2365.3.1 开发struts2的核心代码365.3.2 开发jsp页面375.3.3 增加表单验证功能385.3.4 调用dao组件操作数据库385.4 业务层spring385.4.1 数据源的配置395.4.2 sessionfactory的配置395.4.3 事物

12、配置395.4.4 dao组件配置395.4.5 dao事物配置395.5 系统功能详细设计40第6章 系统测试596.1 测试计划596.2 测试用例596.2.1 身份验证测试596.2.2 人员管理测试596.3 测试结果59结论61参考文献63致谢64附录165附录267附录369第1章 前言1.1课题背景1.1.1 办公自动化概述办公自动化,英文office automation,简称oa,是办公信息处理的自动化,它利用先进的技术,使人的各种办公业务活动逐步由各种设备、各种人、机信息系统来协助完成,达到充分利用信息,提高工作效率和工作质量,提高生产率的目的。办公自动化由70年代末80

13、年代初在我国提出,到现在已有近二十年的发展历史。由于办公自动化技术的不断发展,办公自动化新产品不断的出现,办公自动化的内涵也不断地丰富和发展。(1) 传统办公模式图1.1 传统办公模式传统的办公模式主要以纸介质为主,在信息革命的浪潮中,显然已经远远不能满足高效率、快节奏的现代工作和生活的需要。如何实现信息处理的自动化和办公的无纸化逐步得到了人们的重视。(2) 网络办公模式图1.2网络化办公模式现有网络办公自动化系统和大型信息管理系统中,企业业务流程重组或者是文件流转功能都是核心功能。同时企业办公主要是一个文件流转的过程,所有的办公事务都可以抽象成一个数据库对象。(3) web方式的办公自动化系

14、统目前办公自动化系统较成熟的模式是客户/服务器方式,而新一代的办公自动化系统则应是internet/intranet方式,即b/s(browser/server,b/s)结构,才更能适应目前及未来的要求。1.3 设计技术及开发环境1.3.1 设计技术自从servlet技术产生以来,j2ee的web开发技术与开发框架便层出不穷。这些技术和框架的产生,在给我们的开发带来方便的同时,也让我们眼花缭乱,导致疲于学习这些框架。然而一直保持优势地位的不多,目前j2ee各种框架技术的核心技术依然是j2ee的三项基础技术jsp、javabean、servlet,而开源框架还是struts2+spring+hi

15、bernate的天下,目前这种组合是最好的选择。(1) jsp页面技术jsp产生于servlet之后,主要是为了解决servlet中输出html代码效率低的问题而产生的。jsp技术比较简单,类似于asp、php这些脚本语言。jsp的技术主要是由以下两个部分组成:jsp的基本语法:两个注释、3个脚本元素、8个动作指令。jsp的九大内置对象:request请求对象、response响应对象、pagecontext页面上下文对象、session会话对象、application应用程序对象、out输出对象、config配置对象、page页面对象和exception例外对象。(2) javabean组件

16、技术javabean称为“java豆”,它的原意是封装业务逻辑,以便于外界的调用。调用者可以是jsp,也可以是其他的类。javabean组件由一些属性和操作这些属性的函数组成。(3) servlet技术servlet产生于jsp技术之前,它最大的特点就是基于线程。与传统的cgi相比,每一个cgi请求都会产生一个新的进程,而每一个servlet请求都只会产生一个线程,这对于系统的利用率来说是一场革命。servlet是mvc开发的技术,所有基于j2ee的mvc框架都离不开servlet。通常servlet用于进行系统的初始化、服务拦截、过滤等。最典型的应用是过滤器、监听器。(4) struts2s

17、truts是一个基于j2ee平台的mvc框架,主要是采用servlet和jsp技术来实现的,是开发web应用程序的开放源码框架。struts2把servlet、jsp、自定义标签和信息资源(message resources)整合一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套mvc模式,极大地节省了时间。本系统选用struts2作为mvc的控制器,因为它足够成熟,用户群广泛。struts 2是struts的下一代产品。是在 struts 和webwork的技术基础上进行了合并,全新的struts 2框架。其全新的struts 2的体系结构与struts 1的体系结构的差别巨大

18、。struts 2以webwork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与servlet api完全脱离开,所以struts 2可以理解为webwork的更新产品。因为struts 2和struts 1有着太大的变化,但是相对于webwork,struts 2只有很小的变化。 (5) hibernatehibernate是一个开放源码的对象关系映射(orm)框架,它对jdbc进行了非常轻量级的对象封装,使得java程序员可以随心所欲地使用对象编程思维来操纵数据库。hibernate可以应用在任何jdbc的场合,既可以在java的客户端程序使用,也可以在se

19、rvlet/jsp的web应用中使用,最具革命意义的是,hibernate可以在应用ejb的j2ee架构中取代cmp,完成数据持久化的重任。(6) springspring是一个轻型容器(light-weight container),是一个目前非常活跃的开源项目。其核心是bean工厂(bean factory),用以构造我们所需要的m(model)。在此基础之上,spring提供了ioc(inversion of control)的容器和aop(aspect-oriented programming,面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对bean工厂的扩

20、展applicationcontext更加方便我们实现j2ee应用;dao/orm的实现方便我们进行数据库的开发;web mvc和spring web提供了java web应用的框架或与其他流行的web框架进行集成。第2章 可行性分析可行性是系统开发的一项关键步骤,它是通过对整个系统的需求,技术及开发方法,以及开发人员,所需资金的综合考虑以评估对于该系统的开发是否符合实际。可行性分析包括:组织和管理上的可行性、技术可行性、经济可行性。2.1 组织管理和可行性基于中小型企业的办公自动化系统采用模块化开发方法,将整个系统划分为多个功能模块,并根据开发小组成员的实际能力分配相应的模块,这种将系统功能

21、平行划分的方法有助于系统开发的组织和管理。2.2 经济可行性通过网站对企业内部信息进行全面的自动化的管理,大大提高了企业的办公效率。通过系统对企业生产经营过程中的数据进行全面的管理和统计,避免人为处理各类数据时所产生的各种问题,提高了企业的经济效益,为企业经营决策提供了大量的、权威的数据,使企业的管理进行到科学化、系统化的范筹。硬件方面主要是计算机,我们的实际情况可以满足开发任务,所需资料书籍可以到图书馆翻阅或者个人购买,因此整个系统的所需投资符合我们的支付状况,经济可行性良好。2.3 技术可行性基于中小型企业的办公自动化系统的开发采用了先进成熟并且符合实际应用的开发方法,广泛应用于网站开发的

22、网页开发工具dream weaver,myeclipse,动态网页开发技术jsp和mvc架构技术struts2、spring和hibernate,功能强大的数据库管理工具mysql,结合自己的实际开发能力,可以开发出较为完善的办公自动化系统。应解决的主要问题及技术要求(1) 收集系统开发所使用的足够的信息。(2) 按实际应用的可行性划分模块,确定模块功能。 (3) 建立完善的数据库支持环境。(4) 使用jsp语言实现前台页面视图,使用struts2、spring和hibernate实现mvc架构,并实现与数据库之间的各项操作。(5) 各模块功能的协调及信息的沟通第3章 需求分析3.1 现行业业

23、务分析3.1.1 业务流程该系统的主要流程是系统管理员或普通用户通过登录模块进入系统主页,之后可以选择相应的功能对自己的信息进行处理。业务流程图如下:图3.1 业务流程图 3.1.2 功能分析系统的主要功能概述如下:(1) 用户身份验证模块本系统功能的开发与设计,是完全针对公司内部进行办公管理以及为各部门员工提供便捷的电子化交互平台搭建的。用户身份验证模块是公司办公自动化管理系统重要组成部分之一,它主要功能是在系统用户进入系统时的身份验证以及在不同页面浏览时的身份验证,以防止公司重要资料的泄露。(2)个人办公 本模块主要实现我的办公桌:打开个人办公桌,在个人办公桌上,是到达各种管理功能的快捷链

24、接。我的便签:随手记录的信息。我的任务:任务管理。通信录:个人通讯管理。(3)公文管理模块本模块主要实现公文维护:各种类型的公文管理、审批公文等。归档处理:对已完成流转的公文进行归档。(4) 公共信息模块本模块主要实现信息发布:进行新闻、通知、期刊、知识和规章制度的发布和管理,使企业的信息和知识快速传播和转移。(5) 行政办公模块该模块用作会议管理,资产管理,用品管理,车辆管理,图书管理等功能。(6) 消息管理模块发件箱:接收的所有消息。收件箱:发送的所有消息。垃圾箱:已删除的消息。通讯记录:跟某个用户的聊天记录。(7) 工作流程模块流程管理:如何定义企业的流程(可以灵活定义各种流程)。表单定

25、义:如何针对不同的流程定义表单。(8) 组织管理模块本模块主要实现 机构管理:公司组织架构管理。人员管理:公司人员管理。(9) 权限管理模块模块管理:系统所有模块的管理。角色管理:系统的角色定义、给角色分配权限等。用户管理:系统帐号的分配、给用户分配角色、给用户分配权限等。3.2 系统建模3.2.1 用户身份验证此图显示了用户身份验证系统的用例:当系统管理员或普通用户登录时需要输入用户名、密码以及验证码,当三个均输入正确时才能进入到系统主页面,否则会有相应的错误提示。3.2.3人员管理用例图此图显示了职工信息管理模块的用例包括新增人员、查看信息、修改信息以及删除人员等功能。 3.2.4工作流程

26、用例图此图显示了流程安排模块的用例:包括流程管理和表单定义。可以设计各种审批流程和各种表单。可以自定义流程(通过流程设计器)。流程可以随时作出修改。3.2.5部门管理用例图此图显示了部门管理模块的用例:包括新增部门、查看部门信息、查看部门子部门,修改部门以及删除部门等功能。3.2.6短消息管理用例图此图显示了短消息管理模块的用例:包括发消息、查看短消息以及删除短消息等功能。 3.2.7公共信息管理用例图此图显示了公共信息管理模块的用例:包括新增公告、查看公告、修改公告,发布公告以及删除公告等功能。3.2.8公文管理用例图此图显示了文件管理模块的用例:包括查看公文,创建公文、提交公文、以及删除公

27、文等功能。 3.2.9会议管理用例图此图显示了会议管理模块的用例:包括新增会议、查看会议信息、修改会议,发布会议以及删除会议等功能。3.2.10固定资产管理用例图所谓固定资产:包括资产,车辆,图书等等。对这些资源进行添加,删除,修改,查看,借出和归还等。3.2.11权限管理用例图权限管理包括:模块管理,角色管理,用户管理,可以将模块的功能权限赋给角色和用户,角色功能也可以赋给用户。不同的用户拥有不同的权限,对各个模块的操作也不同。第4章 系统设计4.1 系统设计基于中小企业的办公自动化系统采用结构化与原型法相结合的方法。这种综合法的优点是它兼顾了结构化开发方法开发过程控制性强的特点以及原型法开

28、发周期短、见效快的特点。采用两者结合的形式进行系统的开发时,采用了结构化生命周期法的设计思想,即自顶向下,从总体到部分,合理划分系统的结构,设计数据库模型。在系统的分析与初步设计上采用原型法做出原始模型,根据实际反映的情况,继续按结构化生命周期法进行系统的详细设计及其实施与转换、系统维护与评价阶段的工作。合理采用综合法,使开发过程更具灵活性,往往会取得更好的开发效果。该系统是基于 b/s(browser/server,b/s)架构的三层体系结构,即浏览器和服务器结构。它是随着internet技术的兴起,对c/s结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过浏览器来实现,极少部分

29、事务逻辑在前端(browser)实现,但是主要事务逻辑在服务器端(server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统的维护与升级的成本和工作量,降低了用户的总体成本。特别是在java这样的跨平台语言出现之后,b/s架构管理软件更是方便、快捷、高效。如果能将该系统划分的用户身份验证模块和其他模块再分解成一些相互独立、功能简单、易于理解和修改的模块,这样的系统就具备了系统设计首要考虑的可变更性。由模块组合构成的系统一般称为模块化结构系统。在这样的系统中,由于各个模块之间基本上是相互独立的,所以每个模块都可以独立的被理解、编程、调试和修改,使其复杂的系统设计工作变得相对

30、简单。在遵循模块化结构设计原则的基础上,根据实现的目标,用户身份验证只需要一个模块,而其他模块则分成了八个不同的子模块,各子模块既相互配合,又各自具有一定的独立功能。这样就形成了一个树形的结构。4.1.1 用户身份验证模块流程图在用户身份验证模块的总体流程分析中业务流程图是表现个人办公流程的一个主要图例,用户通过表单提供登陆信息,系统根据用户提供的信息对用户进行查询鉴别,如果身份合法,在验证权限,然后将用户导向系统主页。另外,从系统退出后也进入系统登陆页面。此时,用户的身份信息都会被清空。流程图如下所示:4.1.2 个人通讯模块流程图系统用户通过登陆验证进入系统主页面,然后选择进入个人通讯录管

31、理模块页面,用户可以通过选择不同的链接,进行相应的新增联系人、查看、修改以及删除等操作。当点击“查看”链接时,会显示所选的联系人的信息,之后可以点击“返回通讯录主页面”再返回到通讯录列表页面;当点击“新增联系人”链接时,会进入联系人信息输入页面,当输入相关信息后点击“提交”按钮,如果成功则会返回到通讯录列表页面,并提示“添加成功”,如果失败,则会提示相关的错误信息,如果不想添加,则可以点击“返回通讯录主页面”返回到通讯录列表页面;当点击“修改”链接时,则会进入到修改页面,并在表单中显示要修改的联系人信息,当更改某个表单中的数据后,再点击“提交”按钮,如果成功,则会返回到通讯录列表页面,并提示“

32、修改成功”,否则会提示相关的错误信息,如果不想修改,则可以点击“返回通讯录主页面”返回到通讯录列表页面;当点击“删除”链接时,则会删除当前选择的联系人信息,并提示“删除成功”。流程图如下所示:4.1.3 人员信息管理模块流程图系统用户通过登陆验证进入系统主页面,通过选择“人员信息管理”菜单进入相应页面。如果登录用户是“系统管理员”,则可以显示此所有的模块,用户可以通过选择不同的链接,进行相应的新增职工、查看、修改以及删除等操作。当点击“查看”链接时,会显示所选的职工的信息,之后可以点击“返回主页面”再返回到职工信息列表页面;当点击“新增职工”链接时,会进入职工信息输入页面,当输入相关信息后点击

33、“提交”按钮,如果成功则会返回到职工信息列表页面,并提示“添加成功”,如果失败,则会提示相关的错误信息,如果不想添加,则可以点击“返回主页面”返回到职工信息列表页面;当点击“修改”链接时,则会进入到修改页面,并在表单中显示要修改的职工信息,当更改某个表单中的数据后,再点击“提交”按钮,如果成功,则会返回到职工信息列表页面,并提示“修改成功”,否则会提示相关的错误信息,如果不想修改,则可以点击“返回职工信息列表主页面”返回到职工信息列表页面;当点击“删除”链接时,则会删除当前选择的职工信息,并提示“删除成功”。如果登录用户是“普通用户”,则不会显示此模块,而只会显示登录成功页面,并且用户只能查看

34、与修改个人信息,通过点击“查看信息”与“修改信息”两个链接即可完成相应操作。流程图如下所示:4.1.4 工作流程安排模块流程图系统用户通过登陆验证进入系统主页面,根据登陆的权限不同会决定显示模块与否。如果显示则选择进入工作流程安排模块页面,这时会显示所有的流程。用户可以通过选择不同的链接,进行相应的新增、修改以及删除流程等操作。当点击“新增日程”链接时,会进入流程信息输入页面,当输入相关信息后点击“提交”按钮,如果成功则会返回到主页面,并提示“添加成功”,如果失败,则会提示相关的错误信息,如果不想添加,则可以点击“返回”返回到流程主页面;当点击“修改”链接时,则会进入到修改页面,并在表单中显示

35、要修改的信息,当更改某个表单中的数据后,再点击“提交”按钮,如果成功,则会返回到日程列表页面,并提示“修改成功”,否则会提示相关的错误信息,如果不想修改,则可以点击“返回”返回到主页面;当点击“删除”链接时,则会删除当前选择的信息,并提示“删除成功”并返回主页面。流程图如下所示:4.1.5 部门管理模块流程图系统用户通过登陆验证进入系统主页面,根据用户的权限不同来显示此模块的各组件。然后选择进入部门管理模块主页面,用户可以通过选择不同的链接,进行相应的新增、查看、修改以及删除等操作。当点击新增链接时,会进入信息输入页面,当输入相关信息后点击“提交”按钮,如果成功则会返回到成功页面,提示“添加成

36、功”,返回主页面。如果失败,则会提示相关的错误信息,如果不想添加,则可以点击“返回主页面;当点击“修改”链接时,则会进入到修改页面,并在表单中显示要修改的信息,当更改某个表单中的数据后,再点击“提交”按钮,如果成功,则会返回到主页面,否则会提示相关的错误信息,如果不想修改,则可以点击返回主页面,返回到主页面;当点击“删除”链接时,则会删除当前选择的信息,并提示“删除成功”,并返回主页面。流程图如下所示:4.1.6 短消息管理模块流程图系统用户通过登陆验证进入系统主页面,根据用户的权限不同来显示此模块的各组件。然后选择进入短消息管理模块页面,用户可以通过选择不同的链接,进行相应的发送短消息、查看

37、、设置已读以及删除等操作。当点击“查看”链接时,会显示所选的短消息的信息,之后可以点击“返回短消息主页面”再返回到短消息列表页面;当点击“发送短消息”链接时,会进入短消息信息输入页面,当输入相关信息后点击“提交”按钮,如果成功则会返回到短消息列表页面,并提示“发送成功”,如果失败,则会提示相关的错误信息,如果不想发送,则可以点击“返回短消息主页面”返回到短消息列表页面;当点击“删除”链接时,则会删除当前选择的短消息信息,并提示“删除成功”。流程图如下所示:4.1.7 公文管理模块流程图系统用户通过登陆验证进入系统主页面,根据用户的权限不同来显示此模块的各组件。然后选择进入公文管理模块主页面,这

38、时会显示所有公文。用户可以通过选择不同的链接,进行相应的新增、上传文件、审批、以及删除公文等操作。但点击新增公文时,会进入新增公文页面。新增成功会返回主页面当点击“上传文件”链接时,会进入上传文件信息输入页面,当输入相关信息后点击“提交”按钮,如果成功则会返回到文件列表页面,并提示“上传成功”,如果失败,则会提示相关的错误信息,如果不想上传,则可以点击返回公文主页面,返回到主页面;当点击“删除”链接时,则会删除当前选择的公文信息,并提示“删除成功”,并返回主页面。在此模块中,如果有待审批的公文可以进行审批后提交,成功后返回主页面。流程图如下所示:4.1.8 公共信息管理模块流程图系统用户通过登

39、陆验证进入系统主页面,根据用户的权限不同来显示此模块的各组件。然后选择进入公共信息管理模块页面,用户可以通过选择不同的链接,进行相应的新增公告、修改以及删除,发布等操作。当点击“新增公告”链接时,会进入公告信息输入页面,当输入相关信息后点击“提交”按钮,如果成功则会返回到公告列表页面,并提示“添加成功”,如果失败,则会提示相关的错误信息,如果不想添加,则可以点击“返回公告主页面”返回到公告列表页面;当点击“修改”链接时,则会进入到修改页面,并在表单中显示要修改的公告信息,当更改某个表单中的数据后,再点击“提交”按钮,如果成功,则会返回到公告列表页面,并提示“修改成功”,否则会提示相关的错误信息

40、,如果不想修改,则可以点击“返回公告主页面”返回到公告列表页面;当点击“删除”链接时,则会删除当前选择的公告信息,并提示“删除成功”。流程图如下所示:4.1.9 会议管理模块流程图系统用户通过登陆验证进入系统主页面,根据用户的权限不同来显示此模块的各组件。然后选择进入会议管理模块页面,用户可以通过选择不同的链接,进行相应的新增会议、查看、修改以及删除等操作。当点击“新增会议”链接时,会进入会议信息输入页面,当输入相关信息后点击“提交”按钮,如果成功则会返回到会议列表页面,并提示“添加成功”,如果失败,则会提示相关的错误信息,如果不想添加,则可以点击“返回会议主页面”返回到会议列表页面;当点击“

41、修改”链接时,则会进入到修改页面,并在表单中显示要修改的会议信息,当更改某个表单中的数据后,再点击“提交”按钮,如果成功,则会返回到会议列表页面,并提示“修改成功”,否则会提示相关的错误信息,如果不想修改,则可以点击“返回会议主页面”返回到会议列表页面;当点击“删除”链接时,则会删除当前选择的会议信息,并提示“删除成功”,并返回主页面。流程图如下所示:4.1.10 权限管理模块流程图权限管理:包括模块管理,角色管理。根据用户的权限不同来显示此模块的各组件。进入模块管理可以查看系统所有模块,可以修改,添加,删除模块信息。进入角色管理,可以查看,添加,删除,修改角色。4.1.11 固定资产管理模块

42、流程图系统用户通过登陆验证进入系统主页面,根据用户的权限不同来显示此模块的各组件。然后选择进入固定资产管理模块页面,可以对资产进行查询,添加,修改,删除,借用与归还。4.2 数据库设计数据库设计是项目开发和系统设计中非常重要的一个环节,在这里要特别强调数据库设计的重要性,是因为数据库设计就像建设高楼大厦的根基一样,如果设计不好,在后来的系统维护、变更和功能扩充时,甚至在系统开发过程中都会引起比较大的问题。4.2.1 数据库概念设计将需求分析得到的用户需求抽象为信息结构及概念模型的过程是概念结构设计。为了描述数据库结构的概念模式,这里采用e-r图来描述数据库的实体关系。在职工信息管理模块,某个公

43、司职位可以有多个公司员工,但某个公司员工只能有一个公司职位。因此公司职位与系统用户之间是一对多的关系;某个公司部门可有有多个公司员工,但某个公司员工只能属于一个公司部门,因此公司部门与系统用户之间是一对多的关系;某个公司职位可以在不同的公司部门内出现,某个公司部门也都会有各种公司职位,因此两者之间是多对多的关系。(1)部门信息管理模块的e-r图如下图所示:(2)人员模块的e-r图如下图所示:(3)模块管理的e-r图如下图所示:(4) 权限管理模块的e-r图如下图所示:(5) 角色管理模块的e-r图如下图所示:(6) 用户管理管理模块的e-r图如下图所示:(7) 用户和角色管理模块的e-r图如下

44、图所示:4.2.2 数据库逻辑设计逻辑结构设计的任务是把概念结构设计阶段设计好的e-r图转换成与选用的dbms产品所支持的数据模型相符合的逻辑结构。e-r图转换为关系数据模型所要解决的问题是如何将实体和实体间的联系转换成关系模式,如何确定这些关系模式的属性和码。数据库中两实体间1:n联系转换为一个与n端对应的关系模式合并的关系模式的方法是将联系的属性与1端的码加入n端作为属性,主码为n端实体的主码。(1) 用户信息管理模块中由e-r图转换成的关系数据模式有:用户信息表user(id,username,password,expiretime,createtime,person)字段名称说明类型空

45、主健备注id唯一idint否是username用户名charpassword密码charcreatetime创建时间datepersonid员工信息intexpiretime过期时间date(2) 部门模块中由e-r图转换成的关系数据模式有:部门表address(id,name,sn,description,parentid)字段名称说明类型空主健备注id唯一idint否是name名称charsn唯一编号charparentid父部门idintdescription描述char(3) 人员管理模块中由e-r图转换成的关系数据模式有:日程表person (id,name,sex,address,

46、phone,orgid,description,duty)字段名称说明类型空主健备注id唯一idint否是name名称charsex性别charaddress地址charphone电话charorgid部门idintdescription描述charduty生日date(4)模块管理中由e-r图转换成的关系数据模式有:模块表module (id,name,sn,url,ordernum,parentid)字段名称说明类型空主健备注id唯一idint否是name名称charsn编号charurl资源入口charordernum模块序号intparentid父模块idint(5) 角色管理模块中由

47、e-r图转换成的关系数据模式有:角色表role(id,name)字段名称说明类型空主健备注id唯一idint否是name名称char(6) 权限模块中由e-r图转换成的关系数据模式有:权限表acl(id,principaltype,principalsn,resourcesn,aclstate,extendsstate)字段名称说明类型空主健备注id唯一idint否是principaltype主体类型:用户,角色stringprincipalsn主体标示intresourcesn资源标示intaclstate授权状态intextendsstate是否继承int(7)用户和角色模块中由e-r图转

48、换成的关系数据模式有:会议表usersroles (id,roleid,userid,ordernum)字段名称说明类型空主健备注id唯一idint否是roleid角色idintuserid用户idintordernum优先级int第5章 系统实现5.1 系统框架本系统以struts+spring+hibernate架构为基础,按照实际的开发流程来进行开发。包括如下:l hibernate功能开发:包括创建hibernate的持久化类、映射文件,开发dao类;l struts功能开发:开发form bean类、action类、jsp页面并进行页面的国际化、表单的校验,调用hibernate层的

49、dao类执行与数据库的交互;l spring功能开发:创建applicationcontext.xml文件,并在其中进行基础的bean组件配置,包括:数据源配置、sessionfactory的配置、配置事务、配置dao组件以及配置dao事务;l 系统功能提升:包括开发分页栏通用模块、图片国际化、mysql数据库的国际化、系统安全访问等。5.1.1 系统框架图该系统架构图如图5-1所示:5.1.1 程序结构图本系统源程序包的目录结构如图5-2所示。myoa为项目的名称,也是项目的根目录。webroot为web目录,包括图片目录images和jsp文件。web-inf目录、lib目录及web.xm

50、l依然为固定的目录和文件。src目录包含如下几个部分:l liang.oa.beans:hibernate持久类与映射文件存放目录;l liang.oa.dao:hibernate dao层存放目录;l liang.oa.dao:dao层的实现目录;l liang.struts.actions:action类存放目录;l liang.oa.service:spring的包装类目录;l liang.oa.service.impl:spring的包装类实现目录;l liang.oa.util:工具类目录;l test:测试类目录;l log4j:日志配置文件;5.2 持久层hibernate实现5

51、.2.1 创建并配置hibernate映射文件在进行struts层的功能开发之前,我们需要基于hibernate开发底层的dao层。我们将分2个步骤进行开发。l 创建hibernate的持久化类和映射文件,并在applicationcontext.xml中进行配置;l 开发并配置hibernate dao层userdao.java、persondao.java、orgdao.java、acldao.java、roledao.java、moduledao.java、meetingdao.java、workflowdao.java。 这是hibernate层开发的第一步,使用myeclipse的工

52、具database explorer来自动创建hibernate的持久化类和映射文件,对应的数据库分别为user、person、organization、workflow、meeting、role、acl以及module表。最后生成的类文件包括:l 持久化类:user.java、person.java、meeting.java、organization.java、acl.java、role.java、module.java、workflow.java;l 映射文件:user.hbm.xml、person.hbm.xml、meeting.hbm.xml、organization.hbm.xml、

53、role.hbm.xml、module.hbm.xml、workflow.hbm.xml、acl.hbm.xml。需要在applicationcontext-common.xml中注册该映射文件。5.2.2 开发并配置hibernate dao层到目前为止,系统已经具备了hibernate的基础访问功能,下面我们要开发hibernate dao层,使用hibernatetemplate实现对数据表的增、删、改、查的操作,包括如下三步:l 定义接口类: userdao.java、persondao.java、organizationdao.java、acldao.java、roledao.jav

54、a、moduledao.java、workflowdao.java和meetingdao.java;l 开发实现类:userdaoimpl.java、persondaoimpl.java、organizationdaoimpl.java、acldaoimpl.java、roledaoimpl.java、moduledaoimpl.java、workflowdaoimpl.java和meetingdaoimpl.java;在applicationcontext-beans.xml中配置dao及其代理。5.3 控制层struts2的实现5.3.1 开发struts2的核心代码在以上经过对hibernate持久化类、映射文件和dao类的开发,已经具备了数据层的功能代码,下面我们就要开发struts层的代码,来调用该数据层实现数据库的操作。要进行struts层的功能开发,我们需要分4个步骤进行。l 开发struts核心流程代码,包括orgaction.java和personaction.java、roleaction.java和aclaction.java、m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论