基于SSH框架的办公自动化系统的设计与实现--最终稿_第1页
基于SSH框架的办公自动化系统的设计与实现--最终稿_第2页
基于SSH框架的办公自动化系统的设计与实现--最终稿_第3页
基于SSH框架的办公自动化系统的设计与实现--最终稿_第4页
基于SSH框架的办公自动化系统的设计与实现--最终稿_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编号:本科毕业设计 基于SSH框架的办公自动化系统的设计与实现院 系:姓 名:学 号:专 业:计算机科学与技术年 级:2011级指导教师:职 称:教授完成日期:2013年5月摘 要办公自动化系统(Office Automation 简称OA)是现代办公和计算机网络结合起来的一种新型办公方式,是信息化社会的产物。它利用先进的技术,极大地提高办公的效率和工作质量,降低办公成本,减轻工作负担,实现办公的无纸化、自动化和资源的信息化。本系统采用SSH框架集成来进行开发,充分利用Struts在表现层和控制层处理、Spring在业务层处理、Hibernate在数据持久层处理的优势,达到提高开发效率,减少开

2、发工作量,降低耦合性,提高可维护性和可扩展性的目标。本文通过对办公自动化系统相关知识、办公自动化开发技术及其开发平台的调查和分析研究,采用面向对象的程序设计方法实现该系统,通过设计不同的类,实现不同的功能需求。具体实现的功能模块有我的办公桌、办公申请、事务管理、文档管理、会议管理以及系统管理等功能模块。关键词:办公自动化系统;SSH;办公申请;事务管理;文档管理IIAbstractOffice automation system is a new mode of office work, which combines modern office and computer network. It

3、 is a product of the information society. Due to the use of advanced technology, it greatly improves the work efficiency and work quality, reduces theoffice cost and work load, achieves a paperless, automated office and resource information. Making full use of the advantages of the Struts in the pre

4、sentation layer and control layer processing, Spring in the business layer processing and Hibernate in data persistence layer processing, the system uses SSH integration framework to improve efficiency, reduce the development workload, reduce the coupling, improve maintainability and scalability .Ba

5、sed on the knowledge of office automation systems, office automation technology and its development platform developed research and analytical studies, the use of object-oriented program design method of the system, through the design of different classes, different functional requirements. Concrete

6、 realizations of functional modules have my desk, office applications, transaction management, document management, meeting management, and system management modules.Key Words: Office automation system;struct spring hibernate; business management;Office application;document management目 录1 绪论11.1 系统开

7、发的背景11.2 系统开发的目的和意义11.3 国内外的研究现状21.4 研究内容21.5 组织结构32 相关技术介绍42.1 开发技术42.1.1 Struts框架42.1.2 Hibernate框架42.1.3 Spring框架52.1.4 三大框架的集成52.2 开发环境62.2.1 开发工具62.2.2 数据库管理系统62.2.3 Web服务器63 系统的需求分析73.1 功能需求分析73.2 系统业务分解83.3 文件流转分析93.4 数据流分析103.5 可行性分析113.5.1 技术可行性113.5.2 经济可行性123.5.3 操作可行性123.6 系统的非功能需求123.6.

8、1 用户的界面要求123.6.2 系统的性能需求123.7 系统安全性设计134 系统的设计144.1 总体设计144.1.1 设计目标144.1.2 设计原则144.1.3 系统结构设计154.1.4 模块外部设计154.2 数据库设计164.2.1 设计原则164.2.2 数据库逻辑设计174.2.3 数据库物理设计194.2.4 安全性设计224.3 详细设计234.3.1 登录模块234.3.2 我的办公桌模块244.3.3 办公申请模块244.3.4 事务管理模块264.3.5 文档管理模块274.3.6 会议管理模块284.3.7 系统管理模块295 系统的实现315.1 登录系统

9、首页的实现315.1.1 登录页面后台Action类的开发315.1.2 用户映射类与映射文件的开发325.1.3 登录模块的配置335.2 办公申请模块的实现355.3 事务管理模块的实现365.4 文档管理模块的实现366 系统的测试386.1 测试目的386.2 黑盒测试386.2.1 界面测试386.2.2 功能测试396.3 白盒测试417 总结与展望437.1 总结437.2 展望43参考文献44致 谢4548绪论1 绪论办公自动化是指利用计算机技术、通信技术、系统科学、管理科学等先进的科学技术,不断使人们的部分办公业务活动物化于人以外的各种现代化的办公设备中,最大限度地提高办公效

10、率和改进办公质量,改善办公环境和条件,缩短办公周期,并利用科学的管理方法,借助于各种先进技术,辅助决策,提高管理和决策的科学化水平,以实现办公活动的科学化、自动化。本章主要介绍办公自动化系统当前的背景和开发办公自动化系统的意义,在研究国内外现状的基础上提出本课题要完成的功能和解决的问题。1.1 系统开发的背景社会信息化快速发展,办公信息化也随之发展,并受到各企事业单位的重视。目前,办公自动化已经成为企业界的共识。众多企业认识到进行办公自动化的建设,并占据领先地位,将有助于保持竞争优势,使企业的发展形成良性循环。这主要是其固有特点决定的,它在收集和执行各种办公信息的时候及时、准确,同时能够准确进

11、行办公信息的上传下达,提高强大的协作办公功能以及文档管理功能。当然,办公信息化也方便了办公流程的执行,极大地提高办公效率。办公自动化(Office Automation 简称OA)是现代办公和计算机网络结合起来的一种新型办公方式,是信息化社会的产物1。它采用B/S架构,突破往常地理位置的限制,以Internet为网络化平台,实现无纸化办公。1.2 系统开发的目的和意义随着计算机和网络在日常办公中的广泛应用,办公自动化系统在提高办公效率,实现个人之间协同工作,日常办公信息资源共享,改善办公条件,使日常办公更加高效化、规范化和科学化等方面的作用日趋增大2。办公自动化已经应用到很多的企业,本课题正是

12、根据中小型企业的办公需求,设计并实现办公自动化系统中的短消息管理、通讯录管理、办公事务管理、会议管理、文档上传与下载管理、系统管理等模块,满足企业提高办公效率的需要,使企业了解公司的工作流程,实现员工之间的协同工作,更好的安排日常工作,实现上下级之间的沟通与交流。1.3 国内外的研究现状随着计算机技术和信息技术的不断发展,办公自动化系统也经历了20多年的发展历程,产业信息化的不断发展,直接促使信息、数据和其他方面的内容都达到了一个新的高度,从而也促进了办公自动化的高度发展。纵观这20多年的发展,它经历了下面几个阶段3。第一代办公自动化系统始于80年代末,主要是由于政府办公的需求而产生,为了提高

13、政府的工作效率和保证安全性,引入了电子化管理,希望能够实现部分自动化操作。最早的办公自动化系统是以档案管理和公文处理为主要目的,这为后来的办公自动化系统发展奠定了基础。第一代办公自动化系统受技术和需求的限制,主要采用基于C/S结构的系统,功能比较单一,比如文档处理等。第二代办公自动化系统在第一代基础上,结合互联网技术的发展,主要以Internet为基础,采用了B/S架构,对于移动办公和远程办公有一定的支持。当然,这一代办公系统还在功能方面对第一代系统进行了扩展,实现了论坛、信息发布、日程安排、人事信息等功能,然而它的本质和特点仍然是基于档案管理和公文处理的,还只是在第一代办公自动化系统基础上的

14、简单扩展。第三代办公自动化系统兴起于90年代末,伴随兴起的还有协同办公,随着市场环境的变化和办公自动化需求的不断变更,办公自动化系统的指导思想也在发生变化,主要是范围从小变大,从局部到跨区域、跨部门之间进行,该时期的办公自动化系统结合了网络管理的思想和协同管理的构思,并且引入了一些新的工具,比如即时通信、资料共享,网络会议等新技术和工具。虽然引入了这样的工具,但是相比较而言,协同操作还是停留在局部区域,层次不够深入,从本质上来看,仍然不是真正意义上的协同办公,而只是简单的工具的集成,离真正的协同办公还有很大的差距。1.4 研究内容本设计的主要内容是开发一套能满足中小型企业日常办公需要的一款办公

15、自动化系统,使企业办公实现无纸化、自动化和信息化。具体来说,包括以下五个方面的内容:(1)分析本系统的开发背景和办公自动化的国内外发展现状;(2)论述本办公自动化系统开发过程中的理论支持、技术基础和实现的关键技术等;(3)规划办公系统的功能和结构,对本系统进行需求分析和功能的设计,确定系统的体系结构;(4)以登录模块、办公申请模块、文档上传与下载模块、会议管理模块等为例阐述系统的具体实现过程;(5)以登录模块、办公申请模块、文档上传与下载模块、会议管理模块等为例来完成系统的测试。1.5 组织结构第一章:绪论,主要介绍办公自动化系统的背景、意义、国内外研究现状。第二章:相关技术介绍,主要介绍系统

16、开发所涉及到的技术和工具。第三章:系统的需求分析,包括可行性分析和需求分析。第四章:系统的设计,包括总体设计、模块设计、数据库设计和详细设计。第五章:系统的实现,主要介绍各个模块的功能实现和关键代码。第六章:系统的测试,对实现过的模块进行测试。第七章:总结与展望,总结本系统存在的优势和不足以及未来的发展方向。相关技术介绍2 相关技术介绍办公自动化系统是在J2EE平台上进行设计和开发的。为了简化系统开发,缩短开发周期,引入了框架的思想,主要使用的框架技术有Struts框架、Spring框架以及Hibernate框架。本系统采用SSH三层架构,使用MyEclipse 8.5作为开发工具,MySQL

17、作为后台数据库,Tomcat作为应用服务器。本章首先介绍这三种框架技术,然后介绍开发本系统所使用的工具。2.1 开发技术2.1.1 Struts框架Struts 2是Struts的新一代产品,是在Struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开4。一个请求在Struts 2框架中的处理步骤:(1)客户端初始化一个指向Web容器的请求。(2)请求经

18、过一系列过滤器(Filter)的过滤并传递给FilterDispatcher。(3)FilterDispatcher接收到请求信息后,会根据URL在ActionMapper中搜索指定Action的映射信息。(4)如果找到符合的映射信息,ActionProxy通过Configuration Manager在配置文件struts.xml中搜索被请求的Action类。(5)ActionProxy创建一个被请求Action的实例,该实例用来处理请求信息。(6)如果在配置文件struts.xml中存在与请求Action相关的拦截器配置,那么该Action的实例被调用的前后,这些拦截器也会先被执行。(7)

19、Action对请求处理完毕后返回一个逻辑视图,此逻辑视图寻找对应的物理视图,并返回给客户端。2.1.2 Hibernate框架Hibernate是一个免费的开源Java包,是目前最流行的ORM框架,它是一个面向Java环境的对象/关系数据库映射工具,也是一个轻量级的O/R Mapping框架;虽然它问世的时间并不长,但是已经成为目前最流行的持久层解决方案5。它使得程序与数据库的交互变得十分容易,更加符合面向对象的设计思想,像数据库中包含普通Java对象一样,而不必考虑如何把它们从数据库表中取出,使开发者可以专注于应用程序的对象和功能,而不必关心如何保存它们或查找这些对象;甚至在对SQL语句完全

20、不了解的情况下,使用Hibernate仍然可以开发出优秀的包含数据库访问的应用程序。2.1.3 Spring框架Spring是一个开源框架,是开发者为了解决企业应用开发的复杂性问题而创建的。Spring致力于J2EE应用各层的解决方案,而不是仅仅专注于某一层的解决方案。Spring贯穿于表现层、业务层和持久层;但是,Spring并不想取代那些已经存在的框架,而是以高度的开发性与它们进行无缝结合6。Spring框架最重要的两个功能就是控制反转(IOC)和面向切面(AOP)。控制反转(IOC)是Spring框架的基本功能。主要组件是BeanFactory,是工厂模式的实现,使用IOC模式将应用程序

21、的配置和依赖性规范与实际应用程序代码分开。面向切面(AOP)为基于Spring的应用程序中的对象提供了事务管理服务。通过使用AOP,不用依赖EJB组件,就可以将声明性事务管理集成到应用程序中。2.1.4 三大框架的集成在进行三者整合开发时,一般可以采取由上往下和由下往上的分层开发原则,多数实际项目的开发,往往采用后者的开发模式7,即:(1)从底层开发,先开发领域对象,及一些实体类,这些领域对象会在各层之间进行传递。利用Hibernate做好领域对象和数据库表的映射关系。(2) DAO层的开发。它是专门独立出来对数据进行持久化,即处理数据的CRUD操作,也是利用Spring对Hibernate提

22、供的DAO支持类HibernateDaoSupport来实现的。每个DAO组件对应一个数据库表。(3)Service层的开发。这层主要是具体业务组件开发,主要用于处理各类业务逻辑,并且能隔离事务和对其他资源进行调度。(4)Action层的开发。主要是处理Web请求,由Spring进行管理。三者整合开发步骤模式图,如图2-1所示。采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性;而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发

23、效率。图2-1 三大框架集成工作原理2.2 开发环境2.2.1 开发工具本系统使用MyEclipse 8.5作为开发工具。它是一个十分优秀的用于开发Java、J2EE的Eclipse的插件集合,是对Eclipse IDE的扩展。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整的支持HTML、JSP、JavaScript等语言8。利用它可以实现在数据库和J2EE的开发、发布以及应用程序服务器的整合方面极大地提高开发效率。2.2.2 数据库管理系统本系统采用MySQL作为后台数据库。MySQL是一个关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数

24、据放在一个大仓库中,这样就增加了速度并提高了灵活性9。同时,它体积小、速度快,而且免费,因此一般的中小型系统都选择MySQL作为后台数据库。2.2.3 Web服务器本系统使用Tomcat作为Web服务器。Tomcat服务器是一个免费的开源的小型的轻量级的应用服务器10。由于它技术先进、性能稳定,而且免费,运行时占用的系统资源小,因此特别适合中小型企业的使用。系统的需求分析3 系统的需求分析需求分析作为软件开发的第一步,主要是为了弄清开发该软件的用途、功能、使用对象、主要工作流程等,用以确保最终产品能够达到最初设想的目的,满足用户的需求11。为了能准确的了解企业办公自动化系统的需求,本课题结合一

25、般企业的实际工作,采取提问、问卷调查、深入办公以及了解办公流程等方法,收集总经理、部门经理、普通员工对本系统的需求。然后采用软件工程的方法,对收集的用户需求进行深入分析。3.1 功能需求分析一般来说,中小型企业办公自动化系统应主要以公文处理和事务管理为核心,同时提供信息通讯与服务等重要功能,主要是为提高企业日常工作方面的信息化、自动化和高效化12。因此,典型的办公自动化系统应包括公文管理、个人办公、信息交流、公共事务、附件程序等应用,另外鉴于Internet在日常办公中占有日益重要的地位,办公自动化系统应该与Internet留有平滑的接口。为保证系统能够长期、安全、稳定、可靠、高效的运行,在对

26、当前中小型企业办公系统进行分析的基础上,本办公自动化系统应满足以下功能需求:首先,作为特定环境和用户群使用的系统,系统必须提供可以有效验证用户身份的系统登录功能。其次,作为办公系统,必须首先满足企业员工办公最常用的公文管理需求。系统应采用开放、动态的系统架构,将传统的办公模式与先进的网络应用相结合,变传统办公模式中的人工公文流转转为网络自动流转,用于处理单位内部各业务部门之间的协同办公,使其自动化处理,以省去工作人员在各业务部门之间来回跑,完成日常办公事务中的公文审批及流转。同时,系统还应该具备良好的通用性与可移植性,可以适合不同网络环境和不同操作系统之间办公信息和公文的处理。再次,为方便对会

27、议的管理,系统还应提供会议管理功能。会议管理功能虽然不是办公系统的主要功能,但也是企业不可缺少的一个基本功能,所以把会议管理作为办公自动化系统的一个子系统,主要包括查询会议室,会议的审批等子功能。第四,为方便员工的之间资源的共享,把需要的资料通过上传功能传到数据库,其他用户在浏览后可以下载资料,不用当面交流就可以实现资源的共享。最后,为有效提高员工的工作效率,系统除提供功能实用并且适合中小型企业的日常业务工作外,还可以提供一些与员工日常工作相关的一些辅助功能。主要包括:短消息管理、个人日程安排、通讯录管理、提醒和考勤等功能。系统还应具有可扩展性,随着日后的发展应该支持增加新的功能,满足各部门办

28、公服务的要求。根据以上的分析,本系统应该具有以下功能:(1)系统登录:用于管理登录本系统用户的验证。当用户登录时,输入用户名和密码,系统通过逻辑程序验证是否通过;通过则进入系统,否则不能进入系统。(2)我的办公桌:包含一些与个人办公联系紧密的功能。所有的用户都可以进行个人的日常办公;主要有短信息的管理、维护,日程安排的管理、维护,查看个人通讯录,管理自己好友的功能。(3)系统管理:包括员工管理、职位管理和部门管理。管理员可以设置不同的角色,也可以管理员工、职位、部门信息。(4)办公事务管理:管理员可以进行事务审批、登记、打印和设置类别;普通用户可进行查看事务和申请事务。(5)会议管理:管理员对

29、会议室进行相关信息的统计管理、对会议进行记录等操作;普通用户可查询空闲会议室、填写会议申请表单、查看会议信息等功能。(6)文档管理:管理员可以设置文档的类别,可对文档进行增、删、改、查等一系列操作;普通用户只可对文档进行查询和下载。3.2 系统业务分解通过分析本系统的功能,结合中小型企业的日常办公习惯,将系统分解为六大功能模块,包括系统登录、我的办公桌、办公事务管理、会议管理、文档管理、系统管理,每个功能模块中根据登录权限不同又包含不同的子模块,系统的用例分析如图3-1所示。本系统允许用户有三种身份:管理员、部门经理和普通职工。每种身份对每一个功能都有一定的权限限制,也就是说不同的用户进入到本

30、系统中可以实现的功能也是不同的。(1)管理员拥有办公自动化系统的最高权限,拥有的功能也是最多的,包括我的办公桌、办公申请、事务管理、会议管理、文档管理、系统管理等模块。(2)部门经理的权限就受到了限制,部门经理不具备系统管理模块和事务管理模块,在此相当于控制了它的权限。(3)普通职工只具备我的办公桌模块、办公申请模块和文档下载模块。图3-1 系统用例图本系统的运行机制为:当用户通过浏览器访问后台的应用服务器时,应用服务器根据登录信息调用登录人员的逻辑配置,根据管理人员设定的相关策略,动态实施相关配置。如:用户界面的生成、相关功能模块的生成挂接等等。在生成这些模块的过程中,从文件系统和数据库系统

31、中,获取相关的数据,同时将反应结果响应到WEB客户端。3.3 文件流转分析在本系统中,通过了解中小型企业文件的流转流程,制定本系统的文件流转关系。首先,由普通员工提出申请,比如请假申请、销假申请等事务,然后由管理员进行登记,登记成功之后,该员工提交的申请才会流转到部门经理处,由部门经理进行审批。如果管理员不登记,那么本次的申请就不会提交到部门经理处,也就相当于作废;部门经理审批通过之后,在普通员工处就能看到通过审批的事务。其中文件流转关系如下图3-2所示。图3-2 文件流转关系3.4 数据流分析通过以上对本系统详细功能进行的分析和对业务进行的分解后,可以看出,各种信息之间的关系比较复杂,很多信

32、息的改变是互相影响的。分析业务行为中诸多方面信息之间的关系,是开发一个实用有效的管理系统的关键,而借助于数据流图来进行分析,则是一个十分科学有效的方法。数据流图(DFD)是一个图形化技术,它描绘信息流和数据从输入到输出过程中所经受的变换,在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程13。本系统的基本模型如图3-3所示。图3-3 办公自动化系统的基本模型图根据基本系统模型,对其逐步细化,得到描绘逻辑系统细化后的数据流图。限于篇幅,在此仅给出办公申请模块和管理员添加员工模块的数据流图。(1)办公申请模块的数据流图如图3-4所示。图3-4 办公申请数据流图(2)管

33、理员添加员工模块的数据流图如图3-5所示。图3-5 管理员添加员工数据流图3.5 可行性分析3.5.1 技术可行性本系统是在J2EE平台上设计和开发的,同时针对利用J2EE平台开发系统存在的主要问题引用了框架技术,即SSH框架,其中由Struts、Hibernate以及Spring三大框架组合而成,每种框架负责不同的任务处理;Struts框架工作在表现层,实现了表现层和业务层的分离,可有效提高页面的开发效率;Spring框架工作在业务层,并且可以很好的兼容上下层;Hibernate框架工作在数据层,可以实现高效率的数据访问。这三种框架的引入加强了各层之间的独立性,可有效简化系统的开发难度,提高

34、开发效率。因此,这些成熟的开发技术可成功本系统。3.5.2 经济可行性办公自动化系统是企业管理的一个重要组成部分,涉及企业管理的方方面面。一个现代化的办公自动化系统能够显著提高办公效率,降低办公成本,充分利用内部资源,加快工作流程,适应环境的变化。根据以上分析可知,一个良好的办公自动化系统,能够给企业带来不可估量的经济效益,而开发本系统所需要的基本费用在企业可承受的范围内。因此,本系统在经济上也是可行的。3.5.3 操作可行性用户只需要通过浏览器就可以对办公自动化系统进行一系列的操作。因此,本系统在操作上也是可行的。3.6 系统的非功能需求3.6.1 用户的界面要求表3-1 用户的界面要求表需

35、求名称详细要求母版页提供母版页的选择,根据用户不同需求选择不同母版页。界面布局采用三分屏的布局风格。界面交互采用页面局部刷新技术。表单格式能够使用下拉、选择方式的尽量避免手工输入,采用密文格式显示。3.6.2 系统的性能需求(1)数据准确性用户登录时需要保证数据的准确性,对于正确的用户名和密码进行登录,对错误的用户名和密码进行拦截。查询时需要保证准确率,查到的记录应包含所有数据库中存储的信息。(2)时间特性一般操作的响应时间应该在1-2秒之内。(3)易用性本系统面对广大用户,包括计算机水平较低的用户;因此,应尽力要求操作的简洁和易于接受,而且界面也力求拥有较好的交互性和友好性14。3.7 系统

36、安全性设计办公自动化系统的安全需求是在全方位和整体的高度上,相应的系统安全体系也是分层次的,在不同层次解决处理不同的安全问题。在本课题的需求分析中,把安全需求大致归纳为以下几个方面:(1)网络可用性网络是应用系统和业务的载体,网络中断对于业务和系统来说就意味着中断停止,将带来非常大的影响15。因此,必须保证网络的持续有效的运行,防止对关键网络设施的入侵和攻击,防止通过消耗带宽等方式破坏网络的可用性。(2)系统可用性运行业务系统的各主机、数据库、应用服务器的安全运行同样十分关键,安全控制体系必须保证这些系统不会遭受来自内外网络的非法访问、恶意入侵和破坏。(3)数据机密性机密信息的泄密将直接影响企

37、业安全和社会稳定,安全控制必须保证这些机密信息在传输时的机密性和完整性。(4)访问的可控性对关键网络、系统和数据的访问必须得到有效的控制,这要求系统能够可靠确认访问者的身份,谨慎授权,并对任何访问进行审计。(5)灾难恢复能力经常性的备份以及快速、精确的恢复可以使系统在遭到灾难性破坏时将损失降低到最低的程度。另外,保护硬件资源不被非法占有,软件资源免受病毒的侵害,都构成了整个信息网络上的安全需要。最后,要保证只有经过授权的人员才可以进入相应的系统,并按授权权限进行基本的操作。系统的设计4 系统的设计根据前面的需求分析得知,办公自动化系统是一个功能较完善、操作较简单、使用方便、安全性高的系统。在对

38、其进行详细的需求分析后,下面按照系统需求进行系统的设计。下面从总体设计、数据库设计和详细设计三个方面对办公自动化系统进行详细的分析。4.1 总体设计4.1.1 设计目标系统设计的总体目标是改善和提高中小型企业员工用计算机处理办公事务的应用水平,建立一个覆盖各个部门的协同办公自动化系统,为领导的决策提供服务,实现办公管理标准化、信息资源化、资源共享化、传输网络化和决策科学化。4.1.2 设计原则为满足上述系统需求,本系统设计将严格按照以下设计原则进行,主要有以下四个基本原则。(1)开放性、可扩充性、可靠性原则开放系统是生产各种计算机产品普遍遵循的原则,遵循这种标准的产品都符合一些公共的、可以相互

39、操作的标准,能够融洽的在一起工作。开放系统使得各种类型的网络和系统互连简单、标准统一,容易扩展升级,从而适应广大用户需求的多变性和产品的更新换代。(2)安全性原则数据库中关键字段,如用户姓名使用DES加密,用户的密码分别使用客户端MD5加密和服务器端MD5再加密。即使数据库被盗,也不会透露出用户的个人关键信息。(3)良好的用户操作界面用户操作界面美观、方便、实用,使用户能在较短的时间内掌握其使用方法;同时使用DWR可以实现网页的局部刷新,从而增加用户的友好度,使用户能够方便使用,最终让使用本系统成为用户的一种享受。(4)实用性原则任何系统的设计都要考虑其实用性,系统开发的目的是为了实现业务处理

40、自动化、规范化,提高工作效率,减轻工作人员的劳动强度,减少开支,规范管理。4.1.3 系统结构设计(1)系统的处理流程系统的处理流程: 系统启动时,激活身份验证模块; 通过身份验证后,对办公自动化系统管理进行初始化;其中包括员工的管理、职位的管理和部门的管理; 系统进入消息循环状态,通过点击鼠标激活各个功能模块,并执行指定模块; 功能执行完毕后重新进入消息循环状态; 由鼠标激活关闭系统模块,退出系统。(2)系统的结构设计根据系统的设计方案,该系统共分为七个模块:登录模块、我的办公桌模块、办公申请模块、事务管理模块、文档管理模块、会议管理模块以及系统管理模块,其功能模块结构如图4-1所示。图4-

41、1 总体结构图4.1.4 模块外部设计系统的模块外部设计如表4-1所示。表4-1 模块外部设计表模块编号模块名称备注模块编号模块名称备注M 1.1初始化模块系统初始化M 6.1.1.2删除文档目录仅限管理员M 1.2关闭系统模块退出系统M 6.1.1.3查看文档目录M 2.1用户登录模块M 6.1.2上传文档普通员工无M 2.2用户退出模块M 6.1.3下载文档M 3.1我的办公桌M 6.1.4删除文档M 3.1.1通讯录M 7.1修改个人密码M 3.1.2日程安排模块M 8.1会议管理模块普通员工无M 3.1.2.1添加日程M 8.1.1审批会议M 3.1.2.2删除日程M 8.1.2删除会

42、议申请M 3.1.2.3查看日程M 9.1系统管理模块仅限管理员M 3.1.3短信管理模块M 9.1.1部门管理模块仅限管理员M 3.1.3.1收件箱M 9.1.1.1添加部门M 3.1.3.2发件箱M 9.1.1.2删除部门M 4.1办公申请模块M 9.1.1.3修改部门M 4.1.1添加申请M 9.1.2员工管理模块仅限管理员M 4.1.2查看申请M 9.1.2.1添加员工M 4.1.3删除申请M 9.1.2.2删除员工M 5.1事务管理模块仅限管理员M 9.1.2.3修改员工M 5.1.1删除事务M 9.1.3职位管理模块仅限管理员M 5.1.2事务登记M 9.1.3.1添加职位M 6.

43、1文档管理模块M 9.1.3.2删除职位M 6.1.1文档目录模块仅限管理员M 9.1.3.3修改职位M 6.1.1.1添加文档目录仅限管理员4.2 数据库设计数据库设计是系统设计的重要组成部分之一。一个成功的数据库设计不仅能大大提高系统的整体性能,同时提高开发质量和开发效率,并且方便系统日后的升级和扩展,将直接影响到系统的产品化程度15。下面来详细的介绍一下关于本系统中的数据库设计以及各个表之间的关联关系。4.2.1 设计原则一般来说,在一个应用系统的分析、设计、实现、测试和试运行阶段,因为数据量较小,设计人员和测试人员往往只注意到功能的实现,但是却很难注意到性能的薄弱之处,等到系统投入到实

44、际运行一段时间后,随着数据的日益膨胀和应用范围的扩大,才发现系统性能在降低,这时再考虑提高性能则要花费更多的人力和物力,而整个系统也不可避免的形成一个补丁工程。因此,在设计阶段,对于系统影响较大的数据库的设计应该科学化。结合本系统的开发特点,主要体现在以下几个基本原则上:(1)规范命名不同的数据库产品对对象的命名有不同的要求,因此,数据库中的各种对象的命名、后台程序的代码编写应采用大小写敏感的形式,各种对象命名长度不要超过30个字符,这样便于应用系统适应不同的数据库平台。(2)数据的一致性和完整性为了保证数据库的一致性和完整性,通常采用多表间的关联,尽可能降低数据间的冗余。如果数据冗余低,数据

45、的完整性统一得到保证,但是也增加了表间连接查询的操作,为了提高系统的响应时间,合理的数据冗余也是必要的。使用规则和约束来防止系统操作人员误输入造成数据的错误是设计人员的另一种常用手段,但是,不必要的规则和约束也会占用系统不必要的开销,需要注意的是,约束对数据的有效性验证要比规则快。所有的这些,设计人员在设计阶段应根据系统操作的类型、频度加以均衡的考虑。(3)数据库性能调整在计算机硬件配置和网络设计确定的情况下,影响到应用系统性能的因素不外乎为数据库性能和客户端程序设计。而大多数数据库设计员采用两步法进行数据库设计:首先进行逻辑设计,而后进行物理设计16。数据库逻辑设计去除了所有冗余数据,提高了

46、数据吞吐速度,保证了数据的完整性,清楚地表达数据元素之间的关系。当然,物理设计需要折中考虑,根据业务规则,确定对关联表的数据量大小、数据项的访问频度,对此类数据表频繁的关联查询应适当提高数据冗余设计。4.2.2 数据库逻辑设计逻辑设计即是将需求分析得到的用户需求抽象为信息结构以及概念模型的过程。为了描述数据库结构的概念模式,这里采用实体联系图来描述主要的实体。(1)用户实体-联系图如图4-3所示。图4-3 用户实体-联系图(2)事务实体-联系图如图4-4所示。图4-4 事务实体-联系图(3)会议实体-联系图如图4-5所示。图4-5 会议实体-联系图(4)文档实体-联系图如图4-6所示。图4-6

47、 文档实体-联系图(5)职位实体-联系图如图4-7所示。图4-7 职位实体-联系图由于本系统涉及的实体比较多,在此只画出了重要的实体-联系图。根据上面所画的实体-联系图,将实体之间的关系图转换出来。其中系统的总体的E-R图如下图4-8所示。图4-8 系统总体E-R图4.2.3 数据库物理设计(1)表汇总表4-2 表汇总表名功能说明tb_meetiongRoom会议室表:存储会议室使用情况。tb_meeting会议记录表:存储会议记录情况。tb_affairs事务表:存储待审批申请表。tb_affairsType事务类型表:存储审批表类型。tb_message短消息表:存储用户发送的消息。tb_

48、schedule日程表:存储用户保存的日程安排信息。tb_addesssBook通讯录表:存储用户的联系人信息。tb_document文档表:存储上传文档的信息。tb_docType文档类型表:存储文档分类信息。tb_pasition职位表:存储公司职位信息。tb_user用户表:存储用户的信息。tb_department部门表:存储部门的分类。(2)数据库表的设计 会议室表表4-3 tb_meetingRoom表列名描述数据类型(精度范围)空/非空约束条件id编号int非空主键name会议室名称varchar(20)非空container容纳人数varchar(20)非空address会议室

49、地址varchar(50)非空state会议室使用状态varchar(20) 会议记录表表4-4 tb_meeting表列名描述数据类型(精度范围)空/非空约束条件id会议编号int非空主键theme会议主题varchar(20)非空state会议状态varchar(20)非空content会议内容varchar(255)非空beginning会议开始时间date非空ending会议结束时间date非空compere主持人varchar(20)非空count会议人数varchar(20)非空comment会议备注varchar(200)meetingRoom_id会议室编号varchar(20

50、)非空外键 事务表表4-5 tb_affairs表列名描述数据类型(精度范围)空/非空约束条件id编号int非空主键applicant申请人varchar(20)非空applicant_time申请时间date非空content内容varchar(255)非空approve批准人varchar(20)非空comment备注varchar(200)approve_time批准时间date非空state状态varchar(20)非空affairs_type事务类别varchar(20)非空外键 事务类型表表4-6 tb_affairsType表列名描述数据类型(精度范围)空/非空约束条件id编号i

51、nt非空主键type类别varchar(20)非空 短消息表表4-7 tb_message表列名描述数据类型(精度范围)空/非空约束条件id编号int(10)非空主键title标题varchar(100)非空receiverId收件人IDint非空content内容varchar(2000)非空user发件人varchar(20)非空userId发件人IDinttime发件时间varchar(255)非空当前系统时间 日程表表4-8 tb_schedule表列名描述数据类型(精度范围)空/非空约束条件id编号int非空主键title日程标题varchar(20)非空summary日程摘要var

52、char(200)非空content日程内容varchar(255)非空userId当前用户IDint非空当前用户IdcurrentTime日程提交时间varchar(200)当前系统时间 通讯录表表4-9 tb_addessBook表列名描述数据类型(精度范围)空/非空约束条件id编号int非空主键userId用户的编号int非空 文档表表4-10 tb_document表列名描述数据类型(精度范围)空/非空约束条件doc_id编号int非空主键doc_name文档名称varchar(50)docType文档类型编号int非空外键department部门编号int非空外键uploadDate

53、上传时间varchar(20)size上传文件的大小varchar(200) 文档类型表表4-11 tb_docType表列名描述数据类型(精度范围)空/非空约束条件dt_id文档类型编号int非空主键dt_name文档类型的名称varchar(20)dep_id部门编号int外键 职位表表4-12 tb_position表列名描述数据类型(精度范围)空/非空约束条件id编号int非空主键positionname职位的名称varchar(20)departmentId部门编号int外键 用户表表4-13 tb_user表列名描述数据类型(精度范围)空/非空约束条件id编号int非空主键employeeid员工在公司的编号varchar(20)password登陆密码varchar(20)name员工姓名varchar(20)续表 4-13列名描述数据类型(精度范围)空/非空约束条件age员工年龄intbegindate入职日期dategender性别char(2)state员工状态varchar(20)departmentid员工所

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论