




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、网上办公自动化系统 摘 要 随着信息网络技术的应用,目前 许多政府部门、企事业单位已建立局 域网络, 并直接与 internet 相连接。为了充分发挥网络的作用,提高办公理效率,建设办公 自动化管理系统已经是迫切需要。本系统采用动态 web 构建技术,使得系 统客户端 无须维护,适应性强,使用与企事业、政府机关等单位网络环境使用。 企业办公自动化系统是企业管理系统的一部分,企业内部办公网络的内容很多,如 员工信息的发布和共享,公司内部财务信息的发布和共享,员工内部交流信息的发布和 共享。 本程序使用 java 进行设计,应用了 b/s 结构的设计。在数据库应用管理方面, 使用 mysql 并采
2、用了开源 hibernate,spring3,springmvc,相比于 mybatis,hibernate 显得更加的面向对象开发,是流行开源框架系统的一部分。 spring 解决企业应用开发的复杂性切,其核心思想是面相切面变成和控制反转。 spring mvc 属于 spring framework 的后续产品,已经融合在 spring web flow 里 面。spring 框架提供了构建 web 应用程序的全功能 mvc 模块。使用 spring 可插 入的 mvc 架构,可以选择是使用内置的 spring web 框架还可以是 struts 这样的 web 框架。通过策略接口,spr
3、ing 框架是高度可配置的,而且包含多种视图技术, 例如 javaserver pages(jsp)技术、velocity、tiles、itext 和 poi。spring mvc 框架并不知道使用的视图,所以不会强迫您只使用 jsp 技术。spring mvc 分 离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易 进行定制。 。前台采用 jquery easyui 作界面展示,jquery easyui 是一组基于 jquery 的 ui 插件集合,而 jquery easyui 的目标就是帮助 web 开发者更轻松的打 造出功能丰富并且美观的 ui 界面。开发者不需
4、要编写复杂的 javascript,也不需 要对 css 样式有深入的了解,开发者需要了解的只有一些简单的 html 标签。本系统 中后台服务器采用了 p6spy 对数据库进行全程监控,并可将记录存入 log。数据传 输时,采用现在流行的 json 数据格式来进行交换,json 具有键值对应的特性,且 格式简单相比 xml 传输,拥有更小的流量。 关键字:办公自动化管理系统;hibernate;spring ;springmvc;jqueryeasyui online office automation system abstract with the application of infor
5、mation network technology , many government departments , enterprises and institutions have established a local area network , and directly connected to the internet. in order to give full play to the role of the network, improve office efficiency, the construction of office automation management sy
6、stem has been an urgent need . the system uses a dynamic web construction technology , making the system the client no maintenance , adaptable , use and enterprises , government agencies and other units of the network environment.online office automation system office automation systems is part of t
7、he enterprise management system , the content of many of the internal office network , such as information dissemination and sharing of staff , publish and share financial information within the company , to publish and share internal staff exchange of information. this program is designed to use ja
8、va , application of b / s structure design. in the management of database applications using mysql and uses the open source hibernate, spring3, springmvc, compared to mybatis, hibernate even more object-oriented development system is a part of the popular open source frameworks . spring solve comple
9、x cutting enterprise application development , the core idea is to become the face section and inversion of control . spring mvc belong spring framework successor , has been integrated in the spring web flow inside. spring framework provides an application to build a full- featured web mvc module. c
10、an be inserted using spring mvc framework , you can choose whether to use the built-in spring web framework such as struts can also be web framework. via strategy interfaces , spring framework is highly configurable and includes a variety of view technologies such as javaserver pages (jsp) technolog
11、y , velocity, tiles, itext , and poi. spring mvc framework does not know the view of the use , it will not force you to use only jsp technology. spring mvc separation controller , model object , dispatcher and the role of the handler object , this separation to make them easier to customize. . jquer
12、y easyui for future use interface display , jquery easyui is a collection of plug-ins based on jquery ui , and jquery easyui goal is to help web developers to more easily create a feature-rich and beautiful ui interface. developers do not need to write complex javascript, css styles do not need to h
13、ave a better understanding , developers need to know only a few simple html tag . the system uses a backend server p6spy full control of the database , and can be recorded into the log. when data transmission, using the now popular data formats to be exchanged json , json with corresponding key char
14、acteristics, and simple transmission compared xml format , with a smaller flow . 关键字:office automation systems; hibernate,spring;springmvc;jqueryeasyui 目录 摘 要.i abstract.ii 1 绪论.1 1.1 毕业设计主要任务.1 1.2 课题的意义.1 1.3 论文的工作和安排.1 2 oa 办公系统需求分析 .3 2.1 可行性分析.3 2.1.1 技术可行性.3 2.1.2 经济可行性.3 2.2 oa 办公系统需求概述 .3 2.
15、2.1 系统目标.3 2.2.2 用户类和用户特性.3 2.3 oa 办公系统需求模型 .4 2.3.1 功能描述.4 2.3.2 使用者详细功能描述.4 2.3.3 主要用例的用例描述.5 3 总体设计.11 3.1 数据库设计.11 3.1.1 数据库设计概述.11 3.2 系统总体结构设计.14 3.2.1 oa 办公系统总体结构图 .14 3.2.2 功能模块.14 4 程序设计与编码.16 4.1 开发平台与工具.16 4.1.1 java 平台 .16 4.1.2 数据库.16 4.1.3 开源项目.17 4.2 程序设计.17 4.2.1 程序设计概述.17 5 软件测试.23
16、5.1 软件测试的方法与步骤.23 5.2 测试用例设计与结果分析.23 5.2.1 模块测试.23 5.2.2 集成测试.25 5.2.3 验收测试.25 5.3 评价.25 6 总结.26 6.1 工作成果.26 6.2 改进意见.26 6.3 收获体会.26 参考文献.27 致谢.28 外文原文 .29 中文翻译 .42 1 绪论 随着信息技术的不断发展以及互联网技术的日益成熟,使远程办公成为可能。经 过多年努力,博大国际互联网与捷通资讯有限公司联合推出了办公在线系统,她将崭 新的办公理念与先进的信息技术完美结合,开发出新一代办公软件-办公在线系统, 本系统避免了传统办公自动化的种种弊端
17、。您无论身处何地,只要有上网条件就可以 利用网上办公系统,及时有效地对各种文件、报告进处理。 1.1 毕业设计主要任务 oa 办公系统要完成以下功能。 (1)个人信息修改。 (2)出勤登记。 (3)公告信息。 (4)会议通知。 (5)个人通信录。 (6)发件箱。 (7)收件箱。 (8)工作日志。 (9)日程安排。 (10)公司文件。 (11)安全退出。 1.2 课题的意义 随着信息技术的不断发展以及互联网技术的日益成熟,使远程办公成为可能。经 过多年努力,博大国际互联网与捷通资讯有限公司联合推出了办公在线系统,她将崭 新的办公理念与先进的信息技术完美结合,开发出新一代办公软件-办公在线系统,
18、本系统避免了传统办公自动化的种种弊端。您无论身处何地,只要有上网条件就可以 利用网上办公系统,及时有效地对各种文件、报告进行处理,同时也将彻底摆脱桌面 上沉沉繁杂的纸张文件,使得繁重的工作变得轻松自如,极大地提高工作效率。 1.3 论文的工作和安排 本次设计的目标是开发一个类似于 oa 办公管理系统,设计一套功能比较完善的、 方便使用的 oa 办公系统。 第 1 章为本章绪论,简述 oa 办公系统这个课题的背景情况以及开发本系统的意 义。 第 2 章为需求分析,本章中明确了系统需要实现的功能,分析了系统的用例,并 介绍根据系统的需求选择的开发工具和技术的概况。 第 3 章为总体设计,详细描述了
19、本系统中数据库的设计情况,并给出了系统总体 界面的设计方案。 第 4 章为程序设计与编码各主要功能模块的实现方法和部分关键代码,同时提供 了个主要界面运行的参考图片,以更直观了解系统的实现情况。 第 5 章为软件测试,测试系统功能实现并对测试结果进行记录分析。 第 6 章为总结,为此次毕业设计做一个总结,总结所获得的经验和体会。 2 oa 办公系统需求分析 2.1 可行性分析 采用现代化统一的计算机信息软件系统,能够有效提高公司日常办事效率,使其 高效的发挥最大作用,能够迅捷的为使用者提供相应的服务。 2.1.1 技术可行性 技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否
20、满 足需要。本系统采用 b/s 架构,前台使用 jquery easyui 开发出友好美观的人机界面, 便于用户理解、操作,后台采用 hibernate+spring3+springmvc 作为主题框架。数据库 管理系统采用 oracle,它能够处理大量数据,同时保持数据的完整性、安全性。因此 本系统的开发平台已成熟可行。硬件方面,在科技飞速发展的今天,硬件更新速度越 来越快,容量越来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满 足本系统所需。 2.1.2 经济可行性 鉴于计算机技术发展异常迅猛,在硬件软件配置以及开发技术均以可行的情况下开 发这样一个简易的即时聊天系统成本不会很
21、高,但其可以大大提高日常办公工作效率, 也是信息交互发展的必然趋势,其必将有比较宽阔的市场,因此 oa 办公系统在经济可行 性上时可行的。 2.2 oa 办公系统需求概述 2.2.1 系统目标 设计的是一套 b/s 网站结构的,功能比较完善的、方便使用的 oa 办公系统。在 发布系统后能达到系统界面美观友好,操作简单易行,查询灵活方便,数据存储安全 可靠,系统维护安全、方便、可靠,并能够满足实用性、先进性要求的目标。主要目的 是通过对于公司员工的管理,管理员高效的完成系统的各项基本操作和管理用户等。 可分为以下一些主要内容。 (1)1 个人信息修改。 (2)出勤登记。 (3)公告信息。 (4)
22、会议通知。 (5)个人通信录。 (6)发件箱。 (7)收件箱。 (8)工作日志。 (9)日程安排。 (10)公司文件。 (11)安全退出。 2.2.2 用户类和用户特性 oa 办公系统是一个基于 b/s 结构模式的系统,使用者通过这个系统,方便个人 工作管理。用户类的具体描述如表 2.1 所示。 表 2.1 用户具体描述 用户类描述 使用者 oa 系统的成员是该系统的所有用户,他们通过该系统登录自己的账户, 每个人根据超级管理员分配的权限不同,所做的操作也不同。 2.3 oa 办公系统需求模型 2.3.1 功能描述 oa 办公系统的主要功能描述如下。 (1)个人信息修改:用于修改个人的详细信息
23、。 (2)出勤登记:用户每天登录系统后,可以通过该功能完成日常的签到。 (3)公告信息:每个用户可以通过该功能发布公告信息,发布人可以删除自己发 布的信息。 (4)会议通知:每个用户可以通过该功能发布会议通知,发布人可以删除自己发 布的会议通知。 (5)个人通信录:通过该功能,用户可以将公司其他同事添加到自己的联系人通 信录中。 (6)发件箱:用于实现给公司其他员工发送信息。 (7 收件箱:该功能实现查看其他员工给当前用户发送的消息。 (8)工作日志:用于记录当前用户的工作情况。 (9)日程安排:用于记录当前用户的日程。 (10)公司文件:每个用户可以通过该功能上传文件,上传人可以删除自己上传
24、 的文件。 (11)安全退出:注销并退出 oa 系统。 2.3.2 使用者详细功能描述 oa 系统用户通过登陆界面注册登录到系统中,首先进行个人信息的录,包括以 下内容。 (1)个人信息修改:用于修改个人的详细信息。 (2)出勤登记:用户每天登录系统后,可以通过该功能完成日常的签到。 (3)公告信息:每个用户可以通过该功能发布公告信息,发布人可以删除自己发 布的信息。 (4)会议通知:每个用户可以通过该功能发布会议通知,发布人可以删除自己发 布的会议通知。 (5)个人通信录:通过该功能,用户可以将公司其他同事添加到自己的联系人通 信录中。 (6)发件箱:用于实现给公司其他员工发送信息。 (7)
25、收件箱:该功能实现查看其他员工给当前用户发送的消息。 (8)工作日志:用于记录当前用户的工作情况。 (9)日程安排:用于记录当前用户的日程。 (10)公司文件:每个用户可以通过该功能上传文件,上传人可以删除自己上传 的文件。 (11)安全退出:注销并退出 oa 系统。 2.3.3 主要用例的用例描述 oa 办公系统的所有用例表有 6 个。 (1) “用户登录“用例,如表 2.2 所示。 表 2.2 用例“用户登录” 用例名称用户登录 标识符 uc-1 参与者oa 系统用户 描述使用者点击页面后,和后台服务器建立 http 连接,然后,输入帐 号以及密码,点击确认提交,服务器返回处理结果。 前置
26、条件(1)登录;(2)进入登录界面 后置条件(1)显示好友列表; 主干过程进入登录程序,使用者进入登录程序,输入帐号密码,点击提交。 服务器接收登录信息,并对登录信息进行验证。 服务器将查询结果返回给客户端。 使用者接受返回结果,按照结果进行显示不同结果。系统跳转至 用户操作界面。 分支过程1.1 选择重置(第 3 步后分支出来) 1. 使用者选择重置 异常1.0 网络故障(第 2 步) 1服务器和客户端连接异常。 2. 客户端或者服务器之一出现异常问题。 2.0 数据问题 1. 服务器端上查询无此用户或者密码不正确。 被包含用例无 被扩展用例无 优先级高 (2) “个人信息修改”用例,如表
27、2.3 所示。 表 2.3 用例“个人信息修改” 用例名称个人信息修改 标识符 uc-1 参与者oa 系统用户 描述使用者在登录界面里点击个人信息修改菜单,进入个人信息修改 界面,录入姓名、邮箱、联系电话等等信息后,进行提交,服务 器处理后将信息返回,此时进行的是异步提交,返回后进行 js 提 示。 前置条件1. 登录;2. 进入 oa 系统管理界面 后置条件1 显示录入是否成功 主干过程进入登录程序 使用者进入个人信息修改界面,输入信息后,点击确定按钮。 服务器接收信息,将信息插入数据库。 服务器将提示信息返回给使用者。 使用者通过返回消息进行验证 分支过程1.1 选择重置(第 3 步后分支
28、出来) 1. 使用者选择重置 异常1.0 网络故障(第 2 步) 1服务器和客户端连接异常。 2. 客户端或者服务器之一出现异常问题。 2.0 数据问题 1. 服务器端上插入值错误。 被包含用例无 被扩展用例无 优先级高 (3) “出勤登记”用例,如表 2.4 所示。 表 2.4 用例“出勤登记” 用例名称出勤登记 标识符 uc-1 参与者oa 系统用户 描述使用者登录系统后可以点击出勤登记菜单,进入出勤登记界面, 点击表格中的出勤登记按钮,完成出勤登记。 前置条件1. 登记成功 后置条件1提示是否登记成功,刷新表格 主干过程1.使用者提交自己的数据。 2.服务器接收提交数据,将信息插入数据库
29、。 3.服务器将提示信息返回给用户。 4.使用者接受返回信息。 分支过程1.1 选择重置(第 3 步后分支出来) 1. 使用者选择重置 异常1.0 网络故障(第 2 步) 1服务器和客户端连接异常。 2. 客户端或者服务器之一出现异常问题。 2.0 数据问题 1. 服务器端上插入值错误。 被包含用例无 被扩展用例无 优先级高 (4) “公告信息”用例,如表 2.5 所示。 表 2.5 用例“公告信息” 用例名称出勤登记 标识符 uc-1 参与者oa 系统用户 描述使用者登录系统后可以点击公告信息菜单,进入公告信息界面, 点击表格中的发布公告按钮,弹出公告界面,填写完标题和内容 后,点击确定,发
30、布公告。 前置条件1. 公告信息发布成功 后置条件1提示是否发布成功,刷新表格 主干过程1.使用者提交自己的数据。 2.服务器接收提交数据,将信息插入数据库。 3.服务器将提示信息返回给用户。 4.使用者接受返回信息。 分支过程1.1 选择重置(第 3 步后分支出来) 1. 使用者选择重置 异常1.0 网络故障(第 2 步) 1服务器和客户端连接异常。 2. 客户端或者服务器之一出现异常问题。 2.0 数据问题 1. 服务器端上插入值错误。 被包含用例无 被扩展用例无 优先级高 (5) “个人通讯录”用例,如表 2.6 所示。 表 2.6 用例“个人通讯录” 用例名称个人通信录 标识符 uc-
31、1 参与者oa 系统用户 描述使用者登录系统后可以点击个人通讯录菜单,进入个人通讯录列 表界面(1)点击表格中的出添加联系人按钮,弹出联系人列表, 选择联系人,完成联系人的添加。 (2)点击表格中的删除联系人 前置条件1. 登记成功 后置条件1提示是否登记成功,刷新表格 主干过程1.使用者提交自己的数据。 2.服务器接收提交数据,将信息插入数据库。 3.服务器将提示信息返回给用户。 4.使用者接受返回信息。 分支过程1.1 选择重置(第 3 步后分支出来) 1. 使用者选择重置 异常1.0 网络故障(第 2 步) 1服务器和客户端连接异常。 2. 客户端或者服务器之一出现异常问题。 2.0 数
32、据问题 1. 服务器端上插入值错误。 被包含用例无 被扩展用例无 优先级高 (6) “会议通知”用例,如表 2.7 所示。 表 2.7 用例“会议通知” 用例名称会议通知 标识符 uc-1 参与者oa 系统用户 描述使用者登录系统后可以点击出勤登记菜单,进入出勤登记界面, 点击表格中的出勤登记按钮,完成出勤登记。 前置条件1. 登记成功 后置条件1提示是否登记成功,刷新表格 主干过程1.使用者提交自己的数据。 2.服务器接收提交数据,将信息插入数据库。 3.服务器将提示信息返回给用户。 4.使用者接受返回信息。 分支过程1.1 选择重置(第 3 步后分支出来) 1. 使用者选择重置 异常1.0
33、 网络故障(第 2 步) 1服务器和客户端连接异常。 2. 客户端或者服务器之一出现异常问题。 2.0 数据问题 1. 服务器端上插入值错误。 被包含用例无 被扩展用例无 优先级高 3 总体设计 3.1 数据库设计 3.1.1 数据库设计概述 数据库是整个系统的基石,数据库的设计优劣直接影响到整个系统的设计成败,本节 对数据库的设计进行专门阐述。 数据库是数据管理的最新技术,十多年来数据库管理系统已从专用的应用程序发 展成为通用的系统软件。由于数据库具有数据结构化,最低冗余度,较高的程序与数 据独立性,易于扩充,易于编制应用程序等优点,较大的信息系统都是建立在数据库 设计之上的。因此不仅大型计
34、算机及中小型计算机,甚至微型机都配有数据库管理系 统。 数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库 为中心的新阶段。这样既便于数据的集中管理,又有利于应用程序的研制和维护,提 高了数据的利用性和相容性,提高了决策的可靠性。目前,数据库已经成为现代信息 系统不可分割的重要组成部分。数据库技术也是计算机领域中发展最快的技术之一。 数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它是建 立数据库应用系统的核心问题。数据库及其应用的性能都建立在良好的数据库设计的 基础之上,数据库的数据是一切操作的基础,如果数据库设计不好,那么其它一切用 于提高数据库性能的方
35、法收效都是有限的。数据库设计的关键是如何使设计的数据库 能合理地存储用户的数据,方便用户进行数据处理。 设计数据库必须遵循一定的规则,在关系型数据库中,这种规则就是范式,范式 是符合某一种级别的关系模式的集合。一般人们设计数据库遵循第三范式。即:数据 库表中不包含已在其他表中包含的非主关键字信息。采用范式减少了数据冗余,节约 了存储空间,同时加快了增、删、改的速度。 整个系统所包括的信息有用户信息出勤登记信息,可将这些信息抽象为下列系统 所需要的数据项和数据结构。 (1) 个人信息修改(标识,姓名,姓名,qq,所在公司,住址,联系电话) (2) 出勤登记表(标识,姓名,登记日期) (3) 公告
36、信息(标识,发布人,标题,内容,发布时间,操作) (4)会议通知表(标识,发布人 id,开始时间,结束时间,标题,会议地址, 会议主题,操作) (5) 个人通信录表(标识,姓名,姓名,email,qq,所在公司,住址,手机号) (6) 工作日志表(标识,用户 id,标题,内容,记录时间) (7) 日程安排表(标识,用户 id,日程时间,日程) (8) 邮件信息表(标识,发件人 id,收件人 id,主题,内容,发送时间,是否 已读,读件时间) (9) 公司文件表(标识,上传用户 id,文件名称,文件类型,文件大小,上传 时间) oa 系统涉及到的所有数据结构表有以下 8 个。 (1)用户表,如表
37、 3.1 所示。 表3.1 用户表 userinfo 序号字段描述字段名称数据类型备注 1 标识 idbigint 主键 2 用户名 usernamevarchar 3 密码 passwordvarchar 4 姓名 namevarchar 5 性别 genderenmu 6 邮箱 emailvarchar 7qqqqvarchar 8 所在公司 companytext 9 地址 addresstext 10 手机号码 mobilevarchar (2)出勤登记表,如表3.2所示。 表3.2 出勤登记表 user_signin 序号字段描述字段名称数据类型备注 1 标识 idbigint 主键
38、 2 用户 id user_idbigint 3 登记日期 signin_datevarchar (3)个人通讯录表,如表3.3所示。 表3.3 个人通讯录 address 序号字段描述字段名称数据类型备注 1 标识 idbigint 主键 2 用户 id user_idbigint 3 联系人 id address_user_idbigint (4)会议通知表,如表 3.4 所示。 表 3.4 会议通知 meeting 序号字段描述字段名称数据类型备注 1 标识 idbigint 主键 2 发布人 id senderbigint 3 开始时间 start_timevarchar 4 结束时间
39、 end_timevarchar 5 会议地址 addressvarchar 6 会议主题 titlevarchar 7 会议内容 contenttext (5)公告信息表,如表 3.5 所示。 表 3.5 公告表 notice 序号字段描述字段名称数据类型备注 1 标识 idbigint 主键 2 发布人 id senderbigint 3 公告标题 titlevarchar 4 公告内容 contenttext 5 发布时间 send_timevarchar (6)工作日志表,如表 3-6 所示。 表 3-6 工作日志表 worklog 序号字段描述字段名称数据类型备注 1 标识 idbi
40、gint 主键 2 用户 id user_idbigint 3 标题 titlevarchar 4 内容 descriptiontext 5 记录时间 log_timevarchar (7)日程安排表,如表 3.7 所示。 表 3.7 日程安排表 schedule 序号字段描述字段名称数据类型备注 1 标识 idbigint 主键 2 用户 id user_idbigint 3 日程时间 schedule_datevarchar 4 日程 plantext (8)邮件信息表,如表 3.8 所示。 表 3.8 邮件信息表 message_box 序号字段描述字段名称数据类型备注 1 标识 idb
41、igint 主键 2 发件人 id from_senderbigint 3 收件人 id to_senderbigint 4 主题 titlevarchar 5 内容 contenttext 6 发送时间 send_timevarchar 7 是否已读 is_readenum 8 读件时间 read_timevarchar (9)文件信息表,如表 3.9 所示。 表 3.9 文件信息表 fileinfo 序号字段描述字段名称数据类型备注 1 标识 idbigint 主键 2 上传用户 id user_idbigint 3 文件名 file_namevarchar 4 文件类型 file_typ
42、evarchar 5 文件大小 file_sizevarchar 6 上传时间 upload_timevarchar 3.2 系统总体结构设计 该系统在 windows98/2000/xp/win7 环境下,主要采用 java 语言作为开发, mysql 数据库来设计,采用 b/s 设计开发模式,其中通信过程采用类序列化进行发送 和接受,后台处理时,配合 hibernate,spring,springmvc 等开源企业应用开源框架操 作数据库,并用 p6spy 全程监控记录 sql 处理。开发过程与成果应符合 gb/t 11457- 1995 软件工程术语,gb/t 8567-1988 计算机
43、软件产品开发文件编制指南等。 3.2.1 oa 办公系统总体结构图 绘制系统结构图的过程,实际上就是对系统功能模块进行分解设计的过程,即合 理地将数据流程图转变为所需要的系统结构图。 系统结构图将会使读者和用户能直观的了解系统的结构模式,理解系统的各个功 能的结构,能很好地方便用户使用和理解整个系统。 据需求分析的结果,按照“低耦合、高内聚”的原则,本系统将划分为以下几个 模块。 (1)1 个人信息修改。 (2)出勤登记。 (3)公告信息。 (4)会议通知。 (5)个人通信录。 (6)发件箱。 (7)收件箱。 (8)工作日志。 (9)日程安排。 (10)公司文件。 (11)安全退出。 3.2.
44、2 功能模块 (1)个人信息修改:用于修改个人的详细信息。 (2)出勤登记:用户每天登录系统后,可以通过该功能完成日常的签到。 (3)公告信息:每个用户可以通过该功能发布公告信息,发布人可以删除自己发 布的信息。 (4)会议通知:每个用户可以通过该功能发布会议通知,发布人可以删除自己发 布的会议通知。 (5)个人通信录:通过该功能,用户可以将公司其他同事添加到自己的联系人通 信录中。 (6)发件箱:用于实现给公司其他员工发送信息。 (7)收件箱:该功能实现查看其他员工给当前用户发送的消息。 (8)工作日志:用于记录当前用户的工作情况。 (9)日程安排:用于记录当前用户的日程。 (10)公司文件
45、:每个用户可以通过该功能上传文件,上传人可以删除自己上传 的文件。 (11)安全退出:注销并退出 oa 系统。 4 程序设计与编码 4.1 开发平台与工具 4.1.1 java 平台 java 平台即由 java 编程语言所撰写的软件赖以执行的平台,是 java 软件和电脑 系统的中介,最初被设计用在applet等桌面端程式,不过后来逐渐转移到伺服端的 运用由 java 虚拟机和 java 核心类所构成。它为纯 java 程序提供了统一的编程接口, 而不管下层操作系统是什么。java 是一个可以在不同操作系统(例如 windows, linux 等)上运行的编程语 言,java 平台是指运行在
46、各种终端(如 pc、服务器、移动设备、 嵌入式设备)的系统软件。pc 机上的 java 程序是用 javase 开发出来的,服务器端 的 java 程序是用 javaee 开发出来的,移动设备的 java 程序是用 javame 开发出来的。 java执行环境,即java runtime environment,简称为jre,是在任何平台上运行 java编写的程序都需要用到的软件。终端用户可以以软件或者插件方式得到和使用 jre。sun公司还发布了一个jre的更复杂的版本,叫做 jdk,即java 2开发包, 里面包含了java需要的编译器、参考文档和调试器等 本程序就是由 javaee 开发
47、出来的。使用了 b/s 结构,同时在 myeclipse8.5 应用 平台上开发,打包。my eclipse,是一个十分优秀的用于开发 java, j2ee 的 eclipse 插件集合,my eclipse 的功能非常强大,支持也十分广泛,尤其是对各种开源产品的 支持十分不错。 4.1.2 数据库 本系统中采用了 mysql 数据库,在程序设计时,使用了开源的 hibernate 项目与 之进行数据连接以及处理。 mysql 是一个开放源码的小型关联式数据库管理系统,开发者为瑞典 mysql ab 公 司。mysql 被广泛地应用在 internet 上的中小型网站中。由于其体积小、速度快、
48、总 体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成 本而选择了 mysql 作为网站数据库。 (1)使用 c 和 c+编写,并使用了多种编译器进行测试,保证源代码的可移植性。 (2)支持 aix、freebsd、hp-ux、linux、mac os、novellnetware、openbsd、os/2 wrap、solaris、windows 等多种操作系统。 (3)为多种编程语言提供了 api。这些编程语言包括 c、c+、python、java、perl、php、eiffel、ruby 和 tcl 等。 (4)支持多线程,充分利用 cpu 资源。 (5)优化的 s
49、ql 查询算法,有效地提高查询速度。 (6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作 为一个库而嵌入到其他的软件中。 (7)提供多语言支持,常见的编码如中文的 gb 2312、big5,日文的 shift_jis 等都可以用作数据表名和数据列名。 (8)提供 tcp/ip、odbc 和 jdbc 等多种数据库连接途径。 (9)提供用于管理、检查、优化数据库操作的管理工具。 (10)支持大型的数据库,可以处理拥有上千万条记录的大型数据库。 (11)支持多种存储引擎。 4.1.3 开源项目 (1)hibernate 简介 hibernate 是一个开放源代码的对象关系映射
50、框架,它对 jdbc 进行了非常轻量级 的对象封装,使得 java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 hibernate 可以应用在任何使用 jdbc 的场合,既可以在 java 的客户端程序使用,也 可以在 servlet/jsp 的 web 应用中使用,最具革命意义的是,hibernate 可以在应用 ejb 的 j2ee 架构中取代 cmp,完成数据持久化的重任。 (2)spring 简介 强大的基于 javabeans 的采用控制反转(inversion of control,ioc)原则的 配置管理,使得应用程序的组件更加快捷简易。 一个可用于从 applet 到
51、java ee 等不同运行环境的核心 bean 工厂。数据库事 务的一般化抽象层,允许宣告式(declarative)事务管理器,简化事务的划分使之与底 层无关。 内建的针对 jta 和 单个 jdbc 数据源的一般化策略,使 spring 的事务支持不 要求 java ee 环境,这与一般的 jta 或者 ejb cmt 相反。 jdbc 抽象层提供了有针对性的异常等级(不再从 sql 异常中提取原始代码), 简化 了错误处理, 大大减少了程序员的编码量。再次利用 jdbc 时,你无需再写出另一个 终止 (finally) 模块。并且面向 jdbc 的异常与 spring 通用数据访问对象(
52、data access object) 异常等级相一致。 以资源容器,dao 实现和事务策略等形式与 hibernate,jdo 和 ibatis sql maps 集成。利用众多的反转控制方便特性来全面支持, 解决了许多典型的 hibernate 集成问题. 所有这些全部遵从 spring 通用事务处理和通用数据访问对象异常等级规范. 灵活的基于核心 spring 功能的 mvc 网页应用程序框架。开发者通过策略接口将 拥有对该框架的高度控制,因而该框架将适应于多种呈现(view)技术,例如 jsp,freemarker,velocity,tiles,itext 以及 poi。值得注意的是,
53、spring 中间 层可以轻易地结合于任何基于 mvc 框架的网页层,例如 struts,webwork,或 tapestry。提供诸如事务管理等服务的面向方面编程(aop)框架。所用开发工具如表 4.1 所示。 表 4.1 系统开发平台和工具 工具名称用途 jdk1.6.0_16 java 开发工具 eclipse java 集成开发环境 mysql 关系数据库管理系统 hibernate 数据库开发 p6spy 全程跟踪记录数据库运行以及执行情况 spring3 面向切面程序,控制反转 springmvc 请求拦截器,自动注入 4.2 程序设计 4.2.1 程序设计概述 该网站整合了 hi
54、bernate,springmvc3,spring3 等流行企业开源框架,对于程序开 发以及未来的维护起到了十分便利的作用。由 springmvc 负责页面请求的拦截,通过 spring 进行分配到相印的操作,分配后,由 hibernate 负责进行数据库的操作,将结 果集返回给前台页面,同时,p6spy 来代理 jdbc,全程追踪并打印出了 sql 语句,方便 后台管理员查看。这样的设计与实际应用中没有任何的偶合性,除了在配置中将驱动 改成 p6spy 的拦截驱动,程序中其他地方不需要任何的改变。它所带来的好处,相对 于几乎可忽略不计的性能下降是十分巨大的。 数据库与服务器端的连接,通过 h
55、ibernate 与 spring 的结合,程序中所有的直接 对数据库的操作都被配置在了 beans.xml 中。 org.hibernate.dialect.mysql5innodbdialect org.oa.po 以上配置文件是将 hibernate 与 spring 进行了整合,其中部分代码表示所有 hibernate 的映射的类都被 spring 进行了读取,如图 4-2 所示。 图 4-2 hibernate 的映射的类都被 spring 进行了读取代码图 所有的 hibernate 映射均采用 annotation 映射。例如:userinfo.java 如下: package
56、org.landresource.po; import java.io.serializable; import javax.persistence.column; import javax.persistence.entity; import javax.persistence.generatedvalue; import javax.persistence.generationtype; import javax.persistence.id; import javax.persistence.sequencegenerator; import javax.persistence.tabl
57、e; entity table(name = userinfo) public class userinfo implements serializable private static final long serialversionuid = -3919843440830996678l; private int id; private string username; private string password; id generatedvalue(strategy = generationtype.sequence, generator = seq_userinfo_id) sequ
58、encegenerator(name = seq_userinfo_id, sequencename = seq_userinfo_id) column(name = id) public int getid() return id; public void setid(int id) this.id = id; column(name = username) public string getusername() return username; public void setusername(string username) this.username = username; column
59、(name = password) public string getpassword() return password; public void setpassword(string password) this.password = password; 下面的则是 springmvc 对请求拦截的配置,例如所有的 controller 都被拦截,并 进行了自动分配。 后台接收到请求后,controller 的处理如下。 package org.landresource.controller; import javax.annotation.resource; import javax.s
60、ervlet.http.httpsession; import org.landresource.po.userinfo; import org.landresource.service.userinfoservice; import org.landresource.util.constant; import org.landresource.vo.jsonvo; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.requestmapping; im
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 蓄电池基础知识培训课件
- 2025年全国育婴师中级职业技能考试题库(含答案)
- 2025年辽宁省中考英语试卷(含答案)
- 产后抑郁症护理考试题及答案
- 曹禺中学期末考试卷子及答案
- 藏族近代文学考试题库及答案
- 什么依然的初三作文15篇
- 学前儿童卫生与保育(微课版) 课件 项目八 幼儿园的卫生保健工作
- 2025关于有偿合同的违约处理
- 物流服务师题库及答案
- 推拉棚施工方案范本
- 苹果公司采购与供应链管理
- 公务摄影拍摄技巧分享
- 职业指导师考试真题模拟汇编(共476题)
- 你我同心反诈同行心得感悟【3篇】
- 铁路工务标志标记管理规范工务标志标记管理的规定
- 微量注射泵的使用
- WS 506-2016口腔器械消毒灭菌技术操作规范
- 电力电子技术第五版(王兆安)课件全
- 心理学专业英语基础51057048
- (中职)电子技术基础与技能(电子信息类)教案
评论
0/150
提交评论