目 录
摘 要 I
ABSTRACT II
目 录 IV
1 前 言 1
1.1 课题背景 1
1.1.1 办公自动化概述 1
1.1.2 中小企业办公模式的现状 2
1.2 研究意义 3
1.3 设计技术及开发环境 5
1.3.1 设计技术 5
1.3.2 开发环境 7
2 可行性分析 9
2.1 组织和管理可行性 9
2.2 经济可行性 9
2.3 技术可行性 9
3 需求分析 11
3.1 现行业务分析 11
3.1.1 业务流程 11
3.1.2 功能分析 11
3.2 系统建模 13
3.2.1 用户身份验证用例图 13
3.2.2 个人通讯录用例图 13
3.2.3 职工信息管理用例图 14
3.2.4 日程安排用例图 14
3.2.5 日志管理用例图 15
3.2.6 短消息管理用例图 15
3.2.7 公告管理用例图 16
3.2.8 文件管理用例图 16
3.2.9 会议管理用例图 17
4 系统设计 18
4.1 系统设计 18
4.1.1 用户身份验证模块流程图 19
4.1.2 个人通讯录模块流程图 19
4.1.3 职工信息管理模块流程图 21
4.1.4 日程安排模块流程图 22
4.1.5 工作日志模块流程图 23
4.1.6 短消息管理模块流程图 24
4.1.7 文件管理模块流程图 25
4.1.8 公告管理模块流程图 26
4.1.9 会议管理模块流程图 27
4.2 数据库设计 29
4.2.1 数据库概念设计 29
4.2.2 数据库逻辑设计 31
5 系统实现 35
5.1 系统架构 35
5.1.1 系统架构图 35
5.1.2 程序结构图 36
5.2 持久层Hibernate实现 37
5.2.1 创建并配置Hibernate映射文件 37
5.2.2 开发并配置Hibernate DAO层 38
5.3 控制层Struts实现 38
5.3.1 开发Struts核心流程代码 38
5.3.2 开发JSP页面原型 40
5.3.3 增加表单校验功能 40
5.3.4 调用DAO组件操作数据库 41
5.4 业务层Spring实现 41
5.4.1 数据源配置 42
5.4.2 配置SessionFactory 43
5.4.3 配置事务 43
5.4.4 配置DAO组件 43
5.4.5 配置DAO事务 43
6 系统测试 44
6.1 测试计划 44
6.2 测试用例 44
6.2.1 对身份验证功能进行测试 44
6.2.2 对职工信息管理功能进行测试 45
6.3 测试结果 46
7 系统开发总结 47
8 结束语 48
参考文献 49
致 谢 50
附 录 51
A 主要源程序 51
B 用户手册 55
B.1 系统功能简介 55
B.2 系统的支持平台 56
B.3 安装说明 56
B.4 使用说明 59
B.5 系统维护方法 72
C 软件光盘 73
C.1 光盘的树形目录 73
C.2 光盘文件一览表 73
D 科技译文 74
Java Learning Path process 74
JAVA学习过程 81
3 需求分析
3.1 现行业务分析
3.1.1 业务流程
该系统的主要流程是系统管理员或普通用户通过登录模块进入系统主页,之后可以选择相应的功能对自己的信息进行处理。业务流程图如下:
图3-1 中小办公自动化系统业务流程图
3.1.2 功能分析
系统的主要功能概述如下:
(1) 用户身份验证模块
本系统功能的开发与设计,是完全针对公司内部进行办公管理以及为各部门员工提供便捷的电子化交互平台搭建的。用户身份验证模块是公司办公自动化管理系统重要组成部分之一,它主要功能是在系统用户进入系统时的身份验证以及在不同页面浏览时的身份验证,以防止公司重要资料的泄露。
(2) 职工信息管理模块
本模块主要是为了实现本系统所注册员工的信息的管理,包括增加、删除以及修改,并且本模块只能被系统管理员所使用,其他普通用户没有权限使用。
(3) 个人通讯录模块
该模块用作每一个登录系统的用户来维护自己的通讯录,通讯录中需要保存的信息有姓名、性别、手机、E-mail地址、QQ号码、公司、家庭住址、邮编。通知本模块个人用户可以自由维护个人的基本信息以及自由添加联系人信息;可以方便查询联系从,可以修改或删除某一个联系人。
(4) 日程安排模块
该模块用作当前的登录用户添加、修改、删除和查看自己的日程安排列表。本模块中应该保存的信息有:用户名、年份、月份、日期、安排内容。
(5) 工作日志模块
该模块用作当前的登录用户添加、修改、删除和查看自己的工作日志列表。本模块中应该保存的信息有:用户名、年份、月份、日期、日志标题、日志内容、记录时间。
(6) 短消息管理模块
该模块用作当前的登录用户给系统内的其他用户发送短消息,并可以查看其他用户发来的消息。本模块中应该保存的信息有:接收者、发送者、消息内容、发送时间。
(7) 公告管理模块
该模块用作用户发送通知,大家都可以查看,只有发送通知的用户才有权修改、删除该通知。本模块中应该保存的信息有:公告填写人、公告标题、公告内容、公告时间。
(8) 会议管理模块
该模块用作用户发送会议通知,供所有的用户查看,且只有系统管理员才有权修改、删除该通知。
(9) 文件管理模块
本模块主要是对系统注册用户所上传文件的管理,可以查看所上传文件的相关信息,并且可以下载,而对所上传文件的删除则只有系统管理员才有权限。
applicationContext.xml配置Bean组件代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<!-- 配置数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName"><value>org.gjt.mm.mysql.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8</value>
</property>
<property name="username"><value>root</value></property>
<property name="password"><value></value></property>
</bean>
<!-- 配置Hibernate -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource"><ref local="dataSource" /></property>
<property name="mappingResources">
<list>
<value>com/oa/hibernate/beans/User.hbm.xml</value>
<value>com/oa/hibernate/beans/Address.hbm.xml</value>
<value>com/oa/hibernate/beans/Schedule.hbm.xml</value>
<value>com/oa/hibernate/beans/Worklog.hbm.xml</value>
<value>com/oa/hibernate/beans/Sms.hbm.xml</value>
<value>com/oa/hibernate/beans/Notice.hbm.xml</value>
<value>com/oa/hibernate/beans/Meeting.hbm.xml</value>
<value>com/oa/hibernate/beans/Upfile.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect
</prop><prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>