计算机科学与技术毕业论文1OA系统的设计与实现.docx
- 文档编号:25797939
- 上传时间:2023-06-14
- 格式:DOCX
- 页数:66
- 大小:913.44KB
计算机科学与技术毕业论文1OA系统的设计与实现.docx
《计算机科学与技术毕业论文1OA系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《计算机科学与技术毕业论文1OA系统的设计与实现.docx(66页珍藏版)》请在冰豆网上搜索。
计算机科学与技术毕业论文1OA系统的设计与实现
毕业论文
OA系统的设计与实现
计算机科学与技术
5.2权限管理22
5.2.1模块管理22
5.2.2角色管理24
5.2.3用户管理25
5.3工作流管理26
5.3.1流程管理26
5.4公文管理26
5.4.1公文维护26
5.5系统关键代码:
27
5.5.1与数据库的连接27
5.5.2spring整合struts2与hibernate3.028
5.6数据流程图28
6系统测试分析30
6.1系统测试环境30
6.2系统测试过程及测试结果30
7用户使用手册31
7.1系统安装与配置31
7.1.1环境要求31
7.2搭建系统运行环境31
7.3系统运行31
总结33
参考文献33
致谢34
2
1绪论
1.1系统背景与现状
随着网络的高速发展,网络OA系统逐渐受到关注。
一些大型企业集团(例如联想、海尔)正致力实现高层次的网络办公自动化,这将为他们节省大量的人力资源,节省大量的办公费用,大幅度提高办公效率。
开发网络办公系统的市场前景是广阔的。
大型企业需要高层次的网络办公自动化,他们往往会选择大型的软件公司合作开发,所需的开发费用和维护费用也是非常高昂的。
这些高昂的费用并非大多数中小企业能承受得起的。
中小型企业存在一个很大的低成本网络OA系统的需求,开发这些低成本OA系统来满足这个需求。
1.2实现目标
OA系统要实现:
a、企业内各种信息资源的共享
b、加强员工间的交流、提高整体工作效率
c、为领导各种有用数据,方便领导对公司情况的及时了解、提供决策支持
d、提供各种工作记录,以备事后查询
3
2
需求分析
2.1可行性需求分析
2.1.1社会可行性
企业随着社会的发展进入当前的网络时代信息化管理大大提高传统的办公模式已经极大地束缚了人的创造力和想象力埋没了人的智慧和潜能使人们耗费了大量的时间和精力去手工处理那些繁杂、重复的工作。
手工模式无法满足新形势下发展的需要人们需要用先进的生产工具来提高企业的办公效率。
2.1.2经济可行性
经济可行性是软件带来的经济效益与开发设计所需要的投资费用相比较是
否适当,软件是否会带来经济效益。
随着计算机软件和硬件技术的飞速发展,计算机软件和硬件的价格都有所下降,因此设计本系统所投入的资金是不会很多
的。
另外,本系统的设计可以帮助学生的学习和教师的教学。
所以,相比之下系统是经济可行的。
2.2非功能性需求
系统性能
系统应满足以下面描述的系统性能指标。
相应数据待系统原型实现后可能做适当修正。
一般查询响应时间6秒;系统稳定性和可靠性
系统应确保系统7×24小时不间断工作;系统扩展性;
系统满足界面的友好性,系统界面的友好性将直接影响用户使用系统的效率。
要尽可能地满足用户已有的使用习惯;
系统独立性
2.3功能性需求分析
序号功能名称功能需求标识优先级简要描述个人办公
高打开个人办公桌,在个人办公
我的办公桌桌上,是到达各种管理功能的
快捷链接
我的便签
低
随手记录的信息
我的任务
低
任务管理
4
通信录低个人通信录公文管理
公文维护
高各种类型的公文管理、审批公
文等
归档处理
高对已完成流转的公文进行归档
公共信息
中进行新闻、通知、期刊、知识
和规章制度的发布和管理,使
信息管理
企业的信息和知识快速传播
和转移。
行政办公
会议管理
中
管理会议室的占用情况
资产管理
低
管理企业的资产信息
用品管理
低
管理企业用品的申请
车辆管理
低
企业车辆的管理
图书管理
低
图书的借出管理
消息管理
收件箱
中
接收的所有消息
发件箱
中
发送的所有消息
垃圾箱
中
已删除的消息
聊天记录
中
跟某个用户的聊天记录
工作流程
流程管理
高如何定义企业的流程(可以灵
活定义各种流程)
表单定义
高如何针对不同的流程定义表单
组织管理
机构管理高公司组织架构管理
5
人员管理高公司人员管理权限管理
模块管理高系统所有模块的管理
角色管理
高系统的角色定义、给角色分配
权限等
用户管理
高系统的帐号的分配、给用户分配角色、给用户分配权限等
系统管理
密码修改低
代码定义低
系统初始化低
人事档案
人员履历低
转正申请低
离职申请低
员工考勤低
2.4运行环境
系统对运行的环境的要求。
2.4.1硬件环境
(1)服务器端
本网络系统服务器端的配置如下:
处理器:
InterPentium41.6GHz或更高内存:
512MB
硬盘空间:
80GB
(2)用户端
因为客户端主要用于浏览和操作数据,所以对客房端的硬件要求不高,不过现在的电脑很高的性价比,因此需要的配置应该高于下面的配置:
处理器:
InterPentium1.0GHz或更高内存:
32MB
硬盘空间:
40GB
显卡:
SVAG显示适配器。
6
2.4.2软件环境
(1)服务器端
操作系统:
window服务器网络协议:
TCP/IP
web服务器:
Tomcat6.0
数据库:
MySQL5.0
(2)用户端
操作系统:
XP以上
网络协议:
TCP/IPMicrosoft
浏览器:
InternetExplorer7.0以上
7
3开发技术及开发工具
3.1开发技术介绍
3.1.1B/S模式及其优势
B/S(Browser/Server)结构即浏览器和服务器结构。
它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层(3-tier)结构。
一个三层架构的应用程序由三部分组成,这三部分各自分布在网络中的不同地方。
这三个部分分别是:
工作站或表示层接口、事务逻辑、数据库以及与其相关的程序设计。
在一个典型的三层架构应用程序中,应用程序的用户工作站包括提供图形用户界面(GUI)的程序设计和具体的应用程序入口表格或交互式窗口。
这种B/S模式客户端只要安装一个标准的Web浏览器,其它应用程序都存储在Web服务器上。
此技术超越了传统的“客户机/服务器”两层结构,采用了三层体系结构:
用户界面层/事务层/数据库层。
3.1.2Web应用程序开发环境-JSP技术
在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。
JSP页面看上去像标准的HTML和XML页面,并附带有JSP引擎能够处理和抽取的额外元件。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给用户。
JSP技术在多个方面加速了动态Web页面的开发:
(1)将内容的生成和显示进行分离
(2)强调可重用的组件
(3)采用标识简化页面开发
(4)JSP能提供所有Servlet功能
(5)健壮的存储管理和安全性
(6)一次编写,各处运行
3.1.3Java技术
简言之,Java环境可用来开发能在任何计算平台上运行的应用软件。
它实际上是一种非常基本且结构紧凑的技术,而它对WorldWideWeb以及商业的总体影响已可同电子表格对PC机的影响相比拟。
3.1.4SSH框架
SSH为struts+spring+hibernate的一个集成框架,是目前较流行的一种Web
应用程序开源框架。
集成SSH框架的系统从职责上分为四层:
表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便
的Web应用程序。
其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支
8
持,Spring做管理,管理struts和hibernate。
具体做法是:
用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(DataAccessObjects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。
系统的基本业务流程是:
在表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。
在业务层中,管理服务组件的SpringIOC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。
而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。
3.2开发工具
3.2.1Tomcat服务器
目前支持JSP的应用服务器很多,Tomcat是其中较为流行的一个Web服务
器。
Tomcat是一个免费的开源的Servlet容器,在Tomcat中,应用程序的部署很
简单,你只需将你的WAR放到Tomcat的webapps目录下,Tomcat会自动检测到这个文件,并将其解压。
你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。
编译以后,访问将会很快。
另外Tomcat也提供了一个应用:
manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。
通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用,当然本地也可以。
Tomcat是一个很好的工具,不仅仅因为其免费,更因为其开放性。
如今,开源软件越来越收到人们的重视。
人们不再限于只使用软件,而且已经关心起软件的具体实现。
我们有理由相信Tomcat会走得更远。
3.2.2MySQLserver5.0
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
MySQL数据库优点:
1.支持5000万条记录的数据仓库
2.适应于所有的平台
3.是开源软件,版本更新较快
4.性能很出色。
纯粹就性能而言,MySQL是相当出色的,因为它包含一个缺省桌面格式MyISAM。
MyISAM数据库与磁盘非常地兼容而不占用过多的CPU和内存。
MySQL可以运行于Windows系统而不会发生冲突,在UNIX或类似
UNIX系统上运行则更好。
你还可以通过使用64位处理器来获取额外的一些性
9
能。
因为MySQL在内部里很多时候都使用64位的整数处理。
5.价格便宜
缺点:
缺乏一些存储程序的功能,比如MyISAM引擎联支持交换功能
MySQL提供图形化处理界面,NavicatforMySQL。
3.2.3MyEclipse8.5
MyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,
MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和Java2EE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的
Java2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持
HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernat。
e
MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,
MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十
分不错。
MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,
EJB3,JDBC数据库链接工具等多项功能。
可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。
3.2.4RationalRose
RationalRose是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具。
用于可视化建模和公司级水平软件应用的组件构造。
RationalRose包括了统一建模语言(UML),OOSE,以及OMT。
其中统一建模语言(UML)由
Rational公司3位世界级面向对象技术专家GradyBooch、IvarJacobson、和Jim
Rumbaugh通过对早期面向对象研究和设计方法的进一步扩展而得来的,它为可视化建模软件奠定了坚实的理论基础。
同时这样的渊源也使RationalRose力挫当前市场上很多基于UML可视化建模的工具,例如Microsoft的Visio2002、Oracle的Designer2000,还有PlayCase、CABPWin、CAERWin、SybasePowerDesigner等等。
RationalRose是一个完全的、具有能满足所有建模环境(Web开发,数据建模,VisualStudio和C++)灵活性需求的一套解决方案。
Rose允许开发人员,项目经理,系统工程师和分析人员在软件开发周期内在将需求和系统的体系架构转换成代码,消除浪费的消耗,对需求和系统的体系架构进行可视化,理解和精练。
通过在软件开发周期内使用同一种建模工具可以确保更快更好的创建满足客户需求的可扩展的、灵活的并且可靠的应用系统。
RationalRose是基于UML的可视化建模工具。
UML全称叫UnifiedModelingLanguage,顾名思义,UML是一种语言,一种表示法,一种交流沟通的工具,特别适用于软件密集型系统的表示。
UML的统一性(Unified)表现为以下几点:
10
(1)、UML是人类思想和计算机代码的一个连接桥梁
我们知道,计算机能直接识别的语言就是二进制的CPU指令,早期工程师们都是直接输入这些指令让计算机直接执行的,效率不高;
后来就出现了更好理解的汇编语言,之后就出现了各种各样更加容易理解和编写,更加接近人类语言的计算机高级语言、VB、DELPHI、JAVA等。
(2)、UML所定义的概念和符号可用于软件开发的分析、设计和实现的全过程,软件开发人员不必在开发过程的不同阶段进行概念和符号的转换。
(3)、UML所用的语言元素基本都是图形化的,便于理解和沟通,不但开发人员之间可以用来交流,客户和开发人员之间也可以用它作为交流的工具。
目前版本的RationalRose可以用来做以下一些工作:
(1)对业务进行建模(工作流);
(2)建立对象模型(表达信息系统内有哪些对象,它们之间是如何协作完成系统功能的);
(3)对数据库进行建模,并可以在对象模型和数据模型之间进行正、逆向工程,相互同步;
(4)建立构件模型(表达信息系统的物理组成,如有什么文件、进程、线程、分布如何等等);
(5)生成目标语言的框架代码,如VB、JAVA、DELPHI等。
11
4
系统设计
4.1系统结构设计
(1)OA系统管理页面
系统主体结构如图4-1所示:
图4-1系统主体结构
(2)个子模块功能:
个人办公功能描述:
打开个人办公桌,在个人办公桌上,是到达各种管理功能的快捷链接。
有我的办公桌,通讯录,我的任务等。
图4-2个人办公
12
工作流程管理:
包含了工作流程的定义,比如报销流程,请假流程等。
表单的定义,为各种不同的流程定义不同的表单。
公文管理:
包括了公文的维护,增加,删除,修改等,公文的归档
图4-4公文管理
13
权限的管理:
模块的管理,系统有哪些模块,即系统有哪些功能。
角色管理,对
角色的增加,删除,修改,对角色的授权等。
用户管理,对用户的操作,给人员分配账号,对人员授权,对用户的基本的增加,删除等。
图4-4权限管理
人事归档管理:
包括人员的履历,申请转正,离职申请,员工的考勤。
是对员工的一些基本的管理。
图4-5人事归档
14
消息管理:
包括了收件箱,发件箱,垃圾箱,聊天记录等,是员工之间沟通的桥梁,渠道
图4-6消息管理
组织管理;包括了机构管理,人员管理,有哪些机构,机构下面有哪些子机构。
人员是隶属那个机构的等功能
图4-7组织管理
4.2数据库系统分析及设计
4.2.1数据库E-R图
(1)授权模块的E-R图如图4-8所示:
15
图4-8授权模块E-R图
(2)机构模块的E-R图如图4-9所示:
图4-9机构模块E-R图
(3)员工登陆账户模块E-R图如图4-10所示:
16
图4-10员工登陆账户模块E-R
(4)工作流和公文E-R图如图4-11所示:
4.2.2数据库连接
图4-11系统E-R图
Java的数据库连接要添加一个相应的数据库jar包,里面包含了连接数据库需要的驱动等。
本系统采用hibernate来与数据库交互,通关配置文件
hibernate.cfg.xml来连接数据库,数据库连接关键代码如图4-12所示:
图4-12数据库连接关键代码
17
4.2.3
数据表设计
用人员表图如表4-13所示:
表4-13人员表
人员登陆表如表4-14所示:
表4-14人员登陆表
用户角色表4-15所示:
表4-15用户角色表
授权表4-16所示:
表4-16授权表
工作流程表4-17所示
表4-17工作流程表
18
公文表4-18所示:
表4-18公文表
机构表4-19所示:
表4-19机构表
模块表4-20所示:
表4-20模块表
审核表4-21所示:
表4-21审核表
19
5
系统详细设计
5.1组织管理模块
5.1.1机构管理
(1)业务描述
对于机构的增删改查,点击添加机构信息链接,进入添加机构页面。
点击机构的名称,进入机构的所有子机构。
点击更新,可修改该机构的信息。
点击删除可以删除机构,但是机构的子机构为空,才能删除。
界面原如图5-1所示:
图5-1机构管理
代码实现:
在机构对应的action中调用机构对应的manager方法得到数据,跳转到页面,进行显示。
20
5.1.2人员管理
对于人员的管理,对于人员的增删改查。
点击添加人员信息,可以添加人员信息。
点击更新,可以修改人员的基本信息和所属机构。
点击删除可以删除人员的信息。
界面原型如图5-2所示:
图5-2人员管理
21
添加人员信息界面如图5-3所示:
图5-3添加人员信息界面
代码实现:
@Override
protectedActionForwardunspecified(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{request.setAttribute("pm",
personManager.searchPersons()
);
returnmapping.findForward("index");
}
PublicActionForwardaddInput(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{
returnmapping.findForward("add_input");
}
publicActionForwardadd(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{
PersonActionFormpaf=(PersonActionForm)form;Personperson=newPerson();
BeanUtils.copyProperties(person,paf);personManager.addPerson(person,paf.getOrgId());
returnmapping.findForward("pub_add_success");
}
5.2权限管理
5.2.1模块管理
对于模块的操作,增删改查。
点击添加模块可以添加一个新的模块。
点击模块的名称可以显示该模块的子模块。
点击更新可以修改该模块的信息。
点击删除可以删除该模块。
22
界面原型如图5-3所示:
代码实现(部分):
5-3模块管理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机科学 技术 毕业论文 OA 系统 设计 实现