软件综合课程设计报告题目名称:在线员工信息管理班级:计081-3学生学号:200825501322学生姓名:王绍辉同组学生学号:同组学生姓名:指导老师:毕远伟老师程序成绩:报告成绩:总成绩:优良中及格不及格2012/2/201前言随着网络的发展以及市场竞争的激烈,越多越多的公司注重自己本身的服务,通过提高自身的服务来争抢自身的竞争力。而为提高自身的服务质量,获得良好的口碑,最终获得更大的利润也都有客户服务的问卷调查系统。调查系统已经成为各大网站、公司不可或缺的子系统之一。。1.1项目描述:该项目流程按系统架构、需求分析、数据库设计、编码、测试的流程进行,本系统是一套模拟的网上调查系统,目的是改善传统的调查问卷浪费人力物力财力,调查范围、数量有限的情况。把问卷调查同网络结合在一起,极大的扩展了调查的范围,提高了调查的准确度。1.2开发工具:windows7+myeclips8.5.01+SQLServer2005+tomcat-6.0.351.3开发语言:该项目的开发利用了java语言。Java语言是一个支持网络计算的面向对象程序设计语言。Java语言吸收了Smalltalk语言和C++语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。Java技术Java是由SunMicrosystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Javaapplet)显示了Java的魅力:跨平台、动感的web,internate计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Javaapplet。另一方面,Java技术也不断更新。Java平台由Java虚拟机(JavaVirtualMachine)和Java应用编程接口(ApplicationProgrammingInterface、简称API)构成。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.4,最近版本为Java1.6。Java分为三个体系JavaSE,JavaEE,JavaME。2需求分析一个正规的公司会很关注员工的信息管理,这对公司来说能有条不紊的运行,对员工来说能让员工及时准确的了解自己的情况是很重要的。同时,面对各种不同的信息,需要合理的数据库结构来保存数据信息以及有序合理的程序结构来支持各种数据的执行,使得程序趋近于完美。3系统分析与设计3.1.1功能描述系统开发的总体任务是实现各种信息的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成。本系统分为具有以下功能:管理员:查看调查主题、查看调查主题下题目、查看题目下的选项进行投票查看投票结果普通用户:查看调查主题、查看调查主题下题目、查看题目下的选项进行投票查看投票结果后台登陆:添加投票主题、添加投票题目、添加投票选项数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。数据的输入来源是手工输入。手工输入要通过系统界面上的安排系统具有容错性,并且对操作人员要进行系统的培训。在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。3.1.2数据的完整性与实时性由于保证程序的正常执行,所以要对数据输入时,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。从而避免系统输入的不规范。数据的共享与独立性从系统开发的角度上看,共享会给设计和调试带来困难。因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换。这样,也能提供系统的强壮性。3.2系统流程图用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。仔细分析将得到如下图所示的本系统所处理的数据流程。图1系统流程图普通用户:管理员登陆:后台登陆登陆管理员普通用户3.3数据库设计3.3.1E-R图设计一个好的的E-R图设计对数据结构的设计很重要,ER图提供了表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。3.3.2数据库结构描述良好的数据库结构,能够方面程序的设计,根据将E-R图进行模型转换后得到的结果,进行数据库结构的设计,如下表:表1用户信息数据表字段名称数据类型说明id自动编号userName文本用户名password文本密码表2投票主题表.字段名称数据类型说明id自动编号addUser文本添加人addDate文本创建时间addIp文本添加者IPtitle文本题目introduce文本主题介绍isShow布尔是否显示表3投票题目表字段名称数据类型说明id自动编号addUser整型外键,报销单号addDate文本审查人员工号addIp文本提交时间themeId整型外键,主题IDtitle文本题目orderNoisShow布尔是否显示subjectType整型题目类型totalVotes整型总投票表4选项表字段名称数据类型说明id自动编号addUser整型添加人addDate文本添加时间addIp文本添加人iptitle文本选项题目themeId文本外键主题编号subjectid整型外键题目编号ordernoisShow布尔是否显示votes整型投票数4系统实现4.1模块实现该系统共分为3大模块:数据库的创建于连接、页面的制作以及内部实现方法。这3大模块之间相互关联,一次在编写的时候一定要注意格式的规范化以及相互之间数据的共享的交流。数据库的创建与连接模块:5总结与感想刚开始做课程时,在外全天学习日语,只能晚上回到宿舍之后自己看书、问同学来做,因为没网所以只能自己琢磨的做。刚开始很辛苦,不过苦中有乐,慢慢的有了思路和想法,虽然这个系统简单,但是能做出来心里还是挺高兴的。在开发这套系统时,javaweb并不是很熟练,只能照着书上的例子慢慢的练习,在有不懂的问题就上网去查找,通过不断的练习终于掌握了,就开始开发这套系统,其中碰到了许多问题,也询问别的同学或老师,掌握了许多窍门。数据库那部分,又重新看了遍数据库,又复习并学到了很多有用的东西。刚开始配置tomcat的时候看书按着做,自己配置出现了错误,只能问同学,慢慢的终于做好了。本来软件工程这可一知半解,在这次的课程设计对很多苦涩的东西有了深层次了理解,感谢老师,感谢这次课程设计。我采用的时页面传递pageId和ActionId的方式在Servlet中进行控制(读取xml的配置文件)调用哪一个action.java类,action调用logic类中的业务逻辑类,业务逻辑类通过类似spring的技术,即实现一个DatabaseFactory的类,根据不同的业务逻辑,调用相对应的数据库接口.经过编写航空订票系统发现如此庞大的系统只靠我们现在所拥有的知识是很难完成的,在编写的过程中发现自己的有很多,在SQL语句的使用方法中有很多的不足,但是在老师和同学的帮助下慢慢的填补自己在知识上的漏洞,在数学算法上了解了一些算法,在编写的过程中了解到不能按照自己的算法来实现所有的存储过程,因为电脑的资源是有限的,意识道自己的想法是有一定的局限性的,通过这次试验学到了团队合作的重要性以及SQL语言的知识。经过这次课设,我总结如下1、注重理论知识和动手能力的相辅相成。平时要多动脑和多动手,多上机操作实践。2、平时多浏览资料。我们所学的专业知识更新很快,这就要求我们能与时俱进,图书馆里有大量的参考书,另外网上有着更多、更新的知识宝库。如果能很好的利用这两点,对自己的进步会有很大的帮助3、虚心请教,当遇到不懂的问题自己想了很多办法却无法解决时,可以请教一些其他的同学或老师,这可以很快的解决问题。在这次课设中,提高和完善所学知识的同时也体会到了团队精神的力量,收获丰富,受益良多;从中学到的知识和吸取的经验教训将会使我的知识很好的加深。没有课设,我们就不可能真正的学好、掌握知识。语言并不重要毕竟它仅仅是工具,用好一个工具并不是一件值得为外人道的事情,主要是了解学习思想。古语说的好:学无止境啊!以后我将更加努力争取取得更好的成绩。我很庆幸在老师和同学的帮助下我顺利地完成了这次数据库课程设计。在这里,我向给予我许多帮助的老师、同学真诚的说声:“谢谢你们!”。参考文献[1]沈应奎曾玲.javaweb数据库系统应用开发与实例:北京.人民邮电出版社2008.2[2]王珊等.数据库系统概论(第四版).北京:高等教育出版社,2006.6部分代码和样式: