计算机专业毕业论文-办公自动化管理系统_第1页
计算机专业毕业论文-办公自动化管理系统_第2页
计算机专业毕业论文-办公自动化管理系统_第3页
计算机专业毕业论文-办公自动化管理系统_第4页
计算机专业毕业论文-办公自动化管理系统_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

图2-2系统前台功能结构图办公自动化管理系统后台功能结构如图2-3所示。图2-3系统后台功能结构图2.1.5数据库的设计根据数据库的需求分析[13],本系统数据库采用SQLServer2000数据库。数据库中包含8张表。1.表(1)affice(公告信息表)公告信息表主要用于管理公告信息。表2-1affice的结构字段名数据类型长度主键否描述afficeidint4是公告编号Titlevarchar50公告标题[time]datetime8公告发布时间employeeidint4发布公告员工编号contenttext16公告内容(2)bumf(文件传送表)文件传送表主要用于管理传送的文件信息。表2-2bumf的结构字段名数据类型长度主键否描述bumfidInt4是文件编号sendterInt4发送者编号accepterInt4接收者编号Titlevarchar50题目[time]datetime8时间contenttext16内容Affixvarchar50附件名称examineBit1处理结果SignBit1标志(3)eminfo(员工信息表)员工信息表主要用于保存员工信息。表2-3eminfo的结构字段名数据类型长度主键否描述employeeidint4是员工编号Namevarchar50姓名Sexbit1性别birthdaydatetime8出生日期learnvarchar50学历postvarchar50职称departmentidint4部门编号jobidint4职位编号telvarchar50电话addrvarchar50地址stateidint4状态编号(4)info(短信息表)短信息表主要用于保存短信息。表2-4info的结构字段名数据类型长度主键否描述infoidint4是短信息编号titlevarchar50题目[time]datetime8时间sendterint4发送者编号accepterint4接收者编号contenttext16内容newbit1标识短信是否被查看(5)department(部门信息表)部门信息表主要用于保存部门信息。表2-5department的结构字段名数据类型长度主键否描述departmentidInt4是部门编号nameVarchar50部门名称explainText16部门描述(6)emstate(员工状态表)员工状态表主要用于保存员工状态信息。表2-6emstate的结构字段名数据类型长度主键否描述stateidInt4是状态编号nameVarchar50状态名称explainText16状态描述(7)job(工作名称表)工作名称表主要用于工作名称信息。表2-7job的结构字段名数据类型长度主键否描述jobidint4是工作名称编号namevarchar50工作名称explaintext16工作名称描述(8)password(员工登录表)员工登录表主要用于员工登录信息。表2-8password的结构字段名数据类型长度主键否描述empoyeeidInt4员工编号passwordVarchar20员工密码[time]datetime8系统时间2.数据库表关系图[14]:图2-4数据库关系图2.2本章小结通过以上的分析可见,我设计的办公管理系统由企业员工信息管理、部门等信息的管理、员工短信沟通等模块构成,每个模块还划分为若干个小小的功能块。我所使用的是JAVA语言来创建JAVABEAN,再由JSP页面调用,操作系统是Windows2000Server简体中文版,采用B/S结构,可以使结构清晰,简单,用SQL作为后台的数据库支持。系统详细设计3.1视图层的设计与实现根据前面的分析,整个系统通过若干个Jsp页面来实现,下面我就一个页面进行详细的设计介绍,具体的页面代码在这里就不分析了。3.1.1员工登陆页面图3-1显示了办公自动化管理系统的主页面。主页面上有几个主要的链接,分别指向内部办公管理系统的几个个主要功能模块,即部门管理,职位管理,公告管理,员工管理,帐号管理,员工状态管理。图3-1企业内部办公管理系统主页面通过定义表单中的action属性来决定将表单中的数据交给哪个Servlet来处理[15]。首先,先定义一个表单<formname="form1"method="post"action="add">。然后,在web.xml中做如下配置:<servlet><servlet-name>affice.add</servlet-name><servlet-class>com.affice.Add</servlet-class></servlet><servlet-mapping><servlet-name>affice.add</servlet-name><url-pattern>/affice/add</url-pattern></servlet-mapping>通过表单映射来访问Servlet。读取Servlet执行的结果,结果显示在HTML中。3.1.2员工信息管理系统的主页面在员工信息管理视图层中主要有两个JSP文件,分别是add.jsp、change.jsp、select.jsp和view.jsp。这四个文件的作用分别是:员工信息的增加,修改,查找和显示。视图层主要用于显示控制层转发过来的运行结果,并将表单中的数据提交给控制层进行处理。员工信息增加页面的运行结果如图3-2。图3-2员工信息增加页面员工信息浏览页面的运行结果如图3-3。图3-3员工信息浏览页面3.2控制层的设计与实现员工信息管理控制层[16]的主要任务是,根据客户端提出的请求在数据库中实现对员工信息的增、删、改、查的操作。处理员工信息(在数据库中实现对员工的增加操作)的代码如下:获取id,取出员工信息:id=Integer.parseInt((String)request.getParameter("id"));Collectioncoll=newArrayList();stmt=db.getStmtread();rs=stmt.executeQuery("SELECT*FROMeminfoWHEREemployeeid="+id);if(rs.next()){rs.beforeFirst();while(rs.next()){id=rs.getInt(1);name=rs.getString(2);sex=rs.getInt(3);birthday=rs.getString(4);learn=rs.getString(5);post=rs.getString(6);deid=rs.getInt(7);jobid=rs.getInt(8);tel=rs.getString(9);addr=rs.getString(10);stateid=rs.getInt(11);dep=db.IdtoDo("Name","departmentWHEREdepartmentid="+deid);job=db.IdtoDo("Name","jobWHEREjobid="+jobid);state=db.IdtoDo("Name","emstateWHEREstateid="+stateid);同时会在3张存在相关信息的表中分别进行保存:stmt=db.getStmtread();rs=stmt.executeQuery("SELECT*fromjob");if(rs.next()){rs.beforeFirst();while(rs.next()){intid=rs.getInt(1);Stringname=rs.getString(2);Stringexplain=rs.getString(3);name=str.outStr(name);explain=str.outStr(explain);Jobdep=newJob();dep.setId(id);dep.setName(name);dep.setExplain(explain);retj.add(dep);其他2个算法也类似,另外2个分别是From另外2张表department和emstate。而且其他页面也都相类似。3.3其他页面部门信息相关页面如图3-4。图3-4部门信息相关页面职位管理相关页面如图3-5。图3-5职位管理相关页面帐号管理相关页面如图3-6。图3-6帐号管理相关页面员工状态管理相关页面如图3-7。图3-7员工状态管理相关页面3.4本章小结本章通过对1个页面以及数据库使用的详细分析和描述,可以明确本设计的具体细节。在数据库设计时,对于各个表的字段的设置也是力求做到完整而不冗繁,各个页面的设计也是力求做到简洁高效,这期间也查找翻阅了不少的资料,参考了很多好的代码。我觉得设计时的难点不是源代码的编写或数据库的建立,而是要保持前后的一致性以及前台页面与后台数据库的连接,这些环节很容易出现错误,一点出现错误就很难找出,所以需要很小心。系统测试与性能分析4.1系统测试现代软件工程学中,软件测试作为软件开发的重要环节越来越受到人们的重视。软件测试就是在软件投入运行前,对软件的需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。如果要对软件测试下一个定义,可以这样讲:软件测试是为了发现错误而执行程序的过程。随着软件开发规模的增大、复杂程度的增加,以寻找软件中的错误为目的的测试工作就显得更加困难。为了尽可能多地找出程序中的错误,产生出高质量的软件,很有必要研究软件测试技术。错误在初期也许只是范围很小的隐藏问题,但由于各开发阶段的连续性,使其逐步扩展。因此,应着眼于整个软件生存期,特别是着眼于编码以前各开发阶段的测试工作,以保证软件的质量,这就要突破原来对测试的理解。软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现错误的过程。软件测试是软件质量保证的重要手段。软件测试在软件生存期中横跨两个阶段:通常在编写出每一个模块之后就对它做出必要的测试(单元测试)。编码与单元测试属于软件生存期中的同一个阶段。在结束这个阶段之后,对软件系统还要进行各种综合测试,这是软件生存期的另一个独立的阶段,即测试阶段。测试按照典型的软件工程理论分为单元测试、集成测试、系统测试等,此外从其他角度还可以分成白盒测试、黑盒测试。4.2单元测试单元测试又称模块测试,是针对软件设计的最小单位—程序模块,进行正确性检测的测试工作。其目的在于发现模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行的独立进行单元测试。4.2.1单元测试的内容在单元测试时,测试者需要依据详细设计说明书和源程序清单,了解该模块的I/O条件和模块的逻辑结构,主要采用白盒测试的测试用例,辅之以黑盒测试的测试用例,使之对任何合理的输入和不合理的输入,都能鉴别和响应。这要求对所有的局部和全局的数据结构、外部接口和程序代码的关键部分,都要进行桌前检查和严格的代码审查。在单元测试中进行的测试工作需要在五个方面对所测模块进行检查。模块接口测试局部数据结构测试路径测试错误处理测试边界测试4.3本章小结由于时间和精力的有限,在这里所作的测试没有做到面面俱到,但是对于一些关键的环节的测试还是比较成功的,也找到了一些错误,主要是数据库表的属性设计与前台页面的冲突,这些错误很多都是由于粗心而造成的,例如在用户信息表中,在职称的属性设置成了非空,而在页面代码中并没有要求一定要非空,这样在输入空值就会造成冲突。PAGE结论通过做这个系统,也让我对JAVA这门语言和JSP对数据库的操作有了更深入的了解,而且提高自己的独立开发的能力,对软件开发的流程,思路也有了更深的认识。我所作的系统,页面简洁紧凑,便于用户的操作;包含了公司对员工、部门、职位等信息的管理,而且可以完成工作文件的下发与上交,也给公司内部员工一个交流的空间。当然,由于是第一次自己做系统,没有经验对于一些页面的理解不够透彻,数据库效率也有待提高,整个系统的界面也需要改善,但是在以后的工作中我会不断进步的。参考文献Addison-Wesley,Fisher.PetriNet-basedModelingofOfficeAutomationWorkflow[M].USA:InformationTechnology,2003:22-36.R.H.Irving,Computer&IndustrialEngineeringVolume:31[J].InformationTechnology.1996,12(3):41-43.罗骏,何羽.SQL实用简明教程[M].北京:清华大学出版社,2004:23-55.宋昆,李严.SQLServer数据库开发实例解析[M].北京:机械工业出版社,2006:34-65.RobertC.Martin.TheDataBufferingMethodandApplicationofPowerBuilder[J].InformationTechnology.2001,21(6):45-50.陈威,白伟明,李楠.JSP工程应用与项目实践[M].北京:机械工业出版,2005:101-123.萧仁惠.JDBC数据库程序设计[M].北京:中国铁道出版社,2004:23-67.林上杰,林康司.JSP2.0技术手册[M].北京:电子工业出版社,2004:12-55.孙鑫.JavaWeb开发详解:XML+XSLT+Servlet+JSP深入剖析与实例应用[M].

温馨提示

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

评论

0/150

提交评论