




已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计设计题目: WEB程序设计课程设计 -办公自动化系统的开发 摘 要OA系统即指办公自动化,它利用现代技术来提高工作效率,进而实现工作的自动化,改变过去低效而复杂的手工办公方式,大大方便各企事业单位内部员工之间的沟通和交流,实现信息的收集、处理等。使用OA系统不仅提高工作效率,也为大多数企事业节约了大量资金,为二十一世纪提出的节能减排做出应有的贡献。做为集信息化和知识化于一身的一个基础办公平台,将来的OA系统必将朝着这个方向更好的向前发展。本文采用现代最新技术理念对已有的OA系统进行了研究,在研究基础上采用最新的协同办公理念来研究办公自动化系统。本文采用MVC设计模式并基于J2EE架构基础上开发了OA系统,本文所研究系统具有平台无关的特性。对于中小型的企事业单位最适合采用本文所研究的OA系统。他除了能够实现知识管理以外还能够实现分布式的办公。知识管理的特点是能够使各种文件、信息按照一定的权限进行保存、共享和使用,并且对于这些操作还要有一定的查询措施,方便各部门、教研室之间信息的共享与发布、查找和替换,为建立学习型组织打下基础。通过对路由器的设置解决本系统实现跨地域的办公和移动办公。对系统的功能性采用黑盒测试方法进行全面测试,结果表明基本能够满足我校教职工的需要。为了对系统下一步的运行提供更好的依据,在对本系统的测试上采用手工与相关测试软件相结合的方式进行。关键词:JSP 工作流 办公自动化 协同AbstractOA refers 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 collection, 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 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 architecture 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, share 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 office 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, the 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类型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第一章 绪 论在科技迅猛发展的今天 Internet/Intranet被广泛的使用在各个行业中,企业的管理也随之发展,信息化的程度也随之增长,同时以往的办公管理模式已经无法适应企业的需求,企业对办公的效率要求越来越高,因此就需要一个现代化的办公管理方案来解决企业的这个问题。企业办公正在逐步迈向管理信息现代化。企业办公信息化基础设施建设的逐渐完备,改革传统办公模式开展电子政务,使业务办公、公文流转和管理过程电子化、信息化,让文职人员从长期繁杂的办公事务中解放出来,通过统一办公规范,提高工作效率,降低管理成本,实现办公自动化已势在必行。1.1 办公自动化管理系统的背景与意义办公自动化管理系统是将现代办公和计算机网络功能结合起来的一种新型的办公方式,是信息化社会的产物。办公自动化系统可以将一个机构的办公用的计算机和其他办公设备连接成网络,这样可以为办公室工作人员和企事业负责干部提供各种现代化手段,从而改进办公条件,提高办公业务的效率和质量,及时向有关部门和领导提供有用的信息。OA起源于政府办公系统,当初的作用主要是公文收发,如今核心内容是提高办公效率、提高团队的整体作战能力以及有效的提供应用信息与素材,从而提高管理水平。广义而言,OA应该是一个企业除了生产控制之外的一切信息处理与管理的集合。它面向不同层次的使用者,有不同的功能表现。通过网络,组织机构内部的人员可跨越时间、地点协同办公。建立一个安全、可靠、开放、高效的办公自动化、信息管理电子化系统。为管理部门提供现代的日常办公条件及丰富的综合信息服务,实现档案管理自动化和办公事物处理自动化,实现企业各内部日常业务工作的规范化、电子化、标准化,增强档案部门文书档案、人事档案、财务档案等档案的可管理性,实现信息的在线查询、借阅。最终实现“无纸”办公,使信息的传递更加快捷和方便,从而极大的扩展了办公手段,实现了办公的高效率。1.2 办公自动化管理系统的功能特性办公自动化管理系统对企业日常办公进行管理,实现企业员工之间的消息的发送与接受功能,大大地方便了企业内部人员沟通。同时网站提供的前后台的公告与公文信息的管理,方便员工及时了解公司的动态,与其他功能模块联机操作将使企业的日常管理步入科学系统的管理轨道。此办公自动化管理系统有六个功能模块:日常管理 、考勤管理 、计划制定 ,审核管理, 通讯管理 , 员工管理 六个模块。六大功能模块分别是:1) 日常管理:主要完成会议管理,公告管理。2) 考勤管理:主要完成员工的外出,请假,出差,上下班信息的登记。3) 计划管理:主要完成企业,个人,部门的计划管理。4) 审核管理:主要完成发布申请和对申请的审核批示。5) 员工管理:主要完成对员工的添加,修改,删除。6) 通讯管理:主要完成通讯信息的显示,添加,修改,删除。1.3 本文的关键问题及难点我们的课程设计项目是基于J2EE的web项目,同时也是采用JSP + JavaBean + Servlet模式。因此针对此项目涉及到一些关键问题:1、JSP + JavaBean + Servlet环境配置问题,环境变量的设置:变量名java_path、path、classpath的追加,Tomcat的配置:变量名tomcat_home classpath的追加。环境变量的设置和Tomcat的配置对初学者来说又是比较头疼,但配置好了很重要。2、集成开发环境选择的问题,好的开发环境对编码效率提高很多。MyEclipse本身集成了非常实用的插件并且支持主流框架,是一个非常好用的集成开发环境,所以我们组选MyEclipse作为课程设计的集成开发环境。服务器的选择我们选Tomcat作为系统的服务器,轻量级的服务器Tomcat对于小型应用是个不错的选择。3、逻辑结构设计本系统数据库采用SQL Server 2005 数据库,系统数据库名称为OA_Data。数据库OA_Data中包含5张表。数据表有department(部门信息表)、eminfo(员工信息表)、job(职位表)、password(用户信息表)。当主键表中的数据发生改变时,引用这个主键值的字段也随之改变,进而确保数据的一致性和完整性。50 第二章 背景技术的介绍本系统采用JSP技术,运用J2EE架构,基于MYSQL数据库对系统进行开发,本章简要介绍一下开发能用到的关键技术。2.1 MYSQL简介MYSQL最早由一家瑞典的MySQLAB公司开发设计,MYSQL是一种关系型数据库系统10。它的基本特点是:执行速度快、总体容量小,并且由于它是一种开放源代码的数据库,使得它的使用成本大大降低,从而也拓宽了它的使用范围。1. MYSQL的编写基本上采用用C和C+,调用硬件执行速度非常快,并且它的测试手段灵活,采用大量编译器进行,因此使得它编写出来的代码具有一定的移植性和兼容性。2.支持Novell Netware、OS/2 Wrap、Solaris、Windows等多种操作系统。 3.它所具有的API功能可以为大多数的编程语言提供。这些编程语言包括C、Python、C+、Java、Perl、Eiffel、PHP等。 4.查询速度大大提高,并优化了SQL查询算法。5.对于数据库的操作,它提供了许多管理工具例如:检查和优化等。6.它能够对多线程技术进行很好的支持,因此使得对CPU的利用率得到大大的提高。7. MYSQL数据库不仅可以嵌入到其他的软件中来提供语言支持,也可以独立的作为一个客户端应用到网络中11。8. MYSQL数据库提供对JDBC等的链接。 2.2 Java技术简介Java技术是由美国Sun公司推出的,是一种简单易用、面向对象、具有跨平台且安全可靠的面向网络的开发工具。Java技术包括Java语言和Java MediaAPIs、SecurityAPIs 、Java Applet、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平台为企业级的开发等简化操作,是为相关的管理提供一种平台的架构体系,它由Sun公司研究并进行统一标准。J2EE技术的基础核心是Java或Java2平台,J2EE在继承了标准版中的优点外,还提供了对EJB(Enterprise JavaBeans)、Java Servlet API等技术的全面支持。Enterprise JavaBean的向导功能支持打包和部署等相关应用,不仅增强了使用的安全性,同时也提高了基于J2EE体系所开发系统的性能,使用J2EE体系,其最终结果是缩短了开发时间,使得开发者在研究周期所使用的时间上也大大缩短了,在投放市场的时间上有了充足的保障,因此,使用J2EE体系来开发系统不仅可以节省大量的时间,同时也支持对所有应用程序的集成14。2.4 Java Servlet概述Servlet技术早于J2EE平台出现,它是一种采用了相关类和方法的Java程序。它提供在WEB上进行请求和响应的服务,它通过对框架的创建来扩展服务器的功能, Servlet是一种服务器端的java应用程序。下面我们来看一下他的技术特点:1 高效它有许多优点,例如:当N个客户端同时进行访问的时候,servlet可以为每个请求分配一个线程。2 跨平台性Servlet和Java语言一样都有跨平台性,它是由Java语言编写,因此具有Java语言的特性。3 方便实用由于Servlet提供得许多工具集都封装在各种不同的类中,因此在使用的过程中可以直接对其调用即可。4功能强大Servlet可以和web服务器直接进行交互操作,许多传统CGI完不成的任务,它都可以顺利完成。5 数据共享Servlet要想实现数据库连接池可以通过对数据的共享。对用户的请求管理非常方便,简化获取页面信息的操作。6 可扩展性servlet继承了java语言的许多特点,例如:使用灵活、随意扩展等。7 高效的安全机制继承java的安全特性,具有SSLCA认证等安全机制。2.5 JDBC概述JDBC 的接口类型主要有两种,一种是JDBC API,它主要是为面向程序开发人员而设计的,另一种是JDBC Drive API,它主要是面向底层的。下面我们对JDBC 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的主要功能是将驱动程序加载,从而为新创建的数据库提供一定的支持,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-Java driver(JDBC Proxy) 它是一个独立于数据库管理系统的一种网络协议,并基于Java的驱动程序。4、native-protocol all Java driver 和第三种类型的功能有些类似,主要是某些特定数据库的网络协议被JDBC调用转换。2.7 JSP技术随着我国科学技术的发展,因特网逐渐走入人们的视野,电子政务也得到了蓬勃的发展,因此人们对动态Web技术的需求越来越多20。JSP技术源于Servlet技术的发展,Servlet技术的不断发展催生了JSP技术,因此JSP技术具有跨平台性,执行速度快,扩展性强等优势。基于以上因素,JSP技术的诞生为Web应用的开发带来了里程碑式的意义,它使得Web开发技术逐渐走向成熟,趋向稳定21。2.7.1 JSP的特点(1)一次编写,随处运行。JSP来源于Java技术,因此,它传承了Java语言所独有的许多特点,能够运行Java虚拟机的操作系统就能运行JSP,如Windows系列、Linux等。(2)自由扩展的JSP标签JSP的优点是可以让所有的 Web开发人员自行定义标签。使得标签的使用更加的灵活方便。(3)有统一的技术标准JSP是一种动态的网页技术标准,虽然它最初由Sun公司编写,但是这个标准却是由许多家公司共同建立起来的。因此,大多数的生产商和软件公司都提供支持。(4)执行性能高JSP可以生成一个Servlet线程来响应相同客户的请求,这样就不需要重新编译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作为其组件技术,需要与微软公司的IIS绑定,因此只能适用于微软公司开发的系统,基本不具有跨平台性,因此这一弱点成为ASP/ASP.NET发展的瓶颈。PHP是一种具有跨平台性的嵌入式脚本语言,免费的开放源代码的一种开发技术,虽然它具有跨平台性,但是它的缺点是对分布式的处理不够好。虽然三种开发技术都提供在HTML代码中嵌入某些相关程序代码,但JSP编写的代码被编译之后,在Java虚拟机解释执行,并且只对第一次请求时发生,这样就大大的加快了采用JSP技术的页面执行速度23。鉴于以上原因,本文采用JSP技术做为开发工具。2.8基于MVC设计模式的技术实现Struts是一种半程序化的框架,并且它的源代码是开放的。这就使得许多刚刚踏入JSP的新手们可以非常方便、也非常容易学习和使用。由于Struts是一种框架,因此我们在大多数的开发过程中可以直接在这个框架的基础上来进行,而不必从零开始。我们在框架的基础上进行系统的开发后,由于结构非常明确,因此对于开发之后的维护就非常方便,也为以后系统功能的扩展和升级带来一定的好处。Struts框架最初的设计和提出是在2000年,它的主要作用是为当前的Web开发提供一个标准的开发模式17。Struts 框架标准化之后,我们广大的开发者和爱好者之间的沟通和技术上的交流更加的方便。Struts 1.0版本的发布是在2001年左右, 由于它是一个半成品的应用程序,使得它具有一定的扩展性和延续性,我们可以利用Struts 来开发目前大多数主流的Web应用18。在Struts中的每一部分都与MVC中的每一部分具有一一对应的关系,在设计和开发Web系统的过程中,随着科学技术的不断提升,客户需求的不断增多,如何提高Web的执行效率、可重复使用性等,如何降低成本,一直是我们关注的地方。其中,Craig McClanahan于2000年5月份提出的Jaksrta Struts FraneWork,将目前最流行的两种服务器端技术JSP和Servlet融合在一起,为创建一种快速高效的Web应用程序提供了一种新的方法,在未来的开发和设计中,可重复使用的框架技术将成为我们广大开发者逐渐采用的新的技术手段19。在我将要叙述的系统中,我主要运用Struts框架,基于Java技术,快速构建了一个结构清晰、可扩展的oa系统。2.8.1 架构模式选择为了实现让系统更加灵活,更具有可扩展性,就必须使系统做到高内聚低耦合,那么降低模块与模块间的耦合呢?要降低耦合,模块的功能划分尽可能的单一,道理也很简单,功能单一的模块供其他模块调用的机会就少。那么如何才能做到模块功能化单一呢?MVC设计模式很好的解决了这个问题。通过MVC的分层很好的将每一层的职责划分明确。那么MVC究竟是什么设计模式呢?MVC包括三类对象:1.模型(Model)对象:是应用户层序的主体部分。2.视图(View)对象:是应用程序中扶着生成用户界面的部分。3.控制器(Control)对象:是根据用户的输入,控制也能过户界面数据显示以及更新Model对象状态的部分。它们之间的关系和各自的主要功能,如图2.1:图2.1 MVC结构图模型对象是软件处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,它独立于具体界面表达和I/O操作。视图对象把表示模型数据以及逻辑关系和状态的信息及特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。控制对象是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现模型的计算控制,是使模型和视图协调工作的部件。通常一个视图有一个控制器。MVC有以下优点:1. 可以为一个模型在运行时同时建立和使用多个视图。变化-传播机制可以确保所有相关的视图即使得到模型数据变化,从而使所有关联的视图和控制器做到行为同步。2. 视图与控制器的可接插性,允许更滑视图和控制器对象,而且可以根据需求动态的打开或关闭、甚至在运行期间进行对象替换。3. 模型的可移植性。因为模型是独立于视图的,所以把一个模型独立地移植到新的平台工作。需要做的只是在心平台上对视图和控制器进行新的修改。4. 潜在的框架结构。可以基于此模型建立应用程序框架,不仅仅使用在界面的设计中。总而言之,MVC模式不仅仅实现了功能模块和现实模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。由此可见,MVC正符合我们设计的需要,它很好的解决了模块间的耦合,提高了系统的可维护性和系统的可移植性。2.8.2 视图层的选择视图层又叫表示层,表示成的责任是显示,在开源框架里Struts,Struts2,还有JSF都是view,无疑都是很好的选择。这里我们选择Struts2结合JSTL来实现表示层,简单的介绍一下Struts和JSTL。Struts2为Apache组织下的一个开源框架,Struts2框架作为Struts1.x框架的替代技术,相对Struts1.x来说,有着本质上的改变,Struts2框架是从WebWork框架发展而来的。struts2框架技术整合了Struts1.x和WebWork的优点,Struts2框架最大的特点就是简单性,引入了OGNL表达式和值栈的概念,可以是开发者使用简单的代码实现负载的数据访问,Action实现类就是一个标准的java类(POJO),这使得测试工作变得简单。JSTL是JSP Standard Tag Library的简写,翻译成中文叫做JSP标准标签库,它也是Apache开源组织开发的JSP标签库。它是用来显示页面上的变量,它和EL配合使页面上显示参数更为方便,使得页面更符合View层的责任,JSTL可以完全替代页面上的这些动态脚本,使页面符合HTML的标准。Struts2以其对JSTL和OGNL(Object-Graph Navigation Language)的支持,让我选择了Struts2,因为OGNL能够方便的操作对象,所以很适合用于复杂对象在页面上显示。2.8.3 控制层的选择控制层的职责是用于处理表示层的请求,表示层向控制层发来请求,控制层再将请求进行转发,转发给逻辑业务层处理,而逻辑业务层处理完反馈给控制层处理的结果,控制层再将结果转发给表示层。无疑在控制层上Struts2是最合适的,Struts2中的Action提供了非常好的控制机制,通过Struts.xml的配置,就能简单的将页面与Action对应起来,从而Action可以非常方便的接受表示层的数据,然后Action调用逻辑业务层的方法,再根据逻辑业务层的返回结果,Action再返回对应Result,Action再根据Struts.xml里配置的Result将数据转发给对应的表示层。在控制层上还可以使用Spring,Spring的AOP(Aspect-Oriented Programming Aspect-Oriented Programming)即面向切面编程,为系统的权限控制和系统的日志管理提供了很好的支持,有效的将业务逻辑和功能分开了,从而它很好的与struts2的action形成互补。2.8.4 模型层的选择模型层封装了问题的核心数据、逻辑和功能的计算关系,它大体上可以划分为两块,一块为上层的逻辑业务,也就是所谓的service层,还有底层的数据访问层,又叫持久层,就是长说道的DAO层。业务层用来处理系统的那个逻辑业务,也就是业务流程,从程序的角度上来说就是算法,这部分是系统的核心。这部分能用上Spring的IoC,通过IoC将业务层的对象生命周期进行有效的管理,方便控制层对业务层的调用,那么什么是IOC呢?IoC(Inversion of Control),翻译成中文就是控制翻转,好莱坞有条规则叫做“Dont call me, I will call you. 这条规则就是IOC的真实写照,通俗点说就是IoC意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。这成为控制翻转。正是因为有了控制翻转,系统才可以不管将来具体的实现,完全在一个抽象层次进行描述和技术架构,这样就是模块与模块之间的耦合度进一步降低,使系统具有良好的可维护性和扩展性。在spring里IoC又叫做Dependency Inject-依赖注入。Spring通过DI的方式将业务对象交给IoC容器,使控制层只能通过访问IoC来获得业务层对象,无疑这是将系统的耦合性降低,使系统具备了良好的扩展性。在持久层,Hibernate无疑是实现它的最好选择,在分析之前先简单的介绍一下Hibernate。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate是一个ORM框架,ORM即对象关系映射,在没有ORM这个概念提出以前,我们的编程到最底层时,采用的是其实都是过程化编程,也就是先获取连接,再操作传入SQL,容纳后在执行数据库操作,最后关闭连接,这就是我们原始的模式。然而我们采用面向对象的编程方式,很显然,采用原始的数据库操作方式是违背了面向对象的思想,那么为什么在ORM没有提出之前,我们没法改变它呢?原因在于我们的数据库是关系型数据库,实体与实体之前只有关系,没有对象关联,这就是任命常说的主抗不匹配,ORM出来之后,它很好的将对象与关系对应起来,在某种意义上讲JDBC的操作封装起来,而程序员只需要操作对象就可以完成对数据库的增删改查,而这一切只需要调用对应的方法即可。所有有了ORM,程序员就可以随心所欲的使用对象编程来操纵数据库。这也是我们选择Hibernate的最主要原因。第三章 系统分析3.1 总体需求分析该系统是一个企业办公自动化的管理系统,主要用来实现对用户的登录验证,新用户的注册、用户的添加、删除以及编辑,公告的发布,计划制定,用户之间的信息传递,通讯等功能,因此,在设计的时候应该综合考虑,各界面之间应该都有一定的联系,还要确定数据库中需要建立的表的类型,比如用户的管理需要用到建立一个用户表,公告的管理需要建立一个公告信息表,各表中字段的数据类型也要确定,如公告表需要添加系统时间,该字段应该是datetime类型的,每个表中还要设置相应的字段属性,如id需要自增减,这样,不仅简化了管理员的操作,还可以避免数据的重复。为了是网页代码相对简化,还需要建立一些java类,用于页面的调用,并且各类的分工要明确,做到不同的功能要放在不同的类中,这样在调用的时候编程者就很容易的使用自己要用的方法,使得程序的可读性更强。另外,还要注意一些细节之处,比如,网页中所用的图片以及链接到网页的样式表以分类的方式放在指定的文件夹中,这样在其他网页要用到的时候更方便。经调查和分析,本系统将要实现的是能够满足中小型企业的需求功能,能够处理和解决企业基本的办公业务,因此设计了6大功能模块(如图3.1),其中包括日常管理 、考勤管理 、计划制定 ,审核管理, 通讯管理 , 员工管理 六个模块。系统需实现的是对用户登录的验证及监督,对公告的查看和发布,对公文的接受和发送,对员工信息查看、添加、浏览和删除,对意见的发表和查看。这些功能的实现使企业办公业务自动化,快速了解公司的最近信息、活动、会议和重大决策,减少人力和物力的支出,让企业能在激烈的市场竞争中更加灵活的应付所出现的问题,加强了公司处理业务的能力。 图2.1 系统功能结构图3.2 可行性分析本系统的开发是为了解决传统手工办公操作效率低、信息交流方式不灵活和办公自动化不高的问题,其对于处理一般性的办公业务可行性较强,适用于中小型企业。下面将从经济可行性和技术可行性两方面对系统进行分析。3.2.1 经济可行性本系统主要的功能是一般性的办公业务,适用于中小型企业。由于中小企业的经济实力有限,所以要想方便办公的同时也要着重考虑投入/产出比问题。一般商业软件是无法两者兼顾的,由于从基础语言开始开发成本高、周期长,更不现实;因此利用现有软件进行改进,即二次开发,通过对几个商业化软件功能进行修改、增删和开发来实现中小企业建立具有自身个性的办公自动化系统,通过系统集成的方法来将各个功能集成为一个整体发挥作用,通过两次开发的方式来实现降低成本、节约开支、提高效率。本系统应能够适应企业的不断变化,具有可扩展性、易升级性和开放性。因此,它的市场将是无可限量的,将给企业带来的经济效率也是很大的。3.2.2 技术可行性在软、硬件方面对系统的需求来看,由于中小企业信息化水平比较低,软硬件配置较差;而且资金实力并不雄厚。所以其对硬件的配置要求是尽可能的低,对软件配置的要求则是系统最好是基于日常办公软件如OFFICE系列上的应用系统,这样既不用花大量资金添置软件,员工又较容易学会使用应用。本系统所实现的功能是一般性质的办公业务,总体的开发时间不用很长,它用到的硬件平台不高,软件基本上是开源且较易懂,项目开发过程中遇到的技术上的问题在网上或书上可找到,因此是在技术上是可行的。该系统所用的软件平台有数据库SQL Server 2000、开发工具包JDK1.6、服务器Tomcat 6.0,浏览器IE 6.0都是开源的其中操作的细节和配置都易学。 本系统开发出来时在技术上具有代表当时办公自动化信息系统的先进性,本系统在建成后一段时间内,不会因技术的落后而需要大规模的调整,并且能够跟随时逐步的升级而保持整个系统的先进性。同时本系统对计算机硬件要求不算太高,运行速度较快,对企业办公很方便。本系统最重要的是用到了Struts网络编程,其为基于Java的Web应用程序开发提供了一个框架。本系统的工作流程就是基于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 登录功能本系统将要实现用户登录功能。接受用户输入的登录名和密码信息,先做客户端的有效性检验,通过检验后提交给服务器端,由服务器端提交信息与数据库里的信息相比较,如果二者不符则返回相应的出错信息,否则登录进入系统。登录功能还实现了对已登录用户的监听,防止重复登录。 本系统中对于登录模块的设计是供企业内部员工使用,使用权的授予是由系统管理员决定的,只有在系统管理员首次在员工管理模块中添加了你的信息后,授予你登录的“姓名”和“密码”后你才能安全登录,在此同时也授予你登录的权限,在权限的范围内你能够完成相应操作。3.3.2 日常管理功能实现公告的查看与发布。公告是企业、行政机关向内外宣布重大事件和决议的一种。本系统对于公告管理这一部分将要实现的是两个功能,一个是浏览公告,另外一个是添加新公告。本系统对公告的操作也有权限,普通游客只能够浏览公告而不能添加和删除公告。只有管理员才有资格进行这些操作。实现会议的记录。本系统将要开发会议管理功能模块,会议功能模块主要分为查看会议记录和添加会议记录。此功能有利于公司的员工迅速了解到即将要进行的会议事宜。其中会议记录是以列表的形式呈现给用户,对于查看会议记录是所有能登录本系统的用户都能够浏览和查看的。而添加会议记录只能是管理员身份的用户才能操作,才有权限对记录3.3.3 考勤管理功能实现员工考勤的记录。本系统将要对员工出差,外出,上下班,请假的情况进行记录。此功能有利于公司对员工出勤情况进行记录,从而对员工进行评分,评选出优秀员工,激发员工的工作热情。3.3.4 计划制定功能实现计划的制定和删除。显示个人计划,部门计划,企业计划,让员工,部门,企业更快了解计划的内容,更好的为下一步的施行做好准备。3.3.5 员工管理功能实现员工信息的增加、删除、修改、查找操作。本系统实现的对员工管理主要是能够登录此系统的员工,员工的管理模块共包括四个功能子菜单:查看个人信息、浏览员工信息、添加新员工、查看优秀员工。其中的查看个人信息是每一个登录用户都能够操作的,其中系统还授予了各个用户修改个人信息的功能。浏览员工信息、添加新员工、查看优秀员工的功能操作只有系统管理员才能进行操作。3.3.6 审核管理功能实现公司,部门,个人的项目和计划的审核。对于公司的项目及计划的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2022届江西省高三教学质量监测考试(二模)数学(理)试题
- 高压线路施工安全技术措施与方案
- 桥梁夜间照明工程设计与施工方案
- 2025年学历类自考房地产法-社会研究方法参考题库含答案解析(5卷)
- 2025年检验科自动化检验仪器维护保养考试答案及解析
- 农业智能技术引进与应用合作协议
- 工程项目合同管理标准流程及典型范本
- 2025年学历类自考大学语文-经济法概论参考题库含答案解析(5卷)
- 2025年学历类自考商务交流(二)-行政法与行政诉讼法(一)参考题库含答案解析(5卷)
- 快递物流配送效率提升方案
- 《医学文献检索技巧》课件
- 2024年贵州省瓮安县事业单位公开招聘教师岗笔试题带答案
- 高校教师命题能力培养机制研究
- 2025-2030再生胶产业规划专项研究报告
- GB/T 37507-2025项目、项目群和项目组合管理项目管理指南
- 粪菌移植技术进展
- GB 14930.2-2025食品安全国家标准消毒剂
- 完整的离婚协议书打印电子版(2025年版)
- 2025年人教部编版小学三年级语文上册全册单元测试题及答案(全套)
- 碧桂园物业管理
- 全过程跟踪审计实施方案
评论
0/150
提交评论