• 2.57 MB
  • 2022-04-22 13:51:17 发布

考勤管理系统毕业论文.doc

  • 34页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'考勤管理系统毕业论文目录第一章概述…………………………………………………………………………61.1引言……………………………………………………………………………61.2开发背景及意义………………………………………………………………71.3相关技术介绍………………………………………………………………7第二章系统需求分析……………………………………………………………92.1可行性分析…………………………………………………………………92.2功能需求……………………………………………………………………102.3数据库需求…………………………………………………………………11第三章总体设计…………………………………………………………………113.1系统目标设计………………………………………………………………113.2系统功能模块设计…………………………………………………………123.3数据流程设计………………………………………………………………12第四章数据库设计………………………………………………………………134.1数据库需求分析……………………………………………………………134.2数据结构设计………………………………………………………………13第五章详细设计…………………………………………………………………165.1登录窗体设计………………………………………………………………165.2系统主菜单窗体设计………………………………………………………165.3员工管理窗体设计…………………………………………………………195.4数据库管理窗体设计………………………………………………………205.5项目管理窗体设计…………………………………………………………215.6IC卡管理窗体设计………………………………………………………225.7考勤机管理窗体设计………………………………………………………225.8打卡数据采集窗体设计……………………………………………………235.9月统计报表窗体设计………………………………………………………235.10退出窗体设计……………………………………………………………2434 第六章系统测试…………………………………………………………………256.1主要测试内容………………………………………………………………256.2测试的项目…………………………………………………………………256.3测试方法……………………………………………………………………256.4测试环境需求………………………………………………………………256.5实际测试……………………………………………………………………26结论………………………………………………………………………………28参考文献…………………………………………………………………………29致谢………………………………………………………………………………30附录………………………………………………………………………………3134 第一章概述1.1引言我国的计算机应用于企业管理,只是在70年代末期以后才逐渐开展起来的。目前,计算机辅助管理已在我国的各行各业得到了广泛地应用,但总的来说,计算机在我国管理中的应用,还处于初级阶段,尽管近两年发展较快,但还需要不断地探索和研究。尤其是计算机辅助考勤管理仅是近几年才在我国得到普及和发展,而在许多发达国家计算机辅助考勤管理已十分普及。随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。建设一个科学高效的信息管理系统是解决这一问题的必由之路。考勤管理作为企业内部的一种管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,日常的考勤工作,如果没有一个完整的管理,后果将不堪设想。34 我国中小企业信息化水平一直处在比较初级的阶段,有关统计表明,真正具备计算机信息化比较高应用水平的企业在全国1000多万中小企业中所占的比例还不足10%。然而,随着我国市场经济的不断成熟,企业的竞争也在不断的加剧,同时企业组织管理观念的变革以及业务流程标准化也在不断完善,中小企业信息化建设的热情近几年来有了显著的提高。因此开发一个高质量的考勤工资系统进行企业管理尤为重要。伴随着计算机技术在各行各业日益广泛和深入的应用,企业对员工的考勤管理不在像过去一样靠手工去做,在一些稍具规模的企事业单位内考勤也开始信息化。考勤规则的灵活定义,提供和多种考勤机的接口,并可以手工录入考勤记录。本系统就是为了适应这种要求而设计的。集信息的显示、输入、修改、删除、查询等各种处理为一体,信息维护起来非常方便。大大减少了公司的人力和物力,为公司的考勤以及工资的发放带来很大的便利。1.2开发背景和意义当今社会,计算机已经十分普及,性能也日趋完善。它已经被应用于许多领域。比如说,小到图书馆的图书管理,超市或网吧的收费管理,KTV的点歌系统,大到航空、铁路的售票,全国人口户籍的管理等等。随着现代科技的进步,用计算机来进行考勤的管理也成为现代化企业运作必不可少的一部分。在过去我们的考勤工作都是人工完成的,不仅浪费了很多的人力跟物力,而且无法保证其准确性和透明度,给企业的管理带来了许多的不便。现在利用计算机来管理我们的考勤工作,大大降低了工作人员的工作量,提高了工作效率,使原本复杂和枯燥无味的工作变得简单而轻松了,而且也实用、安全。计算机技术特别是数据库技术的发展为企业建立管理信息系统,甚至对改变管理思想起着不可估量的作用。实践证明信息技术已在企业的管理层面扮演越来越重要的角色。通过考勤系统我们能很容易地对公司员工的信息有一个基本的了解,可以很方便地知道员工的出勤情况,通过对员工出勤信息的了解,就能计算出员工的实际工资。一切的统计和计算都由计算机代为管理了,考勤信息管理系统对企业的合理化管理起到了很大的作用,它为企业信息化的建设打响了头炮,而企业的信息化建设已成为现代各个企业发展的需要。所以说,考勤管理系统的开发具有非常重要的意义。34 1.3相关技术介绍1.3.1VisualBasic简介最早的VisualBasic版本是由微软公司由1991年推出的VisualBasic1.0。而后1992年推出了2.0版本,1993年推出了3.0版本,1995年推出了4.0版本,1997年和1998年分别推出了5.0和6.0版本,而2000年则推出了VisualBasic.NET版本。目前广泛使用的是VisualBasic6.0,因为它是完全集成化的编程环境,集程序设计、调试和查错等功能于一体,而且加强了对AxtiveX控件的支持,使用VisualBasic6.0不仅可以设计标准的Windows程序,也可以进行数据库的设计和编写多媒体方面的程序,最重要的是使用ActiveX控件和VisualBasicScript还可以编写基于Internet的网络实用程序,为广大用户提供了一个崭新的编程天地。VisualBasic6.0具有易用,通用和开发效率高的特点。随着微软对它不断地改进以及计算机本身性能的提高,使得VisualBasic6.0越来越适合一般的应用程序开发。正如BillGate所说,世界上绝大多数的Windows应用程序是用VisualBasic编写的。在众多的开发工具中,我们为什么要选择VisualBasic6.0呢?因为VB具有众多其它开发工具所没有的优点。具体表现为:(!)开发的高效;(2)语言的高效;(3)编译的高效;(4)执行的高效;(5)维护的高效。VisualBaisic也几大功能特点:(1)面向对象的可视化程序设计方法;(2)事件驱动的编程机制;(3)简单易学的程序设计语言;(4)集成的应用程序开发环境;(5)强大的数据库管理功能。VisualBasic6.0程序设计是一种面向对象的程序设计,它是吸收了软件工程领域有益的概念和有效的方法而发展起来的一种程序设计方法。它集抽象性、封装性、继承性和多态性于一体,可以帮助用户开发出模块化、数据抽象程序高、体现信息隐蔽、可复用、易修改、易扩充的程序。为了运行VisualBasic6.0,对计算机的硬件和软件系统有一定的要求,这些系统要求如下:(1)硬件要求:486DX/66MHz或更高的处理器,或任何运行于MicrosoftWindowsNTWorkstation的Alpha处理器;Windows95至少需要24MB的内存;WindowsNTWorkstation至少需要32MB内存,更高版本如Windows2000/XP则需要大于128MB的内存;200MB以上的磁盘空间;MicrosoftWindows支持的VGA或分辨率更高的显示器;一个CD-ROM驱动器;鼠标、打印机或其他定点设备。(2)软件要求:MicrosoftWindows95或更高版本;MicrosoftInternetExplorer4.01或更新的版本。1.3.2MicrosoftAccess简介MicrosoftAccess2000是一种关系型数据库管理系统(RDBMS)。Access数据库是MicrosoftOffice34 2000套件的Professional版和Developer版的一个组件,不需要单独安装。与其他关系型数据库一样,MSAccess充当“后端”,它的任务是存储数据。除此之外,通过使用MSAccess,用户还可以创建“前端”或一种对用户友好的、颇受欢迎的数据访问方式。Access数据库由七个对象组成:表、查询、窗体、报表、页、宏以及模块。—数据库中的数据主要存储在“表”中;—“查询”帮助用户检索基于某些条件的特定数据;—“窗体”帮助用户创建用于输入、修改和操纵数据的用户界面;—“报表”以某种格式显示一个或多个表中的数据,数据可以直接从表中提取,也可以是字段经过某些计算的结果,报表还提供良好的打印效果;—“宏”和“模块”有用来计算、在应用程序中导航以及打印报表等操作;—“页”有提供给浏览器忠訵eb页的形式查看数据库中的数据。而且它可以在单一的数据库文件中管理所有的信息。在这个文件中,用户可以将自己的数据分别保存在各自独立的存储空间中,这些空间称作表;可以使用联机窗体来查看、添加及更新表中的数据;使用查询来查找并检索所要的数据;也可以使用报表以特定的版面布置来分析及打印数据。如果要保存数据,可以为每一种类型的信息创建一个表。定义好各个表之间的关系,就可以实现将查询、窗体或报表中的多个表中数据合并在一起。如果要搜索并检索符合指定条件的数据,包括来自多个表中的数据,就要创建查询。查询的同时也可以更新或删除多条记录,并对数据执行内嵌或自定义的计算。如果要简单地直接在某个表中查看、输入及更改数据,创建一个窗体。在打开一个窗体时,Microsoft Access 2000将从一个或多个表中检索数据,并使用用户在“窗体向导”选择的版面布局或所创建的版面布局,将窗体显示在屏幕上。如果要分析数据或将数据以特定的方式打印出来,创建一个报表等等。第二章系统需求分析2.1可行性分析2.1.1技术可行性根据新系统目标来衡量所需的技术是否具备,一般可从硬件、软件的性能要求、环境条件、技术人员水平和数量等方面去考虑和分析,其中开发人员的技术力量应首先考虑能力与水平,并考虑近期内可以培养和发展的技术人员。34 2.1.2经济可行性估算新系统的开发费用和今后的运行、维护费用,估计新系统将获得的效益,并将费用与效益进行比较,看是否有利。开发、运行和维护费用:主要包括购买和安装设备的费用:计算机硬件、系统软件、机房、电源、空调等;软件开发费用:若由本单位的技术人员开发,则该项费用可以计入下面的人员费用一项;(1)人员费用:系统开发人员、操作人员和维护人员的工资、培训费用等;由于本项目的特殊性该部分费用可节省。消耗品费用:系统开发所用材料、系统正常运行所用消耗品,例如电费、印纸、盘、开发软件等开支;(2)其它费用:系统的效益可以从经济效益和社会效益两方面考虑。对于公司员工出勤管理系统则应着重分析其经济效益。例如,系统投入运行后可以提供哪些以前无法及时提供的信息,用户查询和使用信息的方便程度提高多少、速度增加了多少,对于管理人员进行决策提供了多少帮助等等,同时可以减少管理人员,从而节省了大量的工资开出。2.1.3运行可行性对新系统运行后给现行系统带来的影响(包括组织机构、管理方式、工作环境等)和后果进行估计和评价。同时还应考虑现有管理人员的培训、补充,分析在给定时间里能否完成预定的系统开发任务等。按上述三方面进行可行性分析、研究后,我们认为该项目是可行的。2.2功能需求该系统主要分为五大功能:系统管理、新增、修改、查询和系统维护。34 员工信息管理功能模块包括新增员工的信息,修改员工信息,查询员工信息。该功能模块是对系统的初始化,对员工有基本信息进行管理和维护。考虑到单位人较多,设置了员工基本信息查询,操作人员可以按员工编号、姓名和部门进行查询,并对查询结果进行维护,从面减少了操作人员的工作强度。该模块的主要功能是对该单位的员工的基本信息进行管理,并能够对员工的基本信息进行查询,便于修改和删除。员工考勤管理系统模块主要包括正常出勤、异常出勤和加班处理3个功能模块。考勤是对员工的每日工作情况进行记录,到月底进行汇总,统计员工的考勤信息,得到员工本月的工作出勤情况。(1)正常出勤:根据该单位的需求,对员工的正常考勤(迟到和早退)进行每日统计,并输入到系统中。系统根据该员工的基本工资计算日平均工资,并计算相应的扣款。(2)异常出勤:异常出勤是对员工的请假进行管理,即对病假和事假进行管理。在工资汇总阶段,系统对员工的请假天数进行统计,扣除员工该月请假的天数。(3)加班处理:加班处理功能模块是针对单位的日常加班设置的,包括加班时间,加班人员信息,加班费设置3个功能。该功能模块能够设置加班的项目名称和加班费(相对平时工作日工资),输入员工的加班数据到加班表中。系统模块主要完成管理员工添加、修改、删除和系统退出。2.3数据库需求2.3.1考勤管理系统所需的数据项和数据结构:(1)出勤记录:记录号、员工、出入情况、出入时间;(2)请假记录:记录号、员工、请假起始时间、假期结束时间、请假缘由。(3)加班记录:记录号、员工、加班时间长度、日期。(4)出差记录:记录号、员工、出差起始时间、出差结束时间、具体描述。(5)月度考核统计:记录号、员工、年月、累计正常工作时间、累计请假时间、累计加班时间、累计出差时间、迟到次数、早退次数、旷工次数。2.3.2所需的外部数据支持:(1)人员信息:员工号、密码、权限、姓名、部门、当前状态等。(2)部门设置:部门编号、名称等。34 第三章总体设计3.1系统目标设计本系统是实现对员工上下班时间的设定,员工出入单位情况的记录,请假、加班、出差情况的记录,还有每个月底进行整个月出勤情况的统计。考勤系统记录了员工上下班的情况,为工资管理直接提供每个月工作时间的统计结果,用以计算工资。同时考勤系统也需要其他系统提供的员工、部门信息。3.2系统功能模块设计考勤管理系统上工下作考班情勤时况统间记计设录置手工加请出补班假差记记记记出录录录勤图3.1系统功能模块图34 3.3数据流程设计员工上下班划卡记录出勤时间员工月度员工出勤记录考勤统计表请假、值班、出差请假、值班、出差请假、值班、各种统计信息出差记录经理审批通过考勤员上下班时间安排上下班管理人员时间安排图3.2系统数据流程图第四章数据库设计4.1数据库需求分析出勤记录:记录号、员工、出入情况、出入时间请假记录:记录号、员工、请假起始时间、假期结束时间、请假缘由。加班记录:记录号、员工、加班时间长度、日期。出差记录:记录号、员工、出差起始时间、出差结束时间、具体描述。月度考核统计:记录号、员工、年月、累计正常工作时间、累计请假时间、累计加班时间、累计出差时间、迟到次数、早退次数、旷工次数。所需的外部数据支持:人员信息:员工号、密码、权限、姓名、部门、当前状态等。部门设置:部门编号、名称等。4.2数据库结构设计根据上面的需求分析,总共需要9个工作表的数据支持:出勤记录表、请假记录表、加班记录表、出差记录表、月度考勤统计记录表、工作时间表、出入情况表、员工基本信息表和部门信息表。这9个表的结构表如14-1~表14-9所示。34 表4-1Attendance出勤记录表列名数据类型可否为空说明ID自动编号NOTNULL记录编号Person文本(6)NOTNULL员工号IN-OUT文本(1)NOTNULL出入情况IO-Time日期NOTNULL出入时间IO-Date日期NOTNULL出入日期表4-2Leave请假记录表列名数据类型可否为空说明ID自动编号NOTNULL记录编号Person文本(6)NOTNULL员工号Start-Time日期NOTNULL假期开始时间End-Time日期NOTNULL假期结束时间Reason文本(50)NOTNULL请假缘由表4-3OverTime加班记录表列名数据类型可否为空说明ID自动编号NOTNULL记录编号Person文本(6)NOTNULL员工号Work-Hours整数NOTNULL加班时间Work-Date日期NOTNULL加班日期表4-4Errand出差记录表列名数据类型可否为空说明ID自动编号NOTNULL记录编号Person文本(6)NOTNULL员工号Start-Time日期NOTNULL出差开始时间End-Time日期NOTNULL出差结束时间Description文本(50)NOTNULL具体描述表4-5Attendance-State月度考勤统计记录表列名数据类型可否为空说明ID自动编号NOTNULL记录编号Year-Month文本(7)NOTNULL统计月份Person文本(6)NOTNULL员工号Work-Hour整数NULL累计工作时间34 Over-Hour整数NULL累计加班时间Leave-Hday整数NULL累计请假时间(半天)Errand-Hday整数NULL累计出差时间(半天)Late-Times整数NULL迟到次数Early-Times整数NULL早退次数Absent-Times整数NULL旷工次数表4-6WorkTime工作时间表列名数据类型可否为空说明StartTimeAM日期NOTNULL上午上班时间EndTimeAM日期NOTNULL上午下班时间StartTimePM日期NOTNULL下午上班时间EndTimePM日期NOTNULL下午下班时间表4-7InOut出入情况表列名数据类型可否为空说明Code文本(1)NOTNULL出入代码Description文本(1)NOTNULL出入描述表4-8Person员工基本信息表列名数据类型可否为空说明ID文本(6)NOTNULL员工标号PassWord文本(50)NOTNULL员工密码Name文本(50)NULL员工姓名Gender文本(1)NOTNULL性别BirthdayNOTNULL生日Department文本(3)NULL部门Job文本(3)NULL职位Edu-level文本(10)NULL教育程度Specialty文本(50)NULL专业Address文本(50)NULL住址Tel文本(20)NULL电话34 Email文本(50)NULLE-mailState文本(1)NULL状态Remark文本(50)NULL备注表4-9Department部门信息表列名数据类型可否为空说明ID文本(3)NOTNULL部门标号Name文本(20)NOTNULL部门名称Manager文本(6)NULL部门经理Intro文本(50)NULL简介第五章详细设计5.1登录窗体设计依据需求分析,启动系统时,最先出现的就是“登录”窗体,如图5.11所示,用户登录可作为独立窗体,名称为frmLogin.该窗体要设置为项目启动窗体,选择“工程”|“工程|属性”命令,在“启动对象”下拉列表框中选择“frmLogin”选项。设计该窗体时应注意密码输入时应显示为“*”,“确定”按钮取名为“cmdOK“。用户单击“确定”按钮进行用户验证。也可以修改口令,新密码需要确认一次,以保安全。也可以点击取消以取消登录。34 图5.1用户登录界面5.2系统主菜单窗体设计输入用户名和密码后,单击“确定”按钮,进入系统主菜单,如图5.21所示。34 图5.2系统主菜单该窗体是一个MDI窗体在“工程”窗口选中“登录”窗体右击在弹出的快捷菜单中选择“添加”|“添加MDI窗体”命令而产生,该项目的大部分都是该MDI窗体的子窗体。系统主菜单在该窗体中设计,通过菜单编辑器将菜单设计好后,编写程序代码,对应的每一个菜单都有一个窗体的调用。5.2.1主菜单设计为数据管理………员工管理………数据库管理………项目管理IC卡管理…………..发新卡考勤机管理…………..考勤机时间设置应用………打卡数据采集……….班次定义……….日常排班……….手工补记……….请假登记……….其他缺席登记报表中心………日动态考勤报表………打卡流水报表………考勤明细报表………考勤月报表退出……….确定……….取消34 5.3员工管理窗体设计员工管理主要是员工的信息进行添加、保存、修改、删除、查询,以及对员工的IC卡进行标记管理。员工的信息主要包含工号、姓名、性别、年龄、部门、职位、备注。如图5.3.1。单击员工管理窗体中的添加可进入员工信息的添加,如图5.3.2.如果操作错误,会弹出提示信息,指导操作人员的添加操作。还有一重要功能就是对员工信息的查询,这主要会在查询窗体中体现。34 图5.3.1员工管理窗体图5.3.2员工的添加34 图5.3.3员工的查询5.4数据库管理窗体设计数据库窗体设计主要与后台数据库相连,主要实现数据库的备份,数据库的初始化,删除过期信息,清空凭单传真压缩数据库以及返回数据库等。图5.4数据库管理窗体34 5.5项目管理窗体设计所谓项目管理,主要是对员工的请假的类型进行管理,如图5.5。主要包括事假、病假和婚假。这是主要的三大请假类型,我们还可以依照实际情况对请假的项目进行添加或删除,比如说员工家里有人故去,可以添加一个丧假类型,在此就不进行演示了,点击“添加”按钮即可实现此功能。图5.5请假项目5.6IC卡管理窗体设计IC卡的管理我们主要实现发放新的IC卡的功能。IC卡主要包含IC卡的代码(默认代码为“liun“),个人代码,状态代码,交易数据,姓名,IC卡校验密码(默认密码为”liunaa”,可自行进行修改,方便记忆)。如图5.6.34 图5.6发新卡5.7考勤机管理窗体设计现在考勤管理系统都是由考勤机对员工的考勤进行登记管理,所以考勤机的时间设置是非常重要的,我们可以通过获取考勤机时间和设置考勤机时间两大途径对考勤机的时间进行设置。其中获取考勤机时间即获取计算机的当前时间,免去了输入时间的繁琐。而设置考勤机时间是由考勤人员手工设置,然后生成的。可见图5.7.图5.7设置考勤机时间34 5.8打卡数据采集窗体设计打卡数据采集主要是员工上、下班时考勤机对员工的打卡的数据进行采集,如图5.8,我们可以单击“采集”按钮对员工的打卡进行数据采集,也可以单击“添加”进行手工添加员工的考勤记录,这主要是特殊情况之下用。图5.8打卡数据采集窗体5.9月统计报表窗体设计如图5.9,我们可以通过一些条件的选择,如进行正常考勤或非正常考勤的选择;月份、部门或员工的选择,或者进行全部选择来实现月统计报表的功能。单击“执行查询”按钮,下面的黄色区域就会自行根据我们选择的条件显示出符合条件的信息。这些信息主要包括工号、姓名、部门、日期、类型和备注。我们也可以单击“打印”按钮对所显示出来的信息进行打印,以存成纸质档案,以备随时查看之用。34 图5.9月统计报表窗体5.10退出窗体设计退出窗体相对来说就比较简单了。主要是提示用户是不是真的要退出,以防止用户不小心点了退出其余并不是想现在退出。如图5.10。图5.10退出窗体其中,应用菜单中的班次定义窗体、日常排班窗体、手工补记窗体、请假登记窗体及其他缺席窗体,还有报表中心菜单中的日动态考勤报表窗体、打卡流水报表窗体、考勤明细报表窗体及考勤月报表窗体就不一一列出,详加叙述了。34 第六章系统测试6.1主要测试内容:本次测试主要针对本次开发的考勤管理信息系统进行系统测试,主要包括功能测试、界面测试、负载测试、文档测试等。6.2测试的项目:l数据管理lIC卡管理l考勤机管理l应用l报表中心l退出6.3测试方法:整个系统测试方法包括功能测试、回归测试、负载测试、文档测试。(1)功能测试在需求规格说明书中描述的所有功能,都将在选定的客户端/服务器配置组合上进行测试。测试中需要考虑正常的功能实现和恶意测试,即使用设计者不期望的数据进行操作。(2)回归测试在测试的过程中发现系统缺陷,应及时修正,每天对系统进行一次回归测试,在修正的程序中对发现的缺陷进行验证,以确保其得以改正。在系统交付前作一次完成的系统回归测试。(3)负载测试负载测试主要测试系统存在大量图书检索情况下,系统的运行情况。负载测试利用自动测试工具开展,选自Mercury公司的LoadRunner实施负载测试。(4)文档测试文档测试主要包括需求文档、设计文档、用户文档测试,测试重点在文档内容的正确性、准确性。主要采用走查的方式进行。6.4测试环境需求:(1)硬件环境l内存:需要至少512MHZ;l配备光驱;l配备条码枪,打印机;34 (2)软件环境服务器l操作系统:Windows2000以上的服务器版本l必装软件:VisualBasic6.0SQLServer2000客户端l操作系统Windows95/98/XPl屏幕分辨率800x600在此,我们不可能将每一个功能的测试都表现出来,下面是IC卡的写卡和员工的添加进行测试。6.5实际测试6.5.1IC卡的写卡测试34 6.5.2员工的添加测试经过测试,发现系统能正常使用,实现所需功能。34 结论经过几个月来的设计,“考勤管理信息系统”已经基本设计完成。在这几个月的开发过程中,学到了许多有关数据库管理软件设计的东西,也对管理信息系统有了更加全面而深刻的认识。另外,通过对VB的使用,使我对该软件更加熟悉,学到了很多关于该软件可视化编程的东西,也深深体会到了VB的功能强大,使用和操作简单。基于该系统的一些设计,下面对系统做一个总结。在整个设计过程中,主要的工作有:·系统的权限及安全设计,包括用户权限的个人设定,密码保护与修改。·员工信息、出勤信息、部门信息、相关查询、密码修改、帮助说明和退出系统。模块的页面设计及功能的设计实现。设计中力求界面友好、简洁,易于操作。代码部分尽量避免逻辑错误,算法设计简单合理,尽量使程序具有较好的可读性,有利于其他的设计者对程序的阅读。·力求对数据库操作的安全与稳定,尽量避免数据库操作异常,并要保证查询的快速无误。·保证程序的逻辑结构,编程时注意多使用通用方法(函数和过程),尝试用通用窗体函数。当然在设计中还有很多不足的地方。对于这样的软件开发,由于没有相应的切合实际的需求分析,所以在开发过程中遇到了许多棘手的问题。现在开发出来的软件对数据库的操作还不够稳定常会出现非法操作,异常处理做的还很欠缺。程序代码中还存在不少的问题,这些在最后的测试过程中还有必要做较多的修改和完善。在设计时,由于时间和能力有限,还有部分的功能没有实现,希望以后能够慢慢地发现问题,改正问题,力求将系统做得越来越完美,实用。34 参考文献[1]刘韬.VisualBasic6.0数据库系统开发实例导航[M].北京:人民邮电出版社.2002[2]罗超理,李万红.管理信息系统原理与应用[M].北京:清华大学出版社.2002[3]艾德才.计算机信息管理基础[M].北京:中国水利水电出版社.2001[4]TimFLee.ImplementMIS[M].北京:北京出版社.2001[5]萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社.2000[6]EfremG.Mallach.DecisionSupportandDataWarehouseSystems[M].北京:电子工业出版社.2001[7]陈利平.数据库原理[M].北京:中国铁道出版社.2007[8]孙家广.软件工程[M].北京:高等教育出版社.2005[12]李禹生,贾瑜.Access2003应用技术[M].北京:中国水利水电出版社.2003附录主程序OptionExplicitConstMDIMsg1="您确定要退出本系统吗?"ConstmStrCollection="打卡数据采集"ConstmStrLeave="请假登记"34 ConstmstrAbsent="其他缺席登记"ConstmMsg2="抱歉,您的权限不够操作该模块!!!""tlbMainConstmClose=5"stbMainConstmstbDate=1ConstmstbTime=2ConstmstbOperator=3ConstmstbLevel=4ConstmstbMsg=5DimmisStartAsBooleanPrivateSubMDIForm_Activate()IfmisStartThenSetMenugLoginGrade=1misStart=FalseEndIfEndSubPrivateSubMDIForm_Load()Me.WindowState=2misStart=TrueEndSubPrivateSubMDIForm_QueryUnload(CancelAsInteger,UnloadModeAsInteger)IfUnloadMode=vbFormControlMenuThenIfMsgBox(MDIMsg1,_vbQuestion+vbYesNo+vbDefaultButton2,_gTitle)=vbNoThenCancel=TrueEndIfEndSubPrivateSubMDIForm_Unload(CancelAsInteger)EndSystemEndSubPrivateSubmnuAppAbsent_Click()IntofrmMaingMAINABSENT34 EndSubPrivateSubmnuAppCollection_Click()IntofrmMaingMAINCOLLECTEndSubPrivateSubIntofrmMain(intMainTypeAsInteger)DimMyfrmMainAsfrmMainSetMyfrmMain=NewfrmMainDimStrAsStringWithMyfrmMain.mMenuIndex=intMainTypeSelectCaseintMainTypeCasegMAINCOLLECTStr=mStrCollectionCasegMAINLEAVEStr=mStrLeaveCasegMAINABSENTStr=mstrAbsentEndSelect.Caption=Str.Show0,MeEndWith"UnloadMyfrmMainEndSubPrivateSubmnuAppDefine_Click()frmShift.ShowvbModalEndSubPrivateSubmnuAppLeave_Click()IntofrmMaingMAINLEAVEEndSubPrivateSubmnuAppPlan_Click()frmPlan.ShowvbModalEndSubPrivateSubmnuATR_Click()DimstrATRAsString*834 DimnRetAsIntegernRet=OpenComm(0)nRet=CardExistIfnRet=0ThenMsgBox"NoCard"ExitSubEndIfnRet=IC_ATR(strATR)IfnRet<>0ThenMsgBox"ErrorReadATR"ExitSubEndIffrmReadWrite.txtData.Text=Mid(strATR,1,1)&Mid(strATR,2,1)&""&_Mid(strATR,3,1)&Mid(strATR,4,1)&""&_Mid(strATR,5,1)&Mid(strATR,6,1)&""&_Mid(strATR,7,1)&Mid(strATR,8,1)frmReadWrite.Show1EndSubPrivateSubmnuCardNew_Click()frmNewCard.Show1EndSubPrivateSubmnuReadWrite_Click()frmReadWrite.Show1EndSubPrivateSubmnuFileExit_Click()IfMsgBox(MDIMsg1,_vbQuestion+vbYesNo+vbDefaultButton2,_gTitle)=vbNoThenExitSubEndSystemEndSubPrivateSubmnuFileReg_Click()frmLogin.Show1SetMenugLoginGrade=134 EndSubPrivateSubmnuGuardBase_Click()frmItem.Show1EndSubPrivateSubmnuGuardEmployee_Click()frmEmploy.ShowvbModalEndSubPrivateSubmnuGuardLib_Click()frmSys.Show1EndSubPrivateSubmnuPosSetDate_Click()frmSetDate.Show1EndSubPrivateSubmnuPowerOff_Click()DimnRetAsIntegernRet=OpenComm(0)nRet=PowerOffEndSubPrivateSubmnuPowerOn_Click()DimnRetAsIntegernRet=OpenComm(0)nRet=PowerOnEndSubPrivateSubmnuReadMain_Click()DimstrMainAsString*512DimiAsInteger,jAsInteger,nRetAsIntegernRet=OpenComm(0)nRet=IC_ReadMain(0,256,strMain)IfnRet<>0ThenMsgBox"ErrorReadMainMemory"ExitSubEndIffrmReadWrite.txtData.Text=""Fori=0To1534 Forj=0To15frmReadWrite.txtData.Text=frmReadWrite.txtData.Text&Mid(strMain,32*i+2*j+1,1)&Mid(strMain,32*i+2*j+2,1)&""NextjfrmReadWrite.txtData.Text=frmReadWrite.txtData.Text&Chr(13)&Chr(10)NextifrmReadWrite.Show1EndSubPrivateSubmnuRepDyn_Click()frmDyn.Show1EndSubPrivateSubmnuRepFlow_Click()frmFlow.Show1EndSubPrivateSubmnuRepKQ_Click()frmPrn.Show1EndSubPrivateSubmnuRepMonth_Click()WithfrmMonth.Show"不能显示有模式,因当中有显示非模式的窗体EndWithEndSubPrivateSubSetMenu(isEnableAsBoolean)"mnuFile.Enabled=isEnablemnuApp.Enabled=isEnablemnuGuard.Enabled=isEnablemnuRep.Enabled=isEnablemnuCard.Enabled=isEnablemnuPos.Enabled=isEnableSetstbMainmstbOperator,gLoginNameDimstrTmpAsStringIfisEnableThen34 strTmp="管理员"ElsestrTmp="客户级"EndIfSetstbMainmstbLevel,strTmpSetstbMainmstbDate,Format(Date,"yyyy-mm-dd")SetstbMainmstbMsg,gOwnNameEndSubPrivateSubSetstbMain(IndexAsInteger,strTextAsString)stbMain.Panels(Index).Text=strTextEndSubPrivateSubToolbar1_ButtonClick(ByValButtonAsComctlLib.Button)OnErrorResumeNextIfButton.Index<>mCloseThenIfgLoginGrade=0ThenMsgBoxmMsg2,vbInformation,gTitleExitSubEndIfEndIfSelectCaseButton.KeyCase"tbCollection"mnuAppCollection_ClickCase"tbLeave"mnuAppLeave_ClickEndSelectEndSubPrivateSubmnuYes_Click()IfMsgBox("真的要退出系统吗?",32+4+vbDefaultButton2,"退出系统")=vbNoThenExitSubElseUnloadMeEndIfEndSub34 PrivateSubmnuNo_Click()ExitSubEndSub34'