基于java的OA系统设计与实现

 

欢迎添加微信互相交流学习哦!

二维码

项目源码:https://gitee.com/oklongmm/biye2




摘 要
办公自动化(Office Automation,简称OA)是将现代化办公和计算机网络功能结合起来的一种新型的办公方式。办公自动化没有统一的定义,凡是在传统的办公室中采用各种新技术、新机器、新设备从事办公业务,都属于办公自动化的领域。通过实现办公自动化,或者说实现数字化办公,可以优化现有的管理组织结构,调整管理体制,在提高效率的基础上,增加协同办公能力,强化决策的一致性,最后实现提高决策效能的目的。
在本次OA系统的制作中依据需求主要实现了一下几个功能:1. 系统管理(岗位管理、部门管理、用户管理):主要完成对工作室成员的岗位、部门的增加、修改、删除和查看;2. 网上交流(论坛、邮件):主要为工作室成员提供学习、聊天、交流的平台;3. 审批流转(申请、审批、申请结果查询):主要为工作中的申请、批复提供计算机间的操做,减少工作量;4. 个人办公(通信录、工作日志、工作计划):主要为工作室成员提供良好而办公平台;5. 综合行政(会议管理、车辆管理):主要对工作室会议记录进行发布、查看、删除,对车辆的出入时间以及使用人员进行记录和管理。基本能够完成办公自动化、管理信息化。
系统开发采用先进的开发软件与技术,即采用Dreamweaver页面制作软件与Photoshop等技术相结合开发系统的页面,用JSP动态页面设计技术与Struts、Spring、Hibernate技术,MySQL数据库管理系统开发强大完善的数据库支持环境。
关键词:办公自动化;java;jsp;ssh;mysql
Abstract
OA (Office Automation, hereinafter referred to as OA) is to combine the modern Office and computer network function and a new type of Office way. No unified definition of office automation, all in traditional office USES all sorts of new technology, new machines, equipment engaged in the business office, belongs to the field of office automation. By implementing the office automation, or digital office, can optimize the structure of the existing management organization, adjusting management system, on the basis of efficiency, increase coordination office ability, strengthen the consistency of the decision, finally achieve the purpose of increase the efficiency of the decision.
According to the requirements in the OA system of production mainly realizes the following functions: 1. The system management (management, department management, user management) : main jobs for members of the studio, completion of add, modify, delete and view; 2. Online communication (BBS, email) : mainly for the members of the studio learning, chat, and provide a platform for the exchange; 3. The examination and approval flow (application, examination and approval, the application results query) : mainly for work in the application, approval between computers operate, reduce the workload; 4. Personal office (contacts, work logs, plan) : the main office for studio members provide a good platform; 5. The comprehensive administrative (meeting management, vehicle management) : mainly to release studio meeting record, view, delete, access time of vehicles and the use of personnel records and management. Basic can complete office automation, management informatization.
System develops, adopt advanced 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 Struts,Spring,Hibernate,MySQL data base management system develops the strong and complete database and supports the environment.
Keywords: Office automation;java;jsp;ssh;mysql
目录
TOC 1-3 摘 要 I
Abstract II
目录 III
1 课题背景 1
1.1 办公自动化概述 1
1.2 研究意义 1
1.3 设计技术及开发环境 1
1.3.1 JSP页面技术 2
1.3.2 JavaBean组件技术 2
1.3.3 Servlet技术 2
1.3.4 框架技术ssh 2
1.3.5 开发环境 3
1.4 本章小结 4
2 需求分析 5
2.1 现行业务分析 5
2.1.1业务流程 5
2.1.2 功能分析 5
2.2 系统建模 7
2.2.1 部分模块用例图 7
2.3 本章小结 10
3 系统设计 11
3.1 用户界面设计 11
3.1.1 用户登录界面设计 11
3.1.2 主页设计 11
3.2 数据库设计 12
3.2.1 数据库E-R图 12
3.2.2 数据库逻辑设计 15
3.3 论坛模块设计 19
3.4 本章小结 20
4 系统实现 21
4.1系统架构 21
4.1.1 程序结构图 21
4.2 JSP页面实现 22
4.3 数据源配置 24
4.4 论坛模块实现 25
4.4.1实体类及映射文件 25
4.4.2 service层接口及其实现类 26
4.4.3 view.action层的类 27
4.4.4 论坛模块总结 27
4.5 本章小结 27
5 系统测试 27
5.1 测试计划 28
5.2 测试用例及结果 28
5.3 本章小结 29
6 系统开发总结及展望...........................................................................30
参考文献 31
附录 32
致谢 34
基于JAVA的OA系统的设计与制作
1 课题背景
1.1 办公自动化概述
办公自动化,英文Office Automation,简称OA,是办公信息处理的自动化,它利用先进的技术,使人的各种办公业务活动逐步由各种设备、各种人、机信息系统来协助完成,达到充分利用信息,提高工作效率和工作质量,提高生产率的目的。
1.2 研究意义
在传统的办公模式中,由于缺少重要的信息传递和工作流程环节,办公的各个部门之间无法实现信息共享和信息集成,从而难以实现各个部门之间的高效协作。
随着信息技术的发展和国内信息技术应用水平的提高,在办公过程中,传统的工作方式和审批模式己经难以满足新的需求,实现办公自动化已经是提高政府机关和企事业单位办公效率,规范化管理的必然趋势。
办公自动化系统的带来的好处有:
(1) 信息传递与沟通交流顺畅
(2) 规范工作管理,提高整体效率
(3) 整合信息资源,实现知识管理
(4) 增强凝聚力,提高响应能力
1.3 设计技术及开发环境
自从Servlet技术产生以来,J2EE的Web开发技术与开发框架便层出不穷。然而一直保持优势地位的不多,目前J2EE各种框架技术的核心技术依然是J2EE的三项基础技术——JSP、JavaBean、Servlet,而开源框架还是Struts+Spring+Hibernate的天下,目前这种组合是最好的选择。
1.3.1 JSP页面技术
JSP产生于Servlet之后,主要是为了解决Servlet中输出HTML代码效率低的问题而产生的。JSP技术比较简单,类似于ASP、PHP这些脚本语言。JSP的技术主要是由以下两个部分组成:
JSP的基本语法:两个注释、3个脚本元素、8个动作指令。
JSP的九大内置对象:request请求对象、response响应对象、pageContext页面上下文对象、session会话对象、application应用程序对象、out输出对象、config配置对象、page页面对象和exception例外对象。
1.3.2 JavaBean组件技术
JavaBean称为Java豆”,它的原意是封装业务逻辑,以便于外界的调用。调用者可以是JSP,也可以是其他的类。JavaBean组件由一些属性和操作这些属性的函数组成。
1.3.3 Servlet技术
Servlet产生于JSP技术之前,它最大的特点就是基于线程。与传统的CGI相比,每一个CGI请求都会产生一个新的进程,而每一个Servlet请求都只会产生一个线程,这对于系统的利用率来说是一场革命。
Servlet是MVC开发的技术,所有基于J2EE的MVC框架都离不开Servlet。通常Servlet用于进行系统的初始化、服务拦截、过滤等。最典型的应用是过滤器、监听器。
1.3.4 框架技术ssh
(1) Struts
Strut2是一个基于J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的,是开发Web应用程序的开放源码框架。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大地节省了时间。
(2) Hibernate
Hibernate是一个开放源码的对象关系映射(ORM)框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲地使用对象编程思维来操纵
数据库。Hibernate可以应用在任何JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
(3) Spring
Spring是一个轻型容器(light-weight container),是一个目前非常活跃的开源项目。其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了IoC(Inversion of Control)的容器和AOP(Aspect-Oriented Programming,面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE应用;DAO/ORM的实现方便我们进行数据库的开发;Web MVC和Spring Web提供了Java Web应用的框架或与其他流行的Web框架进行集成。
1.3.5 开发环境
(1) JDK软件
我们要开发J2EE的系统,却需要安装的是J2SE。J2SE的JDK是开发任何Java系统必须安装的工具包,而J2EE是指EJB、JSF等这些工具包,在不需要开发这些功能时是不需要安装的。
我们选用1.7的版本进行开发。
(2) 数据库软件MySQL
MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。它因为是开源的关系型数据库,服务器是一个快捷的、可靠的和易于使用的数据库服务器,并且服务器工作在客户/服务器或嵌入系统中等优点而广受欢迎。
在此系统中我们选用5.6进行开发。
(3) Web服务器Tomcat
Tomcat是Apache-Jarkarta的一个子项目,是一个免费的、开放源码的、支持JSP和Servlet技术的容器,它同时又是一个Web服务器软件。
Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能。Tomcat是一个小型的轻量
级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
在本系统中我们选用稳定版本Tomcat7进行开发。
(4) 集成开发工具Eclipse+MyEclipse
是目前最流行的Java集成开发工具。Eclipse一经出现就以其快速、丰富的特性赢得了认可,其主要的属性有快速的性能、重构性能、快速修复错误、调整/组织导入包、弹出窗口进行代码自动装配。由于功能强大,Eclipse一度成为Java IDE领域的霸主。它能够很好地与MySQL、Tomcat进行集成。
本系统中我们选用MyEclipse2013作为Eclipse的扩展开发工具。
1.4 本章小结
这一章讲述了OA系统的概念,在本次开发中用到的技术以及相应的环境,软件等。利用这些技术、软件和概念需求为后面的系统制作打下良好的基础。
2 需求分析
2.1 现行业务分析
2.1.1业务流程
该系统的主要流程是系统管理员或普通用户通过登录模块进入系统主页,之后可以选择相应的功能对自己的信息进行处理。业务流程图如下:

图2.1 业务流程图
2.1.2 功能分析
系统的主要功能概述如下:
(1) 用户身份验证模块
本系统功能的开发与设计,是完全针对工作室内部进行办公管理以及为工作
室成员提供便捷的电子化交互平台搭建的。用户身份验证模块是公司办公自动化管理系统重要组成部分之一,它主要功能是在系统用户进入系统时的身份验证时的身份验证,以防止工作室重要资料的泄露。
(2) 系统管理模块
系统管理模块又包含一下三个模块
1 岗位管理模块
该模块主要是为了实现本系统所注册成员的权限的管理,包括增加、删除 以及修改。
2 部门管理模块
该模块主要对部门进行管理,包括部门间的隶属关系,增加、删除、修改部门等功能
3 用户管理
该模块主要对工作室注册人员的详细信息进行管理,包括增加,删除,修改等功能。
(3) 网上交流
该模块主要为了让工作室人员在此交流学习而设定的论坛模块。包含了一下两部分内容
1 论坛管理模块
该模块主要用来查看、删除或修改帖子的名称,并且可以将某条帖子置顶或者下移。
2 论坛模块
该模块主要用来聊天,在此模块我们可以查看发帖,回贴时间,发帖人,回帖总数等详细信息。
3 邮件
该模块主要用来收、发邮件,查看邮件等。上面清晰记录了收、发件人,收、发件时间等信息
(4) 审批流转
该模块主要对工作当中的一些流程的实现。主要包含申请模板管理,审批流转,起草申请,待我审批,申请查询等几个模块。综合使用实现办公自动化。
(5) 个人办公
该模块包含工作日志、工作计划、通信录三个模块。
1 工作日志
工作日志模块主要以记录日志为主。提供了增加、删除、查看几个操作。方便查看,操作。
2 工作计划
工作计划模块提供增加、删除、查看几个操作,在这一模块我们可以清晰的看到发布人,发布时间等信息。并且提供检索功能。
3 通信录
工作计划模块提供增加、修改、删除、查看几个操作,在这一模块我们可以清晰的看到用户的详细信息,包括电话、邮箱等信息。并且提供检索功能。
(6) 综合行政
该模块包含会议管理、车辆管理两个模块。
1 会议管理
会议模块主要以记录日志为主。提供了增加、删除、查看几个操作。方便查看,操作。并且提供按时间、按主题、按名称三种检索方式,方便快速查找具体的会议。
2 车辆管理
车辆管理模块提供增加、删除、查看、更新几个操作,在这一模块记录了车辆牌号、型号及使用情况,以及使用时间等信息。并且提供检索功能。
2.2 系统建模
2.2.1 部分模块用例图
(1)用户身份验证用例图
此图显示了用户身份验证系统的用例:当系统管理员或普通用户登录时需要输入用户名、密码,当两个均输入正确时才能进入到系统主页面,否则会有相应的错误提示。

图2.2用户身份验证用例图
(2) 岗位管理用例图
此图显示了系统管理员可以对岗位权限操作的用例,包括修改、查看、添加、删除岗位的权限。普通用户不具有此权限。
图2.3 岗位管理用例图
(3) 部门管理用例图
此图显示了系统管理员可以对部门操作的用例,包括修改上级部门,部门名称、查看部门及其隶属部门、添加部门、删除部门的操作。普通用户不具有此权限。


图2.4 部门管理用例图
(4) 用户管理用例图
此图显示了用户信息模块的用例:包括新增联系人、查看信息、修改信息以
及删除联系人等功能。
图2.5用户管理用例图
(5) 论坛管理用例图
此图显示了系统管理员可以操作论坛帖,包括修改、删除、上下移动的功能。

图2.6 论坛管理用例图
(6) 论坛用例图
此图显示了系统管理员和普通用户都具论坛权限。包括发帖、回复、删除回复等功能。
图2.7 论坛用例图
(7) 审批流转用例图
此图显示了工作室注册成员在此办公的流程。
图2.8 审批流转用例图
2.3 本章小结
这一章主要对要制作的OA系统进行了需求分析。罗列出了系统所要开发具体的模块以
及的相应的功能、操作等,并且初步建模,完成了各个模块的用例图。
3 系统设计
因为此系统为合作完成,我在其中负责界面设计,数据库设计,论坛模块设计三大部分。所以下文将对此三部分进行侧重描述。
3.1 用户界面设计
3.1.1 用户登录界面设计
用户登录界面应该包含用户名和密码输入框,以及登录按钮。
3.1.2 主页设计
界面采用统一的界面风格。其中在网页的头部采用一组快捷菜单,能快速的跳转到桌面、个人消息、邮箱等常用功能。左侧采用竖式目录,显示用户有权限的所有目录。不同模块的详细内容将设计到网页的中间位置。具体模块下面将进行详细分析。
(1)岗位管理设计
岗位管理应该包含两级页面,其中岗位管理一级页面,包含所有岗位和对应的操作项(增加、修改、设置权限)。二级页面包含两个(修改和设置权限的界面)。
(2)部门管理界面类似于岗位岗位管理,这里不再赘述。
(3)用户管理界面设计
用户界面也应该包含两级页面,一级页面用来显示所有用户的登录名、姓名、所属部门、岗位等信息及修改、删除、初始化密码的操作。二级页面只有一个,即为修改个人信息时的界面。
(4)论坛管理界面设计
此模块也应包含两级页面。第一级用来显示所有论坛模块及其相关操作,第二级用来显示修改帖子时的页面。
(5)论坛界面设计
论坛包含三级页面。第一级界面主要用来显示模块目录,第二级主要用来查看某一模块下面的所有帖子,第三及目录是针对某一帖子的所有回帖的查看以及回复新帖。
(6)审批流转界面设计
此模块下面的所有分模块均包含两级页面。第一级用来显示目录,并提供相应的操作(修改、删除、下载)第二级用来显示相应操作下的界面。
3.2 数据库设计
将需求分析得到的用户需求抽象为信息结构及概念模型的过程是概念结构设计。为了描述数据库结构的概念模式,这里采用E-R图来描述数据库的实体关系。(数据表较多,在这里只罗列部分)
3.2.1 数据库E-R图
(1) 岗位管理模块的E-R图
图3.1岗位管理E-R图
(2)权限管理E-R图
图3.2 权限管理E-R图

(3)部门管理E-R图

图3.3 部门管理E-R图
(4) 用户管理E-R图
图3.4 用户管理E-R图
(5) 论坛管理E-R图

图3.5 论坛管理E-R图
(6) 论坛回帖E-R图
图3.6 论坛回帖E-R图
(7) 申请模板E-R图
weidu_applicationtemplate简写w-at,processDefinitionKey简写PDK

图3.7 申请模板E-R图
(8) 申请管理E-R图
applicationTemplateId简写a_TI,applicantId简写a_Id,weidu_application简写w-a
图3.8 申请管理E-R图
(9)处理信息E-R图
weidu_approveinfo简写为w-ai
图3.9 处理信息E-R图
3.2.2 数据库逻辑设计
逻辑结构设计的任务是把概念结构设计阶段设计好的E-R图转换成与选用的DBMS产品所支持的数据模型相符合的逻辑结构。
E-R图转换为关系数据模型所要解决的问题是如何将实体和实体间的联系转换成关系模式,如何确定这些关系模式的属性和码。
数据库中两实体间1:n联系转换为一个与n端对应的关系模式合并的关系模式的方法是将联系的属性与1端的码加入n端作为属性,主码为n端实体的主码。
(1) 由岗位管理模块的E-R图转换的关系数据模式为岗位管理表role
表3.1 岗位管理表role
字段名称 字段说明 字段类型 可否为空 主键 备注
id 唯一ID bigint(20) 否 是 自增字段
name 岗位名称 varchar(255) 是 否
description 岗位说明 varchar(255) 是 否
(2) 由权限管理E-R图转换的关系数据模式为权限管理表privilege
表3.2 权限管理表privilege
字段名称 字段说明 字段类型 可否为空 主键 备注
id 唯一ID bigint(20) 否 是 自增字段
name 权限名称 varchar(255) 是 否
url 权限路径 varchar(255) 是
parentId 上级岗位ID bigint(20) 是 否
(3) 由部门管理E-R图转换的关系数据模式为部门管理表department
表3.3 部门管理表privilege
字段名称 字段说明 字段类型 可否为空 主键 备注
id 唯一ID bigint(20) 否 是 自增字段
name 部门名称 varchar(255) 是 否
description 部门说明 varchar(255) 是
parentId 上级部门ID bigint(20) 否 否
(4) 由用户管理E-R图转换的关系数据模式为用户管理表user
表3.5 用户管理表user
字段名称 字段说明 字段类型 可否为空 主键 备注
ID 唯一ID bigint(20) 否 是 自增字段
name 用户名 varchar(255) 是
loginname 登录名 varchar(255) 是
password 登录密码 varchar(255) 是
gender 性别 varchar(255) 是
phonenumber 电话号码 varchar(255) 是
email 用户邮箱 varchar(255) 是
description 个人说明 varchar(255) 是
departmentId 部门ID bigint(20) 是
(5) 由论坛管理E-R图转换成的关系数据模式为论坛管理表forum
表3.6 论坛管理表forum
字段名称 字段说明 字段类型 可否为空 主键 备注
ID 唯一ID bigint(20) 否 是 自增字段
name 论坛名称 varchar(255) 是
description 论坛说明 varchar(255) 是
position 论坛位置 varchar(255) 是
topicCount 主题数量 varchar(255) 是
articleCount 论坛总数 varchar(255) 是
lastTopicId 最后一条ID bigint(20) 是
(6) 由论坛管理E-R图转换成的关系数据模式为论坛管理表reply
表3.6 论坛回帖表reply
字段名称 字段说明 字段类型 可否为空 主键 备注
ID 唯一ID bigint(20) 否 是 自增字段
title 帖子主题 varchar(255) 是
content 帖子内容 longtext 是
authorId 楼主ID bigint(20) 是
posttime 发帖时间? datatime 是
ipAddr IP地址 Utf8_general_ci 是
lastTopicId 最后主题ID bigint(20) 是
(7) 由申请模板E-R图转换成的关系数据模式为申请模板表weidu_applicationtemplate
表3.7 申请模板表weidu_applicationtemplate
字段名称 字段说明 字段类型 可否为空 主键 备注
id 唯一ID bigint(20) 否 是 自增字段
name 模板名称 varchar(255) 是 否
Processdefini-tionKey 流程定义键 varchar(255) 是
path 模板路径 varchar(255) 是 否
(8) 由申请管理E-R图转换成的关系数据模式为申请管理表weidu_application
表3.8 申请管理表weidu_application
字段名称 字段说明 字段类型 可否为空 主键 备注
ID 唯一ID bigint(20) 否 是 自增字段
title 申请主题 varchar(255) 是
applyTime 回复时间 datatime 是
path 路径 utf8-general-ci 是
status 状态 utf8-general-ci 是
Applicationte-mplateId 申请模板ID bigint(20) 是
applicantId 申请ID bigint(20) 是
(9) 由处理信息E-R图抓换成的关系型数据模式为处理信息表weidu_approveinfo
表3.9 信息处理表weidu_approveinfo
字段名称 字段说明 字段类型 可否为空 主键 备注
ID 唯一ID bigint(20) 否 是 自增字段
approveTime 处理时间 datatime 是
approval 是否批准 Bit(1) 是
Comment 意见 varchar(255) 是
ApplicationId 申请信息ID bigint(20) 是
approverId 处理人ID bigint(20) 是
3.3 论坛模块设计
系统用户通过登陆验证并且判断用户类型后进入系统主页面,若验证失败则有相应的错误提示。如果是系统管理员则有论坛管理和论坛聊天呢的权限,一般用户只有论坛聊天的权限。论坛管理又具体的分为添加、删除、修改论坛模块和上移、下移某一具体的论坛模块。论坛聊天包括发帖、回帖、删除帖子的功能。具体流程图如下:
图3.10 论坛模块流程图
3.4 本章小结
本章完成了系统的设计。包括数据库的设计(利用E-R图、并由E-R图转换为逻辑结构模式),JSP页面的设计(由功能需求,设计页面并用DW初步实现)、论坛模块的设计(由论坛的需求,画出论坛模块流程图)。
4 系统实现
4.1系统架构
本系统以Struts+Spring+Hibernate架构为基础,按照实际的开发流程来进行开发。包括如下:
Hibernate功能开发:包括创建Hibernate的持久化类、映射文件,开发DAO类;
Struts功能开发:开发Form Bean类、Action类、JSP页面并进行页面的国际化、表单的校验,调用Hibernate层的DAO类执行与数据库的交互;
Spring功能开发:创建applicationContext.xml文件,并在其中进行基础的Bean组件配置,包括:数据源配置、SessionFactory的配置、配置事务、配置DAO组件以及配置DAO事务;
系统功能提升:包括开发分页栏通用模块、MySQL数据库的国际化、系统安全访问等。
4.1.1 程序结构图
weidu_oa为项目的名称,也是项目的根目录。WebRoot为Web目录,包括图片目录images和JSP文件。WEB-INF目录、lib目录及web.xml依然为固定的目录和文件。
图4.1 程序结构图
4.2 JSP页面实现
由前面对系统需求以及页面的分析,统一采用蓝色为底色完成界面设计。设计界面如下:
(1)登录验证模块
图4.2 登录验证界面
(2)系统主页及岗位管理
图4.3 系统主页界面
(3)用户管理界面
图4.4 用户管理界面
用户信息修改界面
图4.5 用户信息修改界面
(4) 论坛管理界面
图4.6 论坛管理界面
(5) 论坛一级页面
图4.7 论坛一级页面
论坛二级页面
图4.8 论坛二级页面
由于页面很多且大多类似,故而不再赘述。
4.3 数据源配置
开发数据库代码的第一步,就是配置与数据的连接。本系统在文件jdbc.properties完成与数据库的连接。根据数据库的情况设置以下参数:
driverClassName:指定数据库连接的驱动com.mysql.jdbc.Driver;
jdbcUrl:指定数据库连接的URL地址jdbc:mysql://weidu_oa
username:指定访问数据库的用户名root;
password:指定访问数据库的密码1234。
4.4 论坛模块实现
4.4.1实体类及映射文件
根据论坛的实体数建立一下三个类:Topic.java(主题类)、Reply.java(回帖类)、Forum(论坛模块类)。
下图为Topic.java的部分程序:
每个实体类又必须有其对应的映射文件分别为Topic.hbm.xml、Reply.hbm.xml、Forum.hbm.xml.
下面程序为Topic.hbm.xml
4.4.2 service层接口及其实现类
按照实体数在service层有三个接口和三个实现类。即:接口:TopicService.java、ReplyService.java、ForumService.java。
下面程序为TopicService.java:
实现类:TopicServiceImpl.java、ReplyServiceImpl.java、ForumServiceImpl.java。
下面程序为TopicServiceImpl.java
4.4.3 view.action层的类
在本层有TopicAction.java、ReplyAction.java、ForumAction.java
下面程序为TopicAction.java:
4.4.4 论坛模块总结
本模块利用domain层使用hibernate并与数据库内容相连。而service层与action层利用domain层实现所需功能,并且回显数据,与JSP页面进行链接。实现了论坛的基本功能。
4.5 本章小结
本章主要以系统的具体实现为主。利用SSH框架为系统架构,实现了与数据库的连接,界面实现了由HTML文件到JSP文件的转化,论坛模块的实现。
5 系统测试
5.1 测试计划
Java语言是一种支持面向对象的语言,通常情况下,我们可以将程序的一个单元看成一个独立的类。因此进行单元测试的重点就是针对这些类进行测试。
最佳的方法就是测试类中定义的方法。如果父类为抽象类,为进行测试可以简单定义一个具体子类,它只利用父类的抽象方法,而无其他行为。然而,这样做可能会忽略建立的子类将随着父类结构变化而变化,以及编译器或者其他测试过程中不能捕获的信息,从而导致一些遗漏,我们需要遵循一些基本的原则来进行测试:
一个方法至少要测试一次;各种访问、修改器也对测试产生影响。
5.2 测试用例及结果
下面用表的方式写出测试的例子及结果
表5.1 登录测试结果
测试项目 测试数据 预期测试结果
输入正确用户名、密码和验证码 用户名:admin,密码:1234 登陆成功,进入系统
输入错误用户名、正确密码 用户名:admn,密码:1234 登陆失败,系统显示用户名或密码不对
输入正确用户名、错误密码 用户名:admin,密码:admin 登陆失败,系统显示用户名或密码不对
表5.2 用户信息管理功能测试结果
测试项目 测试数据 预期测试结果
新增用户 用户名:hxf,密码:123,姓名:何晓凤,电子邮箱:xywei@sina.com,性别:女,岗位:经理,联系电话:15953841761,联系地址:广东广州。 增加成功
查看用户信息 查看用户名为admin姓名为刘中兵的个人信息。 正确显示
删除用户信息 删除用户名为admin姓名为刘中兵的个人信息。 删除成功
5.3 本章小结
本章对已完成系统的各个模块逐一做了测试。经过测试,部分功能测试结果不正确,经过修改系统功能基本实现,能够按照要求正确运行。
6 系统开发总结与展望
办公自动化系统是一个将企业管理及基础办公需求作为核心,基于B/S模式的信息服务系统,它集先进的计算机技术与办公自动化理论于一身,适应当今办公自动化系统的开发需求。通过调研以及细致合理的规划分析,采用结构化和原型法相结合的开发方法,并采用模块化的开发机制,使用流行的系统开发技术,经过两个月的开发与设计,办公自动化系统的用户身份验证模块和其他基本功能模块已开发成为一个较完善的信息交互平台,初步具备实际使用的能力。
在系统的开发过程中,我对系统开发与实际应用有了更深了理解和认识,为我以后的学习和工作打下了坚实的理论与实际操作相结合的基础。同时,在开发过程中,我对JSP、数据库、HTML等相关技术知识也有了更深层次的认识。
由于开发设计能力有限,开发经验不足,系统仍存在很多不足,与实际应用中还有很大差距。在调研阶段,搜集的信息不充足,对实际情况了解不足。因此,在开发过程中做出的需求分析不彻底,系统的功能及工作流程不能在设计之初完整地确定下来,系统的某些功能是随着设计的进行逐步确定和修改的,在一些功能中仍存在不完善之处,页面需进一步美化,系统后台管理方面需给予进一步重视。数据库方面,设计方面也存在也一些后期发现的错误,表与表的联系需进一步完善。用户输入容错设计方面需进一步加强。
参考文献
[1]李兴华.Java核心技术精讲[M].北京:清华大学出版社,2013年.
[2]郝玉龙,周旋.VIP——Java EE 核心技术与应用[M].北京:电子工业出版社,2013年.
[3]孔昊.JavaWeb设计实用教程——基于Eclipse环境的应用开发 [M].北京:机械工业出版社,2012年 .
[4]杨光、伍正云.JavaWeb实战开发完全学习手册[M].北京:清华大学出版社,2014年.
[5]高洪岩.JavaEE实用开发指南:基于Weblogic+EJB3+Struts2+Hibernate+Spring[M].北京:化学工业出版社,2011年.
[6]陈亚辉,缪勇.Struts2+Spring+Hibernate框架技术与项目实战[M].北京:清华大学出版社,2012年.
[7]唐琳.Struts2企业开发实践教程[M].北京:清华大学出版社,2014年.
[8]阳雪峰,陈文臣.Java Web2.0-基于Spring、Struts、Hibernate轻量级架构开发.北京:机械工业出版社,2009年.
[9]许勇.Struts 2+Hibernate+Spring整合开发 深入剖析与范例应用.北京:清华大学出版社,2013年.
[10]王磊杰.Java EE开发指南——基于Spring/Struts/Hibernate的实现.北京:人民邮电出版社,2007年.
[11]李宁.Java Web编程实战宝典—JSP+Servlet+Struts 2+Hibernate+Spring+Ajax.北京:清华大学出版社,2014年.
[12]林信良 .JSP & Servlet学习笔记(第2版).北京:清华大学出版社,2012年.
[13]耿祥义,张跃平.JSP实用教程(第2版).北京:清华大学出版社,2007年.
[14]李浩.XML及其相关技术(重点大学计算机专业系列教材).北京:清华大学出版社,2012年.
[15]宋武.XML基础教程与实验指导.北京:清华大学出版社,2013年.
附录 spring配置文件程序

xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:context=http://www.springframework.org/schema/context
xmlns:tx=http://www.springframework.org/schema/tx
xsi:schemaLocation=http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd>












































致谢
两个月的制作,在老师及朋友的帮助下我的毕业设计和毕业论文圆满完成了。
在这里我还要感谢我的老师还有同学,在开发过程中,我们以积极上进的精神,刻苦钻研,互相帮助使设计目标得以实现。我很高兴能在这样有凝聚力和好学上进的氛围中学习和工作,是大家的支持和帮助让我的毕业设计和毕业论文能够顺利完成!
此外,我们的毕业设计课题得以很好的完成,这和学校为我们提供的良好的学习和工作环境,以及设计过程给予我支持和帮助的各位老师是分不开的,特此向他们表示衷心的感谢!
指导教师预评评语 指导教师 职称 预评成绩


年 月 日
答辩小组评审意见 答辩小组评定成绩 答辩委员会终评意见 答辩委员会终评成绩
答辩小组组长(签字):年 月 日 答辩委员会主任(签章):年 月 日
说 明:1. 成绩评定均采用五级分制,即优、良、中、及格、不及格。
2. 评语内容包括:学术价值、实际意义、达到水平、学术观点及论证有无错误等。
部门管理理
岗位管理
系统管理理
用户管理
注册
用户身份验证
退出
系统主页
审批流转
申请管理
申请查询
审批管理
网上交流
论坛管理
邮件
论坛
个人办公
工作日志
通信录
工作计划
综合管理
申请管理
申请查询
登录
用户登录验证
系统
管理员
普通
用户
查看岗位权限
修改岗位权限
增加岗位权限
删除岗位权限
系统
管理员
岗位管理模块
部门管理模块
查看部门
修改部门
增加部门
删除部门
系统
管理员
查看信息
修改信息
增加信息
删除信息
系统
管理员
普通
用户
修改帖子
删除帖子
帖子上移
帖子下移
系统
管理员
论坛管理模块
查看帖子
发布新帖
回复帖子
删除回复
系统
管理员
普通
用户
申请
审批流转管理
待我审批
申请结果
系统
管理员
普通
用户
name
id
role
description
description
parentid
name
id
privilege
description
parentid
name
id
department
email
id
gender
name
password
loginname
user
description
phonenum
departmentid
artideCount
id
position
name
description
forum
lastTopicId
departmentid
ippAddr
id
authorId
title
content
reply
postTime
topicId
path
pDK
name
id
W-at
a_TI
id
path
title
Apply_time
W-a
status
a_Id
 

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值