• 9.16 MB
  • 2022-05-17 13:19:54 发布

重庆科技学院图书馆考勤管理系统的设计与实现

  • 85页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
重庆科技学院图书馆考勤管理系统的设计与实现⑧重庆大学硕士学位论文(专业学位)学生姓名:何凡指导教师:谭会辛副教授兼职导师:宋国贤高级工程师学位类别:工程硕士(软件工程领域)重庆大学软件学院二O一三年五月 TheDesignandImplementationofCQUSTLibraryAttendanceManagementSystem⑧AThesisSubmittedtoChongqingUniversityinPartialFulfillmentoftheRequirementforProfessionalDegreeByHeFanSupervisedbyAss.Prof.TanHuixinPluralisticSupervisedbySeniorEng.SongGuoxianSpecialty:ME(SoftwareEngineeringField)SchoolofSoftwareEngineeringofChongqingUniversity,Chongqing,ChinaMay2013 中文摘要摘要我国高校图书馆很长一段时间以来一直是处于工作无压力的状态,职工经常会有迟到、早退甚至脱岗的现象发生。尽管各图书馆都制定了相关的考勤制度,但由于传统的考勤方式存在数据不准确,统计不方便,人为弄虚作假等弊端,使得考勤制度经常得不到落实。只有真正落实考勤制度,才能增强工作人员的时间观念,提高工作效率,改善图书馆的精神风貌。重庆科技学院图书馆考勤管理系统项目正是在这样的背景下提出并开发,系统基于微软的.NET框架,运用UML工具进行系统模型构建,利用SQLServer数据库进行数据的存储,采用面向对象、GRAPPLE等技术开发。考勤登记、考勤查询、统计报表生成、部门和职工信息管理、操作员账号管理等功能共同组成了整个系统功能体系。该系统实现了考勤工作的自动化,大大提高了考勤记录的准确性和客观性,对图书馆考勤制度的落实提供了有力支持。本课题的研究成果已经开始应用于重庆科技学院图书馆的考勤工作中,并取得了良好的效果。完成的主要工作有:①分析了重庆科技学院图书馆考勤管理的需求、考勤管理系统国内外研究现状和发展趋势,指出了考勤管理系统对于图书馆管理工作的重要意义。②分析了.NET框架平台、数据库、C/S架构、UML建模等关键技术,为系统的成功开发准备了充分的理论和技术基础。③完成了考勤管理系统的需求搜集和系统分析,对系统的关键模块给出需求用例图和流程的直观说明。④完成了系统架构、模块功能和数据库的详细设计,从图书馆考勤管理工作的需要出发,使系统设计更加合理,保证了系统的成功开发。⑤实现了考勤管理系统系统。系统模块功能清晰,界面友好,该系统在重庆科技学院图书馆的考勤管理工作中应用,经过一段时间的运行,达到了预期效果,并提出了进一步的改进方案。关键词:高校图书馆,考勤管理,UML,C/S,GRAPPLE 重庆大学硕士学位论文 英文摘要ABSTRACTUniversitylibrariesinChinasincealongtimehavebeeninastateofnoworkpressure,workersoftenbelate,leaveearlyoreventakeoffhillock.Althoughlibrariesareformulatedtherelevantattendancesystem,thetraditionalwayofattendancehasinaccuratedata,statisticsarenotconvenient,peopleresorttodeceitandotherdefects,thecheckingattendancesystemoftenfailstoimplement.Onlytrulytocarryouttheworkattendancecheckingsystem,Canenhancethestafftheconceptoftime,improveworkefficiencyandchangethementaloutlookofthelibrary.AttendancemanagementsystemofChongqingUniversityofScience&Technologylibraryprojectisputforwardinthisbackgroundanddevelopment.SystembasedonMicrosoft.NETFramework,usingtheUMLtoolstobuildsystemmodel,usingSQLServerfordatastorage,andtheobject-orientedGRAPPLEtechnologytodevelopment,etc.Thesystemiscomposedofattendanceregister,query,statistics,reportgeneration,departmentsandstaffinformationmanagement,operatoraccountsmanagement,andotherfunctions.Itmakestheattendanceworkautomatic,greatlyimprovingtheobjectivityandtheaccuracyofattendancerecord,providedthestrongsupporttothelibraryattendancework.ThistopicresearchhasbeenusedinChongqingUniversityofScience&Technology,andworksgood.Themainworkareasfollows:①AnalysistheneedsofChongqingUniversityofScience&Technologylibraryattendancemanagement,anditsresearchstatusbothinChinaandabroad,pointouttheimportanceofattendancemanagementsystemforlibrarymanagement.②AnalysiskeytechnologiessuchasMicrosoft.NETFrameworkplatform,databasetechnology,C/Sstructure,UMLmodelingwhichfullypreparedforthedevelopmentofthesystem.③Completetheanalystofthesystem,giveusecasediagramsandtheprocessofintuitiveofkeymodules.④Completethedetaileddesignofsystemarchitecture,modulesanddatabase.Startingfromtheneedoflibraryattendancemanagementwork,makethesystemdesignmorereasonable,itensuresthesuccessfuldevelopmentofthesystem.⑤Attendancemanagementsystemhasbeendevelopedanddeployed.Thesystem,晰thclearmodulesandfriendlyUI,isnowworkingfineChongqingUniversityofIII 重庆大学硕士学位论文Science&Technologylibraryforaperiodoftimeandhasachievedthedesiredeffect.Intheend,thearticleputsforwardtheimprovementscheme.Keywords:UniversityLibrary,AttendanceManagement,UML,C/S,GRAPPLEIV 目录中文摘要⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..I英文摘要⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯III1绪论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯11.1问题的提出及研究意义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯11.2国内外研究现状⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯11.3本文主要的研究工作⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯21.3.1本文研究的目的⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.21.3.2本文研究的内容⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.22系统开发的关键技术和开发工具⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯42.1.NETFRAMEWORK⋯⋯⋯...⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.....42.1.1NETFramework的内容⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.42.1.2.NETFramework的特色⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯42.2数据库技术⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯52.2.1关系型数据库的特点⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.52.2.2典型数据库⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯52.3C/S架构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯62.4UML建模⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..72.4.1UMCL建模的特点⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯72.4.2UML建模的过程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯72.5系统使用的开发工具⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯82.5.1操作系统⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.82.5.2集成开发环境⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯82.5.3数据库⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯82.6系统使用的开发方法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯82.6.1传统的开发过程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯82.6.2现代的开发过程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯93图书馆考勤管理需求分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1o3.1系统概述⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.103.2系统需求收集⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。103.2.1发现业务过程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯103.2.2领域分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯17V 重庆大学硕士学位论文43.2.3识别协作系统⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯183.2.4发现系统需求⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..193.3分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.203.3.1充实用例⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯203.3.2细化类图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯31图书馆考勤管理系统的设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯354.1系统总体设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..354.1.1设计原则⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯354.1.2系统功能结构图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯354.1.3系统架构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯364.2数据库设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..384.2.1关键表结构设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯384.2.2数据库各表之间的关系⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯414.3客户端更新模块设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯414.4系统登录模块设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一424.5系统主界面模块设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。434.5.1与门禁系统通信模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯434.5.2职工状态实时显示模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯444.6考勤操作模块设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯454.6.1考勤登记模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯454.6.2考勤查询模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯164.6.3统计报表生成模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯474.7部门信息管理模块设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯484.7.1部门信息添加模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯484.7.2部门信息修改模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯494.8职工信息管理模块设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯504.8.1职工信息添加模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯504.8.2职工信息修改模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯514.9操作员账号管理模块设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯524.9.1操作员账号添加模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯524.9.2操作员账号修改模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯534.10数据库维护模块设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.544.10.1数据库手动备份模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..544.10.2数据库文件导入模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一55VT 目录4.1l系统设置模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯565图书馆考勤管理系统的实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.575.1客户端主界面的实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..575.2菜单栏介绍⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..585.2.1文件菜单⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..585.2.2“工具”菜单⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯585.2.3“帮助”菜单⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯585.3考勤登记模块的实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一595.4考勤查询模块的实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..625.5部门管理模块的实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。625.6操作员账号管理模块的实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..635.7系统设置模块的实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..635.8系统测试结果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一645.9系统效果分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..656总结与展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.666.1总结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯666.2展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.66致谢⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯67参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯68VII 重庆大学硕士学位论文VIII l绪论1绪论1.1问题的提出及研究意义高校图书馆很长一段时间以来一直是处于纪律涣散、工作无压力的状况,迟到、早退甚至脱岗现象很难引起工作人员的足够重视。其原因一方面是由于部分工作人员观念陈旧,素质偏低,工作热情不高,另一方面也是因为高校的教师并不实行坐班制度的影响。然而“出工”是“出力”的基础,图书馆工作人员如果连基本的出勤都不能保证,何谈服务育人呢?所以必须制定严格的考勤制度并加强考勤管理。通过考勤制度的落实,不仅可以增强工作人员的时间观念,提高工作效率,更重要的是,可以大大改善图书馆的精神风貌,提升图书馆的整体形象【l】。然而传统的考勤方式存在着许多弊端,比如考勤数据的准确性和及时性得不到保证,统计不方便,存在弄虚作假现象等。一些不合理的作法影响了工作人员的积极性,造成一些负面效应Ⅲ。随着计算机技术、通信技术和网络技术的迅速发展,信息高速公路的建设与利用为图书馆办公现代化提供了环境和条件【3】。图书馆办公室工作开始朝着事务处理信息化、咨询决策智能化、指挥调度现代化的管理目标迈进【4J。通过计算机进行考勤登记,考勤查询以及自动生成考勤统计信息,把人们从烦琐的数据统计和数据管理中解放出来,是一种较为先进的考勤管理方式。为此,我们提出设计和实现一个图书馆考勤管理系统,实现对考勤信息的记录、查询和统计工作,使办公室人员能够从繁重的手工考勤工作中解脱出来,也使得考勤管理工作科学化、智能化,达到提高考勤管理效率的目的【51。本研究的意义主要在于:提高管理效率和水平。保证考勤记录完整性,避免出错。使考勤记录便于查询和统计。促使考勤制度真正得到落实,实现其监督和管理的目的。使图书馆工作人员的时间观念增强,工作效率提高,改善图书馆的精神风貌。同时也是高校信息化建设的需要。1.2国内外研究现状国内对考勤系统一直有所研究,大部分图书馆使用的是门禁考勤系统,也有少部分图书馆使用通用考勤管理软件。非接触式IC卡门禁考勤系统是目前应用比较广泛的门禁系统。它采用个人识别卡方式工作,给每个有权进入的人发一张个人识别卡,相当于一把钥匙。系统根据该卡的卡号和当前时间等信息,判断该卡持有人是否可以进出,同时还记录每个职工是否按时上下班。门禁考勤系统有两个缺点:第一,它是只是记录职工 重庆大学硕士学位论文上下班时间,不记录请假等情况;第二,它只能简单记录考勤结果,无法进行统计分析,很难将考勤信息进行二次利用。因为它不能将迟到、应到岗未刷卡的情况直接列出,而是需要人工反复核对,这容易造成人为的疏忽、遗漏等错误,考勤工作效率低下。随着计算机辅助管理在我国的各行各业得到了广泛地应用,近几年来部分软件公司也开发出了一些功能完备的通用考勤管理软件产品,但是这些这功能上大同小异的产品缺乏对高校具体情况的针对性。这主要是因为开发者们缺乏甚至从未有过丰富的高校管理经验,所以他们在设计过程中很难从高校管理的方便和效率这些角度出发。这使得设计出来的系统在使用过程中难免会出现一些不尽人意的地方,如果直接选用这些产品,不仅需要花费大量的资金,在使用时也不能达到理想的效果。国外类似研究并不多,因为国外图书馆的管理规章、岗位职责制定得全面而详尽,并且执行得比较好,图书馆员的工作主要靠的是自觉性。例如以匹兹堡大学图书馆所代表的美国大学图书馆,对工作人员上下班时间并没有严格的限制,只要满足一天8小时,能够做完自己份内的工作,早来早走、晚来晚走都是被允许的,甚至不用向部门领导特别说明,全凭个人自觉。但因其管理规章、各类岗位职责描述、各类工作文档非常详细而全面,充分保证了图书馆工作顺利地、高质量地完成和服务高质量地提供。1.3本文主要的研究工作1.3.1本文研究的目的本课题的主要研究目的是在整合已有的门禁打卡系统的基础上,建立重庆科技学院图书馆考勤管理系统。开发以考勤登记、查询、统计报表生成为核心的信息系统,为本馆的管理系统提供有力的支撑,从而实现职工考勤的信息化,实现考勤数据的实时查询、历史记录查询和统计汇总的功能。使考勤制度真正得到落实,通过对工作人员的一种客观约束,使其时间观念得到增强,工作效率得到提高,改善图书馆的精神面貌。1.3.2本文研究的内容图书馆考勤管理系统的开发主要包括以下内容:①图书馆考勤管理系统开发的主要理论与技术基础:包括开发技术、数据库相关技术及相关理论介绍;②图书馆考勤管理系统的需求分析:通过分析考勤管理的相关需求,来规划系统的功能;③图书馆考勤管理系统总体与详细设计:提出系统的架构设计和运行模式设2 1绪论计,并在需求分析的基础上提出功能模块设计,然后给出每个功能模块的具体实现方法和实现手段:④图书馆考勤管理系统的实现与测试:通过编码来实现系统的每个功能模块,然后通过专门的测试方法对系统进行集成测试,最后在此基础上提出对系统的实用性评估。 重庆大学硕士学位论文4 2系统开发的关键技术和开发工具2.1.NETFramework.NETFramework又称.NET框架,它支持VisualBasic、VisualC++、VisualCj||}和VisualJ群等多种开发语言【6】,是由微软为开发应用程序而创建的一个富有革命性的新平台。它是一个致力于Rapidapplicationdevelopment(快速应用开发)、平台无关性和网络透明化的软件开发平台。2.1.1NETFramework的内容.NET框架包括两个主要组件:公共语言运行时(CLR)和.NET框架类库。公共语言运行时是.NET框架的基础。可以将公共语言运行库看作一个在执行时管理代码的代理。它类似于Java的虚拟机,提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。.NET框架类库是一个综合性的面向对象的可重用类型集合【7】。其中ADO.NET是一组用于和数据源进行交互的数据访问服务类,支持不同类型的数据源之间以XML格式进行数据交互。ADO.NET为分布式数据应用程序的创建提供组件,它包含.NETFramework数据提供程序和DataSet两个组件【8】。2.1.2.NETFramework的特色①跨平台性,可以运行在多个操作系统上。但.NET框架目前的应用还是主要在微软自己的操作系统平台上,远不能和JAVA的跨平台性相比。②在编译使用.NET框架库的代码时,不是立即创建操作系统特定的本机代码,而是把代码编译为Microsoft中间语言(MicrosoftIntermediateLanguage,MSIL)代码,这些代码不专用于任何一种操作系统。中间语言代码是.NET框架实现跨平台的基础。③.NET框架不限制应用程序的类型,可以创建Windows应用程序、Web应用程序、Web服务和其它各种类型的应用程序。④.NET框架可以使用多种语言开发,如C}f、VB.net、C++、Jscript等。其中C拌是微软专门为使用.NET框架平台而创建的,它也是在移植到其他操作系统上的.NET版本中使用的主要语言。⑤.NETFramwork具备垃圾回收(garbagecollection)机制,可确保应用程序不再使用某些内存时,这些内存就会被完全释放。这种机制极大减轻了程序员编码时的工作,也减少了代码出错的可能性。 重庆大学硕士学位论文2.2数据库技术DatabaseTechnology(数据库技术)是通过计算机技术,采用一定的手段和方式对数据进行分类、组织、编码、输入、存储、检索、维护和输出的技术,它产生于20世纪60年代末70年代初。由于网络通信技术的发展,人们对于数据共享的要求变得越来越高,数据管理必须要做到高效、安全、便捷和高效。这种情况下,又出现了DataBaseManagementSystem(数据库管理系统)。数据库管理系统是对数据库进行管理的系统软件,它的职能是对数据进行科学地组织和存储以及高效地获取和维护数据,可以实现对数据库的建立操作、使用操作以及维护操作【9J。能够支持关系型数据模型的数据库管理系统称为RelationalDataBaseManagementSystem(关系型数据库管理系统)。2.2.1关系型数据库的特点关系型数据库是由关联对象组成的数据库。表是数据库存储数据的最基本方式,这些表在数据库内部通过共同的关键字互相关联。关系型数据库可以让数据分解为较小的、可管理的逻辑单元,从而更易维护,并提供更优化的数据库性能。由于关系型数据库内的表是相互关联的,所以通过一个查询就可以获取足够的数据(即使需要的数据可能处于多个表内)。由于关系型数据库的表之间可以具有共同的关键字或字段,所以多个表里的数据可以结合在一起形成一个结果集。重庆科技学院图书馆考勤管理系统将使用关系型数据库进行数据的储存。2.2.2典型数据库MicrosoftAccess是一种运行在Windows平台下的桌面数据库,适合数据量少的应用。在处理少量数据和单机访问的数据库时效果很好,速度也很快。缺点是同时访问的客户端过多或数据库容量过大后容易出现不稳定现象。MicrosoftSQLServer是基于服务器端的中型数据库,可以适合大容量数据的应用,具有较高的性价比。其管理功能比MicrosoftAccess要强大,在处理海量数据时的效率较高,并且可以利用Windows系统的安全机制进行身份验证,为Windows用户提供了SSO(单一帐户登录)解决方案【l引。缺点是只能运行于微软的Windows平台。Oracle是甲骨文公司的关系数据库管理系统。Oracle是一种大型数据库,它各方面都比较成熟,但对硬件要求高,用于数据完整性、安全性要求较高的场合。和SQLServer相比,其操作和设置比较复杂,适用于有一定操作经验的用户。MySQL是一种开放源代码的小型关系型数据库管理系统。由于其体积小、速度快、总体拥有成本低,又能应付一般的数据库需求,许多中小型网站为了降低网站总体拥有成本多愿意选择MySQL作为网站数据库。MySQL可运行于Windows、Linux、Unix等多个平台。6 2系统开发的关键技术和开发工具2.3C/S架构C/S架构(Client/Server架构)即客户端服务器端架构,是一种典型的两层架构。按这种体系结构,应用系统被划分为表示层和数据处理层,分别对应Client和Server。Client是在客户机系统上结合了显示与事务处理逻辑;Server是通过网络结合了数据库服务器【11】负责数据的存储。Client和Server常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。C/S架构如图2.1所示。图2.1C/S架构图Fig2.1C/Sstructure从图中可以看到在C/S架构中,作为客户端的部分需要承受很大的压力,因为显示逻辑和事务处理逻辑都包含在其中,通过与数据库的交互(通常是SQL或者存储过程的实现)来实现持久化数据,以此满足实际项目的需要。C/S架构的优点如下。C/S架构的第一个优点是效率高。C/S架构可以充分利用客户端和服务端的硬件优势,将任务合理分配到客户端和服务端,降低系统的通信开销。很多任务可以在客户端处理后再提交给服务器,所以服务器运行负荷较轻。又因为只有一层交互,因此客户端响应速度非常快。C/S架构的第二个优点是软件的功能、界面和操作方式可以随着用户的要求进行定制,可以实现得非常的个性化和优雅。C/S架构的缺点如下。首先,使用软件前必须将客户端软件安装到客户的电脑平台上;其次,系统维护本高,系统一旦发生变化,任何一个客户端都需要升级,这对一个企业来说是无法忍受的;再次,系统重用性不强。显示逻辑和事务处理逻辑都包含在客户 重庆大学硕士学位论文端中,而客户端的设计又和当前电脑的配置相关,这使得C/S架构的系统重用性和移植性不强。2.4切儿建模UML(UnifiedModelingLanguage)又称统一建模语言,是始于1997年的一个OMG标准。它是一种可视化的建模语言,能让系统构造者用标淮的、易于理解的方式建立起能够表达出他们意图的系统蓝图。对要解决的每一类问题,系统构造者建立出一个只和该问题相关的简单模型12】,以便于不同的人之间有效地共享和交流设计结果。重庆科技学院图书馆考勤管理系统在开发过程中使用UML进行建模。2.4.1UML建模的特点模型是对现实系统的一种简化和抽象【l31,UML通过图形对系统建造模型,它主要包含以下模型:①功能模型:从用户的角度展示系统的功能,主要包括用例图。②对象模型:采用对象、属性、操作和关联等概念展示系统的结构和基础,包括类图、对象图和包图。③动态模型:展现系统的内部行为,包括序列图、活动图和状态图。UML图形化的模型使系统的结构变得直观和易于理解。UML除了可用于建立软件系统的模型以外,还可以用于描述非软件领域的系统【14】。2.4.2UML建模的过程UML软件系统建模,主要应用于系统分析和设计阶段,所建立的模型要能够组织和传达与软件系统相关的问题领域中的重要细节和所要构造的软件系统的重要信息,而且还要让人能完全领会。通常UML建模可以分为以下几个步骤:①需求收集(requirementsgathering)。首先,通过理解用户的业务过程和其想要解决的问题,进而绘制出一个或者一组能够符合用户业务流程的活动图【15】。其次,以活动图为主线理解用户领域中的主要实体,进而得到一组高层的类图。最后,依据新建系统所要依赖的老系统,得到新建系统的部署图,标明新旧系统问的通信关系。②分析(analysis)。首先,通过理解系统的用法,得到高层的用例图。其次,分析每个用例图中的步骤序列,得到对每个用例步骤序列的文本描述。最后,细化类图,在类图中加入关联名、抽象类、多重性、泛化和聚集。③设计(design)。这一步的主要工作是把UML图向编程可用的算法转化。8 2系统开发的关键技术和开发工具2.5系统使用的开发工具2.5.1操作系统本系统使用MicrosoftWindowsXPSP2操作系统作为研究、设计和开发的平台。这是因为本单位的PC目前都是安装的此操作系统,基于此操作系统进行设计和开发就不容易出现兼容性的问题。加上WindowsXP操作系统上的开发工具,文档资料都比较多,有利于开发工作的顺利进行。由于考勤系统在实际运行中需要考虑到服务器的运行效率及安全性问题,所以服务端采用WindowsServer操作系统。2.5.2集成开发环境本系统采用MicrosoftVisualStudio2010作为集成开发环境。MicrosoftVisualStudio2010是目前最流行的Windows平台应用程序开发环境,支持.NETFramework4.0,同时也支持创建UML建模项目。2.5.3数据库数据库选用MicrosoftSQLServer2005。SQLServer2005是一个全面的数据库平台,和WindowsServer操作系统完美兼容。它使用集成的商业智能(BI)工具提供了企业级的数据管理。其数据库引擎能为关系型数据和结构化数据提供了安全可靠的存储功能,能很好的满足各类不同级别用户数据存储、查询、分析、处理的需要【16】。另一个原因是本单位已经购买SQLServer2005软件,选择它可以节约开发成本。2.6系统使用的开发方法开发过程方法学将一个系统开发项目的开发过程分解为多个阶段和活动,如果没有开发过程方法学的指导,开发过程就会产生混乱,开发者将无法理解到底他要解决的是什么问题,因而系统也不可能满足用户的需求。2.6.1传统的开发过程早期的开发过程的中的,曾经有一种造成广泛影响的开发方法模型被称作“瀑布(Watterfall)”【l71。在此方法中,分析(analysis)、设计(design)、编码(coding)、测试(test)和部署deployment)各阶段的工作白顶向下从抽象到具体顺序进行。前一个阶段完成后,下一个阶段才能开始。“瀑布”开发方式有显的缺点。首先,开发过程在“瀑布"方式下被分割开了,这使得系统分析员、设计人员和开发人员很少有在一起工作和共享重要信息的机会;其次,这种开发方式不利于在项目的开发过程,对问题进行逐步理解,也很难利用到后期萌发的好的思想。一般来说,对问题的理解是随着开发过程的深入而增强的,而如果过程不能回溯到早期阶段,那么在开发过程中塞进新的见 重庆大学硕士学位论文解就很不容易【J引。为克服“瀑布”模型的弊端,又出现了一种称为快速原型模型(RapidPrototypeModel)的开发模型。快速原型模型开发方式首先建造一个系统的Prototype(原型),让用户使用这个原型系统并让他们对原型系统进行评价,开发团队再根据用户的反馈意见进一步细化出待开发软件系统的需求。一旦确定了客户的真正需求,开发团队就随之迅速修改原型,让系统能反应出用户的需求。快速原型模型开发方式的缺点是开发团队完全被用户所主导,而用户有时候并不能在开发过程中很快地认识到自身的本质需求是什么。另外快速建立起来的系统结构加上连续的修改可能会导致产品质量低下。2.6.2现代的开发过程当代软件工程强调开发阶段之间的无缝集成。系统分析员、设计人员和程序开发人员通常需要在一起进行交互,共享重要的见解,在进行这种交流的同时修改设计,充实代码。快速应用工程指导原则(GRAPPLE,GuidelinesforRapidApplicationEngineering)是一种比较新式的、可白适应的、灵活的开发过程,特别适用于中小型组织进行软件开发。GRAPPLE的运动方式是从一般到具体从不精确到精确,随着对问题理解的深入,项目小组能够引进新的思想,建立起更完善的信息系统。GRAPPLE由以下五个段组成:需求收集段(requirementsgathering)、分析段(analysis)、设计段(design)、开发段(development)和部署段(deployment)。这五个段组成的开发过程简称为RADDD[19l。GRAPPLE并不期望在中间阶段看到一个清晰的结尾,因为在中间阶段,开发者并不能完整地理解一个复杂的系统,也无法从总体上把握该系统,所以要对它进行建模,提供系统蓝图,将其分解成较简单系统,最后逐步实现该系统。。GRAPPLE强调的对系统设计的基本思想是尽可能多地花时间在前端的分析上,因为分析的越充分,就越能接近用户所期望的目标。在整个开发过程中,编码工作只占系统开发进程的-d,部分。重庆科技学院图书馆考勤管理系统将参考GRAPPLE进行开发。10 3图书馆考勤管理需求分析3图书馆考勤管理需求分析3.1系统概述图书馆考勤管理系统的核心功能是替代手工考勤工作。考勤操作员通过使用软件的输入界面对职工的请假、迟到、早退等考勤项目进行登记操作,由系统自动将考勤数据保存到考勤服务器的数据库中。系统还需要将图书馆门禁打卡系统的打卡记录利用起来作为考勤登记的参考。3.2系统需求收集在需求收集段,应当完成发现业务过程、领域分析、识别协作系统、发现系统需求这几项主要工作。通过与可能的最终用户的交流以及召开JADsession(JointApplicationDevelopmentsession,联合应用开发会议),我们了解到图书馆考勤管理系统主要应提供对以下业务的支持:①能很方便地查看每个部门职工当天的考勤状态。实时显示职工状态的目的,是为了让考勤者或部门管理者能随时知道下属的出勤状态。②整合已有的门禁打卡系统,使职工进馆打卡时的数据能直接传入考勤系统中。③能提供考勤登记、查询、统计报表生成功能。由于图书馆请假的人多,在生成统计报表时请假小时数要转换为天,方便计算和管理。需要能统计指定部门职工的考勤数据,以便对部门的管理工作进行评估。④能提供基础数据管理功能。能对图书馆的各部门信息、职工信息进行添加、储存和修改。⑤数据维护功能。能对考勤数据进行备份和导入。⑥系统操作员需要分为不同的权限等级。⑦能对操作员账号进行管理。⑧系统设置功能。可以设置是否开机启动、最小化到系统通知栏(常驻内存)等功能。3.2.1发现业务过程在发现业务过程这一步,我们主要的工作是通过与用户的进一步交流,将考勤管理系统需要支持的主要业务的活动图绘制出来以便能正确地理解用户的业务过程。活动图本质上是一种面向对象的流程图【20】,为了有利于把握和理解主要的业务过程,在图中忽略了一些次要的操作: 重庆大学硕士学位论文①系统登录系统登录是用户进入软件界面前需要做的第一个操作,其活动图如3.1所示:图3.1系统登录活动图Fig3.1activitydiagramforsystemloginUML活动图可以通过“泳道”来增加角色的可视化维度,这样能更清晰地区分活动由哪些角色负责。此活动图划分为三个泳道,分别对应系统登录业务过程中的三个角色。此活动的步骤如下:1)软件系统使用者启动系统后输入用户名、登陆口令等登录信息。数据库操作器连接到考勤数据服务器。2)数据库操作器通过SQL命令将用户名、口令等信息提交到考勤数据服务器上进行验证。口令在传输前会被加密以加强安全性。3)考勤数据服务器执行SQL命令验证登录信息的合法性,并返回结果。4)如果是登录信息非法,系统退出;如果登录信息合法,则进入系统主界面。②职工状态实时显示系统需要提供的主要功能之一,是让使用者能很方便地查看每个部门职工当天的考勤状态,这就需要系统在其界面上对职工的考勤状态进行实时显示,显示的结果应当按照姓名或所属部门分类排列。职工状态实时显示的业务过程如图3.212 3图书馆考勤管理需求分析所示:●◆系统使用者数据库操作器结果显示界面厂、诞入软件系妒文连接裂雾黧数据)\/t.{,、暂嘲/通过sQL命令获取、\、职工考勤数据//\/\/,////@收考勤数叭\\.Q示考勤数司t|图3.2职工状态实时显示活动图Fig3.2activitydiagramforrealtimestatusofworkers此活动的步骤如下:1)软件系统使用者进入到软件系统界面。2)数据库操作器通过SQL命令向考勤数据服务器获取职工考勤数据。3)考勤数据服务器执行SQL命令得到结果并返回。4)数据库操作器接收并处理数据。5)在结果显示界面中显示处理后的职工考勤数据。③从门禁系统获取打卡数据。图书馆门禁系统是读者入馆时进行身份验证的系统。普通读者和图书馆的职工都需要经过打卡,并成功识别身份信息后才能入馆。每天的打卡记录都保存在专用的门禁数据服务器中。门禁系统是图书馆考勤管理系统需要依赖的一个旧系统,从门禁系统获取打卡数据的业务过程如图3.3所示: 丽据库操作器蟹服务器鬲綦聂磊面函磊-—P数据服务器磊到结果_并返回数弩:i三丢入考勤系统数据库将记录存入考勤系筑戥佣三誊一嚣茄艮务器提交请求,以获取当日图书馆荔缘◆爹动14动伸海叫捕m剡犯七j职冰帮妣绷一酽系.要蔡奏;%蠡:r心洲如3瓤王可图№ 3图书馆考勤管理需求分析系统使用者进入填写界面填写考勤项数据库操作器,‘‘。。。—’。。。—‘————’、:理获取职工信^列表的请求,转换为SQL命令成功获取职工信息列表接收考勤数据得到操作成功标识考勤数据服务器/,————————————、/处理SQL命令并L返回职工数据储存考勤数据并返回结果显示界面显示考勤数据图3.4手动考勤登记的业务过程活动图Fig3.4activitydiagramformanuallyaddingattendancedata手动考勤登记的业务的活动步骤如下:1)系统使用者进入到软件系统界面后需要查看职工列表。2)数据库操作器通过SQL命令向考勤数据服务器提交请求获取职工列表。3)考勤数据服务器执行SQL命令得到结果并返回。4)数据库操作器接收并处理数据,将其填入工列表内。5)系统使用者从职工列表中选取一名职工进行操作。6)系统使用者填写考勤日期、考勤项目并提交。7)数据库操作器将用户输入构造成标准的考勤数据,发送到考勤数据服务器。8)考勤数据服务器储存考勤数据,并返回。9)数据库操作器得到操作成功的返回结果。10)在结果显示界面进行显示,以便系统使用者能知道操作的结果。⑤考勤记录查询考勤记录查询是本系统需要提供的另一个核心功能。查询主要分为查询单个职工的考勤记录和批量查询某一部门所有职工的考勤记录两种情况。下面只给出取一)选工一~勤期糕工藉列一一一选记从.//\ 重庆大学硕士学位论文批量查询某一部门所有职工的考勤记录的活动图,查询单个职工考勤记录的情况与此类似。批量查询某一部门所有职工的考勤记录的业务过程如图3.5所示:系统使用者__‘。。’’。。。。。。。‘。。‘。。、进入查询界面选择查询时间范围选择一个部门数据库操作器提交SOL命令接收考勤数据考勤数据服务器处理SQL命令并返回考勤数据结果显示界面显示查询结果图3.5考勤查询的业务过程活动图Fig3.5activitydiagramforattendancedataquest图中主要活动步骤如下:1)系统使用者进入到软件系统查询界面后。2)系统使用者选择要查询记录的时间范围以及部门名称。3)数据库操作器通过SQL命向考勤数据服务器提交请求。4)考勤数据服务器执行SQL命令并返回结果。5)数据库操作器接收并处理返回的信息,生成标准的考勤数据。6)在结果显示界面将考勤数据显示出来。⑥统计报表生成统计报表生成的业务过程和考勤查询类似,主要区别在于软件系统需要对获取到的结果进行分析和处理,再向用户显示。⑦部门信息添加和修改图书馆考勤系统在使用前必须完成所有部门信息的添加工作,因为每一条考勤数据记录都必须包含职工所在的部门的识别标识。这项工作并不应该交由普通的系统使用者,而是应当由“系统管理员”这个具有特殊权限的系统使用者提前完成。添加部门信息的业务过程如图3.6所示:16 3图书馆考勤管理需求分析图3.6添加部门信息活动图Fig3.6activitydiagramforaddingnewdepartment图中主要活动步骤如下:1)具备“系统管理员”权限的系统使用者填写部门信息。2)数据库操作器通过SQL命向考勤数据服务器提交请求。3)考勤数据服务器储存部门信息并返回结果。4)数据库操作器收到返回的操作成功的返回结果。5)在结果显示界面进行显示,以便系统使用者能知道添加操作的结果。修改已有的部门信息的工作同样应当由“系统管理员”这个具有特殊权限的系统使用者进行,其业务过程和添加部门信息类似。⑧职工信息添加和修改完成职工信息的添加,也是图书馆考勤系统在使用前必须完成的工作之一。这同样需要具备系统管理员权限的系统使用者提前完成。其业务过程与部门信息的添加和修改类似。⑨考勤数据备份出于对数据安全的考虑,系统考勤必须进行数据备份。数据备份的工作是由自动备份和手动备份共同完成的。自动备份功能通过在考勤数据服务器的数据库管理软件设置定期备份任务实现;手动备份功能通过具备系统管理员权限的系统使用者在考勤系统的界面中操作实现。手动备份数据的业务过程如图3.7所示: 重庆大学硕士学位论文系统使用者数据库操作器考勤数据服务器结果显示界面程会羹黔—≥(孓交备份请≤卜文蠲鬣簧)\/,/@回操作成功标琴冬作成功提秒图3.7考勤数据备份活动图Fig3.7activitydiagramfordatabackup图中主要活动步骤如下:1)具备“系统管理员”权限的系统使用者在数据备份界面进行操作。2)数据库操作器通过SQL命向考勤数据服务器提交数据备份的请求。3)考勤数据服务器执行备份操作,并返回结果。4)数据库操作器收到返回的操作成功的结果。5)在结果显示界面进行显示,以便系统使用者能知道备份操作的结果。3.2.2领域分析领域分析是需求收集段的第二个动作。和前一步工作相同,领域分析的目的也是为了达到对用户需求的进一步理解。领域分析段要做的工作是以活动图为主线理解用户领域中的主要实体,进而开发出一组初步的高层类图。类(Class)是具有相同特性和行为对象的集合,类本身不是真正的对象,而是对象的模板。对象是类的实例化121|,其组成包括对象的名称、方法和属性。首先根据前面的活动图,我们可以得到如图3.8所示的这些实体:强暴鲢蔑爆者个I10系统管理员固考勤操作员图3.8用户业务过程中出现的实体Fig3.8userbusinessprocessentity18 3图书馆考勤管理需求分析经过分析,可以看出“考勤数据服务器”和“门禁数据服务器”是属于物理上的单元,不是逻辑上的类。余下的几个实体即为考勤系统的初步高层类:“系统使用者”、“数据库操作器”、“结果显示界面”、“职工信息"、“部门信息”、“考勤数据”。其中“系统使用者”是属于抽象类,即它只是作为“系统管理员”和“考勤操作员”这两个派生类的基类存在,并不直接生成对象。各个类之间的关联如图3.9所示:图3.9高层类图之间的关系Fig3.9relationshipamongbasicclasses这些高层的类图是考勤管理系统所必须包含的基本元素,我们通过这些类图将真实世界中的问题映射到了计算机系统中。3.2.3识别协作系统当今的计算机系统都不是能够孤立地运行在真空中的,而是必须与其他系统进行协作才能完成工作。识别协作系统,是要找出我们新开发的系统需要依赖于哪些老系统而运行,进而为新系统建立基本的部署图。根据前面的工作得到的信息,我们判断考勤系统必须与门禁打卡系统的数据服务器通信,才能满足用户的需求。 重庆大学硕士学位论文3.2.4发现系统需求UML的用例(usecase)是参与者为实现某种功能而与系统进行的一系列交互活动口21,它是一项用来从用户的观察角度发现系统需求的技术。经过需求收集段前几步的动作,我们初步整理出了考勤系统的功能模块用例,并包含在UML包图中加以描述,这使得系统的需求变得可视化。考勤系统的功能包图如图3.10所示:图3.10考勤系统功能包图Fig3.10packagediagramforsystemfunctions20 3图书馆考勤管理需求分析3.3分析在分析段,需要通过深入分析在需求收集段获得结果,来进一步加深对需要解决的问题理解。为了构造复杂的软件系统,我们必须从不同角度对系统进行抽象,用精确的符号建立模型,检验模型是否满足系统的需要,然后逐步增加细节将模型变成现实。在这一段,我们主要需进行的工作是进一步开发用例、充实用例和细化类图【231。3.3.1充实用例在需求收集段,我们得到了包含多个用例的系统功能包,这个系统功能包中的用例描述了考勤系统所必须完成的功能。在“充实用例"阶段,我们还必须分析和理解每个用例,和用户共同找出每个用例的actor(参与者),还要尝试开发出新的用例。通过对图书馆考勤工作的进一步理解,我们整理出了每个用例图的步骤序列。①系统登录用例图及其步骤序列描述如图3.11和表3.1所示:,一一一偷入用\密!/\Z≥ude>>飞,<>厂卜、厂虿结√)erator图3.11系统登录用例图Fig3.10systemloginusecasediagram 重庆大学硕士学位论文表3.1系统登录用例图步骤序列描述Table3.1Tableofsystemloginusecasediagram’Ssequenceofsteps■■■■■■■■■■●■■■■__________■●■_■●■■■__■●■_●■■■■■■■■■■■■■■■■■■■一-T——--TT■■■■■■●■■■■■__■____■■■■■一用例名称系统登录参与者用例描述步骤序列可选操作系统使用者(operator)系统使用者输入用户名和密码口令。系统验证用户名和密码口令的合法性,并返回提示,允许合法的用户登录系统。1)系统使用者输入用户名和密码口令,请求登录系统;2)系统验证用户名和口令的合法性;3)系统启动,进入主界面。1)系统使用者选择保存用户名;2)用户名或密码口令错误,系统返回提示。②职工状态实时显示用例图及其步骤序列描述如图3.12和表3.2所示:∥9<’。≥,(::::|llii;!l{i;l:一√mrator<<。歹8>>、;;{;;:;::;i一舀。塞~图3.12职工状态实时显示用例图Fig3.12workerrealtimestatususecasediagram22 3图书馆考勤管理需求分析表3.2职工状态实时显示用例图步骤序列描述Table3.2TableofWOrkerrealtimestatususecasediagram’Ssequenceofsteps用例名称职工状态实时显示参与者用例描述步骤序列可选操作系统使用者(operator)系统从考勤数据库中获取当天职工的考勤数据,并显示出来,供系统使用者查看。1)系统从考勤数据库中获取当天职工的考勤数据;2)系统显示考勤数据;3)系统使用者查看职工考勤状态。1)系统使用者选择只显示指定部门的职工:2)系统使用者选择对显示结果排序。排序方式包括按部门排序、按姓名排序、按记录时间排序。③从门禁系统获取打卡数据用例及其步骤序列描述如图3.13和表3.3所示:图3.13从门禁系统获取打卡数据用例图Fig3.13gettingcheck-indatafromaccesssystemserverusecasediagram23 重庆大学硕士学位论文表3.3从门禁系统获取打卡数据用例图步骤序列描述用例名称从门禁系统获取打卡数据④考勤登记用例及其步骤序列描述如图3.14和表3.4所示:9√酸ud<‘汰lue>>\\//\\的职工夕。表/)erator≤≥冬涔蠢、嗣梦@白图3.14考勤登记用例图Fig3.14attendancedataaddingusecasediagram24 3图书馆考勤管理需求分析表3.4考勤登记用例图步骤序列描述Table3.4Tableofattendancedataaddingusecasediagram’Ssequenceofsteps用例名称考勤登记参与者用例描述步骤序列可选操作系统使用者(operator)系统使用者选择考勤日期,从考勤数据库中获取职工列表后选择一名职工,按需要填写考勤项,最后提交到考勤数据库。成功提交后,系统从考勤数据库中读取本次提交的数据,并显示为考勤结果预览。1)系统使用者选择考勤日期;2)系统从考勤数据库中获取职工列表;3)系统使用者从列表中选择一名职工;4)系统使用者根据需要填写考勤项;5)系统使用者提交考勤数据;6)系统验证考勤数据的合法性;7)系统将考勤数据储存到考勤数据库:8)系统从考勤数据库读取本次提交的考勤数据,并显示为考勤结果预览。1)系统使用者获取职工列表时只获取指定部门的职工;2)系统验证考勤数据的合法性时判断为不合法。⑤考勤查询用例及其步骤序列描述如图3.15和表3.5所示:25 重庆大学硕士学位论文O√}erator图3.15考勤查询用例图Fig3.15attendancedataquestusecasediagram表3.5系统查询用例图步骤序列描述Table3.5Tableofattendancedataquestusecasediagram’Ssequenceofsteps●■●■●■■■■■■■■■■■■■■●■■■■■■■●■■■■■■■■●■■■■■■●■■■■■■■●■■■■●■■■■■●■■■■■■■■■■■■■■■■■■■一1I■■■■■●■■■●■■■■■●一用例名称考勤查询参与者用例描述步骤序列系统使用者(operator)系统使用者选择查询起止日期,从考勤数据库中获取部I"-J3JJJ表后,选择部门中一名职工,最后提交查询。系统从考勤数据库中按条件执行查询,并显示结果。1)系统使用者选择查询起止日期;2)系统从考勤数据库中获取部门列表;3)系统使用者从部门列表中选择部门:4)系统从考勤数据库中获取该部门职工列表:5)系统使用者从职工列表中选择职工;6)系统使用者提交查询:7)系统在考勤数据库中执行查询,并显示结果。⑥统计报表生成用例及其步骤序列描述:26 3图书馆考勤管理需求分析统计报表生成的用例和考勤查询的用例类似,区别在于系统会在显示结果前要对查询结果进行进一步的分析和处理后,再向用户显示的结果。⑦部门信息管理用例及其步骤序列描述如图3.16和表3.6所示:系一二兰!:@O<<·ses>、今—^\.<//\—/illi;;i;!:;!!!!:◆√究管理员图3.16部门信息管理用例图Fig3.16departmentinfomanagementusecasediagram表3.6部门信息管理用例图步骤序列描述Table3.6Tableofdepartmentinfomanagementusecasediagram’Ssequenceofsteps●■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■一II■■■■■■■一用例名称部门信息管理参与者用例描述步骤序列可选操作系统使用者(具有系统管理员权限)添加新部门:系统使用者填写新部门的名称并选择其上一级部门;修改部门状态:系统使用者选择部门已撤销标识。添加新部门:1)系统使用者填写新部门的名称并选择其上一级部门:2)系统储存新部门信息到考勤数据库。修改部门状态:1)系统使用者选择部门己撤销标识;2)系统在考勤数据库中更新部门信息。添加部门时,部门名称已存在,则弹出提示,拒绝添加。27 重庆大学硕士学位论文⑧职工信息管理用例及其步骤序列描述如图3.17和表3.7所示:系囊ex>tends))<、二兰:一图3.18操作员账号管理用例图Fig3.18operatormanagementusecasediagram表3.8系统登录用例图步骤序列描述Table3.8Tableofoperatormanagementusecasediagram’Ssequenceofsteps用例名称操作员账号管理参与者用例描述步骤序列可选操作系统使用者(具有系统管理员权限)系统使用者进行添加操作员、修改已有的操作员权限、停用操作员账号的操作。1)系统使用者根据需要进行添加、修改或停用操作员账号的操作;2)系统在考勤数据库中更新职工信息。添加操作员时,操作员账号已存在,则弹出提示,拒绝添加。 重庆大学硕士学位论文⑩考勤数据库维护用例及其步骤序列描述如图3.19和表3.9所示:系O<<·I√究管理员图3.19考勤数据库维护用例图Fig3.19databasemaintenanceusecasediagram表3.9考勤数据库维护例图步骤序列描述!垒!!曼三:21垒!!曼Q!垒堂皇鱼箜皇塑垒!里堡里垒望里皇坚曼旦里箜皇堡i垒g!:!坚堕:!!曼旦坠呈翌呈呈竺!!堡望!用例名称考勤数据库维护参与者用例描述步骤序列系统使用者(具有系统管理员权限)系统使用者对考勤数据库进行备份和导入操作。数据导入:1)系统使用者提交导入请求;2)系统在考勤数据库查找手动备份的数据库文件;3)系统将备份文件导入到考勤数据库。手动备份:1)系统使用者提交备份请求;2)数据库管理软件执行操作,将数据库备份到指定位置。自动备份:30 3图书馆考勤管理需求分析用例名称考勤数据库维护可选操作系统使用者对数据库管理软件设置,实现定时备份功能。执行数据导入时,手动备份的数据库文件不存在,则弹出导入失败提示。⑥系统设置用例及其步骤序列描述如图3.20和表3.10所示:O二≥《多乏§u曛<>一,一托谳鞫ude>>\1IICltl(.1e//‘\群缸风格裔。⑩鸯⑧图3.20系统设置用例图Fig3.20systemsettingusecasediagram表3.10系统设置用例图步骤序列描述!垒垒!曼j:!Q!垒!!皇Q!兰Y!!曼翌!皇堕i翌g坚!呈里箜!垒i垒g!:!竖坠:!!皇g旦皇翌里里Q!!!皇巳!用例名称系统设置参与者用例描述系统使用者系统使用者对考勤系统的运行参数和界面风格进行个性化设置。 重庆大学硕士学位论文步骤序列运行参数设置:1)系统使用者设置系统是否开机启动;2)系统将设置写入本地配置文件。界面风格设置:1)系统使用者根据需要设置界面风格选项;2)系统将设置写入本地配置文件。3.3.2细化类图细化类图也是系统分析阶段一项重要的工作。作为开发考勤系统的基础,我们首先要建立对象模型。在前面领域分析动作中,我们总结出了考勤管理系统的高层类图,它描述了考勤系统的静态结构。高层类图只定义了类的名称,并没有对类本身的结构以及类之间的关系进行说明。细化类图动作就是要以高层类图为基础,完成类图可视化的工作。①系统使用者类如图3.21所示:类的属性包括:usemame(用户名)、password(El令)、privilege(权限等级)。基类operator操作包括:login(登陆)、change_pwd(修改密码)、system_disp_param(系统界面风格设置)、system_mn_param(系统运行参数设置)。派生类admin操作包括:attendanceadd(考勤登记)、attendance(考勤.quest查询)、attendencestatistical(统计报表生成)、db(数据库备份)、_backupdbimport(数据库导入)、department(部门添加)、(部门信息修改)、.adddepartment.modifyoperatoradd(操作员添加)、operator.modify(操作员修改)、workeradd(职工信息添加)、workermodify(职工信息修改)。派生类user操作包括:attendanceadd(考勤登记)、attendance(考勤查.quest询)、attendencestatistical(统计报表生成)。32 3图书馆考勤管理需求分析operator-password:String-privilege:Integer-username:String+change_pwd0:Boolean+login0:Boolean+system_disp_param0:Boolean+system_run_param():Boolean△系统管理员admin考勤操作员user+attendanceadd(attendenceinf01:Attendenceinfo+attendance_add(attendence_info):Attendence—info+attendancequest(condition):attendenceinfo+attendance_quest(condition):attendence—info+auendencestatistical(condition):attendenceinfo+attendence_statistical(condition):attendence—info+dbbackupO:Boolean+dbimport(、:BOOlean+deparlmentadd(department1:Boolean+department_modify(departmentj:Boolean+operatoradd(user):Boolean+operatormodify(user):Boolean+workeradd(workerinfo):Boolean+workermodify(workerinf01:Boolean图3.21系统使用者类Fig3.21classdiagramforoperatorclass②数据库操作器类如图3.22所示:属性包括:attendence—info一(一个考勤数据类的实例)、conn_string_(包含考勤数据库的地址、数据库名称、连接用户名、口令信息的字符串)。操作包括:两个参数不同的构造函数、exec_sql_command(执行SQL命令)、insert—to—db(添加记录)、quest_from_db(查找记录)。db——communicater-attendence—info一:aaendence—info-conn_string_:String+dbcommunicater(attendenceinfothisinfo.stringconnstrin91+db_communicater(stringconnstring)+deleterecord(svingcondition):Boolean+execsqlcommand(stringcondition):DmaSet+inserttodb(stringSELECTcoloumn,sVingFROMtablename.queue:_conditioncondition)Boolean+quest_from_db(sa"ingSELECT_coloumn,stringFROM_table_name,stringWHERE_condition):DataSet图3.22数据库操作器类Fig3.22classdiagramfordb—communicatorclass③职工信息类属性包括:name(姓名)、card—number(一卡通编号)、department_id(所属 重庆大学硕士学位论文的直接上级部门编号)、team_id(所属班次编号)、is_formal(是否正式工)、is_bygone(是否已经离职或退休)。操作包括:validate(验证属性的数据格式是否合法)。如图3.23所示:workerinfo+cardnumber:Integer+departmentid:Integer+iSbygone:Boolean+iSformal:Boolean+name:String+team—id:Integer+validate():Boolean图3.23职工信息类Fig3.23classdiagramforworker—infoclass③部门信息类属性包括:name(部门名称)、superiordepartment_id(所属的直接上级部门编号)、is_bygone(部门是否已经撤销)。操作包括:validate(验证属性的数据格式是否合法)。如图3.24所示:图3.24部门信息类Fig3.24classdiagramfordepartment_infoclass④考勤数据类属性包括:datetime(考勤记录描述的日期)、workerid(职工id)、checkintime1(早上进门打卡时间)、checkintime2(中午进门打卡时间)、checkintime3(晚上进门打卡时间)、sickleave(病假时长)、affairleave(事假时长)、off_duty(脱岗时长)、late—for—work(迟到时长)、leave_early(早退时长)、isabsent(旷工标识)、operatorid(填写记录的考勤操作员id)。操作包括:validate()(验证属性的数据格式是否合法)、aaendenceinfo()34 3图书馆考勤管理需求分析(不带参数的构造函数)。如图3.25所示:attendence——info+affairleave:Integer+checkintime1:DateTime+checkintime2:DateTime+checkintime3:DateTime+datetime:DateTime+iSabsent:Boolean+1ateforwork:Integer+leaveearly:Integer+OffdutV:Integer"t-operatorid:Integer+sickleave:Integer-4-workerid:Integer+attendence_info()+validate():Boolean图3.25考勤数据信息类Fig3.25classdiagramforattendence—infoclass35 重庆大学硕士学位论文36 4图书馆考勤管理系统的设计4.1系统总体设计本章在第三章系统分析的基础上,制定系统的总体设计和详细设计规划。这需要根据重庆科技学院图书馆考勤管理系统的实际情况,利用一定的技术手段和方法进行具体设计,最终确定系统的实现方案。4.1.1设计原则本系统设计过程中主要遵循以下原则:①模块化原则。系统将采用模块化和结构化设计,将系统划分为多个功能独立的模块,以少数模块组合实现尽可能多的功能。②具有良好的扩展性和易维护性。③用户界面设计良好,操作方便。系统应该力求做到通用性强,界面友好,操作方便【241。④具备良好的安全性。系统与考勤数据库的设计必须安全可靠,能够防止非法用户的入侵。4.1.2系统功能结构图软件系统结构图描述的是整个系统的功能框架,它能帮助我们从总体结构上对系统的组成有一个更清晰的认识。我们采用自上而下逐层分解的方法,首先给出总的功能模块,然后将其逐层分解为多个大小适当,功能清晰,具有独立性和易于实现的模块。通过对功能模块的划分,将一个复杂的系统设计转换成了数个简单模块的设计。经过系统分析,我们已经确定了重庆科技学院考勤管理系统的总体结构框架,系统总体结构如图4.1所示: 重庆大学硕士学位论文图4.1考勤系统功能结构图Fig4.1thesystemstructurediagramofattendencemanagementsystem4.1.3系统架构我们决定采用C/S结构对重庆科技学院图书馆考勤管理系统进行设计与实现,这主要出于以下几个方面的考虑:①图书馆目前没有空闲的服务器专门作为系统的服务端使用。采用C/S架构可以最大限度的减少服务器的压力,不影响服务器上原本运行的业务系统。②考勤管理系统是定位在图书馆的局域网中的工作机PC上使用,所有工作38 4图书馆考勤管理系统的设计机都是安装的WindowsXP操作系统,开发时无需考虑跨网络和跨平台的情况。③出于对数据的安全性和业务处理的快速性的考虑。④编程语言使用的是.NET框架平台的C撑语言,这样开发出的客户端的体积能做到足够的小,使得维护和更新的难度减小。客户端的开发在WindowsXP平台上的VisualStudio2010IDE中进行,这样能最大限度的保证软件兼容性。服务端采用Windows2000AdvancedServer操作系统。4.1.4关键问题的解决方案考勤管理系统的设计中,有以下几个关键的问题需要解决:①如何与门禁打卡系统无缝结合,以便读取职工的打卡信息门禁打卡系统的服务器位于图书馆内部,是独立于考勤管理系统之外的另一个系统,我们需要用到门禁系统的checkinrecord表中的数据。checkinrecord表保存的是所有读者进图书馆时的打卡记录,其格式如表4.1所示。我们只关心其中的checkintime(打卡时间)和card—number(一卡通号)两个字段:表4.1门禁系统打卡记录表!!!!!兰:!兰里!!!!Z!堡翌£垒暨鉴i翌!曼£2墨列名数据类型允许空说明在考勤管理系统的“职工状态实时显示”子模块中,需要及时地将图书馆职工的打卡情况显示出来。由于门禁系统不会主动发送我们所需的记录,所以考勤系统采取每隔一段时间主动连接门禁系统服务器,使用SQL命令从checkinrecord表中获取打卡记录。考勤系统的职工信息表中也有一卡通号字段,所以能够区分哪些是属于图书馆职工的打卡记录。这个功能由“与门禁系统通信”子模块实现,获取到的打卡记录保存在考勤系统数据库内的指定表中,所以除了“与门禁系统通信”子模块以外的其他功能模块都无需访门禁系统的数据库,而是只需要读写考勤系统自己的数据库,这样就做到了与门禁打卡系统的无缝结合。②如何存储考勤数据在需求收集活动中,我们了解到用户并不需要永久储存职工的进门打卡记录,所以每一条考勤数据在服务器中只需要储存记录时间、职工信息、迟到请假等考勤项目以及填写时间、考勤操作员信息这些项目。39 重庆大学硕士学位论文③如何在按部门查询和统计时做到真实准确在需求收集段,用户提出需要能统计指定部门的考勤数据,以便对部门的管理工作进行评估和分析,这要求按部门查询和统计职工考勤数据时必须真实和准确。重庆科技学院图书馆的职工尤其是短期合同工的岗位变动较为频繁,有时岗位变动后职工所属的部门就会改变。如果考勤系统在某个时间段内按部门进行查询和统计时,以该部门当前的职工名单作为条件对记录进行SELECT就可能会出现两个方面的不准确:不能得到以前属于本部门但现已调离的职工的数据;新调入部门的职工,在以前部门工作时产生的考勤数据会被错误地计算到当前部门上。为避免出现上述问题,在系统设计时我们需要做到两点:首先,要为每一条考勤数据时增加一个departmentid字段,用于标识此职工当前所属的部门;其次,在系统执行查询和统计指定部f-j(下称D)的考勤数据时应当使用的策略是:遍历用户选择的时间段内的每条考勤数据,SELECT考勤数据的departmentid=D的所有记录。4.2数据库设计重庆科技学院图书馆考勤管理系统选用MicrosoftSQLServer2005数据库系统来建立数据库。该版本继承了SQLServer7.0版本的优点【25‘,数据管理效率高,安全性较好,与服务端的操作系统兼容性好。4.2.1关键表结构设计数据库各个表的设计如下:①department(部门信息)表4.2部门信息表Table4.2departmentinfomation■■■■■■■■■■■■■■■■■■■■■■■■●■●■■■■■●■■■■■■■■●■■■■■■■●■■■■■■■■■■■■●●■■■■■■■■■■一m■●■■■■■■■■■■●■■■■■●●■■■■■■■■■■■■■■■■■■■■■●■■■■■■■●●■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■一列名数据类型允许空说明idint不允许部门idnamenvarchar(MAX)不允许部门名称mgmoint允许上级部门id坠z92翌!垒!!丕垒堡叠[!墨至垦塑丝②team(班次信息)表4.3班次信息表40 4图书馆考勤管理系统的设计Table4.3teaminfomation列名数据类型允许空说明idn锄eintnvarchar(50)不允许id允许班次名称bygonebit允许是否已停用③workers(职工信息)表4.4职工信息表Table4.4workerinfomation列名数据类型允许空说明idint不允许idnamevarchar(50)不允许姓名isformalworkerbit允许是否正式工accountnovarchar(50)允许一卡通卡号departmentidint允许所属部门idteamidint允许所属班次id坠z92翌里垒堑垒堡星查星壁旦④operators(操作员账号)表4.5操作员信息表Table4.5operatorinfomation列名数据类型允许空说明idint不允许idnamevarchar(50)不允许用户名passwordvarchar(50)不允许密码VI令privilegeint不允许权限等级bygonebit不允许账号是否已停用⑤flowrecord(考勤数据)表4.6考勤记录表4l 重庆大学硕士学位论文玑lble4.6attendenceflowrecord列名数据类型允许空说明idint不允许iddatetime不允许记录时间workeridfloat不允许职工iddepartmentidfloat允许职工所属部门idteamidfloat允许职工所属班次idsickleavefloat允许病假时长affairleavefloat允许事假时长offdutyfloat允许脱岗时长lateforworkfloat允许迟到时长leaveearlyfloat允许早退时长absentbit允许是否旷工operatoridint不允许操作员idoperate允许提交记录的时间_timedatetime⑥record_from_access_system(从门禁系统获取的打卡数据保存在这个表中)表4.7从门禁系统获取的打卡数据记录表Table4.7loginrecordfromaccesssystem●■■■■■■■■■■●■■■■■■■■■■■■■■■■●■■■■■■■■■■■■■■■■■■■■●■■■●■■■■■■■■■■一Tl■■■■■■■●■■■●●●●●■■●■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■一列名数据类型允许空说明⑦files(文件储存)表4.8文件储存表Table4.8filestorage列名数据类型允许空说明namenvarchar(50)不允许文件名称versionfloat不允许文件版本『contentlvarbinary(MAX)不允许二进制数据42 4图书馆考勤管理系统的设计列名数据类型允许空说明4.2.2数据库各表之间的关系数据库各表间的关系如图4.2所示:图4.2数据库各表间的关系Fig4.2relationshipofthetablesindatabase由于flowrecord表中的department_id、team—id、workers—id、operatorid字段依赖于从department、team、workers、operators表中查找实际名称,所以department、team、workers、operators这四个表的记录不允许进行删除操作。所以考勤系统不提供删除部门、删除组别、删除职工和删除操作员的功能,只提供对其设置停用(bygone)标识的选项。4.3客户端更新模块设计①客户端更新模块功能描述。客户端更新模块的主要功能是连接考勤数据库,检查是否存在新版的客户端文件,如果存在则弹出提示界面,在用户确定后进行下载更新。考勤数据库的fiels表专门用来保存新版的客户端文件。②客户端更新模块算法流程如图4.3所示:43 重庆大学硕士学位论文获取本地软件版本号连接数据库获取数据库files表中的软件版本号比较两个版本号无新版本业!竺竺:获取二进制数据将二进制数据合成为exe文件将新版本的exe文件保存到Update文件夹运行updateman.exe卜7退出考勤软件系统lateman.exe用update文件中的新版客户端exe文件替换旧版客户端exe文件updateman.exe重新启动考勤系统客户端图4.3客户端更新模块算法流程update文件夹、updateman.exe文件和考勤系统客户端的exe文件处于同级目录Fig4.3algorithmoftheclientupdatemodule4.4系统登录模块设计①系统登录模块功能描述。系统登录模块的主要功能是连接考勤数据库,验证用户身份的合法性,并获取合法用户的权限等级。每个合法的操作员账户都拥有一个用户名,密码及权限登记信息,保存在考勤数据库的operator表中。根据数据库返回的结果,如果用户输入的用户名和密码口令正确,则调用系统主界面模块,完成登录;如果用户名或密码错误,则弹出提示信息窗口。②系统登录模块算法流程如图4.4所示。 4图书馆考勤管理系统的设计图4.4系统登录模块算法流程Fig4.4algorithmofthesystemloginmodule4.5系统主界面模块设计根据用户的需求,考勤系统需要在主界面上实时显示当天职工的考勤状态。所以我们将“职工状态实时显示模块”设计为考勤系统的主界面模块,当用户成功登录系统后首先会进入此模块的界面。职工的考勤状态由两部分数据构成:其一是从门禁系统自动获取到的进门打卡信息:其二是考勤系统的操作员人工登记的考勤数据。所以“职工状态实时显示模块”在工作时首先需要调用“与门禁系统通信模块”从门禁系统获取最新的职工打卡数据。4.5.1与门禁系统通信模块①与门禁系统通信模块功能描述。与门禁系统通信模块的主要功能是从门禁服务器的数据库中获取当日图书馆职工的打卡记录,并将获取到的记录写入考勤数据库的recordfromaccesssystem表(每次写数据前需先清空表中的数据)。②与门禁系统通信模块算法流程如图4.5所示:45 重庆大学硕士学位论文图4.5与门禁系统通信模块算法流程Fig4.5algorithmoftheaccesssystemcommunicationmodule门禁数据库的打卡记录表的数据并不包含职工的id,所以在将打卡数据存入考勤系统数据库record_from_access_system表前,必须利用打卡记录中职工的一卡通号与考勤数据库workers表中accountno字段的对应关系进行处理,如图4.6所示:图4.6门禁系统打卡记录表和考勤系统职工信息表的字段对应关系Fig4.6relationshipbetweencheckintableandworkestable4.5.2职工状态实时显示模块①职工状态实时显示模块功能描述。职工状态实时显示模块的主要功能是实时地从考勤系统的record—from_access_system表和flowrecord表读取职工当天的考勤记录并显示出来。默认条件下显示图书馆所有部门的职工考勤记录,如果指定具体部门则只显示该部门职工的考勤记录。46 4图书馆考勤管理系统的设计②职工状态实时显示模块算法流程如图4.7所示:图4.7职工状态实时显示模块算法流程图Fig4.7algorithmoftheworkerrealtimestatusmodule4.6考勤操作模块设计4.6.1考勤登记模块①考勤登记模块功能描述。考勤登记模块的主要功能是添加考勤记录。进行考勤登记操作时,首先需要选择选择记录的日期,然后选择部门,再从该部门的职工列表中选择一名职工(如果不指定具体部门,职工列表将包含图书馆的所有职工)并按需要填写考勤项,最后提交到考勤数据库存入flowrecord表中。成功提交后,系统从考勤数据库中读取本次提交的数据,并显示为考勤结果预览。②考勤登记模块算法流程如图4.8所示:47 重庆大学硕士学位论文图4.8考勤登记模块算法流程图Fig4.8algorithmoftheattendance——infoaddmodule4.6.2考勤查询模块①考勤查询模块功能描述。考勤查询模块的主要功能是查询指定日期段内的考勤明细数据。首先需要选择查询起止日期范围,然后选择部门和职工提交查询(如果不指定具体部门,则表示查询图书馆的所有部门;如果不指定具体职工,则表示查询所选部门的所有职工)。系统在考勤数据库的flowrecord表中按条件执行查询,并显示结果。②考勤查询模块算法流程如图4.9所示:48 4图书馆考勤管理系统的设计查询图4.9考勤查询模块算法流程图Fig4.9algorithmoftheattendance——infoquestmodule4.6.3统计报表生成模块①统计报表生成模块功能描述。统计报表生成模块的主要功能是对考勤查询的结果进行汇总后显示。用户首先进行和考勤查询相同的操作,系统得到考勤数据后将职工的记录按月进行汇总,然后显示结果。②统计报表生成模块,统计单个职工的算法流程如图4.10所示:49 重庆大学硕士学位论文图4.10统计报表生成模块算法流程图Fig4.10algorithmofthestatisticalstatementsmodule4.7部门信息管理模块设计4.7.1部门信息添加模块①部门信息添加模块功能描述。50 4图书馆考勤管理系统的设计部门信息添加模块的功能是为考勤系统添加新部门。进行添加操作时需要填写部门名称,以及从列表中选择其上级部门,最后提交添加请求。如果部门名称已存在则添加失败。执行添加操作后,系统根据添加的结果弹出提示框。②部门信息添加模块算法流程如图4.11所示:图4.1l部门信息添加模块算法流程图Fig4.1lalgorithmofthedepartment_infoaddmodule4.7.2部门信息修改模块①部门信息修改模块功能描述。部门信息修改模块的功能是修改部门名称,重新设置上级部门和设置部门停用标识。如果修改后的部门名称已存在则修改操作失败。执行修改操作后,系统根据添加的结果弹出提示框。②部门信息修改模块算法流程如图4.12所示: 重庆大学硕士学位论文修从列表中选择需要修改的部门/,将选择的部门当前的名称作为“新名称”一栏的默认值;当前的上级部门作为<修改上级部门”一栏的默认1图4.12部门信息修改模块算法流程图Fig4.12algorithmofthedepartment_infoeditmodule4.8职工信息管理模块设计4.8.1职工信息添加模块①职工信息添加模块功能描述。职工信息添加模块的功能是向考勤系统中添加新职工。在进行添加操作时,52 4图书馆考勤管理系统的设计需要为新职工填写一卡通号、姓名,选择部门名称、组别名称,标记是否正式工。如果数据库中一卡通号已被使用,则添加将会失败。用户执行添加操作后,系统根据添加的结果弹出提示框。②职工信息添加模块算法流程如图4.13所示:图4.13职工信息添加模块算法流程图Fig4.13algorithmoftheworkerinfoaddmodule4.8.2职工信息修改模块①职工信息修改模块功能描述。职工信息修改模块的功能是修改已存在的职工信息。系统首先根据数据库中的信息生成职工列表,然后用户选择一名职工进行需要的修改。提交修改后,系统弹出操作成功提示框。②职工信息修改模块算法流程如图4.14所示: 重庆大学硕士学位论文图4.14职工信息修改模块算法流程图Fig4.14algorithmoftheworker_infoeditmodule4.9操作员账号管理模块设计4.9.1操作员账号添加模块①操作员账号添加模块功能描述。操作员账号添加模块的功能是为考勤系统添加新的操作员。在进行添加操作时,需要为新的操作员填写用户名、密码并选择其权限等级。如果操作员用户名已存在,则添加将会失败。用户执行添加操作后,系统根据添加的结果弹出提示框。②操作员账号添加模块算法流程如图4.15所示:54 4图书馆考勤管理系统的设计图4.15操作员账号添加模块算法流程图Fig4.15algorithmoftheoperatoraccountaddmodule4.9.2操作员账号修改模块①操作员账号修改模块功能描述。操作员账号修改模块的功能是对已有操作员账号的权限等级进行修改和账号停用设置,操作成功后将弹出提示框。②操作员账号修改模块算法流程如图4.16所示: 重庆大学硕士学位论文图4.16操作员账号修改模块算法流程图Fig4.16algorithmoftheoperatoraccounteditmodule4.10数据库维护模块设计数据库维护模块的主要功能是实现对考勤数据库的手动备份和备份文件导入。此模块提供的手动备份功能与考勤数据库服务器SQLServer2005数据库的自动备份功能共同完成对数据库的备份保护工作。4.10.1数据库手动备份模块①数据库手动备份模块功能描述。数据库手动备份模块为系统用户提供了对考勤数据库的手动备份操作选项。备份文件储存在考勤数据库服务器的D:krnannualbak\bak.bak,每次手动备份操作都会覆盖上一次的备份文件,备份操作通过SQL命令完成。为避免误操作,用户选择备份操作后将弹出对话框,用户必须选择确定后备份操作才会继续。②数据库手动备份模块算法流程如图4.17所示:56 4图书馆考勤管理系统的设计图4.17数据库手动备份模块算法流程图Fig4.17algorithmofthedatabasebackupmodule4.10.2数据库文件导入模块①数据库文件导入模块功能描述。数据库文件导入模块为用户提供了将数据库的手动备份文件恢复导入到考勤数据库的功能,导入操作通过SQL命令完成。为避免误操作,用户选择导入操作后将弹出对话框,用户必须选择确定后备份操作才会继续。②数据库文件导入模块算法流程如图4.18所示: 重庆大学硕士学位论文图4.18数据库导入模块算法流程图Fig4.18algorithmofthedatabaseimportmodule4.11系统设置模块①系统设置模块功能描述。系统设置模块的主要功能是对本地考勤系统客户端的运行参数和界面风格进行个性化设置。用户的设置只对本机的考勤客户端起作用,不会影响到其他客户端。客户端配置文件储存在用户的PC上。②系统设置模块算法流程如图4.19所示:图4.19系统设置模块算法流程图Fig4.19algorithmofthesystemsettingmodule58 5图书馆考勤管理系统的实现前面已经基本完成了系统分析和设计的工作,下一步要做的就是将设计结果付诸实施,并完成测试的工作。由于整个客户端基于.NET框架平台开发,我们决定使用C拌语言编制代码,C撑是由C和C++衍生出来的面向对象的编程语言,是.NET开发的首选语言【26】。在本节中给出部分模块的实现细节。5.1客户端主界面的实现考勤客户端的主界面中包括一个TabControl控件,此控件具有四个选项卡,分别对职工状态实时显示、考勤登记、考勤查询和统计报表生成模块进行管理。职工状态实时显示模块是此控件的默认显示项,其实现效果图如图5.1所示:图5.1客户端主界面Fig5.1mainGUIofclient左上角显示的是当天的日期和时间。部门和岗位没有进行选择,表示显示当天所有部门的职工的考勤结果。下方的职工状态显示表格使用的是.NET框架中的DataGridView控件,其数据源来自ADO.NET的DataSet类的一个实例ds。为让实现实时刷新,系统定义了一个控件进.quest.resultDataGridViewtimer行计时。当timerCUlTtimeTick(objectsender,EventArgse)事件触发时,首先由db—communicater的实例thiscommunicator连接考勤数据库并从中得到考勤数据,然后由thiscommunicator填充ds,接着将控件的.questresultDataGridView59 重庆大学硕士学位论文DataSource设置为ds_questresult,最后DataGridView的这个实例调用.Show()方法,显示结果。5.2菜单栏介绍5.2.1文件菜单“文件”菜单的实现效果如图5.2所示:图5.2文件菜单Fig5.2filemenu“文件”菜单提供了数据备份、数据导入和退出的操作项。当前登录的操作员账号“llj”具有系统管理员权限,所以数据备份、数据导入的选项是可用的。5.2.2“工具’’菜单“工具”菜单的实现效果如图5.3所示:变糌疆l篓工具(日卜帮助(H);系统设置(S)!职薹捷簧ji更改密码(c),一i操作员账号管理(M)彳i职工信息添加和修改(.11】r);部门信息添加和修改(D)图5-3工具菜单Fig5.3toolsmenu“工具"菜单提供了系统设置、更改密码、操作员账号管理、职工信息添加和修改、部门信息添加和修改的操作项。5.2.3“帮助”菜单“帮助”菜单的实现效果如图5.4所示:60 5图书馆考勤管理系统的实现图5.4帮助菜单Fig5.4helpmenu“帮助”菜单提供了关于和显示系统帮助文档的操作项。5.3考勤登记模块的实现考勤登记模块的实现效果如图5.5所示:图5.5考勤登记模块实现效果Fig5.5attendanceaddmodulerealeffect用户点击填写完考勤项后,点击“提交到数据库”按钮将记录提交到数据库。点击此按钮的事件函数代码如表5.1所示:61 重庆大学硕士学位论文表5.1提交考勤记录按钮的事件函数代码1『拍le5.1C≠}codeofattendanceaddprivatevoidbutton_submitToDb_Click(objectsender,EventArgse){//1获取UI输入信息,存入考勤记录结构体attendence—infoattendence—infothis—info=newattendence_inf00;this—info.datetime—str=dateTimePickeradd.Value.ToString(”yy),)r—MM-dd”);if(comboBox_addWorkerName.SelectedValue==nulllMessageBox.Show(”请先选择一个职工”);retIJm:this—info.worker—id—str=comboBox_addWorkerName.SelectedValue.ToStrin90;thisinfo.affairleavestr=maskedTextBoxaffairleave.Text;thisinfo.sick1eavestr=maskedTextBoxsickleave.Text;this_info.off_duty_str=maskedTextBoxoffduty.Text;this—info.1ate—for—work—str=maskedTextBox—late—for—work.Text;this_info.1eave_early_str=maskedTextBox_leave_early.Text;if(checkBox_absent.Checked—truelthis—info.is—absent—str=”l”;if(comboBox_coveredBy.SelectedValue12null)this_info.covered_by_str=comboBox_coveredBy.SelectedValue.ToStrin90;this_info.operatorid—str=operatorid.ToStrin90;//验证输入信息thisinfo是否合法if(!this_info.validate())MessageBox.Show(”填写有误,请重试”);retum:62 图书馆考勤管理系统的实现//2提交到数据库curr_operator.attendence_add(this_info);//3显示当天填写的所有考勤记录//需要SELECT的字段stringSELECT—coloumn2config.add_show_column;//需要FROM的数据库表stringFROM—table=config.flowrecord__table+”,”+config.workers_table+”.”+config.department_name_table+”.”+config.team_name_table+”.”+config.operator_table;//需要WHERE的条件stringWHERE_condition=config.add_show_condition;db—communicaterthis—communicator=newdb_communicater(config.conn_string);DataSetds—datGridV—addRet2this_communicator.quest_from_db(SELECzcoloumn。FROM_table,WHERE_condition);ds—datGridV—addRet.DataSource=ds_dataGridView_addResult;ds—datGridV—addRet.DataMember=ds_dataGridView_addResult.Tables[0].TableName;//4格式化并输出到dataGridView控件functions.format_dataGridView(dataGridView_addResult,checkBox_addHideEmpty’Columns.Checked);dataGridView_addResult.Columns[”记录idI。】.ReadOnly=true;dataGridView_addResult.ReadOnly=true;dataGridView_addResult.Show();}63 重庆大学硕士学位论文5.4考勤查询模块的实现考勤查询模块的实现效果如图5.6所示:图5.6考勤查询模块实现效果Fig5.6attendancequestmodulerealeffect界面上方“查询条件”部分主要由四个联动的ComboBox控件和两个DateTimePicker控件组成。用户选择查询条件后,点击“执行查询”按钮,系统由dbcommunicater类的实例thiscommunicator根据查询条件从考勤数据库中得到结果,最后在界面下方“查询结果’’的DataGridView控件中显示。5.5部门管理模块的实现部门添加和修改模块的实现效果如图5.7所示:图5.7部门添加和修改模块实现效果Fig5.7departmentaddandmoditymodulesrealeffect64 5图书馆考勤管理系统的实现该界面左半部分提供了添加部门信息的功能选项,右半部分则提供了修改部、]信息的功能选项。5.6操作员账号管理模块的实现操作员账号管理模块的实现效果如图5.8所示:图5.8操作员账号添加和修改模块实现效果Fig5.8operatoraddandmoditymodulesrealeffect该界面上半部分提供了添加操作员的功能选项,下半部分则提供了修改操作员账号权限和停用操作员的功能选项。5.7系统设置模块的实现系统设置模块的实现效果如图5.9所示: 重庆大学硕士学位论文图5.9系统设置模块实现效果Fig5.9systemsettingmodulerealeffect设置界面通过多个CheckBox复选框和一对RadioButton单选框提供了本地考勤系统客户端的运行参数和界面风格的设置选项,点击确认按钮后,设置选项被应用,并储存到用户本地考勤客户端目录下的config.ini配置文件中。5.8系统测试结果软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计出一批测试用例,并利用测试用例来运行程序,以发现程序错误的过程F71。软件测试对保证软件的可靠性、可用性具有极其重要的意义【281,是软件开发过程中最费时的一个步骤129J。模块测试的工作是检测系统的每个功能模块是否能正常工作,这个阶段的测试在编写代码完成后就立即进行,常见的测试策略有:黑盒测试和白盒测试130l。集成测试的工作是在模块测试的基础上,将已经测试的所有模块组装成为系统进行测试。目的在于检验与软件设计相关的程序结构问题。集成测试的模式分为渐增式测试模式与非渐增式测试模式两种【3¨。经过反复测试,各模块的功能都能正常运行,系统整体的工作性能良好,达到了预期目标,基本可以满足用户的需要。 5图书馆考勤管理系统的实现5.9系统效果分析本系统于2011年开始试运行,现在已经运行了两年时间。本系统作为重庆科技学院图书馆使用计算机进行考勤管理的初步尝试,在运行过程中也发现和解决了一些问题,经过改进后用户界面更加简洁友好,客户端程序运行也更Dill急定。总体来说,本系统发挥了如下作用。①大大提高了考勤记录的准确性和客观性在系统未开发以前,图书馆的考勤工作主要是由馆办公室负责。各个部门每月向馆办公室提交本部门职工的请假条,如果有职工出现迟到、早退等情况,还需要提交纸质表格进行说明。在这种人工处理的模式下考勤记录的准确性得不到保障。首先,容易出现假条或表格丢失的情况;另外,有的部门由于一些因素对个别职工迟到、请假等情况隐瞒不上报。在使用考勤管理系统之后,每个部门将考勤记录直接填写到系统中,馆办公室通过系统查看各部门的考勤记录,省去了纸质文件的移交过程。而且由于职工每天的到馆情况在考勤管理系统主界面上一目了然,也就没有出现对考勤隐瞒不报的情况了。②提高了统计的准确率。职工出勤的情况是图书馆对各个部门以及职工的年终考评依据之一,在未使用系统前,手工统计难免出错。现在通过考勤系统的统计报表功能可以快速准确地得到统计结果。③减少了职工迟到情况在未使用系统前,图书馆经常有职工上班迟到的情况出现。因为门禁打卡系统只是验证进门读者的身份,并未提供查看记录的途径。在使用系统后,进门打卡的时间会自动显示考勤操系统中作为迟到的依据,职工上班迟到的情况大为减少。 重庆大学硕士学位论文 6总结与展望6.1总结本系统是在办公自动化在高校大力推行的阶段提出的基于C/S架构的图书馆考勤管理系统。本论文针对考勤管理系统做了如下工作:①分析了重庆科技学院图书馆考勤管理的需求、考勤管理系统国内外研究现状和发展趋势,指出了考勤管理系统对于图书馆管理工作的重要意义。②分析了.NET框架平台、数据库、C/S架构、UML建模等关键技术,为系统的成功开发准备了充分的理论和技术基础。③完成了考勤管理系统的需求搜集和系统分析,对系统的关键模块给出需求用例图和流程的直观说明。④完成了对系统架构、模块功能和数据库的详细设计,从图书馆考勤管理工作的需要出发,使系统设计更加合理,保证了系统的成功开发。⑤实现了考勤管理系统系统。系统模块功能清晰,界面友好,该系统在重庆科技学院图书馆的考勤管理工作中应用,经过一段时间的运行,达到了预期效果,并提出了进一步的改进方案。随着系统的完成并投入使用,图书馆的考勤管理工作实现了由人工转向自动化,图书馆工作人员的时间观念增强,工作效率提高,改善了图书馆的整体精神面貌。6.2展望随着系统运行时间的增加,将会暴露出更多的问题需要解决,因此需要根据这些问题进行合理调整以进一步完善。主要从几下两个方面来解决:①解决普通职工需要能够自助查询自己的考勤记录的问题。②进一步完善日志记录,为分析问题提供依据。③对数据采用压缩后传输,提高系统的安全性。④进一步提高系统的容错能力,提高系统界面的友好性。 重庆大学硕士学位论文70 致谢本文的研究工作是在我的导师谭会辛教授的精心指导和悉心关怀下完成的,在我的学业和论文的研究工作中无不倾注着导师辛勤的汗水和心血。导师的严谨治学态度、渊博的知识、无私的奉献精神使我深受的启迪。从尊敬的导师身上,我不仅学到了扎实、宽广的专业知识,也学到了做人的道理。在此我要向我的导师致以最衷心的感谢和深深的敬意。在多年的学习生活中,还得到了许多领导和老师的热情关心和帮助,如陈强副研究官员等。在日常学习和生活中,我的师兄弟王应等给予了我很大帮助。在此,向所有关心和帮助过我的领导、老师、同学和朋友表示由衷的谢意!衷心地感谢在百忙之中评阅论文和参加答辩的各位专家、教授!何凡二0一三年五月于重庆 重庆大学硕士学位论文72 参考文献齐胜男,胡立夫.高校图书馆考勤管理系统设计与实现[J】.沈阳航空工业学院学报,2010(02).王文莉.不合理规章制度的负效应[J].图书馆论坛,1997(2):45章茜.浅谈高职院校图书馆数字化建设的现状与思考[J】.福建电脑,2012(03)曾井红.网络环境下高校图书馆办公室管理工作的变革[J】.江西图书馆学刊,2008(4):44—451叶仕平.基于ASP.NET的图书馆志愿者考勤系统[J】.计算机与现代化,2012(11)http://msdn.microsoft.com/zh-cn/library/fx6bklf4%28v=vs.100%29.aspx[EB/OL].2013.4http://msdn.microsoft.com/library/zw4w595w.aspx[EB/OL].2013.4俸学文.ADO.NET数据库访问探讨[J】.电脑知识与技术,2012(06)谢斌斌,周颖.关于计算机数据库的管理技术的研究【J】.数字技术与应用,2012(02)汪利琴.对SQLServer2005数据库安全保护措施的探讨[J】.科技信息,2012(10)陈淳,许晓玲.浅析不同软件体系架构的特点【J】.中小企业管理与科技,2012(05)MartynEdwards,PeterGreen.UMLforHardwareandSoftwareObjectModelingIn:UMLforReal:DesignofEmbeddedReal-TimeSystems[M].NewYork:KluwerAcademicPublishers,2003:127.147MarkPriestley.PracticalObject-OrientedDesignwithUML[M].北京:清华大学出版社,2000:77—83JMagee.JKramer.Concurrency:StateModels&JavaPragrams[M].USA:JohnWiley&Sons,1999:69·83吴建.基于UML的GRAPPLE在ATM设计中的应用[J】.电脑编程技巧与维护,2012(22),15http://msdn.microsoft.com/zh-cn/library/msl69620%28v=sql.90%29.aspx[EB/OL].2013.4HughRobinson,HelenSharp.XPCulture:whythetwelvepracticesbothareandarenotthemostsignificantthing[C].InProceedingsoftheAgileDevelopmentConference,USA,2003JosephSchmuller.SamsTeachYourselfUMLin24Hours[M].USA:SAMS,2001Gradybooch,JamesRumbaugh,IvarJacobson.TheUnifiedModelingLanguageReferenceManual[M].USA:Addison-wesley,1998.蔡敏.UML基础与ROSE建模教程[M].北京:人民邮电出版社,2006:5.7吴炜煜.面向对象分析设计与编程第二版[M】.北京:清华大学出版社,2007,4-9陈松乔,任胜兵,王国军.现代软件工程[M】.北京:清华大学出版社,2006,56.6073,,,,,,,,,叫U刁习q习印刀跚观伽U刁n口pM陋眄P降pn口口口 [23】任南,郑宇.基于GRAPPLE和XP的管理信息系统的开发[J】.价值工程,2010(53):47.49[24】周红,刘光蓉,张红武.智能化考勤管理系统的设计[J].武汉工业学院学报,2004(2):21—231[25】甄镭..NET与设计模式[M】.北京:电子工业出版社,2005,13.15[26】陈青华.c撑网络程序开发案例教程[M】.北京:中国电力出版社,2008,20—38[27】RonPatton.软件测试【M】.北京:机械工业出版社.2006.[28】paulC.Jorgensen.SoftwareTestingACraftsman’SApproach[M].北京:机械工业出版社,2008,2-11,70-87[29]李晓伟,崔文惠,林鹏.基于.NET框架的远程异步调试器的设计[J】.计算机工程与设计,2012(09)【30】张晓明,黄琳.软件测试的艺术【M].北京:机械工业出版社,2012.[31】郑人杰.软件工程实践者研究方法[M】.北京:机械工业出版社,2011.74 学位论文独创性声明本人声明所呈交的墼士学位论文《垒缝趱堕鲤塑篁堡垒塑型邀》是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。学位论文作者签名:导师签名:签字日期:710f3年孓日乙,目签字日期:学位论文使用授权书本学位论文作者完全了解重庆大学有关保留、使用学位论文的规定。学校有权按有关规定向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权重庆大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段保存、汇编学位论文,可以以电子、网络及其他数字媒体形式公开出版。非军工项目保密的学位论文在解密后也遵守此规定。(涉密期限至年月同。)作者签名:鱼导师签名:年月同备注:审核通过的军工涉密论文不得签署“授权书”,须填写以下内容:该论文属于军工涉密论文,其密级是——,涉密期限至——年一月一同。说明:本声明及授权书必须装订在提交的学位论文最后一页。