OA系统论文.docx
电 子 科 技 大 学毕 业 设 计(论 文)论文题目:OA系统的规模学习中心(或办学单位):电子科技大学网络教育学院国信安教学中心指导老师: 职 称: 学生姓名:兰海 学 号: v08492642106专 业:软件工程继续教育学院电子科技大学 制 网络教育学院2010年 05月 20日电 子 科 技 大 学毕业设计(论文)任务书题目:OA系统的规模任务与要求: 完成中小企业办公无字化,流程智能化,操作简单,根据企业办公流程完成复杂的操作。时间: 2010 年 1 月 5 日 至 2010 年 5 月 20 日 共 18 周教学中心:电子科技大学网络教育学院国信安教学中心学生姓名:兰海 学 号:v08492642106专业:软件工程指导单位或教研室:电子科技大学网络教育学院国信安教学中心指导教师: 职 称: 继续教育学院电子科技大学 制 网络教育学院2010年 05月 20日毕业设计(论文)进度计划表日 期工 作 内 容执 行 情 况指导教师签 字1月5日 至1月13日确定论文题目1月14日 至3月1日查找资料及写出大纲3月2日 至3月30日写作3月31日 至4月5日交初稿4月7日 至5月12日定稿5月13日 至5月20日正式提交论文及电子文档6月5日 答辩教师对进度计划实施情况总评 签名 年 月 日本表作评定学生平时成绩的依据之一。摘要 本文主要阐述了OA系统的信息管理系统(MVC结构), 它主要实现管理员如何对普通用户进行授权,如何插入、删除、修改一个员工的信息。通过管理员来操做步骤来实现功能和设置员工信息和员工职位等,以及用户如何查询自己想要的结果,也即是通过输入查询条件,显示符合条件的员工记录以及如何显示这个员工的全部信息。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。系统分析部分,通过对OA系统的分析,确定了本系统应用于Windows XP(2000、VISTA等操作系统),网络建立在 Windows XP企业版等操作系统软件平台之上。在OA系统的分析中确定了系统大概要完成的功能和使用Eclipse(MyEclipse 6.0.1插件) 和SQLSEVER 2000作为开发工具,Tomcat 6.0作为运行环境。系统管理,包括人员编码维护、用户授权和程序定义。输入,包括基本信息、学历信息,照片和工资信息的插入和删除。查看,包括基本信息、学历信息、考勤信息和员工职位的浏览,还有通过输入查询条件查询用户所要的记录,还可以双击某个员工所在列,就可以显示出这个员工的所有信息。维护,包括基本信息、学历信息、考勤信息、员工职位和工资信息的修改,这个功能只能由管理员来操作,普通用户没这个权力。报表,包括基本信息以及工资信息的查询、统计和显示。需求分析部分,分析了OA系统的基本目标和功能要求,包括项目背景和开发目标,系统的用户需求和具体系统功能需求描述。OA系统的详细设计部分说明了依据系统分析与设计时提出的要求,予以编程实现的过程,重点介绍了数据库的详细设计,系统的数据流程图和OA系统各模块的详细设计以及系统的测试方案。关键词一:MVC,SQL Server 200,OA系统,员工信息, MVC结构Summary This article discusses the information management system, OA system (MVC structure), which deals administrator to authorize the ordinary user, how to insert, delete, modify an employee's information. Done by the administrator to exercise the steps to achieve the functions and settings such as employee information and staff positions, and how users query the results you want, that is, by entering the query, to demonstrate compliance with the conditions of the employee records and how to display all the employees information. Request for the establishment of data consistency and integrity of the strong, good for the security of data. For the latter application powerful, easy to use and so on. Analysis part, by the analysis of OA system, set the system used in Windows XP (2000, VISTA operating system, etc.), networking in Windows XP operating system software such as Enterprise Edition platform. OA system in the analysis of the system about to be completed to determine the function and use of Eclipse (MyEclipse 6.0.1 plugin), and SQLSEVER 2000 as a development tool, Tomcat 6.0 as the operating environment. System management, including personnel code maintenance, user authorization, and process definition. Input, including basic information, educational information, wage information, photos and insert and delete. View, including basic information, education information, attendance information and staff positions here, as well as through the user input query to query the records, you can double-click the column where an employee, the employee can show all information. Maintenance, including basic information, education information, attendance information, employee changes jobs and wage information, this function can only operate by the administrator, not the power of ordinary users. Statements, including basic information, and wage information, query, statistics and display. Needs analysis part of the OA system, the basic objectives and functional requirements, including background and development objectives, the system of user needs and functional requirements of specific system description. OA detailed design partly explain the basis for system analysis and design requests to the process of programming, focuses on the detailed design of the database, the system data flow diagram and OA the detailed design of each module and system test plan . Keywords : MVC, SQL Server 200, OA system, employee information, MVC structure 目录第一章 概 述3第一节 背景以及意义3一、目的3二、背景4第二节 相关技术概述4一、软件工程4二、数据库设计5三、开发工具Eclipse(MyEclipse插件)5四、MVC结构6五、开发背景7第二章 系统分析与需求分析8第一节 业务流程8一、总体流程图8第二节 功能模块9二、用例图9三、功能说明10第三节 需求分析11第三章 系统概要设计11第一节 软件总框图11一、结构图11第二节 数据库设计12一、表的设计12第三节 界面设计12一、Jsp页面截图展示12第四章 系统详细设计14第一节 系统详细设计14一、设计目的14第二节 数据流程图15一、人工处理过程15二、管理员登录流程图:16三、算法流程:17第三节 核心代码17一、Struts框架配置文件17二、Hibernate链接数据库测试代码18三、登录页面Jsp页面代码19四、登录页面Jsp页面代码20第五章 系统详细设计21第一节 软件测试方法的描述21一、测试方法21第二节 功能模块测试22一、测试项目说明22二、调用系统主菜单通过以后,选择信息统计。23三、步骤及操作24四、允许偏差24结束语25谢辞26参考文献27电子科技大学毕业设计论文OA系统的规模第一章 概 述第一节 背景以及意义一、目的随着时代的进步,社会生产力高速发展,新技术层出不穷信息量急剧膨胀,整个人类社会已成为信息化的社会人们对信息和数据的利用和处理已经进入自动化、网络化和社会化的阶段。如在查找公司资料、处理公司帐目、公司管理、流程走向等方面,无不需要利用大量的信息资源。因此,如何有效地进行数据信息的管理和利用,已经成为人们普遍关注的课题。信息在不同的领域里有着不同的概念,在管理科学领域中,通常认为信息是经过加工处理后的一种数据形式,是一种有次序的符号排列,它是系统传输和处理的对象。处在信息时代的今天,信息的作用越来越为人们所重视。制定工作计划,研究投资策略,都离不开对信息的充分利用。管理信息系统(ManagementInformationSystem,缩写MIS)是一种“人机系统”,它以特定的模式支持一个组织内各级组织机构之间的通讯,对信息资源进行综合开发,管理和利用,实现对该组织的有效管理。它通过对数据的加工处理,及时为管理与决策分析提供信息。其特点有: ? 数据全部存储于计算机系统中; ? 用户使用简单、操作方便、查询速度快; ? 有极强的人-机对话功能; ? 能直接从计算机系统中提供决策所需的参考信息。管理信息系统基本框架:仅仅靠原始的手工管理,一个企业去面对大量的员工信息,无法有效率地将其中的重要部分提取出来,并做出相应的判断和处理。企业只能依据报表数据,在浪费大量人力、物力的同时无法做到实时监控,难以保证数据的准确性和及时性。因此,先进的管理思想在企业中实现就成为了一个可望而不可及的目标。在计算机上建立员工信息,可以实现快速录入、整理、查找、补充、删减等功能。在进入系统之前有密码进行身份验证,保证了系统的机密性,为企业提高工作效率的,提高人员效率,决策,和员工的职位调动管理提供了一个有力的工具。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对企业人事进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高商场货物管理的效率,也是科学化、正规化管理的重要条件。因此,开发这样一套OA系统软件成为很有必要的事情。二、背景近几年,计算机技术的发展和计算机办公自动化的普及和应用,一般的企业对计算机的应用也有了较大的提高。计算机也都成为企业管理工作中的重要设备,每个单位、每个部门都有不同程度的计算机应用。在硬件方面,无需单独购买计算机,只需利用目前已有的奔腾、奔腾的计算机即可,并附有打印机等附件。所以从硬件方面上完全可行。根据用户的要求,分析其特点,在经济上本项目是可行的,采集,编辑,发布,人员不需要专业的编程知识就可以快速高效地发布题库信息。这样加快了信息发布速度,减少了人力的开销,缩短了从采集到发布的时间周期,从而提高了服务的质量,而且由于管理周期缩短和人力开销的减少,可以在中小型企业中获得更多、更方便的好处。 在软件上: (1)此产品为公司办公管理系统。用于对一些中小型企业对办公的管理。比如:1、本企业新招聘有人员,需要录入他的基本信息,他的基本公司,是否签有合同。2、一个普通员工将提升为经理,要为他修改信息以及他的公司收入等。3、员工上下班不在需要打卡机,每天上班登录系统,下班退出系统自动记录。4、员工提交资料,知道现状流程,在谁那里,改谁处理。(2)本项目OA管理系统为“电子科大国信安教育基地”(兰海)学生的毕业设计。第二节 相关技术概述一、软件工程软件工程是指导计算机软件开发和维护的工程学科。(1)它采用工程的概念、原理、技术和方法来开发和维护软件;(2)它将管理技术与当前经过时间考验的而证明是正确的技术方法结合起来;(3)它强调使用生存周期方法学和结构分析和结构技术;(4)经过人们长期的努力和探索,围绕着实现软件优质高产这个目标,从技术到管理两个方面做了大量的努力,逐渐形成了"软件工程学"这一新的学科。软件工程是计算机软件的一个分支学科,主要研究软件开发全过程中的各种技术。主要包括: 1、软件开发的原则与策略, 2、软件开发方法与软件过程模型, 3、软件标准与软件质量的衡量, 4、软件开发的组织与项目管理, 5、软件版权。它一般应用于大型的软件系统的开发。其开发团队包括:用户、项目负责人、分析员、初高级程序员、资料员、操作员。二、数据库设计数据库的概念:数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。SQL Server 2000是为迅速提供可伸缩性电子商务、企业及数据仓库解决方案而开发的完整数据库与分析软件产品。SQL SERVER 2000定位于Internet背景下的数据库应用,它为用户的Web应用提供了一款完善的数据管理和数据分析解决方案。同时SQL SERVER 2000还是Windows DNA(Distributed Internet Architecture)架构的一个核心组件。它极大地缩短了用户开发电子商务、数据仓库应用的时间。SQL SERVER 2000还提供对XML(Extensible Markup Language扩展标示语言支持)和HTTP的全方位支持。三、开发工具Eclipse(MyEclipse插件) Eclipse是一种可扩展的开放源代码IDE。2001年11月,IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。Eclipse框架的这种灵活性来源于其扩展点。它们是在XML中定义的已知接口,并充当插件的耦合点。扩展点的范围包括从用在常规表述过滤器中的简单字符串,到一个Java类的描述。任何Eclipse插件定义的扩展点都能够被其它插件使用,反之,任何Eclipse插件也可以遵从其它插件定义的扩展点。除了解由扩展点定义的接口外,插件不知道它们通过扩展点提供的服务将如何被使用。 利用Eclipse,我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起。如果这些互相补充的独立工具采用Eclipse扩展点彼此连接,那么当我们用调试器逐一检查应用时,UML对话框可以突出显示我们正在关注的器件。事实上,由于Eclipse并不了解开发语言,所以无论Java语言调试器、C/C+调试器还是汇编调试器都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。 Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似于微软公司的Visual Studio和Sun微系统公司的NetBeans平台。Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。Eclipse联盟已经宣布将在2006年中期发布其3.2版软件。这是一款非常受欢迎的java开发工具,这国内的用户越来越多,实际上实用它java开发人员是最多的。缺点就是较复杂,对初学者来说,理解起来比较困难。四、MVC结构MVC模式是"Model-View-Controller"的缩写,中文翻译为"模式-视图-控制器"。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。MVC模式最早是smalltalk语言研究团提出的,应用于用户交互应用程序中。smalltalk语言和java语言有很多相似性,都是面向对象语言,很自然的SUN在petstore(宠物店)事例应用程序中就推荐MVC模式作为开发Web应用的架构模式。MVC模式是一种架构模式,其实需要其他模式协作完成。在J2EE模式目录中,通常采用service to worker模式实现,而service to worker模式可由集中控制器模式,派遣器模式和Page Helper模式组成。而Struts只实现了MVC的View和Controller两个部分,Model部分需要开发者自己来实现,Struts提供了抽象类Action使开发者能将Model应用于Struts框架中。图1.1 MVC组件类型的关系和功能图1.2 视图、控制器、模型三者之间关系的意识图五、开发背景待开发软件系统的名称:OA系统的规模本项目的任务提出者:电子科技大学网络教育学院国信安教育基地开发者:电子科技大学网络教育学院国信安教育基地软件开发:兰海操作系统:WINDOWS XP;内存512MB以上;CPU奔腾III以上运行工具:IE 6.0开发工具:Eclipse3.2;MyEclipse5.1.0GA;Dreamweaver V8.0数据库:Microsoft SQL Server2000WEB服务器:Tomcat5.5辅助工具:photoshop7.01、Rose2000、Visual Studio 2005第二章 系统分析与需求分析第一节 业务流程一、总体流程图 对于人员基本信息管理和职位管理,可以使用相同的模式,两个系统相对独立。总体结构和模块外部设计 图2.1 管理流程第二节 功能模块二、用例图 图2.2 用例图三、功能说明1、员工信息管理公司内部员工基本信息管理,通过员工信息表实现。员工的基本信息决定了员工在系统中的使用权限。员工信息表:姓名、性别、出生年月、籍贯、住址、邮编、学历、联系方式、职位、职务等信息。(1)、查询方式:采用单项选择方式,选项包括:姓名、职务、连锁店名等。(2)、报告项目:员工信息表中所有符合查询信息的项目。(3)、报告流向:显示、打印。2、试用期管理 对员工试用其间表现进行管理,并且在由于员工处在试用期阶段,他所获得的权限也非常有限。只有当员工确认转正后才能拥有更多权限。 试用期登记表:姓名、性别、入职时间、职务、业绩、转正申请表状态(未填、受理中、通过)(1)、查询方式:采用单项选择方式,选项包括:姓名、职务。(2)、报告项目:试用期登记表中所有符合查询信息的项目。(3)、报告流向:显示、打印。3、人事调动管理人事调动管理由人事调动表实现管理,只有填写了人事调动表后,业务人员的客源信息才会释放,管理人员才能重新分配客户资源。 人事调动表:姓名、性别、入职时间、原部门、原职务、调动原因、现部门、现职务、转正申请表状态(未填、受理中、通过)(1)、查询方式:采用单项选择方式,选项包括:姓名。(2)、报告项目:人事调动表中所有符合查询信息的项目。(3)、报告流向:显示、打印。4、考勤管理考勤基本信息表录入、修改、删除、备案考勤基本信息表:姓名、性别、职位、职务、考勤状态(全勤、非全勤)、请假(事假、病假、矿工、迟到、产假、丧假)、加班(1)、查询方式:采用单项选择方式,选项包括:姓名、职位。(2)、报告项目:考勤基本信息表中所有符合查询信息的项目。(3)、报告流向:显示、打印。第三节 需求分析保证开发软件产品和软件项目的需求分析在正常的情况下运行,在进行开发前能够明确的达到开发的目标,对系统目标做出明确的、完整的、清晰的、具体的分析。给出软件产品的总设计和项目计划。对该系统做出详细的分析它所的需求。和所要完成的功能。以什么方式来完成他的功能等。第三章 系统概要设计第一节 软件总框图一、 结构图图3.1 结构图第二节 数据库设计一、表的设计数据库数据结构设计 DBMS 的使用上系统将采用 SQL SERVER, 系统主要需要维护1张数据表:管理员数据表:NO项目名称主键类型Byte1管理员IDInt42用户名Char103密码Char104姓名Date205电话号码Char206备注Varchar255图3.2 管理员表图人员基本信息数据表:NO项目名称主键类型Byte1职工IDInt42姓名Char203性别Char84职称Char105年龄Date86籍贯Char107现住址Char508工作时间Char109邮箱地址Char5010联系电话Char2011备注Varchar255图3.2 人员信息表图第三节 界面设计一、Jsp页面截图展示使用JSP页面,操作在浏览器上进行操作,这样大大降低了用户的操作繁琐和复杂性。下面是页面截图:员工列表:图3.3 员工列表截图添加员工:图3.4 添加员工截图员工职位调整:图3.5 员工职位调动截图查询员工信息:这可根据各种方式查询图3.6 员工查询截图第四章 系统详细设计第一节 系统详细设计一、设计目的在本项目的前一阶段,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中实地调研中获得。本阶段已在系统的需求分析的基础上,对OA系统做概要设计。主要解决实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计对OA系统所做的模块结构设计的基础上,对系统进行详细设计。第二节 数据流程图一、人工处理过程本软件中只需人工对界面进行操作,操作对人事部的各各功能点进行处理1、 管理员登陆2、 查询人员信息3、 修改人员信息4、 添加人员信息5、 删除人员信息6、 记录人员考勤记录7、 人员调动信息二、管理员登录流程图:图4.1 登录流程图三、算法流程:图4.2 算法流程图第三节 核心代码一、 登录jsp代码<% page errorPage="error.jsp" pageEncoding="GBK"%><% page contentType="text/html; charset=gb2312" %><% page language="java" import="java.sql.*"%><!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN"><jsp:useBean id="sqlbean" scope="page" class="news.sql_data"/><jsp:useBean id="login" scope="page" class="util.login"/><%String mesg = ""if( request.getParameter("username")!=null && !request.getParameter("username").equals("")String username =request.getParameter("username");String passwd = request.getParameter("passwd");login.setUsername(username); login.setPasswd(passwd);boolean flag=login.excute();/验证身份if (flag!=false)/将用户名和用户的权限加到session中session.setAttribute("admin",username); session.setAttribute("authority",login.getAuthority(); String lastip=request.getRemoteAddr();login.setinfo(lastip,username);/更新用户登录IP以及时间response.sendRedirect("index.jsp");else mesg = "登陆出错!"%><%if (request.getParameter("action")!=null) session.removeAttribute("admin");session.removeAttribute("authority");response.sendRedirect("login.jsp");%><html><head><title>企业内部管理信息平台</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><script language="javascript"> function checkform() if (document.form1.username.value="" | document.form1.passwd.value="")alert("用户名或密码为空!");return false;return true; </script></head><body text="#000000"><div align="center"> <table width="100%" border="0" height="100%" cellspacing="0" cellpadding="0"> <tr> <td align="center"> <form name="form1" method="post" action="login.jsp"> <table width="360" border="1" cellspacing="2" cellpadding="2" bgcolor="#66CCFF" bordercolor="#66CCFF" style="font-size:9pt"> <tr align="center"> <td colspan="2"> <h3><br> <font color="#FF0000">系统登录</font></h3> <p> <% if (!mesg.equals("")out.println(mesg);%></p> </td> </tr> <tr> <td align="right" width="150">管理员:</td> <td> <input type="text" name="username" size="12" maxlength="20"> </td> </tr> <tr> <td align="right" width="150">管理员密码:</td> <td> <input type="password" name="passwd" size="12" maxlength="20"> </td> </tr> <tr align="center"> <td colspan="2"> <input type="submit" name="Submit" value="登录" onclick="javascript:return(checkform();"> <input type="reset" name="Submit2" value="取消"> </td> </tr> <tr align="center"> <td colspan="2"><A HREF="./index.jsp">返回首页</A></td> </tr> </table> </form> <p> </p> CopyRight2006 <br> </td> </tr> </table></div></body></html>一、Struts框架配置文件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC "-/Apache Software Foundation/DTD Struts Configuration 1.2/EN" "http:/struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config> <data-sources /> <form-beans >