• 1.46 MB
  • 2022-04-22 13:51:18 发布

考勤管理系统设计与实现毕业论文.doc

  • 37页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'考勤管理系统设计与实现毕业论文目录摘要I1绪论11.1引言11.2开发背景12开发工具简介32.1JSP简介32.2SQLserver2000简介32.3Tomcat应用服务器简介43系统分析63.1项目概述及基本要求63.2可行性分析63.2.1技术可行性63.2.2经济可行性63.2.3运行可行性63.3功能需求73.4性能需求74总体设计84.1系统目标设计和流程设计84.2系统功能模块设计95数据库设计115.1数据库概念结构设计115.2数据库逻辑结构设计135.3数据库物理结构设计176系统详细设计186.1管理员登录界面设计186.2管理员主界面设计18 6.3消息管理模块设计196.3.1添加消息界面设计196.3.2查询消息界面设计206.4员工管理模块设计206.5考勤时间管理模块设计216.6请假管理模块设计216.7员工登录界面设计226.7.1员工考勤界面设计226.7.2员工考勤时间管理界面设计236.7.3员工个人资料界面设计236.8月统计报表界面设计247系统测试257.1概述257.2界面测试257.3功能测试257.4测试结论268结论27致谢28参考文献29附录30 建驰贸易有限公司考勤管理系统设计与实现摘要随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。员工考勤信息管理是企业信息管理的重要部分,面对大量的企业考勤信息,采用人力处理将浪费大量的时间、人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的员工考勤管理软件进行自动化处理具有较大的社会现实意义。同时,人事考勤管理系统是一切应用系统的典范,它具有一切应用系统的特征,系统结构与现实生活紧密结合,具体直观,开发应用简单,不失一般性。企业考勤管理系统的特点是从企业考勤管理的角度出发,用集中的数据库将几乎所有与考勤相关的数据统一管理起来,形成了集成的信息源。友好的用户界面,强有力的报表生成工具、分析工具和信息的共享使得企业考勤管理人员得以摆脱繁重的日常工作,集中精力从战略的角度来考虑企业考勤规划和政策。论文主要介绍了系统的分析,设计和开发的全部过程。运用数据流图,ER图,程序流程图等对系统的设计过程进行详细的说明。全文共分为绪论、需求分析、总体设计、数据库设计、详细设计、测试系统、结论七部分。系统采用开发工具选择JAVA语言,Jsp,后台数据库选用SQLServer2000。关键词:考勤管理系统,JSP,JAVA,SQLServer2000数据库I 1绪论1.1引言我国的计算机应用于企业管理,只是在70年代末期以后才逐渐开展起来的。目前,计算机辅助管理已在我国的各行各业得到了广泛地应用,但总的来说,计算机在我国管理中的应用,还处于初级阶段,尽管近两年发展较快,但还需要不断地探索和研究。尤其是计算机辅助考勤管理仅是近几年才在我国得到普及和发展,而在许多发达国家计算机辅助考勤管理已十分普及。随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。建设一个科学高效的考勤管理系统是解决这一问题的必由之路。考勤管理作为企业内部的一种管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,日常的考勤工作。我国中小企业信息化水平一直处在比较初级的阶段,有关统计表明,真正具备计算机信息化比较高应用水平的企业在全国1000多万中小企业中所占的比例还不足10%。然而,随着我国市场经济的不断成熟,企业的竞争也在不断的加剧,同时企业组织管理观念的变革以及业务流程标准化也在不断完善,中小企业信息化建设的热情近几年来有了显著的提高。因此开发一个高质量的考勤工资系统进行企业管理尤为重要。伴随着计算机技术在各行各业日益广泛和深入的应用,企业对员工的考勤管理不在像过去一样靠手工去做,在一些稍具规模的企事业单位内考勤也开始信息化。考勤规则的灵活定义,提供和多种考勤机的接口,并可以手工录入考勤记录。本系统就是为了适应这种要求而设计的。集信息的显示、输入、修改、删除、查询等各种处理为一体,信息维护起来非常方便。大大减少了公司的人力和物力,为公司的考勤以及工资的发放带来很大的便利。1.2开发背景随着计算机技术的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。同时,以计算机为基础的各种软件也渐渐走入规模不同的各种企业单位中。企业在对竞争日趋强烈的现代社会在不断提高自身产品质量的同时,对员工的要求也逐渐提高,考勤管理也就成为了一个大众化的课题。企业考勤管理系统是为了解决员工考勤管理34 的而设计的,目的是建立一个能够初步实现企业考勤管理系统的智能化管理,提高考勤管理效率,工作人员能够在各个岗位上的工作状态得到及时的反馈,而系统所需的工作人员的数量少,效率高。企业考勤管理系统是一个企事业单位不可缺少的一部分,它的内容对于企业的决策者和管理者来说都是至关重要的,因此,企业考勤管理系统应该能够为用户提供充足人事管理的信息和快捷的管理查询手段,但一直以来人们使用传统的人工方式管理员工的上下班等信息,这种管理方式存在着许多缺点,诸如效率低,保密性差等,而且时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学不断发展,其强大的功能已经被人们深刻认识,它已经进入了人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对企业考勤信息进行管理,具有着人工管理无法比拟的优点,它检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,可减少更多的人力物力,这些都能够极大地提高企业的考勤管理效率,也是企业考勤管理科学化、正规化,与世界接轨的重要条件.因此,开发一个企业考勤管理系统是很有必要的,具有其特有的技术意义和管理意义。34 2开发工具简介2.1JSP简介JSP技术使用java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。  Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与JavaServlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。  JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。2.2SQLserver2000简介MicrosoftSQLServer2000是由Microsoft公司开发的,简称SQLServer,由一系列相互协作的组件构成,能满足最大的Web站点和企业数据处理系统存储和分析数据的需求。SQLServer2000数据库引擎提供完整的XML支持。它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQLServer2000程序设计模型与WindowsDNA构架集成,用以开发Web应用程序,并且SQLServer2000支持EnglishQuery和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。同一个数据库引擎可以在不同的平台上使用,从运行MicrosoftWindows9834 的便携式电脑,到运行MicrosoftWindows2000数据中心版的大型多处理器服务器。SQLServer2000企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别。SQLServer2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQLServer2000分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是SQLServer2000数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。SQLServer2000中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQLServer的过程。SQLServer2000还支持基于标准的、与WindowsDNA集成的程序设计模型,使SQLServer数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付SQLServer应用程序,使学生只需最少的安装和管理开销即可实现这些应用程序。2.3Tomcat应用服务器简介目前支持JSP的应用服务器是较多的,Tomcat是其中较为流行的一个Web服务器,被JavaWorld杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。Tomcat是一个免费的开源的Serlvet容器,在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的JSP时,通常第一次会很慢,因为Tomcat要将JSP转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:Manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于FTP,你可以在远程通过Web部署和撤销应用,当然本地也可以。34 基于Tomcat的开发其实主要是JSP和Servlet的开发,开发JSP和Servlet非常简单,你可以用普通的文本编辑器或者IDE,然后将其打包成WAR即可。我们这里要提到另外一个工具Ant,Ant也是Jakarta中的一个子项目,它所实现的功能类似于Unix中的make.你需要写一个build.xml文件,然后运行Ant就可以完成xml文件中定义的工作,这个工具对于一个大的应用来说非常好,我们只需在xml中写很少的东西就可以将其编译并打包成WAR。事实上,在很多应用服务器的发布中都包含了Ant。另外,在JSP1.2中,可以利用标签库实现Java代码与Html文件的分离,使JSP的维护更方便。34 3系统分析3.1项目概述及基本要求企业考勤管理系统是一个企事业单位不可缺少的一部分,它的内容对于企业的决策者和管理者来说都是至关重要的,因此,企业考勤管理系统应该能够为用户提供充足人事管理的信息和快捷的管理查询手段,但一直以来人们使用传统的人工方式管理员工的上下班等信息,这种管理方式存在着许多缺点,诸如效率低,保密性差等,而且时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。因此,开发一个企业考勤管理系统是很有必要的,具有其特有的技术意义和管理意义。3.2可行性分析3.2.1技术可行性根据新系统目标来衡量所需的技术是否具备,一般可从硬件、软件的性能要求、环境条件、技术人员水平和数量等方面去考虑和分析,其中开发人员的技术力量应首先考虑能力与水平,并考虑近期内可以培养和发展的技术人员。3.2.2经济可行性该系统可以利用学校的现有设备,不必添加其他的硬件设施,成本低廉,而且使用本系统可以节省时间,减少人工支出,提高工作效率。根据经验算法,而同时又减少了数据的流通环节,不必要花费那么多的时间,也就是说最重要的是就是提高了效率,而又保证了各项数据的准确性,也避免了工作人员的流动造成的收据丢失等问题,适应了当前的发展形式。3.2.3运行可行性对新系统运行后给现行系统带来的影响(包括组织机构、管理方式、工作环境等)和后果进行估计和评价。同时还应考虑现有管理人员的培训、补充,分析在给定时间里能否完成预定的系统开发任务等。34 按上述三方面进行可行性分析、研究后,我们认为该项目是可行的。3.3功能需求该系统主要分为五大功能:员工管理,消息管理,考勤时间管理,请假、出勤,加班管理。员工信息管理功能模块包括新增员工的信息,修改员工信息,查询员工信息。该功能模块是对系统的初始化,对员工有基本信息进行管理和维护。考虑到单位人较多,设置了员工基本信息查询,操作人员可以按员工编号、姓名和部门进行查询,并对查询结果进行维护,从面减少了操作人员的工作强度。该模块的主要功能是对该单位的员工的基本信息进行管理,并能够对员工的基本信息进行查询,便于修改和删除。员工考勤管理系统模块主要包括考勤时间管理、加班、出差、请假4个功能模块。考勤是对员工的每日工作情况进行记录,到月底进行汇总,统计员工的考勤信息,得到员工本月的工作出勤情况。(1)考勤时间根据该单位的需求,对员工的正常考勤(迟到和早退)进行每日统计,并输入到系统中。系统根据该员工的基本工资计算日平均工资,并计算相应的扣款。(2)请假管理异常出勤是对员工的请假进行管理,即对病假和事假进行管理。在工资汇总阶段,系统对员工的请假天数进行统计,扣除员工该月请假的天数。(3)加班管理加班管理功能模块是针对单位的日常加班设置的,包括加班时间,加班人员信息,2个功能。该功能模块能够设置加班的项目名称和加班费(相对平时工作日工资),输入员工的加班数据到加班表中。(4)出差管理记录号、员工、出差起始时间/结束时间和具体描述。3.4性能需求一般的性能需求是指相互消息传递顺利,分析正确,界面友好,运行时间满足使用需要,安全性得到保证。在开发系统的每个阶段,均需要考虑彼此间的认证与授权。尤其是认证,简单地说就是确定谁是特定用户,并针对安全源验证该用户的身份。在处理完识别用户的方法之后,必须利用一种方法以向用户授权,从而能够使用系统的特定功能。也就是说,需要一种方法来决定允许特定用户进行什么样的操作。34 4总体设计4.1系统目标设计和流程设计公司企业考勤管理系统管理能够对企业职员的出勤情况进行综合有效的管理,通过刷考勤记录管理,形成考勤信息功能,请假信息管理,加班信息管理,出差信息管理,系统设置等几个功能模块实现对职员信息、职员上下班出勤情况、请假、出差、加班等信息的查询、增加、修改、删除功能,从而达到对企业出勤情况能够高效、低耗地记录和管理。用户以不同的身份登录页面login.jsp。如果以管理员的身份登录,则被系统引至用户管理员页面index.jsp,进入此页面后可发布所有的消息、添加员工、查询、考勤时间查看、请假、出差、加班等。其管理员进入的流程图如图4-1所示:管理员登录用户名、密码验证否消息发布、添加员工、查询、考勤时间查看、请假、出差、加班是退出图4-1管理员操作流程图若用户是普通用户,则登录系统后,被引导至员工个人信息页面。该页面是整管理系统中权限最小的一个,只能浏览个人信息,查看考勤记录,相看公司相关制度、相关的消息等。其员工进入页面的流程图如图4-2所示:34 员工登录用户名、密码验证否是查看考勤、浏览个人信息、查看消息等退出图4-2员工操作流程图4.2系统功能模块设计模块化是指解决一个复杂问题时自上项下逐层把系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。为了降低系统和复杂性,提高可读性、可维护性,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,即尽量做到提高模块的独立,为设计高质量的系统结构奠定基础。系统模块结构设计的任务是划分子系统,然后确定子系统的模块结构,并画出模块结构图如图4-3。在这个过程中必须考虑以下几个问题:(1)如何将一个系统划分成多个子系统。(2)每个子系统如何划分成多个模块。34 建驰贸易公司考勤管理系统管理员员工消息查询考勤查询加班管理出差管理请假管理员工管理消息管理考勤时间管理个人资料图4-3系统模块划分图(1)管理员管理模块该模块负责添加员工相关信息、消息发布、修改员工的相关信息、浏览信息、添加信息,查看考勤记录、请假、加班、出差等。该模块是模块中权限最大、功能最完善的一个模块。(2)员工管理模块该模块主要功能包括查看公司通知、修改个人资料、浏览考勤信息、查看公司的有关管理制度等。本系统,方便更多的用户为作者提出宝贵的意见和建议,更加有利于作者了解用户的需求,开发出符合用户需求的系统。34 5数据库设计数据库结构设计的好坏直接影响到信息管理系统的效率和最终的实现效果。合理地设计数据库结构可以提高数据库存储效率,保证数据的完整和统一性。数据库设计一般包括以下几个步骤:(1)数据库概念结构设计。(2)数据库逻辑结构分析。(3)数据库物理结构设计。根据上面的需求分析,总共需要6个工作表的数据支持:出勤记录表、请假记录表、加班记录表、出差记录表、员工基本信息表,消息记录表。5.1数据库概念结构设计1、员工信息实体图对象:员工,员工的属性如图5-1所示:员工身份证号码姓名性别籍贯员工类型员工编号年龄联系电话职务图5-1员工信息实体图2、考勤信息实体图对象:考勤,考勤的属性如图5-2所示:34 考勤记录员工编号上班时间考勤时间状态考勤编号图5-2出勤记录实体图3、请假信息实体图对象:请假,请假的属性如图5-3所示:请假信息请假编号员工编号请假开始时间请假结束时间请假原因图5-3请假实体图4、加班信息实体图对象:加班信息,加班信息的属性如图5-4所示:加班信息员工编号加班编号加班开始时间加班结束时间部门图5-4加班实体图34 5、出差信息实体图对象:出差信息,出差信息的属性如图5-5所示:出差信息员工编号出差编号出差开始时间出差结束时间部门图5-5出差实体图6、消息信息实体图对象:消息信息,消息信息的属性如图5-6所示:消息信息员工编号消息编号消息标题消息内容部门图5-6消息实体图5.2数据库逻辑结构设计逻辑结构设计是数据库设计的第二个阶段,这个阶段就是要根据已经建立的概念数据模型,以及所采用的某个数据库管理系统软件的数据模型特征,按照一定的转换规则,把概念模型转换为这个数据库管理系统所能够接受的逻辑数据模型。34 1、逻辑数据模型是用户通过数据库管理系统看到的现实世界,它描述了数据库数据的整体结构。从理论上讲,实际逻辑结构应该选择最适合于描述与表达相应概念结构的数据模型,然后对支持这种数据模型的各种DBMS进行比较,综合考虑性能、价格等各种因素,从中选出最合适的DBMS。本系统选择的DBMS是SQLServer2000,根据此产品设计逻辑结构分了以下三步进行:(1)将概念结构转化为一般的关系模型。(2)将转化来的关系模型向SQLServer2000支持的数据模型转换。(3)对数据模型进行优化。2、并对数据模型进行适当的修改、调整进行以下优化:(1)确定数据依赖。(2)对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。(3)按照数据依赖的理论对关系模式逐一进行分析,考查是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。3、通过进一步的分析得到如下关系模式:员工信息表:(员工编号,身份证号码,姓名,性别,出生日期,籍贯,联系方式);考勤信息表:(考勤编号,上班时间,考勤时间,状态,员工编号);加班信息表:(加班编号,员工编号,加班开始时间,结束时间,部门);出差信息表:(出差编号,员工编号,出差开始时间,结束时间,部门);请假信息表:(请假编号,员工编号,请假时间,结束时间,请假原因);消息信息表:(消息编号,员工编号,消息标题,消息内容,部门);通过对E-R图和关系模式的分析得到如下表:考勤管理记录表,请假记录表,加班记录表,出差记录表,员工基本信息表,消息记录表。(1)考勤管理记录表考勤管理记录表主要包括:考勤编号、员工编号、员工姓名、员工上班时间、员工考勤时间,员工状态表示员工是否迟到。它们的基本属性如表5-1所示。设置考勤编号为主键。表5-1Attendance考勤记录表列名数据类型可否为空ID自动编号NOTNULL考勤编号文本(6)NOTNULL员工编号文本(6)NOTNULL状态文本(1)NULL上班时间日期NULL考勤时间日期NULL(2)请假记录表34 请假记录表主要包括:请假编号、员工编号、员工请假开始时间、员工请假结束时间,员工请假原因。它们的基本属性如表5-2所示。设置请假编号为主键。表5-2Leave请假记录表列名数据类型可否为空ID自动编号NOTNULL请假编号文本(6)NOTNULL员工编号文本(6)NOTNULL开始时间日期NOTNULL结束时间日期NOTNULL请假事由文本(50)NOTNULL(1)加班记录表加班记录表主要包括:加班编号、员工编号、员工加班开始时间、员工加班结束时间、员工加班日期、员工所属部门。它们的基本属性如表5-3所示。设置加班编号为主键。表5-3OverTime加班记录表列名数据类型可否为空ID自动编号NOTNULL加班编号文本(6)NOTNULL员工编号文本(6)NOTNULL加班开始时间日期NOTNULL加班日期日期NOTNULL加班结束时间日期日期部门文本(10)NOTNULL职务文本(5)NOTNULL(2)出差记录表出差记录表主要包括:出差编号、员工编号、员工出差开始时间、员工出差结束时间、员工所属部门。它们的基本属性如表5-4所示。设置出差编号为主键。34 表5-4Errand出差记录表列名数据类型可否为空ID自动编号NOTNULL出差编号文本(6)NOTNULL员工编号文本(6)NOTNULL出差开始时间日期NOTNULL出差结束时间日期NOTNULL部门文本(10)NOTNULL职务文本(5)NOTNULL(1)员工记录表员工记录表主要包括:员工编号、员工籍贯、员工姓名、员工性别、员工所在部门、员工电话、员工身份证号码、员工所在职务。它们的基本属性如表5-5所示。设置员工编号为主键。表5-5Person员工基本信息表列名数据类型可否为空员工编号文本(6)NOTNULL员工籍贯文本(4)NOTNULL员工姓名文本(6)NULL性别文本(1)NOTNULL部门文本(3)NULL职位文本(3)NULL联系电话文本(12)NULL身份证号码文本(20)NULL(2)消息记录表消息记录表主要包括:消息编号、员工编号、消息标题、消息内容,消息发送的部门。它们的基本属性如表5-6所示。设置消息编号为主键。表5-6Idea消息记录表列名数据类型可否为空ID自动编号NOTNULL消息编号文本(6)NOTNULL员工编号文本(6)NOTNULL消息内容文本(50)NOTNULL部门文本(6)NOTNULL34 5.3数据库物理结构设计数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。物理结构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个系统的性能。因此在确定数据库的存储结构和存取方法之前,对数据库系统所支持的事务要进行仔细分析,获得优化数据库物理设计的参数。物理结构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个系统的性能。因此在确定数据库的存储结构和存取方法之前,对数据库系统所支持的事务要进行仔细分析,获得优化数据库物理设计的参数。34 6系统详细设计6.1管理员登录界面设计依据需求分析,启动系统时,最先出现的就是“登录”界面,如图6-1所示,用户登录可作为独立窗体,当用户登录时,首先出现的是一个登录页面,只有输入正确的管理员姓名与密码时,才能进入考勤系统。图6-1登录界面6.2管理员主界面设计考勤管理系统主界面的设计,是对用户对系统不同操作功能的分类,将相同的操作放在同一个菜单中,将另外相同的操作放在另外一个菜单中。不同的权限的用户有不同的操作范围,最高权限的用户有最高的使用权限,将获得全部的操作。其他低权限的用户将获得部分系统操作的功能,其它的将灰色显示,表示用户不可用。如图6-2所示。将系统的主界面设计为六个主菜单:菜单一为员工管理,包含二个子菜单为员工查询、添加员工信息。菜单二为消息管理,包含三个子菜单为消息查询、消息发送、收件信息查看,消息信息列表。考勤时间管理,请假管理,出差管理,加班管理,分别是对员工状态的记录。34 图6-2管理员主界面6.3消息管理模块设计6.3.1添加消息界面设计添加消息界面的设计,是用于管理员或者领导给本系统的所有用户发布公司消息,主要添加内容有:消息发送的标题主要内容,要阅读的部门,接受者则是要发送的对象主要针对的是一个部门。6-3添加消息界面设计34 6.3.2查询消息界面设计查询消息界面的设计,是用于所有用户查看公司消息,用户可以对消息查看或者进行删除,根据用户所输入的条件到数据库里对应的查询,系统将要查询的内容全部显示出来,如图6-4所示。图6-4查询消息界面设计6.4员工管理模块设计员工管理模块包括添加员工及查询员工,添加员工用于领导给本系统添加员工信息。根据输入的内容提交时判断是否输入内容正确是就进入添加成功,系统所作的功能就是判断员工编号,权限,密码,确定密码,姓名,性别,部门是否为空,数据库中的用户帐户是否有重复的数据是否有存在一样的,如果有提示不能添加,或则直接插入,如图6-5所示。34 图6-5员工管理模块设计6.5考勤时间管理模块设计考勤时间管理模块中管理员具有查询所用员工考勤的详细资料信息,而普通员工只具有查询自己的信息功能操作,如图6-6所示。图6-6考勤时间管理模块设计6.6请假管理模块设计请假管理模块主要是对员工的请假的类型进行管理,如图6-7。主要包括请假日期,请假天数,请假原因。34 图6-7请假管理模块设计6.7员工登录界面设计6.7.1员工考勤界面设计考勤管理系统主界面的设计,是对用户对系统不同操作功能的分类,将相同的操作放在同一个菜单中,将另外相同的操作放在另外一个菜单中。如图6-8所示。图6-8员工考勤界面设计34 6.7.2员工考勤时间管理界面设计员工考勤时间管理主要是用于查询员工考勤信息,与管理员的区别在于只可以查看不可以编辑。如图6-9所示。图6-9员工考勤时间管理界面设计6.7.3员工个人资料界面设计员工个人资料主要用于员工查询自己的基本信息,如图6-10所示。图6-10员工个人资料界面设计34 6.8月统计报表界面设计我们可以通过一些条件的选择,如进行加班,请假,出差的选择;月份、部门或员工的选择,或者进行全部选择来实现月统计报表的功能。这些信息主要包括工号、姓名、部门、日期、类型和备注,方便管理人员统计员工一个月的出勤情况,如图6-11所示。图6-11月统计报表界面设计34 7系统测试7.1概述系统测试报告对于今后对软件的功能的加强,不足之处的弥补等都起着十分重要提纲作用。另外,它还有利于我们今后软件开发管理者管理原程序,并根据测试提供的数据和结果,分析原代码,掌握各函数的功能和局限性,在测试阶段测试人员努力设计出一系列测试方案,目的却是为了“破坏”已经建造好的软件系统——竭力证明程序中有错误不能按照预定要求正确工作。7.2界面测试很多人认为这是测试中最不重要的部分,但是恰恰相反界面测试是相当重要的确。方法上可以根据设计文档,然后根据这个可以页面人员可以生成静态的HTML,CSS等甚至生成几套不用的方案来进行。主要包括以下几个方面的内容:站点地图和导航条位置、是否合理、是否可以导航等内容布局布局是否合理,是否正确背景/色调是否正确、美观,是否符合用户需求;页面在窗口中的显示是否正确、美观(在调整浏览器窗口大小时,屏幕刷新是否正确)表单样式大小,格式,是否对提交数据进行验证(如果在页面部分进行验证的话)等连接连接的形式,位置,是否易于理解等。测试技术:结合兼容性测试对不用分辨率下页面显示效果,如果有影响则提出解决方案。可以结合数据定义文档查看表单项的内容,长度等信息。界面测试要素:符合标准和规范,灵活性,正确性,直观性,舒适性,实用性,一致性。7.3功能测试对功能测试是测试中的重点,主要包括一下几个方面的内容:连接这个连接和界面测试中的连接不同那里注重的是连接方式和位置,如是图像还是文字放置的位置等,还是其他的方式。这里的连接注重功能。如是否有连接,连接的是否是说明的位置等。34 表单提交应当模拟用户提交,验证是否完成功能,如注册信息,要测试这些程序,需要验证服务器能正确保存这些数据,而且后台运行的程序能正确解释和使用这些信息。还有数据正确性验证,异常处理等,最好结合易用性要求等。B/S结构实现的功能可能主要的就在这里,提交数据,处理数据等如果有固定的操作流程可以考虑自动化测试工具的录制功能,编写可重复使用的脚本代码,可以在测试、回归测试时运行以便减轻测试人员工作量。白盒测试技术(WhiteBoxTesting)深入到代码一级的测试,使用这种技术发现问题最早,效果也是最好的。该技术主要的特征是测试对象进入了代码内部,根据开发人员对代码和对程序的熟悉程度,对有需要的部分进行在软件编码阶段,开发人员根据自己对代码的理解和接触所进行的软件测试叫做白盒测试。黑盒测试顾名思义就是将被测系统看成一个黑盒,从外界取得输入,然后再输出。整个测试基于需求文档,看是否能满足需求文档中的所有要求。黑盒测试要求测试者在测试时不能使用与被测系统内部结构相关的知识或经验,它适用于对系统的功能进行测试。根据软件产品的功能设计规格,在计算机上进行测试,以证实每个实现了的功能是否符合要求。黑盒测试意味着测试要在软件的接口处进行。就是说,这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求分析规格说明,检查程序的功能是否符合它的功能说明。用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。7.4测试结论经过软件的测试,系统基本上达到需求定义阶段用户所提出的要求。软件基本达到设计要求,软件功能完整,用户界面良好,错误处理正确,且能正确提示错误种类。由于本人理论知识、开发技术、实践经验和现有设备的局限,该系统难免存在许多的不足之处,有待于改进和完善。34 8结论经过几个月来的设计,“考勤管理信息系统”已经基本设计完成。在这几个月的开发过程中,学到了许多有关数据库管理软件设计的东西,也对管理信息系统有了更加全面而深刻的认识。另外,通过对jsp的使用,使我对该软件更加熟悉,学到了很多关于该软件可视化编程的东西,也深深体会到了jsp的功能强大,使用和操作简单。基于该系统的一些设计,下面对系统做一个总结。在整个设计过程中,主要的工作有:系统的权限及安全设计,包括用户权限的个人设定,员工信息、出勤信息、请假信息、加班信息、出差信息、退出系统。模块的页面设计及功能的设计实现。设计中力求界面友好、简洁,易于操作。代码部分尽量避免逻辑错误,尽量使程序具有较好的可读性,有利于其他的设计者对程序的阅读。力求对数据库操作的安全与稳定,尽量避免数据库操作异常,并要保证查询的快速无误。保证程序的逻辑结构,编程时注意多使用通用方法(函数和过程)。当然在设计中还有很多不足的地方。对于这样的软件开发,由于没有相应的切合实际的需求分析,所以在开发过程中遇到了许多棘手的问题。现在开发出来的软件对数据库的操作还不够稳定常会出现非法操作,异常处理做的还很欠缺。程序代码中还存在不少的问题,这些在最后的测试过程中还有必要做较多的修改和完善。在设计时,由于时间和能力有限,还有部分的功能没有实现,希望以后能够慢慢地发现问题,改正问题,力求将系统做得越来越完美,实用。34 致谢此次论文(设计)顺利的完成,首先要感谢我的指导老师金大勇,在他的鼓励与耐心的指导下,我的论文(设计)才能快速、保质量完成。同时,感谢所有关心、支持我的老师、同学,在我系统设计过程中,他们给予了我很大的帮助,在此,衷心的谢谢您们!在本次的毕业论文写作过程中,是很多老师和同学给予了我帮助,系统的学习了计算机专业专业知识,更深程度地了解了计算机在各行各业的应用,也掌握了计算机应用的能力。通过学习,并结合具体实践,我完成了建驰贸易有限公司考勤管理系统的毕业设计,从而让自己在项目规划和计算机程序设计各方面有了进一步的认识和实践经验。34 参考文献[1]郑阿奇.SQLServer实用教程.北京:电子工业出版社,2007.7[2]戴志诚.SQLServer2005数据库系统开发与实例.北京:电子工业出版社,2007.3 [3]陆力斌.企业管理学.哈尔滨:哈尔滨工业大学出版社,2005.[4]郑人杰、殷人昆.实用软件工程.北京:清华大学出版社,1997.4[5]王珊,萨师煊.数据库系统概论.北京:高等教育出版社,2006.5[6]孙更新,吕婕.Java毕业设计指南与项目实践.北京:科学出版社,2008.[7]陈俞.信息系统分析与设计.北京:高等教育出版社,2005.[8]刘志成.SQLServer2005实例教程.北京:电子工业出版社,2008.[9]光军,胡波.JSP应用开发高级教程.北京:北京航空航天出版社,2007.[10]吴葳,洪炳熔.JavaBean高级讲解.北京:上海人民出版社,1997.[11]杨飞辰.基于Web的人事管理系统.北京:科技情报开发与经济出版社,2005.[12]苗春义.Java项目开发全程实录.北京:清华大学出版社,2008.6[13]潘浩,李芙玲.Java程序设计.北京:北京交通大学出版社,2005.1134 附录1登录界面代码:企业考勤管理

欢迎进入考勤管理系统!//转页到index.jsp页面   用户名:密码:

2.检查密码是否正确:<%@pagecontentType="text/html"pageEncoding="UTF-8"%>JSPPage34 <%Stringname=request.getParameter("name");Stringpassword=request.getParameter("number");if(name.equals("shenyan")||password.equals("08260021")){//检查管理员姓名与密码是否正确%>//正确,跳转到考勤页面<%}else{%>//不正确,返回到登陆页面<%}%>3.按员工编号考勤:输入员工编号,可以通过调用bean来取得数据库中信息,并显示出来。关键代码如下:<%@pagecontentType="text/html"pageEncoding="UTF-8"%><%@pageimport="tom.jiafei.ConditionQuery"%>根据职工编查询到的考勤记录
34 ConditonQuery.java的部分代码如下:packagetom.jiafei;importjava.sql.*;publicclassConditionQuery{Stringnumber;//员工编号StringBufferqueryResultByNumber;publicConditionQuery(){queryResultByNumber=newStringBuffer();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//建立一个JDBC-ODBC桥接器}catch(ClassNotFoundExceptione){}//捕获建立桥接器时的异常}//privateStringBufferf(Stringcondition){StringBufferstr=newStringBuffer();Connectioncon;Statementsql;ResultSetrs;try{con=DriverManager.getConnection("jdbc:odbc:mymoon","sa","163123");//连接数据库sql=con.createStatement();rs=sql.executeQuery(condition);str.append("");str.append(""+"职工编号");str.append(""+"职工姓名");str.append(""+"所在部门");str.append(""+"性别");str.append(""+"缺勤次数");str.append(""+"请假次数");str.append(""+"出差次数");while(rs.next()){34 str.append("");str.append(""+rs.getString(1)+"");str.append(""+rs.getString(2)+"");str.append(""+rs.getString(3)+"");str.append(""+rs.getString(4)+"");str.append(""+rs.getString(5)+"");str.append(""+rs.getString(6)+"");str.append(""+rs.getString(7)+"");str.append("");}str.append("");con.close();}catch(SQLExceptione){str.append(e);}returnstr;}4.添加职工信息操作此操作用到了addbean和querybean,其中querybean帮助其查询kaoqing表中的记录;而addbean是add.jsp调用它把信息添加到kaoqingbiao中,关键代码如下:add.jsp的部分代码:<%@pageimport="tom.jiafei.QueryBean"%><%@pageimport="tom.jiafei.addBean"%>
输入职工编号:
您的操作结果:

数据库当前的数据记录是:34 Addbean的关键代码:publicStringgetAddMessage(){Stringstr="";Connectioncon;Statementsql;try{con=DriverManager.getConnection("jdbc:odbc:mymoon","sa","163123");StringinsertCondition="insertintokaoqing(职工编号,职工姓名,所在部门,性别,缺勤次数,请假次数,出差次数)"+"values(""+number+"",""+name+"",""+department+"",""+sex+"",""+queq+"",""+qingj+"",""+chuc+"")";sql=con.createStatement();if(number!=null){intm=sql.executeUpdate(insertCondition);if(m!=0){str="对表中添加"+m+"条记录成功";}else{str="添加失败";}}else{str="必须要有员工号";}con.close();}catch(SQLExceptione){str="输入的员工号不允许有重复"+e;}returnstr;}}34'