




已阅读5页,还剩96页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录 目目 录录 摘摘 要要i 第一章第一章 绪论绪论.1 1.1 课题研究背景及意义1 1.2 办公自动化现状2 1.2.1 发展历程.2 1.2.2 存在的问题.4 1.3 本文的主要工作6 第二章第二章 j2ee 技术简介技术简介.8 2.1 j2ee 技术背景 8 2.2 j2ee 的层次 9 2.3 j2ee 应用程序组件 11 2.4 ejb 技术简介12 2.4.1 home 接口12 2.4.2 remote 接口和 local 接口.13 2.4.3 enterprise bean 类 13 2.4.4 部署描述文件14 2.5 本章小结14 第三章第三章 基于基于 j2ee 的办公自动化系统需求分析的办公自动化系统需求分析15 3.1 系统需求15 3.2 系统用例18 3.2.1 日常业务用例.18 3.2.2 个人办公用例.23 3.2.3 信息交流用例.24 3.2.4 会议管理用例.25 3.2.5 人事管理用例.26 3.2.6 设备管理用例.27 3.2.7 系统管理用例.29 3.4 本章小结30 第四章第四章 基于基于 j2ee 的办公自动化系统设计的办公自动化系统设计32 4.1 系统概要设计32 4.1.1 系统设计目标.32 4.1.2 系统设计原则.32 课程设计 4.1.3 系统设计模式.33 4.1.4 系统体系结构.36 4.2 主要功能模块设计38 4.3 数据库设计40 4.4 本章小结44 第五章第五章 基于基于 j2ee 的办公自动化系统实现的办公自动化系统实现45 5.1 开发环境45 5.2 数据层的设计47 5.3 视图层的设计与实现53 5.3.1 用户登录.54 5.3.2 添加员工.54 5.3.3 邮件收发.55 5.3.4 公文审批.56 5.3.5 上下班登记.57 5.4 控制层的设计与实现59 5.4.1 用户登录.59 5.4.2 添加员工.61 5.4.3 邮件收发.62 5.4.4 公文审批.64 5.4.5 上下班登记.65 5.5 本章小结.67 第六章第六章 系统测试系统测试.68 6.1 测试目的与测试环境68 6.1.1 测试目的.68 6.1.2 测试环境.68 6.2 测试方法与测试内容69 6.2.1 测试方法.69 6.2.2 测试内容.70 6.3 测试用例与测试结果70 6.3.1 用户登录测试.70 6.3.2 个人办公测试.72 6.3.3 日常业务测试.73 6.3.4 信息交流测试.76 6.3.5 设备管理测试77 6.3.6 会议管理测试.78 6.3.7 人事管理测试.79 6.3.8 系统管理测试.80 6.4 测试结果分析81 6.5 本章小结82 目录 第七章第七章 总结与展望总结与展望.83 致致 谢谢.84 参考文献参考文献.85 作者攻硕期间取得作者攻硕期间取得的的成果成果.88 第一章 绪论 1 第一章 绪论 1.1 课题研究背景及意义 社会信息化的发展,使得各企事业单位需要处理的信息量变得越来越大,越 来越复杂。对于各单位来说信息是占主导地位的资源,它能否发挥有效的作用, 直接关系到单位的经营发展和经济效益。随着业务量、信息量的不断增长,过去 低效的手工办公方式越来越难以应付,而且现代社会竞争的压力越来越大,各单 位要想生存,就必须能够对各种信息进行有效和快速的处理来提高自己的竞争力。 因此,现代社会急需一种集信息处理、信息保存、信息传输和信息共享于一体的 全新的办公自动化系统。 办公自动化(office automation),简称 oa,它是在 20 世纪 50 年代提出的, 在 80 到 90 年代得到了极大的发展。20 世纪 70 年代,美国麻省理工学院教授 m.c.zisman 为刚刚诞生的办公自动化作了如下的定义1:“办公自动化就是将计 算机技术、通信技术、系统科学及行为科学应用于传统的数据处理难以处理的数 量庞大且结构不明确的、包括非数值型信息的办公事务处理的一项综合技术”。 20 世纪 80 年代中期,我国制定了办公自动化的发展目标及远景规划。国务 院电子振兴领导小组办公室办公自动化专家会议对办公自动化作了如下定义2: 办公自动化是利用先进的科学技术,不断使人的办公业务活动物化于人以外的各 种设备中,并由这些设备与办公室人员构成服务于某种目标的人-机信息处理系统。 其目的是尽可能充分地利用信息资源,提高生产率、工作效率和服务质量,辅助 决策,力求取更好的效果以达到既定(即经济、政治、军事或其它方面的)的目标。 时代在不断的发展,人们对办公自动化概念的认识也在不断深化和拓展中。 当前对办公自动化一般的理解是:机构利用网络通讯、数据库和计算机等现代信 息技术将其内外部的管理和服务职能进行无缝隙的集成。以达到工作的流程化和 办公的自动化。单位内部的各个部门,可以利用网络技术,将大量频繁的工作, 如行政管理工作、日常办公、通知通告、文件传输等,在网络上实施。这就打破 了企事业单位以前办公的空间、时间和资源等的制约,加强了部门间、员工间和 领导间的信息交流,并且使得文件和信息的流通更加及时流畅。 课程设计 综上所述,办公自动化至少包括以下几层含义3: 办公自动化首先必须要借助现代高速发展的信息技术和网络技术,它是 在传统的信息基础设施和办公系统的基础上发展起来的; 办公自动化系统不是简单地将传统的办公系统进行网上移植,而是对其 进行结构重组和业务流程的规范,它不仅是一项技术创新,而且包括管理核心制 度上的全面改革创新; 办公自动化的目的是要充分利用网络技术和信息处理技术,更好的履行 企事业单位的职能,在日益竞争的社会保持自己的竞争优势。 本课题旨在将 j2ee 技术作为一种过程建模和过程管理的核心技术,和办公 自动化系统有效地结合,开发满足中小型企事业单位业务需求的办公自动化系统, 从而提高企单位办公系统的信息化应用水平。本论文研究的意义主要体现在以下 几个方面: 减小办公人员的的劳动强度,提高办公的效率。办公自动化系统能够使 办公人员从枯燥、繁杂的办公中解放出来,让人们有更多的时间去思考更重要的 问题; 缩短领导与工作人员之间,各部门之间的距离,加强了员工之间的交流, 同时还可以使信息的传递更加流畅快速; 工作流程得到了规范,同时也提高了工作效率。解决了跨部门之间沟通 难和业务处理难的问题,业务处理的网络化不仅规范了工作流程和工作制度,还 可以实时查看业务的处理状态、掌握的工作的进度; 通过知识的管理,各类资源得到了有效的整合和利用,有效地避免了信息丢 失、资源浪费和管理不便等问题。 1.2 办公自动化现状 1.2.1 发展历程 信息技术在不断的向前发展,通过人们不断的研究和探索,办公自动化相关 产品也进入了以知识管理为核心的基于 internet 的第三代办公自动化系统(internet office automation,i-oa)。目前为止,办公自动化系统大致经历了三个发展阶段, 现在正在向第四个阶段迈进。 第一代 oa 系统,是以数据为处理中心的传统 mis 系统。它起步于 80 年代 第一章 绪论 3 中期,主要是应用于个人电脑和办公套件。所用到的数据库是关系型数据库,基 于文件系统,强调对数据的计算和统计处理的能力。它的主要的贡献是把因特网 引入到了办公系统,实现了办公系统从纸质向电子文档的转变。第一代办公自动 化只是以数据为处理中心,也提供面向计算机的辅助办公产品。但是尽管完成了 单位的办公信息载体从原始纸质方式向电子方式的飞跃,但其信息仍然是高度孤 立的4。 第二代是以工作流为中心的 oa 系统。网络技术的不断发展带动了办公自动 化技术的巨大变化,进入了以工作流为中心的办公时代。第二代 oa 系统以网络 技术和工作流技术为主要特征,实现了对文档管理、会议管理、人事管理等业务 的自动化管理。相较于第一代办公自动化系统,第二代以工作流为中心的 oa 系 统的优势在于具有扩展性,复用性和柔性5。其缺点主要是缺少对知识管理的能 力。 第三代 0a 系统是以知识管理为基础的基于 internet 的新一代办公自动化系统 (i-oa)。在 1996 年,世界合作发展组织在科学技术和产业展望的报告中首先提出 了以知识为基础的经济概念,人们把它称之为知识经济。知识经济的建立和发展 主要指发展科学技术、教育以及创新、应变能力、生产率和技能素质为主要内涵 的知识管理6。在实际生活实践中,由于网络的应用普及、便捷,单位的办公人 员能够及时获得企业内部和企业外部的消息,这些信息在不断地传递和融合之中 得到提炼和升华。第三代办公自动化系统不只是仅仅用于人员办公的系统,更是 融入了新的管理模式。它的主要特点有: 1、丰富的数据信息处理功能:面向知识管理的办公自动化系统应充分集成 了各种信息数据,这些数据不仅包括电子邮件信息,而且还包括文件系统中的文 件、传统的关系型数据库数据、数据仓库中的数据,甚至是 internet 上的数据7; 3、充分利用各种协同工作手段:包括多线程讨论、文档共享、电子邮件及 一些辅助工具提供在线及时共享应用等。除此之外,还提供了不同层面的信息共 享方式,包括移动通讯设备的支持、手机的 wap 接入访问、pda 的支持、统一 消息等为基础的提醒功能以及信息的传真功能8; 3、办公自动化系统起到“知识管理”的平台与门户作用:面向知识管理的 办公自动化系统逐步把知识管理的原则与实践融入每个员工的日常办公工作中去。 基于 internet 的以知识管理为基础的 i-oa 系统体系结构如图 1-1 所示9: 课程设计 internet 办公自动化系统erp系统mis系统 . . 办公自动化 string user=“root“; string password=“222“ connection con=drivermanager.getconnection(ur1,user,password); (3)创建 statement 对象 statement 对象用来向数据库发送查询和命令。创建方法如下: statement statement=connection.createstatement(); (4)结果处理 处理结果最简单的方法就是使用 resultset 的 next 方法在表中移动,每次一 动一行。在每一行中,resultset 提供了各种 getx 方法。它们都以列表或是索引 为参数,有多种不同的 java 类型返结果。 (5)关闭连接。关闭数据库连接的程序如下: con.close; 关闭连接的同时,还会关闭对应的 statement 和 resultset 对象。关闭数据库 的开销常常很大,如果希望执行额外的数据库操作,应该延迟关闭的数据库。 3、主要函数的构造、主要函数的构造 在 jsp+ejb+servlet 模式中,http 请求一般使用 servlet 接收。在默认情况下, servlet 采用一种无状态的请求-响应处理方式。servlet 接受到浏览器请求后再执 行连接数据库的操作,操作完成后,如有需要则将操作的结果保存在浏览器请求 中,然后再把 view 派发到用于显示的 jsp 页中。 课程设计 本小节中主要进行数据层的设计,我们用 jdbc 来进行关于数据库的操作, 为了使数据库操作的层次化更加明确,我们将编写一个数据库访问类,封装在基 本的数据库操作中,该类取名叫做 datas,该类的定义如下: public class datas private datas db; /datas 的一个实例 private connection con; /java.sql.connection 类的对象,负责数据库的连接 private statement stmt; /java.sql.statement 类的对象,负责数据库的访问 private boolean error; /记录数据库操作出错 该系统构造的函数有: execute()函数、takeinstant()函数、errodeal()函数、 executetransaction()函数、starttransation()函数和 close()函数。其主要代码如下: package oatest sys.db; import java.sql.*; import javax.sql.*; import javax.naming.*; import mons.logging; public class datas private datas db=null; /datas 的一个实例 private connection con=null; /java.sql.connection 类的对象,负责数据库的连接 private statement stmt=null; /java.sql.statement 类的对象,负责数据库的访问 private boolean error=false; /记录数据库操作出错 /发起事务 starttransation public viod starttransaction()throws sqlexception conn.setautocommit(false); /执行事务 executetransaction public executetransaction()throws sqlexception if(error!=false)c mit; else conn.rollback(); errors=false; error=false; conn.setautocommit(true); /出错提醒 errordeal 第五章 基于 j2ee 的办公自动化系统实现 53 public void errordeal() error=true; /取得 datas 的实例 takeinstant public static takeinstant() if(db=null) try db=new datas(); catch (exception e) conn=null; log log=logfactory.getlog(“mylog“); return null; return db; /插入、删除、更新操作 execute public viod execute(string sql) throws sql exceptiom /删除操作 string sql=“select * from user“; datastore ds=dtatastore.getinstance(); try ds.execute(sql); catch(exception e) /查询操作 string sql=“select * from user“; datastore ds = datastore.getinstance(); try resultset rs=ds.red(sql); catch(exception e) /执行插入操作 string sq1_1=“delete * from user“; string sq1?_2=“insert user values(username,password)“; try ds.execute(sq1_1); ds.execur(sq1_2); catch(exceptin e) ds.erroroccur(); d mitteansaxtion(); return conn; 课程设计 /关闭数据库 close public static void close(connection conn) ry. if(connect!= null) connnect.close(); catch(sqlexception e). e.printstacktrace(); 4、系统业务实体设计、系统业务实体设计 一个系统中的业务实体在系统内存中表现为实体域对象,而在数据库中则表 现为关系数据。实现业务实体要包括以下内容: 设计域模型,创建域模型实体对象。 设计关系数据模型 根据办公自动化系统的需求分析,在我们设计的系统包含以下的业务实体: 用户信息、论坛主题、邮件发送、会议记录、文件、新闻、外出记录、会议记录、 设备等。下面选取几个具有代表的实体进行简单的介绍。 用户信息:代表所有用户的一个实体,它的属性有用户序号、用户姓名、 用户职位。 论坛主题:代表论坛中的一个主题,下面有许多不同的话题,以及话题 的回复,他们之间是一对多的关系。它的属性有:主题序号、主题名字、 主题内容、点击次数、发表时间、主题回复内容。 话题:话题代表一个用户发表的话题的实体。一个话题只能属于一个主 题,一个话题可以拥有多个回复。它的属性有:用户id、所属主题、话 题回复内容。 邮件发送:代表邮件发送的一个实体,它的属性有:邮件编号、邮件名 称、邮件内容、发件人姓名、收件人姓名、发件日期、状态和附件。 新闻:代表新闻的一个实体,它的属性有:新闻编号、类型编号、新闻 名称、新闻内容、允许评论否、发布时间。 会议记录:是记录会议的一个实体,它的属性有:会议编号、会议室号 码、会议时间、会议主题、出席员工、会议内容、开始和结束时间等。 当数据库创建完成后,需要为每个实体创建实体类来存放用户的信息: 第五章 基于 j2ee 的办公自动化系统实现 55 (1) 用户实体类 单击package.syentity包,创建一个userinfo.java文件,它是用户的实体类, 代码如下: package syentity; public class userinfo private int userid; private long username; private int dutyid; (2) 论坛实体类 在package.syentity下创建一个bbstopic.java文件。它是论坛的实体类,代码如 下: package syentity; public class bbstopic private int id; private int userid; private string title; private string content; private int clickcount; (3) 话题实体类 在package.syentity下创建一个topic.java文件。它是论坛的实体类,代码如下: package syentity; public class topic private int userid; private int attributebbs; private string replycontent; (4) 邮件发送实体类 在package.syentity下创建一个email.java文件。它是论坛的实体类,代码如下: package syentity; public class email private int sid; private string title; private string content; 课程设计 private string sendname; (5) 新闻实体 在package.syentity下创建一个newsc.java文件。它是论坛的实体类,代码如下: package syentity; public class news private int newsid; private int typeid; private string title; private string content; private int allowremark; (6) 会议实体 在package.syentity下创建一个newsc.java文件。它是论坛的实体类,代码如下: package syentity; public class news private int newsid; private int typeid; private string title; private string content; private int allowremark; 5.3 视图层的设计与实现 由于本系统中多个功能模块的代码流程有相似性,这一节选取几个具有代表 性的功能模块进行介绍,主要有: 用户登录模块视图层设计和控制层设计 log.jsp 和 log.java,列举它们实 现的关键代码; 员工添加模块视图层设计和控制层设计 emloyee.jsp,和 emloyee.java,列 举它们实现的关键代码; 第五章 基于 j2ee 的办公自动化系统实现 57 邮件收发模块视图层设计和控制层设计,由于邮件发送和邮件接收实现 相似,所以这里只介绍邮件发送的实现主要代码 send.jsp 和 send.java; 公文审批模块视图层设计和控制层设计,approve.jsp 和 approve.java,列 举了它们实现的关键代码; 员工上下班登模块视图层设计和控制层设计记 sign.jsp 和 sign.java,列举 了它们实现的主要代码。 web.xml 文件是 web 工程的配置文件,对于每个创建的 web 工程,都会在 web-inf 目录下自动创建的一个 web.xml 文件。在这个文件中,将会对 web 工 程的 servlet、struts 标签等进行初始化配置,并且对工程本身的一些属性进行配 置,并且对工程本身的一些属性进行配置。我们首先修改系统中工程文件 web.xml,修改的步骤如下: action org.apache.structs.action.actionserver affice.add /affice/add 5.3.1 用户登录 用户登录界是用户进入系统的桥梁,log.jsp 提供了填写登录信息的表单,需 要验证用户提交的信息和数据库中的信息是否一致。在界面上有两个文本框,用 于输入用户名和用户密码。log.jsp 的主要代码如下所示36: /用户名 用户名: /用户密码 密 码: 课程设计 5.3.2 添加员工 添加员工功能用于添加新员工的基本信息。用户输入员工的信息时需要验证 用户提交的新添加的员工的基本信息,然后再插入到相应的数据库中。主要代码 如下所示: /设置页面的表头显示“员工信息增加“,设置显示字体为宋体,字号为 16px,字体为 粗体. 员工信息增加 .style1 color: #000000; font-family: “宋体“; font-size: 16px; font-weight: bold; /员工信息增加 员工信息增加 /姓名 姓 名: /性别 性 别: 男 女 /出生日期 出生日期: 第五章 基于 j2ee 的办公自动化系统实现 59 年-月-日 string msg=(string)request.getattribute(“msg“); if(msg!=null) out.print(msg); request.removeattribute(“msg“); /添加 /重置 5.3.3 邮件收发 邮件的收发主要负责接收邮件和发送邮件发送邮件请求首先被提交到邮件发 送控制层,然后将其结果返回至功能是图层。send.jsp 视图层的主要代码如下所 示: /设置页面的表头显示“邮件发送“,设置显示字体为宋体,字号为 16px,字体为粗体. 邮件发送 .style1 font-size: 16px; font-weight: bold; /字体 发送邮件 /邮件主题,设置控件的高度、宽度、颜色等等 邮 件主题: /设置邮件内容控件的高度、宽度、颜色和位置 eight=“81“ align=“center“ bgcolor=“#ffffff“ class=“column“内 容: 邮件的接收 accept.jsp 代码和邮件的发送代码相差不大,这里只介绍 send.jsp。 5.3.4 公文审批 日常业务模块包括文件的发送、文件的接收,以及文件的审批。下面主要给 出文件审批视图层的设计代码。文件的审批主要是部门领导的工作范畴, approve.jsp 的主要代码如下所示: /设置页面的表头显示“审批公文“,设置显示字体为宋体,字号为 16px,字体为粗体 审批公文 .style1 color: #000000; font-weight: bold; font-family: “宋体“; font-size: 16px; /查看公文、公文序号、发送人、审批人、附件、意见和处理时间 查 看公文 第五章 基于 j2ee 的办公自动化系统实现 61 公文第*字号 发送人 审批人 附件 意见 库中暂无公文 else iterator it=coll.iterator(); while(it.hasnext() document =( document)it.next(); 5.3.5 上下班登记 上下班登记分为员工上班登记和下班登记,员工早晨上班时要进行签到,系 统记录员工签到时间,然后再根据签到时间来判断员工是否迟到;下班时根据员 工签到时间来判断是否早退,该功能的主要实现代码如下所示: /设置页面的表头显示“签到“, 把 morning、return、returns 附初值为空,查询 “advmsg“、“msg“、“singmsg“属性的名字,并判断是否为空,然后再移除属性 签到 string morning=“,return=“,morning=“,returns=“; string msg=(string)request.getattribute(“advmsg“); collection coll=(collection)request.getattribute(“msg“); if(coll!=null) iterator it=coll.iterator(); while(it.hasnext() sign ss=(sign)it.next(); if(ss.getid()=1) morning=ss.gettime().substring(11,19); if(ss.getid()=2) return=ss.gettime().substring(11,19); 课程设计 coll.clear(); coll=(collection)request.getattribute(“singmsg“); if(coll!=null) iterator it=coll.iterator(); while(it.hasnext() sign sign=(sign)it.next(); if(sign.getsignid()=1) mornings=sign.gettime().substring(11,19); if(sign.getsignid()=2) returns=sign.gettime().substring(11,19); request.removeattribute(“advmsg“); request.removeattribute(“msg“); request.removeattribute(“singmsg“); /签到 签到 上班: 第五章 基于 j2ee 的办公自动化系统实现 63 下班: 5.4 控制层的设计与实现 5.4.1 用户登录 用户登录控制层主要处理流程为:从表单中读取所有的用户登录信息,不对 信息做验证,直接到数据库中去验证该信息是否存在;如果信息符合要求就让用 户直接进入功能页面,如果该账户没有被注册过,那么就跳转到 login 界面进行 注册。 主要程序流程图如下所示: 课程设计 开始 输入用户名 输入密码 用户存在 读取数据库 密码正确 进入系统 结束 跳转到注册界面 再次输入密码 count=count+1 登录失败 count=1 count3 是 否 是 否 否 是 图 5-2 用户登录流程图 实现部分的主要代码如下: package costest.action; import oa.sys.*; import oa.sys.time; import java.io.ioexception; import java.io.printwriter; import java.sql.*; import javax.servlet.*; 第五章 基于 j2ee 的办公自动化系统实现 65 import javax.servlet.http.*; import org.apache; public class logaction extends action public actionforword execute(actionmapping map,actionformform,httpservletrequest request); actionerrors errors=new actionerrors(); httpsession s=request.getsession; string username=null; stringpassword=null; datas db = datas.takeinstant; if(db=null) errors.add(fail_1,new actionerror(“log.action.a“); saveerrors(request,errors); return(map.findforword(“login.asp“) ;/登录失败,返回注册页面 resultset st=null; string sql=select* from client where name= username and pupassword=password; /根据用户输入的信息去读数据库中的信息 st=db.read(sql); if(st!=null if(s_user=null) return(log); else return login; 5.4.2 添加员工 添加员工控制文件 add.java 主要实现员工的添加,输入员工基本信息请求连 接数据库,连接成功后再把员工基本信息插入到相应的数据库中,最后再关闭数 据库。主要代码如下所示: package costest.action; import oa.sys.*; import oa.sys.time; import java.io.ioexception; import java.io.printwriter; import java.sql.*; import javax.servlet.*; import javax.servlet.http.*; 课程设计 import org.apache; public class test public static void main(string args) string employeeid =null; string username =null; string branch =null; string marry=null l; string sex=null; string address=null; bufferedreader input=new bufferedreader(new inputstreamreader(system.in); try class.forname(“com. sql.jdbc.driver“);/加载驱动程序 system.out.println(“加载成功“); connection con=drivermanager.getconnection(“jdbc: sql:/localhost/test“,“root“,“123456“); /test 为在 sql 下建立的数据库名字,123456 是进入数据库的密码 con.setcatalog(“test“); system.out.println(“已经连接数据库“); statement statement = con.createstatement();/数据库操作 employeeid =“200812“; username =“name“; sex=“maile“; address=“3-627“; statement.executeupdate(“insert into employe values(“+username+“,“+branch +“,“+sex+“,“+address+“)“ ); statement.close(); con.close(); catch(exception ex) system.out.println(ex); system.exit(0); 5.4.3 邮件收发 邮件发送的过程是首先在发邮件界面输入收件人、邮件的主题、内容等等, 然后存入数据库;查询收件人是否存在,依次再对别的项进行查询;如果不符合 第五章 基于 j2ee 的办公自动化系统实现 67 系统的设定则邮件发送不成功,否则提示邮件发送成功。程序主要实现代码如下 所示: 首先是定义变量,初始化变量 session、rs、stmt 为 null,temp 初始值为 0 public class send extends httpservlet private int acceptid; private httpsession session=null; private resultset rs=null; private statement stmt=null; private string title,content,sqls,sqls; private int temp=0,id; 然后打开数据库,读取邮件的内容,然后再把它转换成 str 存储在数据库中 public void dopost(httpservletrequest request,httpservletresponse response) throws servletexception, ioexception request.setcharacterencoding(“we1223“); response.setcontenttype(“text/html; charset= we1223“); str str=new str(); db db=new db(); time time=new time(); printwriter out=response.getwriter(); session=request.getsession(); id=integer.parseint(string)session.getattribute(“id“); try acceptid=integer.parseint(string)request.getparameter(“acceptid“); catch(exception e) e.printstacktrace(); title=request.getparameter(“title“); content=request.getparameter(“content“); title=str.instr(title); content=str.instr(content); /插入到数据库中 sql=“insert into doc(sender, documented,tiltle, urgen,content,accept)“ values (“+title+“,“+time.getymdhms()+“,“+id) /判断发送是否成功 sqls=“select * from eminfo where employeeid=“+acceptid; try stmt=db.getstmtread(); rs=stmt.executequery(sqls); if(rs.next() 课程设计 rs.close(); stmt.close(); stmt=db.getstmt(); temp=stmt.executeupdate(sqls); if(temp0) /如果 temp0 发送就成功 request.setattribute(“msg“,“发送成功“); else /如果 temp0) /没迟到 late=0; else if(h=0) if(m0) late=0; else if(m=0) if(s0) late=0; else late=1; else late=1; else late=1; 以下的程序是判断有没有早退: 首先获取用户的签到的基本信息: h=time.getminh(return);/获取签退的“时” m=time.getminm(return);/ 获取签退的“分” 第五章 基于 j2ee 的办公自动化系统实现 71 s=time.getmins(return);/ 获取签退的“秒” if(h0) /没早退 quit=0; else if(h=0) if(m0) quit=0; else if(m=0) if(s=0) quit=0; else quit=1; else quit=1; else quit=1; 5.5 本章小结 在办公自动化系统设计的基础上,本章进一步对系统进行了开发并实现了系 统的主要功能。本章首先介绍了基于 j2ee 办公自动化系统的开发环境 eclipse, 然后给出了系统数据层的设计,包括函数的构造和包的建立,最后分别介绍了系 统典型功能操作的视图层和控制层的代码设计。 课程设计 第六章 系统测试 6.1 测试目的与测试环境 软件系统开发完成后,还要和相关的计算机硬件、外围设备、支持软件以 及有关人员综合在一起,通过在实际环境下的运行来测试系统是否满足要求。 要确定系统的各组成部分不仅能单独地受到检验,而且在系统各部分协调工作 的环境下也能够正常的工作。本节对我们开发的办公自动化系统的运行情况进 行测试,根据测试的结果也验证需求分析和系统设计的正确性。 6.1.1 测试目的 通过系统测试可以验证基于 j2ee 的办公自动化系统是否符合满足系统设 计中提出的需求,或是确定系统实际的运行结果与预期结果之间的差别,以便 于对开发过程中存在的问题进行修改并有利于系统的维护和升级等。软件测试 的目的是为了保证软件的质量,发现软件系统中还未发现的错误。具体来说, 系统测试的目的主要包括37: 确认软件的质量:一方面是确认系统完成了“正确的事” ,另一方面是 确认系统“把事情做正确了” ; 提供信息:比如,可以给出系统运行过程中的实际数据,供开发人员或 程序经理对系统的的质量进行评价,为风险评估等做准备; 保证软件开发整个过程的高质量:软件测试贯穿于整个系统的开发的全 过程,是保证软件达到高质量和高可靠性的关键元素。 6.1.2 测试环境 1.硬件环境: cpu:intel(r)core(tm)2 duo processor e6700 2.66ghz; 内存:2g; 硬盘:320g; 服务器:戴尔服务器,100m 以太网交换机。 2.软件环境: 操作系统:windows2000 advance server; web 容器:tomcat5; 第六章 系统测试 73 数据库管理系统:sql server 2005 enterprise; 应用程序:基于 j2ee 的办公自动化系统。 6.2 测试方法与测试内容 6.2.1 测试方法 1、功能测试 功能测试采用基于黑盒的方法,通过系统的接口选择合适的输入数据与其 进行交互,再根据输出结果来验证系统的功能是否满足预期的要求。测试过程 中主要采用以下方法: 编写有效的测试用例,检查系统是否完成了该做的事; 使用无效的测试数据,测试系统对异常的处理操作; 检验页面链接是否对应正确的页面,切换是否正确; 测试不同功能之间的相关性是否完整和准确。 2、界面测试 界面是使用者和系统交互的窗口,在测试时要考虑到其人性化、易用性、 规范性、合理性和美观等方面的内容。主要的测试包括: 各个菜单名称清晰易懂,含义准确,操作方便; 控件按钮布局合理,易于区分, 操作界面大小、颜色搭配协调,符合行业规范; 各页面链接的正确性。 3、性能测试 性能测试主要测试在大数据量和持续长时间运行情况下,系统服务器的各 项指标,如 cpu、内存占用率、后台数据库的各项指标、网络流量、响应时间 等。主要测试方法包括: 增加处理数据量到系统最大的设计能力,检查在满负载情况下的运行; 让系统连续运行 10-20 天,确定系统的平均故障时间数据; 改变网络环境,测试系统在网络不稳定情况下的运行状况。 课程设计 对系统进行测试时,我们主要对其功能进行了测试。 6.2.2 测试内容 系统的功能测试主要运用黑盒测试的方法,在系统运行后根据的操作界面 输入不同的数据,检测系统是否能对各类数据进行正确的响应。测试的内容包 括以下几个方面 用户登录 测试用户是否能正常登录,对错误的用户和密码能否正常处理。 用户注册 主要测试用户能否正常注册,以及对于输入的信息进行规范,对于不符合 规范的信息,不能完成注册。 个人办公模块 对个人办公模块的功能进行测试,包括个人考勤、工作计划、日程管理、 通讯录、内部邮件、投诉意见、个人资料、记事本、新闻、我的会议。 日常业务模块 主要测试是否能正常的发文件、收文件、业务审批和综合查询。 信息交流模块 检验是否能正常的进入员工论坛,在论坛内发表评论,能够发布帖子、是 否能正常查看新闻和发布新闻、正常的查看和发布通知通告。 会议管理模块 测试是否能正常发布会议、查看会议、添加会议室和管理会议室等功能。 设备管理模块 主要测试是否能正常添加设备、查询设备、对设备的类别进行管理。 人事管理模块 人事管理主要是测试是否能正常的添加员工,对员工基本信息进行查询, 以及能否对部门基本信息的添加、更新等管理。 系统管理模块 主要测试管理员对系统用户的名称和密码进行修改的功能,对用户登录和 所进行操作的情况进行记录和维护的功能。 6.3 测试用例与测试结果 6.3.1 用户登录测试 在登录界面输入用户名和密码,单击“登录”按钮即可进入登录界面
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论