资源描述
毕业设计说明书
企业文档管理系统
1221010531
12210A02
班 级: 学号: _
软件学院
学生姓名: 李启 _
软件工程(软件开发与测试方向)
学 院: _
专 业: _
濮宏伟 贾美丽
指导教师: _
2016年 6 月
企业文档管理系统
摘 要
随着信息处理技术和网络技术的发展,文档管理系统逐渐成为提高办公效率、节约成本的有效工具。本文说明企业建立文档管理系统的目的就是要实现对文档的集中存储和管理,从而可以很好保证文档的存储安全,提高文档的安全访问级别,很好地实现文档的分发,查询和共享,提高企业文档管理的效率,保证文档的高效率使用。实现了文档管理、公文管理、邮件管理、人事管理和公共信息管理等功能。
论文组织如下:首先阐述了该系统的开发背景、意义;其次介绍了相关的开发工具及技术基础;接着对系统的需求进行了分析,并提出了具体的设计方案和数据库模型;然后展现了系统各功能模块的实现;最后对该软件进行了严格的测试。
关键词:文档管理,详细设计,功能模块
Enterprise Document Management System
Abstract
With the development of information processing technology and network technology, Document management system has gradually become an effective tool to improve office efficiency and cost savings. This article describes the establishment of enterprise document management system is to achieve the purpose of the document is stored and managed centrally, Which can ensure good storage security documents, improve security access level of the document, to achieve a good distribution of the document, inquiry and sharing, and improving the efficiency of document management, Ensure efficient use of the document. Implement document management, document management, mail management, personnel management and public information management.
The paper is organized as follows: Firstly, analyzes the background of the system, meaning; secondly introduces the development tools and technology infrastructure related; then the system needs to be analyzed and put forward specific design and database models; then show the system realization of each function module; Finally, the software has been rigorously tested.
Keywords: Document management, Detailed design, Functional modules
中北大学2016届毕业设计说明书
目 录
1 引言 1
1.1 开发背景 1
1.2 研究现状 1
1.3 本课题研究的意义 1
2相关理论基础 1
2.1 Myeclipse简介 2
2.2 Mysql简介 2
3需求分析及系统设计 3
3.1需求分析 3
3.2 业务分析 3
3.2.1 文档管理 3
3.2.2人事管理功能 3
3.2.3部门管理 3
3.2.4公文管理 4
3.2.5公共信息管理 4
3.2.6系统管理 4
3.2.7用户管理 4
3.2.8邮件管理 4
3.3数据库的设计与实现 4
3.3.1用户表User 4
3.3.2文档表Document 5
3.3.3部门表Department 5
3.3.4邮件表Mail 6
4 系统设计 7
4.1系统的整体设计与构思 7
4.2 模块的设定及模块的功能 7
第 I 页 共 II 页
4.2.1文档管理模块设计 7
4.2.2用户登录模块 8
4.2.3用户管理模块设计 8
4.2.4部门管理模块设计 9
4.2.5邮件管理模块设计 9
5 各功能模块的实现 10
5.1 公文管理模块 10
5.1.1 发布公文 10
5.1.2公文列表 11
5.1.3复制公文 11
5.1.4删除公文 12
5.2 用户登录模块 12
5.3员工管理模块 13
5.3.1 添加员工 13
5.3.2员工列表 14
5.3.3编辑员工 15
5.3.4删除员工 15
5.4部门管理模块 16
5.4.1 添加部门 16
5.4.2 修改部门 17
5.4.3 部门列表 18
5.5档案管理模块 19
5.5.1 文档上传 19
5.5.2 文档下载 20
6心得体会 21
参 考 文 献 22
致 谢 23
第 II 页 共 II 页
1 引言
第 1 页 共 23 页
中北大学2016届毕业设计说明书
1.1 开发背景
随着计算机技术的快速进步,办公自动化在企事业单位已经变得越来越重要了。文档管理系统是管理企业中一项很重要的环节,它能够有效的提高员工们的工作效率,员工之间的沟通与协作也得心应手,实现文档的有效管理。企业里的关键信息是以文档方式进行归档整理,随着文档的与日俱增,建立功能全面的文档管理信息系统是越来越重要的[3]。本文通过调研和分析企业文档管理系统的研究背景以及国内外发展现状,企业应用文档管理系统的目的就是要实现对文档的存储和管理,可以高效率的保证文档,提高文档的安全访问级别,很好地实现文档的整理查询和共享,提高企业文档管理的效率,保证文档的高效率使用。
1.2 研究现状
从世界角度来看,推进对文档管理的自动化模式,信息的高效共享和利用已是大势。企业应该能够不断正确地调整自己,创新,将这种自动化管理文档的模式应用到企业中,只有通过这样的办法,才能更加适应和跟上当代社会的高速发展和信息时代的进步。
1.3 本课题研究的意义
企业文档管理系统是实现管理员和普通用户对本系统具有公文管理、邮件管理、档案管理、人事管理、公共信息管理五大功能。其中公文管理主要负责公文得复制,删除整理工作;邮件管理主要功能是发送与接受邮件;档案管理功能是对准备归档的公文或者企业各类合同、协议、文件、指示、资料等的一个合理存储与查阅功能;人事管理功能主要包括:员工资料管理,和一些部门信息的管理;公共信息包含:公司新闻、文档浏览等。本文还对实现的功能模块进行测试,系统的试运行和测试表明系统达到了设计目标的要求。该系统运行可靠、性能稳定、使用方便,提高了企业文档管理工作的效率。还需要不断的对本系统进行改正和完善,确定企业文档管理系统的持续适用性和有效性。
2相关理论基础
2.1 Myeclipse简介
MyEclipse提供了对UML、Ajax、Web、Web Services、J2EE、JSP、 XML、 Struts、 JSF、 Java Persistence、 EJB、扩展数据库以及各种应用服务器的集成支持[5]。MyEclipse还支持各种基于Eclipse平台的插件,可以根据自己的实际情况选择,允许你扩展个性化功能[6]。
2.2 Mysql简介
MySQL是一种关联数据库管理系统。关联数据库的意思就是让数据存于不同的数据库当中,并不是存在于指定的一个数据库[8]。这样就增加了速度并提高了灵活性。MySQL的SQL指得是“结构化查询语言”。
3需求分析及系统设计
3.1需求分析
本系统具有公文管理、邮件管理、档案管理、人事管理、公共信息管理五大功能。其中公文管理主要负责公文得复制,删除整理工作;邮件管理主要功能是发送与接受邮件;档案管理功能是对准备归档的公文或者企业各类合同、协议、文件、指示、资料等的一个合理存储与查阅功能;人事管理功能主要包括:员工资料管理,和一些部门信息的管理;公共信息包含:公司新闻、文档浏览等。如图3.1所示:
文 档 管 理 系 统
公 文 管 理
人 事 管 理
文 档 管 理
公 共 信 息
系 统 管 理
邮 件 管 理
图 3.1 系统功能图
3.2 业务分析
3.2.1 文档管理
档案管理功能是不同的用户或者管理员可以上传自己要上传的文档,文档管理是企业文档管理系统的重要组成部分。同样对不同用户对文档的操作权限是不一样的。管理员功能,可以上传自己的文档(上传文档分为共享和不共享两个),下载文档,同时还可以删除对普通用户上传的文档。而普通用户只能删除自己上传的文档信息。
3.2.2人事管理功能
人员管理:对员工的信息进行添加,修改,删除以及员工详细信息的管理。
3.2.3部门管理
对部门进行添加,修改,删除等操作。添加成功以后可以在添加员工页面更新员工所属部门的信息。
3.2.4公文管理
主要负责公文得复制,删除等整理工作,公文的创建和查看详细公文信息。
3.2.5公共信息管理
公司新闻、文档浏览等,主要是对公司新闻发布和公司最新动态的管理,文档预览包括最共享文档的查看和下载功能。
3.2.6系统管理
用户登录功能:一种管理员身份和普通用户身份。不同的身份登录操作的信息和功能不同。
3.2.7用户管理
如果管理员身份登录,能对员工进行添加、删除、修改以及管理员的个人信息。如果是普通员工登录,只能修改个人的密码。
3.2.8邮件管理
邮件管理功能是企业员工之间的通信和信息交流,用户可以发送邮件和接收其他员工发来的邮件信息。
3.3数据库的设计与实现
文档管理系统的数据库设计和实现要求公文数据库的表,文档数据表,员工信息表,部门表以及新闻动态表,用户和文档之间的关系是多对多的关系。其中文档表的字段主要包括文档的信息,如文档的标题,详细介绍,上传作者等。
3.3.1用户表User
用户表User用来存储用户详细信息,如用户Id、用户名等。表的字段说明如表3.1:
表3.1 User表
字段名
数据类型
字段说明
键引用
备注
userId
Int
用户Id
PK
主键(自动增1)
username
Varchar
用户姓名
password
Varchar
用户密码
sex
Varchar
性别
cardId
Varchar
用户身份证号
userType
Varchar
员工类型
address
Varchar
用户地址
phone
Varchar
电话
department
Varchar
所属部门
FK
引用部门表的名称
email
Varchar
电子邮件
roleName
Varchar
用户角色
3.3.2文档表Document
文档表Document保存文档的详细信息和上传的数据,如文档Id,文档作者,文档来源,文档的上传时间等。表的字段说明如表3.2所示:
表3.2 Document表
字段名
数据类型
字段说明
键引用
备注
documentId
int
文档Id
PK
主键(自动增1)
documenTitle
Varchar
文档标题
upTime
Datetime
上传时间
author
Varchar
上传作者
documenType
Varchar
文档类型
url
Varchar
来源
describe
Text
详细说明
share
Bit
是否共享
0:不共享 1:共享
3.3.3部门表Department
部门表Department用来保存部门的详细信息,如部门Id、部门名称、部门电话、部门说明等。表的字段说明如表3.3:
表3.3 Department表
字段名
数据类型
字段说明
键引用
备注
departmentId
Int
部门Id
PK
主键(自动增1)
departmentName
Varchar
部门名称
departmentPhone
Varchar
部门电话
departmentManagr
Varchar
部门负责人
remark
text
备注
3.3.4邮件表Mail
邮件表Mail用来保存邮件数据,表的字段说明如表3.4:
表3.4 Mail表
字段名
数据类型
字段说明
键引用
备注
mailId
Int
邮件Id
主键(自动增1)
mailTitle
varchar
邮件标题
sender
Varchar
发送人
accept
Varchar
接收人
sendTime
Datetime
发送日期
4 系统设计
4.1系统的整体设计与构思
本系统采用MVC系统架构模式:控制层——逻辑层——表示层。
数据库是存储系统中的一切数据。数据库的访问层是对数据库进行的操作,如创建数据库连接,打开数据库连接,执行存储过程和关闭数据连接的一系列操作。在企业文档管理系统中,数据的访问层由com.enterprise.dao.ipml实现,业务逻辑层调用数据访问层,同时也为上层页面表示层做准备。逻辑层是通过数据库访问层实现对数据库的增,删,查的一系列的操作[7]。
页面表示层实现是通过jsp页面显示,系统页面是利用Dreamweaver里面的框架设计的。页面一般由jsp,css.javaScript组成,如系统登录页面login.jsp、等。
本系统的类com.enterprise.entity包下面,是访问数据库的基本类存储,也是实现业务逻辑的具体方法的基础,类里面主要封装了创建和调用数据库的一些对象以及方法[9]。
4.2 模块的设定及模块的功能
由需求分析可知,对于本系统各功能按照结构化程序设计的要求,为本系统实现了5个模块的功能,可以通过以上的分析设计出系统中的需求的功能模块。
4.2.1文档管理模块设计
文档管理功能模块中主要是实现的功能是对文档的上传,下载,删除等,在公共信息管理功能模块浏览共享文档的信息等。而对于普通员工而言,主要实现对自己的文档的上传和下载公共信息里的共享文档,以及删除个人上传的文档,其设计如图4.1所示:
文档管理
删除文档
下载文档
上传文档
浏览共享
图4.1 文档管理
修改文档相关信息
4.2.2用户登录模块
对于用户分为管理员和普通员工两种身份,在登录系统时登录的身份不同,可操作功能的权限就不一样,这种情况是符合现在企业的人事管理功能。企业文档管理系统设计了管理员登录和普通员工登录,其模块图分别如图4.2和图4.3所示:
文档管理
管理员登录
公文管理
部门管理
用户管理
邮件管理
图4.2 管理员登录 模块
图
文档管理
普通用户登录
系统管理
公共信息管理
图4.3 普通用户登录模块
4.2.3用户管理模块设计
在企业文档管理系统中,管理员能够添加员工的详细信息,删除员工的详细信息,修改员工的登录密码和信息等功能操作,对于普通员工只能实现对个人密码的修改。分别如图4.4和图4.5所示:
管理员管理
添加用户
删除用户
修改密码
修改信息
图4.4 管理员登录
图
普通用户管理
修改密码
修改信息
图4.5 管理员登录模块
图
4.2.4部门管理模块设计
在企业文档管理系统中,部门管理是针对管理员的操作而言,只有管理员才有权限对部门进行添加部门、删除部门和修改部门。其设计如图4.6所示:
部门管理
添加部门
删除部门
修改部门
图4.6部门管理的流程图
4.2.5邮件管理模块设计
在企业文档管理系统中,邮件管理模块主要是企业员工使用的,不同的员工登录系统以后,可以点击邮件管理,对指定的人发送邮件,或者是接收其他员工发来的邮件,其设计图如图4.7所示:
邮件管理
浏览接收到的邮件
发邮件
图4.7 邮件管理
5 各功能模块的实现
5.1 公文管理模块
5.1.1 发布公文
发布公文页面是addgongwen.jsp,普通用户登录系统只能查看公文列表,逻辑操作有管理员进行添加,删除,复制等。在数据库中公文表的ID字段为自增长,表字段有公文标题,公文内容,发布日期,发布者,其中发布者是用户登录时取到的用户名,数据库表如图5.1所示:
图5.1公文数据库
添加公文页面如图5.2所示:
图5.2 添加公文页面addgongwen.jsp
添加公文的主要代码如下:
public Official getOfficial() {
return official;
}
public void setOfficial(Official official) {
this.official = official;
}
public OfficialService getOfficialService() {
return officialService;
}
public void setOfficialService(OfficialService officialService) {
this.officialService = officialService;
}
private static final long serialVersionUID = 1L;
public String addOfficial(){
official.setOfficialDate(new Date());
officialService.addOfficial(official);
return "addOfficialSuccess";
}
5.1.2公文列表
公文列表页面是listgongwen.jsp,普通用户进入可以查看公文列表信息,取到数据库中的信息,如图5.3所示:
图5.3 公文详细信息列表
5.1.3复制公文
公文的复制是由管理员进行的操作,当管理员进行点击复制链接是,页面会列表后面会出现一条相同的数据,同时数据库中也加入一条信息。如图5.4所示:
图5.4 复制结果图
5.1.4删除公文
公文的复制是由管理员进行的操作,当管理员进行点击删除链接是,页面会列表后面会删除一条相同的数据,页面会自动刷新,显示数据库存在的公文信息列表,同时数据库中也删除一条信息。主要删除代码如下:
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String delete(){
officialService.delete(id);
return "deleteSuccess";
}
5.2 用户登录模块
本系统用户即员工信息,由管理员添加员工的基本信息,设置员工的密码和角色,登录页面是login.jsp,页面设计效果如图5.5所示:
图5.5 应用程序的登录页面login.jsp
5.3员工管理模块
5.3.1 添加员工
添加员工页面是addyuangong.jsp,新用户不是用户自己注册的,该功能只能由管理员操作,添加企业或公司的员工详细信息,其中员工所属部门和员工表是一对多的关系,添加页面的部门列表从数据库department表取得值。当添加部门的时候,员工信息添加页面的所属部门也会更新,员工表里的员工角色只有普通员工和管理员两种角色。员工添加页面如图5.6所示:
图5.6 员工信息添加页面addyuangong.jsp
员工添加主要代码:
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public UserService getUserService() {
return userService;
}
public void setUserService(UserService userService) {
this.userService = userService;
}
public String addUser(){
userService.addUser(user);
return "addSuccess";
}
5.3.2员工列表
员工列表页面是listyuagong.jsp,普通员工和管理员都可以查看,但只有管理员可以操作修改编辑和删除员工的功能,普通员工只能查看员工的基本信息。用到SSH框架和注解,用到hibernateTemplate.find()查询员工的信息。页面显示结果如图5.7所示:
图5.7 员工信息详细列表页面listyuangong.jsp
员工信息列表页面的主要代码:
public String getAllUser(){
List<User> list=userService.getAllUser();
ActionContext actionContext= ActionContext.getContext();
Map<String, Object> session=actionContext.getSession();
session.put("lists",list);
return "getSuccess";
}
5.3.3编辑员工
编辑员工的操作是管理员修改员工信息的功能,普通员工自己不可以修改信息,通过超链接调用UserAction的方法,由ID传值准确找到用户的信息,并显示到页面,如图5.8所示:
图5.8 员工修改页面
5.3.4删除员工
删除员工的的操作也是由管理员进行,通过ID传值找到对应的员工,调用deleteUser()方法将其删除,其中删除功能还包括一个批量删除,用checkbox的value值,存到一个数组里,通过一个循环进行批量删除。主要代码如下:
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String delete(){
/* User user= new User();
user.setId(id);*/
userService.delete(id);
return "deleteSuccess";
}
public String deleteAll(){
int ids[] = new int[checkname.length];
for(int i=0;i<checkname.length;i++){
ids[i]=Integer.valueOf(checkname[i]);
}
userService.deleteAll(ids);
return "deleteSuccess";
}
5.4部门管理模块
部门管理主要实现管理员对系统中部门进行的添加、修改、删除等功能。在页面加载时,会调用listdepartment.jsp获取部门的数据,并根据部门列表的操作进行部门的删除和修改方法。
5.4.1 添加部门
添加部门由管理员进行操作,页面是adddpartment.jsp,调用的方法是来自departmentAction里面的addDepartment()方法。departmentAction会调用逻辑层的service方法,service层和数据库进行数据交互的dao层的实现类。页面效果如图5.9所示:
图5.9 添加部门页面
添加部门的主要代码:
public Department getDepartment() {
return department;
}
public void setDepartment(Department department) {
this.department = department;
}
public DepartmentService getDepartmentService() {
return departmentService;
}
public void setDepartmentService(DepartmentService departmentService) {
this.departmentService = departmentService;
}
public String addDepartment(){
departmentService.addDepart(department);
return "addDepartSuccess";
}
5.4.2 修改部门
编辑部门由管理员进行操作,页面是部门列表的操作超链接,调用的方法是来自departmentAction里面的updateDepartment()方法。departmentAction会调用逻辑层的service方法,service层和数据库进行数据交互的dao层的实现类。页面效果如图5.10所示:
图5.10 部门修改页面
修改部门信息的主要代码:
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String updateDepartment(){
departmentService.updateDepartment(department);
return "updateSuccess";
}
5.4.3 部门列表
部门列表是在管理员登录的时候,index.jsp页面的左边操作栏加载调用Action里的getAllDpartment()的方法,从数据库取到所有的部门信息,显示在页面的效果如图5.11所示:
图5.11 部门详细信息
获取部门列表信息的主要代码:
@Resource
private DepartmentService departmentService;
public String getAllDepartment(){
List<Department> list=departmentService.getAllDepartment();
ActionContext actionContext= ActionContext.getContext();
Map<String, Object> session=actionContext.getSession();
session.put("departments", list);
return "getAllDeaprtmentSuccess";
}
5.5文档管理模块
文档管理主要实现的是用户上传自己的文档,以及文档详细信息的浏览查看。对于不同的身份权限对文档的功能操作也是不一样。若果是用管理员身份登录可以浏览查看、上传下载。对于普通员工只能上传、下载、浏览共享文档以及修改自己上传的文档的有关信息。
5.5.1 文档上传
文档的上传是管理员和普通员工都能进行的操作,此外,在 Document表中,有一个字段isShare,来判断上传的文档是不是共享的文档,当文档上传成功后,那么把文档的详细信息写入Document表中,其中表中的DocumentID实现自动增长。同时文档上传还调用了一个方法,产生一个随机的文档的名字,保证实现上传文档名的唯一。其中上传文档的流程图如图5.12所示:
用户登录
登录成功
上传文档
私人文档
是否共享
共享文档
图5.12 上传文档流程图
结束
开始
Y
N
Y
N
当用户登录时,上传文档的页面为图5.13:
图5.13 上传文档页面
5.5.2 文档下载
在公共信息管理有文档的预览,只要上传者将上传的文档设置为共享,不同的用户登录时都可以下载文档。,获取文件的具体路径后,对相应文件进行下载。
6 总结
通过设计和实现基于Web的一个企业文档管理系统。系统用Myeclipse作开发平台,JAVA编程语言,Mysql作数据库管理系统,采用MVC设计模式,实现了文档管理、公文管理、邮件管理、公共信息管理以及人事管理等功能。当然,本系统还存在一些不完善的功能和BUG,有待于进一步的去完善和改进,在以后学习或工作的过程中遇到类似的系统可以方便和轻松的解决一些问题,也学会了遇到问题怎么上网去查询解决的办法。
这次毕业的设计经历一个多月,了解了软件开发过程中的完整过程和周期,掌握了相关开发工具Myeclipse的使用和一些插件的应用,企业文档管理系统对企业的办公带来的方便和高效率。总之这次毕业设计的过程让我对自己有了一个全新的认识和理解。在我以后的学习中,更加努力的去提高自己各方面的能力和自己的不足之处,激励自己不断向着自己心中的目标而奋斗和努力。
参 考 文 献
[1] 张海藩,倪宁. 软件工程. 人民邮电出版社[M],2010年2月
[2] 麻志毅. 面向对象分析与设计. 机械工业出版社[M],2008年3月
[3] 何宗霖. 零基础学java web开发[M]. 北京:机械工业出版社,2010年1月,P49,P86,P115
[4] 陶亚楠,廖建. Java web开发入行真功夫[M]. 北京:电子工业出版社,2009年3月,P256
[5] 王国辉. Java web开发技术方案宝典[M]. 北京:人民邮电出版社,2008年5月,P23
[6] 徐明华. Java Web整合开发与项目实战——JSP、Ajax、Struts、Hibernate、Spring[M].北京:人民邮电出版社,2009年1月,P33
[7] 孙卫琴. 精通Hibernate:Java对象持久化技术详解[M]. 北京:电子工业出版社,2005年2月,P23-P43
[8] Michael Kofler. MySQL 5权威指南(第3版)[M]. 北京:人民邮电出版社,2006 年12月,P23
[9] 段朋鹏,郭庆平. 基于Struts 和Hibernate 的在线考试系统[J]. 中国科技论文在线
[10] 张震,杨正球. 基于整合了Struts 和Hibernate 的J2EE架构的用户权限管理系统的设计[J]. 中国科技论文在线.
致 谢
首先真心的感谢我的导师濮老师和贾老师。在毕业设计期间,濮宏伟老师给予了我很大的帮助,使我能够在整个设计过程中不断地提高自己。在这次的毕业设计中我学到了很多东西,培养了我独立思考解决问题的能力。老师对我们提出的疑问,和平时遇到的一些问题都给出了详细的解答。他不断地要求我,做事情要学会思考,寻求思路,不能盲目的去做。同时也鼓励我们要对自己有信心,要不断的提高动手能力,持之以恒就一定能够克服遇到的困难。尽管我的这个设计还不是很完善,但是我很高兴在这次毕业设计中学到了很多东西。这些宝贵的财富,不仅现在对我很有用,而且会在将来不断地充实着我,督促着我,使我能够朝着自己的目标不断前进,让我终身获益。目 录
第1章 总 论 3
1.1. 项目背景与概况 3
1.2. 主要技术经济指标 7
1.3. 问题与建议 8
第2章 项目投资环境与市场研究 9
2.1. 投资环境分析 9
2.2. 区域房地产市场分析 11
2.3. 销售预测 15
2.4. 营销策略 19
第3章 建设规模与项目开发条件 21
3.1. 建设规模 21
3.2. 项目概况现状 21
3.3. 项目建设条件 22
第4章 建筑方案 26
4.1. 设计依据 26
4.2. 项目设计主题和开发理念 26
4.3. 项目总体规划方案 27
4.4. 建筑设计 28
4.5. 结构设计 29
4.6. 给排水设计 30
第5章 节能节水措施 32
5.1. 设计依据 32
5.2. 建筑部分节能设计 32
第6章 环境影响评价 33
6.1. 编制依据 33
6.2. 环境现状 33
6.3. 项目建设对环境的影响 34
6.4
展开阅读全文