1、沈阳学院课程设计 摘 要OA系统即指办公自动化,它利用现代技术来提高工作效率,进而实现工作的自动化,改变过去低效而复杂的手工办公方式,大大方便各企事业单位内部员工之间的沟通和交流,实现信息的收集、处理等。使用OA系统不仅提高工作效率,也为大多数企事业节约了大量资金,为二十一世纪提出的节能减排做出应有的贡献。做为集信息化和知识化于一身的一个基础办公平台,将来的OA系统必将朝着这个方向更好的向前发展。本文采用现代最新技术理念对已有的OA系统进行了研究,在研究基础上采用最新的协同办公理念来研究办公自动化系统。本文采用MVC设计模式并基于J2EE架构基础上开发了OA系统,本文所研究系统具有平台无关的特
2、性。对于中小型的企事业单位最适合采用本文所研究的OA系统。他除了能够实现知识管理以外还能够实现分布式的办公。知识管理的特点是能够使各种文件、信息按照一定的权限进行保存、共享和使用,并且对于这些操作还要有一定的查询措施,方便各部门、教研室之间信息的共享与发布、查找和替换,为建立学习型组织打下基础。通过对路由器的设置解决本系统实现跨地域的办公和移动办公。对系统的功能性采用黑盒测试方法进行全面测试,结果表明基本能够满足我校教职工的需要。为了对系统下一步的运行提供更好的依据,在对本系统的测试上采用手工与相关测试软件相结合的方式进行。关键词:JSP 工作流 办公自动化 协同AbstractOA refe
3、rs office automation system, which uses modern technology to improve efficiency, so as to realize the automation of work, change the inefficient and complex manual office procedures, greatly facilitate the enterprises of communication between internal staff and exchange information to achieve the co
4、llection, processing and so on. Using the OA system not only improve efficiency, but also for most of the enterprises and saves a lot of money raised for the twenty-first century and make due contribution to energy saving. As a set of information and knowledge in an office platform, a basis for the
5、future of the OA system better in this direction will move forward. In this paper, the concept of modern latest technology OA system on the existing studies, research-based collaboration using the latest office to study the concept of office automation systems. In this paper, based on J2EE architect
6、ure using MVC pattern of development of the OA system with platform independence. The system studied in this paper is mainly used in small enterprises. To achieve knowledge management and distributed office. Knowledge management to a variety of documents, information will be saved by permission, sha
7、re and use, but also the need for effective search means to facilitate the various departments, information sharing between the Department and to publish, find and replace. To establish a foundation for learning organizations. By setting the router to solve the system to achieve cross-regional offic
8、e and mobile office. Functionality of the system fully tested using black-box testing methods, the results show that the faculty can basically meet the needs of our school. In this paper, the security of the system by hand with a combination of testing tools to conduct a comprehensive inspection, th
9、e existing problems to improve for the next operation to provide references. Keywords: Jsp Workflow Office Automation Collaborative目 录摘 要7Abstract8第一章 绪 论101.1 办公自动化管理系统的背景与意义101.2 办公自动化管理系统的功能特性101.3 本文的关键问题及难点11第二章 背景技术的介绍12.1 MYSQL简介12.2 Java技术简介12.3 J2EE体系22.4 Java Servlet概述22.5 JDBC概述32.6 JDBC类
10、型32.7 JSP技术42.8基于MVC设计模式的技术实现5第三章 系统分析83.1 总体需求分析83.2 可行性分析93.3 系统功能分析11第四章 系统总体设计144.1 项目规划144.2 开发及运行环境144.3数据库15第五章 系统详细设计185.1 登录模块185.2 界面设计实现185.3 用户退出系统页面实现225.4 日常管理模块的实现235.5 公告管理模块的实现265.6 员工管理模块的实现305.7 通讯录模块的实现375.8 计划制定模块的实现415.9 考勤模块的实现435.10 退出模块的实现46结 论48致 谢49参考资料50第一章 绪 论在科技迅猛发展的今天
11、Internet/Intranet被广泛的使用在各个行业中,企业的管理也随之发展,信息化的程度也随之增长,同时以往的办公管理模式已经无法适应企业的需求,企业对办公的效率要求越来越高,因此就需要一个现代化的办公管理方案来解决企业的这个问题。企业办公正在逐步迈向管理信息现代化。企业办公信息化基础设施建设的逐渐完备,改革传统办公模式开展电子政务,使业务办公、公文流转和管理过程电子化、信息化,让文职人员从长期繁杂的办公事务中解放出来,通过统一办公规范,提高工作效率,降低管理成本,实现办公自动化已势在必行。1.1 办公自动化管理系统的背景与意义办公自动化管理系统是将现代办公和计算机网络功能结合起来的一种
12、新型的办公方式,是信息化社会的产物。办公自动化系统可以将一个机构的办公用的计算机和其他办公设备连接成网络,这样可以为办公室工作人员和企事业负责干部提供各种现代化手段,从而改进办公条件,提高办公业务的效率和质量,及时向有关部门和领导提供有用的信息。OA起源于政府办公系统,当初的作用主要是公文收发,如今核心内容是提高办公效率、提高团队的整体作战能力以及有效的提供应用信息与素材,从而提高管理水平。广义而言,OA应该是一个企业除了生产控制之外的一切信息处理与管理的集合。它面向不同层次的使用者,有不同的功能表现。通过网络,组织机构内部的人员可跨越时间、地点协同办公。建立一个安全、可靠、开放、高效的办公自
13、动化、信息管理电子化系统。为管理部门提供现代的日常办公条件及丰富的综合信息服务,实现档案管理自动化和办公事物处理自动化,实现企业各内部日常业务工作的规范化、电子化、标准化,增强档案部门文书档案、人事档案、财务档案等档案的可管理性,实现信息的在线查询、借阅。最终实现“无纸”办公,使信息的传递更加快捷和方便,从而极大的扩展了办公手段,实现了办公的高效率。1.2 办公自动化管理系统的功能特性办公自动化管理系统对企业日常办公进行管理,实现企业员工之间的消息的发送与接受功能,大大地方便了企业内部人员沟通。同时网站提供的前后台的公告与公文信息的管理,方便员工及时了解公司的动态,与其他功能模块联机操作将使企
14、业的日常管理步入科学系统的管理轨道。此办公自动化管理系统有六个功能模块:日常管理 、考勤管理 、计划制定 ,审核管理, 通讯管理 , 员工管理 六个模块。六大功能模块分别是:1) 日常管理:主要完成会议管理,公告管理。2) 考勤管理:主要完成员工的外出,请假,出差,上下班信息的登记。3) 计划管理:主要完成企业,个人,部门的计划管理。4) 审核管理:主要完成发布申请和对申请的审核批示。5) 员工管理:主要完成对员工的添加,修改,删除。6) 通讯管理:主要完成通讯信息的显示,添加,修改,删除。1.3 本文的关键问题及难点我们的课程设计项目是基于J2EE的web项目,同时也是采用JSP + Jav
15、aBean + Servlet模式。因此针对此项目涉及到一些关键问题:1、JSP + JavaBean + Servlet环境配置问题,环境变量的设置:变量名java_path、path、classpath的追加,Tomcat的配置:变量名tomcat_home classpath的追加。环境变量的设置和Tomcat的配置对初学者来说又是比较头疼,但配置好了很重要。2、集成开发环境选择的问题,好的开发环境对编码效率提高很多。MyEclipse本身集成了非常实用的插件并且支持主流框架,是一个非常好用的集成开发环境,所以我们组选MyEclipse作为课程设计的集成开发环境。服务器的选择我们选Tom
16、cat作为系统的服务器,轻量级的服务器Tomcat对于小型应用是个不错的选择。3、逻辑结构设计本系统数据库采用SQL Server 2005 数据库,系统数据库名称为OA_Data。数据库OA_Data中包含5张表。数据表有department(部门信息表)、eminfo(员工信息表)、job(职位表)、password(用户信息表)。当主键表中的数据发生改变时,引用这个主键值的字段也随之改变,进而确保数据的一致性和完整性。50 第二章 背景技术的介绍本系统采用JSP技术,运用J2EE架构,基于MYSQL数据库对系统进行开发,本章简要介绍一下开发能用到的关键技术。2.1 MYSQL简介MYSQ
17、L最早由一家瑞典的MySQLAB公司开发设计,MYSQL是一种关系型数据库系统10。它的基本特点是:执行速度快、总体容量小,并且由于它是一种开放源代码的数据库,使得它的使用成本大大降低,从而也拓宽了它的使用范围。1. MYSQL的编写基本上采用用C和C+,调用硬件执行速度非常快,并且它的测试手段灵活,采用大量编译器进行,因此使得它编写出来的代码具有一定的移植性和兼容性。2.支持Novell Netware、OS/2 Wrap、Solaris、Windows等多种操作系统。 3.它所具有的API功能可以为大多数的编程语言提供。这些编程语言包括C、Python、C+、Java、Perl、Eiffe
18、l、PHP等。 4.查询速度大大提高,并优化了SQL查询算法。5.对于数据库的操作,它提供了许多管理工具例如:检查和优化等。6.它能够对多线程技术进行很好的支持,因此使得对CPU的利用率得到大大的提高。7. MYSQL数据库不仅可以嵌入到其他的软件中来提供语言支持,也可以独立的作为一个客户端应用到网络中11。8. MYSQL数据库提供对JDBC等的链接。 2.2 Java技术简介Java技术是由美国Sun公司推出的,是一种简单易用、面向对象、具有跨平台且安全可靠的面向网络的开发工具。Java技术包括Java语言和Java MediaAPIs、SecurityAPIs 、Java Applet、
19、ManagementAPIs、Java RMI、Java Beans、Java Servlet、Java OS、JDBC等12。随着JSP技术的不断成熟, Java也开始逐渐的走进Web开发的舞台。Java技术给我们带来的是一场革命,它是第一个真正跨平台的语言,由于具有平台的无关性,因此Java拥有强大的移植能力和网络处理能力已成为目前我们研究人员、开发人员等青睐的焦点,它对网络计算和动态多媒体信息的处理使得Java与Web结合的开发过程更加成熟。它具有 “一次设计,到处运行”的特点,使得整个Web开发世界发生了翻天覆地的变化13。2.3 J2EE体系J2EE利用Java2平台为企业级的开发等
20、简化操作,是为相关的管理提供一种平台的架构体系,它由Sun公司研究并进行统一标准。J2EE技术的基础核心是Java或Java2平台,J2EE在继承了标准版中的优点外,还提供了对EJB(Enterprise JavaBeans)、Java Servlet API等技术的全面支持。Enterprise JavaBean的向导功能支持打包和部署等相关应用,不仅增强了使用的安全性,同时也提高了基于J2EE体系所开发系统的性能,使用J2EE体系,其最终结果是缩短了开发时间,使得开发者在研究周期所使用的时间上也大大缩短了,在投放市场的时间上有了充足的保障,因此,使用J2EE体系来开发系统不仅可以节省大量的
21、时间,同时也支持对所有应用程序的集成14。2.4 Java Servlet概述Servlet技术早于J2EE平台出现,它是一种采用了相关类和方法的Java程序。它提供在WEB上进行请求和响应的服务,它通过对框架的创建来扩展服务器的功能, Servlet是一种服务器端的java应用程序。下面我们来看一下他的技术特点:1 高效它有许多优点,例如:当N个客户端同时进行访问的时候,servlet可以为每个请求分配一个线程。2 跨平台性Servlet和Java语言一样都有跨平台性,它是由Java语言编写,因此具有Java语言的特性。3 方便实用由于Servlet提供得许多工具集都封装在各种不同的类中,因
22、此在使用的过程中可以直接对其调用即可。4功能强大Servlet可以和web服务器直接进行交互操作,许多传统CGI完不成的任务,它都可以顺利完成。5 数据共享Servlet要想实现数据库连接池可以通过对数据的共享。对用户的请求管理非常方便,简化获取页面信息的操作。6 可扩展性servlet继承了java语言的许多特点,例如:使用灵活、随意扩展等。7 高效的安全机制继承java的安全特性,具有SSLCA认证等安全机制。2.5 JDBC概述JDBC 的接口类型主要有两种,一种是JDBC API,它主要是为面向程序开发人员而设计的,另一种是JDBC Drive API,它主要是面向底层的。下面我们对J
23、DBC API接口做一个初步的了解。程序开发者可以利用JDBC API接口对数据库进行连接,并对数据库的相关语句进行操作等。如图2-1给出了JDBC API接口的功能图15。DriveManager (驱动管理程序)Connection连接)Connection (连接)Connection (连接)Statement(声明)Statement(声明)Statement(声明)Statement(声明)Resultset(结果)Resultset(结果)Resultset(结果) 图 2-1 JDBC API接口功能图在图2-1所示的JDBC API接口中,java.DriveManager的
24、主要功能是将驱动程序加载,从而为新创建的数据库提供一定的支持,java.sql.Connection完成对指定数据库的连接操作,java.sql.Statement作为SQL执行声明的容器,java.sql.ResultSet控制给定SQL声明获得的结果信息16。2.6 JDBC类型JDBC驱动程序主要分为以下四种类型:1、native-API partly-Java driver它的主要功能是用于将JDBC调用等价的转换为对客户端数据库API的调用。2、JDBC-ODBC bridge 主要起到一个桥梁的作用,具有桥接功能。将JDBC转换为ODBC。3、net-protocol all-Ja
25、va driver(JDBC Proxy) 它是一个独立于数据库管理系统的一种网络协议,并基于Java的驱动程序。4、native-protocol all Java driver 和第三种类型的功能有些类似,主要是某些特定数据库的网络协议被JDBC调用转换。2.7 JSP技术随着我国科学技术的发展,因特网逐渐走入人们的视野,电子政务也得到了蓬勃的发展,因此人们对动态Web技术的需求越来越多20。JSP技术源于Servlet技术的发展,Servlet技术的不断发展催生了JSP技术,因此JSP技术具有跨平台性,执行速度快,扩展性强等优势。基于以上因素,JSP技术的诞生为Web应用的开发带来了里程
26、碑式的意义,它使得Web开发技术逐渐走向成熟,趋向稳定21。2.7.1 JSP的特点(1)一次编写,随处运行。JSP来源于Java技术,因此,它传承了Java语言所独有的许多特点,能够运行Java虚拟机的操作系统就能运行JSP,如Windows系列、Linux等。(2)自由扩展的JSP标签JSP的优点是可以让所有的 Web开发人员自行定义标签。使得标签的使用更加的灵活方便。(3)有统一的技术标准JSP是一种动态的网页技术标准,虽然它最初由Sun公司编写,但是这个标准却是由许多家公司共同建立起来的。因此,大多数的生产商和软件公司都提供支持。(4)执行性能高JSP可以生成一个Servlet线程来响
27、应相同客户的请求,这样就不需要重新编译JSP文件,从而大大提高了程序的执行效率。(5)开发工具多而强大由于JSP技术的基础是Java技术,而Java技术的相关开发工具比较多,如Eclipse等,因此,我们在开发JSP时,可以借助大多数的Java开发工具。2.7.2 JSP与其他技术的区别JSP与ASP,PHP均为动态Web开发技术。ASP由微软公司开发,基于VBScript,它是一种动态网页开发技术 ,随后,微软公司又推出了ASP.NET,它在ASP的基础上进行了功能的扩展,它大量吸收了面向对象语言c#的特色,他比ASP具有更好的可复用性和可维护性22。ASP和ASP.NET是基于COM作为其
28、组件技术,需要与微软公司的IIS绑定,因此只能适用于微软公司开发的系统,基本不具有跨平台性,因此这一弱点成为ASP/ASP.NET发展的瓶颈。PHP是一种具有跨平台性的嵌入式脚本语言,免费的开放源代码的一种开发技术,虽然它具有跨平台性,但是它的缺点是对分布式的处理不够好。虽然三种开发技术都提供在HTML代码中嵌入某些相关程序代码,但JSP编写的代码被编译之后,在Java虚拟机解释执行,并且只对第一次请求时发生,这样就大大的加快了采用JSP技术的页面执行速度23。鉴于以上原因,本文采用JSP技术做为开发工具。2.8基于MVC设计模式的技术实现Struts是一种半程序化的框架,并且它的源代码是开放
29、的。这就使得许多刚刚踏入JSP的新手们可以非常方便、也非常容易学习和使用。由于Struts是一种框架,因此我们在大多数的开发过程中可以直接在这个框架的基础上来进行,而不必从零开始。我们在框架的基础上进行系统的开发后,由于结构非常明确,因此对于开发之后的维护就非常方便,也为以后系统功能的扩展和升级带来一定的好处。Struts框架最初的设计和提出是在2000年,它的主要作用是为当前的Web开发提供一个标准的开发模式17。Struts 框架标准化之后,我们广大的开发者和爱好者之间的沟通和技术上的交流更加的方便。Struts 1.0版本的发布是在2001年左右, 由于它是一个半成品的应用程序,使得它具
30、有一定的扩展性和延续性,我们可以利用Struts 来开发目前大多数主流的Web应用18。在Struts中的每一部分都与MVC中的每一部分具有一一对应的关系,在设计和开发Web系统的过程中,随着科学技术的不断提升,客户需求的不断增多,如何提高Web的执行效率、可重复使用性等,如何降低成本,一直是我们关注的地方。其中,Craig McClanahan于2000年5月份提出的Jaksrta Struts FraneWork,将目前最流行的两种服务器端技术JSP和Servlet融合在一起,为创建一种快速高效的Web应用程序提供了一种新的方法,在未来的开发和设计中,可重复使用的框架技术将成为我们广大开发
31、者逐渐采用的新的技术手段19。在我将要叙述的系统中,我主要运用Struts框架,基于Java技术,快速构建了一个结构清晰、可扩展的oa系统。2.8.1 架构模式选择为了实现让系统更加灵活,更具有可扩展性,就必须使系统做到高内聚低耦合,那么降低模块与模块间的耦合呢?要降低耦合,模块的功能划分尽可能的单一,道理也很简单,功能单一的模块供其他模块调用的机会就少。那么如何才能做到模块功能化单一呢?MVC设计模式很好的解决了这个问题。通过MVC的分层很好的将每一层的职责划分明确。那么MVC究竟是什么设计模式呢?MVC包括三类对象:1.模型(Model)对象:是应用户层序的主体部分。2.视图(View)对
32、象:是应用程序中扶着生成用户界面的部分。3.控制器(Control)对象:是根据用户的输入,控制也能过户界面数据显示以及更新Model对象状态的部分。它们之间的关系和各自的主要功能,如图2.1:图2.1 MVC结构图模型对象是软件处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,它独立于具体界面表达和I/O操作。视图对象把表示模型数据以及逻辑关系和状态的信息及特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。控制对象是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对
33、应联系;它接受用户的输入,将输入反馈给模型,进而实现模型的计算控制,是使模型和视图协调工作的部件。通常一个视图有一个控制器。MVC有以下优点:1. 可以为一个模型在运行时同时建立和使用多个视图。变化-传播机制可以确保所有相关的视图即使得到模型数据变化,从而使所有关联的视图和控制器做到行为同步。2. 视图与控制器的可接插性,允许更滑视图和控制器对象,而且可以根据需求动态的打开或关闭、甚至在运行期间进行对象替换。3. 模型的可移植性。因为模型是独立于视图的,所以把一个模型独立地移植到新的平台工作。需要做的只是在心平台上对视图和控制器进行新的修改。4. 潜在的框架结构。可以基于此模型建立应用程序框架
34、,不仅仅使用在界面的设计中。总而言之,MVC模式不仅仅实现了功能模块和现实模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。由此可见,MVC正符合我们设计的需要,它很好的解决了模块间的耦合,提高了系统的可维护性和系统的可移植性。2.8.2 视图层的选择视图层又叫表示层,表示成的责任是显示,在开源框架里Struts,Struts2,还有JSF都是view,无疑都是很好的选择。这里我们选择Struts2结合JSTL来实现表示层,简单的介绍一下Struts和JSTL。Struts2为Apache组织下的一个开源框架,Struts2框架作为Struts1.x框架的替代技
35、术,相对Struts1.x来说,有着本质上的改变,Struts2框架是从WebWork框架发展而来的。struts2框架技术整合了Struts1.x和WebWork的优点,Struts2框架最大的特点就是简单性,引入了OGNL表达式和值栈的概念,可以是开发者使用简单的代码实现负载的数据访问,Action实现类就是一个标准的java类(POJO),这使得测试工作变得简单。JSTL是JSP Standard Tag Library的简写,翻译成中文叫做JSP标准标签库,它也是Apache开源组织开发的JSP标签库。它是用来显示页面上的变量,它和EL配合使页面上显示参数更为方便,使得页面更符合Vie
36、w层的责任,JSTL可以完全替代页面上的这些动态脚本,使页面符合HTML的标准。Struts2以其对JSTL和OGNL(Object-Graph Navigation Language)的支持,让我选择了Struts2,因为OGNL能够方便的操作对象,所以很适合用于复杂对象在页面上显示。2.8.3 控制层的选择控制层的职责是用于处理表示层的请求,表示层向控制层发来请求,控制层再将请求进行转发,转发给逻辑业务层处理,而逻辑业务层处理完反馈给控制层处理的结果,控制层再将结果转发给表示层。无疑在控制层上Struts2是最合适的,Struts2中的Action提供了非常好的控制机制,通过Struts.
37、xml的配置,就能简单的将页面与Action对应起来,从而Action可以非常方便的接受表示层的数据,然后Action调用逻辑业务层的方法,再根据逻辑业务层的返回结果,Action再返回对应Result,Action再根据Struts.xml里配置的Result将数据转发给对应的表示层。在控制层上还可以使用Spring,Spring的AOP(Aspect-Oriented Programming Aspect-Oriented Programming)即面向切面编程,为系统的权限控制和系统的日志管理提供了很好的支持,有效的将业务逻辑和功能分开了,从而它很好的与struts2的action形成互
38、补。2.8.4 模型层的选择模型层封装了问题的核心数据、逻辑和功能的计算关系,它大体上可以划分为两块,一块为上层的逻辑业务,也就是所谓的service层,还有底层的数据访问层,又叫持久层,就是长说道的DAO层。业务层用来处理系统的那个逻辑业务,也就是业务流程,从程序的角度上来说就是算法,这部分是系统的核心。这部分能用上Spring的IoC,通过IoC将业务层的对象生命周期进行有效的管理,方便控制层对业务层的调用,那么什么是IOC呢?IoC(Inversion of Control),翻译成中文就是控制翻转,好莱坞有条规则叫做“Dont call me, I will call you. 这条规
39、则就是IOC的真实写照,通俗点说就是IoC意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。这成为控制翻转。正是因为有了控制翻转,系统才可以不管将来具体的实现,完全在一个抽象层次进行描述和技术架构,这样就是模块与模块之间的耦合度进一步降低,使系统具有良好的可维护性和扩展性。在spring里IoC又叫做Dependency Inject-依赖注入。Spring通过DI的方式将业务对象交给IoC容器,使控制层只能通过访问IoC来获得业务层对象,无疑这是将系统的耦合性降低,使系统具备了良好的扩展性。在持久层,Hibernate无疑是实现它的最好选择,在分析之前先简单的介绍一下Hiberna
40、te。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate是一个ORM框架,ORM即对象关系映射,在没有ORM这个概念提出以前,我们的编程到最底层时,采用的是其实都是过程化编程,也就是先获取连接,再操作传入SQL,容纳后在执行数据库操作,最后关闭连接,这就是我们原始的模式。然而我们采用面向对象的编程方式,很显然,采用原始的数据库操作方式是违背了面向对象的思想,那么为什么在ORM没有提出之前,我们没法改变它呢?原因在于我们的数据库是关系型数据库,实体与实体之前只有关系,没有对
41、象关联,这就是任命常说的主抗不匹配,ORM出来之后,它很好的将对象与关系对应起来,在某种意义上讲JDBC的操作封装起来,而程序员只需要操作对象就可以完成对数据库的增删改查,而这一切只需要调用对应的方法即可。所有有了ORM,程序员就可以随心所欲的使用对象编程来操纵数据库。这也是我们选择Hibernate的最主要原因。第三章 系统分析3.1 总体需求分析该系统是一个企业办公自动化的管理系统,主要用来实现对用户的登录验证,新用户的注册、用户的添加、删除以及编辑,公告的发布,计划制定,用户之间的信息传递,通讯等功能,因此,在设计的时候应该综合考虑,各界面之间应该都有一定的联系,还要确定数据库中需要建立
42、的表的类型,比如用户的管理需要用到建立一个用户表,公告的管理需要建立一个公告信息表,各表中字段的数据类型也要确定,如公告表需要添加系统时间,该字段应该是datetime类型的,每个表中还要设置相应的字段属性,如id需要自增减,这样,不仅简化了管理员的操作,还可以避免数据的重复。为了是网页代码相对简化,还需要建立一些java类,用于页面的调用,并且各类的分工要明确,做到不同的功能要放在不同的类中,这样在调用的时候编程者就很容易的使用自己要用的方法,使得程序的可读性更强。另外,还要注意一些细节之处,比如,网页中所用的图片以及链接到网页的样式表以分类的方式放在指定的文件夹中,这样在其他网页要用到的时
43、候更方便。经调查和分析,本系统将要实现的是能够满足中小型企业的需求功能,能够处理和解决企业基本的办公业务,因此设计了6大功能模块(如图3.1),其中包括日常管理 、考勤管理 、计划制定 ,审核管理, 通讯管理 , 员工管理 六个模块。系统需实现的是对用户登录的验证及监督,对公告的查看和发布,对公文的接受和发送,对员工信息查看、添加、浏览和删除,对意见的发表和查看。这些功能的实现使企业办公业务自动化,快速了解公司的最近信息、活动、会议和重大决策,减少人力和物力的支出,让企业能在激烈的市场竞争中更加灵活的应付所出现的问题,加强了公司处理业务的能力。 图2.1 系统功能结构图3.2 可行性分析本系统
44、的开发是为了解决传统手工办公操作效率低、信息交流方式不灵活和办公自动化不高的问题,其对于处理一般性的办公业务可行性较强,适用于中小型企业。下面将从经济可行性和技术可行性两方面对系统进行分析。3.2.1 经济可行性本系统主要的功能是一般性的办公业务,适用于中小型企业。由于中小企业的经济实力有限,所以要想方便办公的同时也要着重考虑投入/产出比问题。一般商业软件是无法两者兼顾的,由于从基础语言开始开发成本高、周期长,更不现实;因此利用现有软件进行改进,即二次开发,通过对几个商业化软件功能进行修改、增删和开发来实现中小企业建立具有自身个性的办公自动化系统,通过系统集成的方法来将各个功能集成为一个整体发
45、挥作用,通过两次开发的方式来实现降低成本、节约开支、提高效率。本系统应能够适应企业的不断变化,具有可扩展性、易升级性和开放性。因此,它的市场将是无可限量的,将给企业带来的经济效率也是很大的。3.2.2 技术可行性在软、硬件方面对系统的需求来看,由于中小企业信息化水平比较低,软硬件配置较差;而且资金实力并不雄厚。所以其对硬件的配置要求是尽可能的低,对软件配置的要求则是系统最好是基于日常办公软件如OFFICE系列上的应用系统,这样既不用花大量资金添置软件,员工又较容易学会使用应用。本系统所实现的功能是一般性质的办公业务,总体的开发时间不用很长,它用到的硬件平台不高,软件基本上是开源且较易懂,项目开
46、发过程中遇到的技术上的问题在网上或书上可找到,因此是在技术上是可行的。该系统所用的软件平台有数据库SQL Server 2000、开发工具包JDK1.6、服务器Tomcat 6.0,浏览器IE 6.0都是开源的其中操作的细节和配置都易学。 本系统开发出来时在技术上具有代表当时办公自动化信息系统的先进性,本系统在建成后一段时间内,不会因技术的落后而需要大规模的调整,并且能够跟随时逐步的升级而保持整个系统的先进性。同时本系统对计算机硬件要求不算太高,运行速度较快,对企业办公很方便。本系统最重要的是用到了Struts网络编程,其为基于Java的Web应用程序开发提供了一个框架。本系统的工作流程就是基
47、于Struts下,分为以下步骤:(1) 浏览器向服务器发出请求,Controller获得这些请求。(2) Controller根据配置文件struts-config.xml中的定义将这些请求发送到相应的Action,对应图中的Model。(3) Action完成相应的业务逻辑处理后,将处理结果返回到Controller。(4) Controller再根据配置文件struts-config.xml中的定义将处理结果显示到用户视图View。本系统正是利用了Struts工作流程来完成此次设计的整个流程,如图2.2所示:图2.2 本系统工作流图3.3 系统功能分析由于本系统可执行的是一般性质的办公业务,提供给中小型企业使用,也可增加功能后提供给大型企业和行政机关。本系统具有一般适用性,其所实现的功能(如图2.3)满足企业对日常性办公业务的管理方便企业内部员工的沟通,方便员工及时的了解公司的动态,是企业的日常管理步入科学系统的轨道上。图2.3 基本功能图3.3.1 登录功能本系