基于net的研究生学籍系统的设计与实现毕业论文_第1页
基于net的研究生学籍系统的设计与实现毕业论文_第2页
基于net的研究生学籍系统的设计与实现毕业论文_第3页
基于net的研究生学籍系统的设计与实现毕业论文_第4页
基于net的研究生学籍系统的设计与实现毕业论文_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

基于.net的研究生学籍系统的设计与实现毕业论文

毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名:日期:

学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名: 日期:年月日导师签名:日期:年月日

注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订

指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神□优□良□中□及格□不及格2、学生掌握专业知识、技能的扎实程度□优□良□中□及格□不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力□优□良□中□及格□不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性□优□良□中□及格□不及格5、完成毕业论文(设计)期间的出勤情况□优□良□中□及格□不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格建议成绩:□优□良□中□及格□不及格(在所选等级前的□内画“√”)指导教师:(签名)单位:(盖章)年月日

评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格建议成绩:□优□良□中□及格□不及格(在所选等级前的□内画“√”)评阅教师:(签名)单位:(盖章)年月日教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况□优□良□中□及格□不及格2、对答辩问题的反应、理解、表达情况□优□良□中□及格□不及格3、学生答辩过程中的精神状态□优□良□中□及格□不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格评定成绩:□优□良□中□及格□不及格教研室主任(或答辩小组组长):(签名)年月日教学系意见:系主任:(签名)年月日

目录TOC\o"1-3"\u摘要 IIIAbstract IV第一章绪论 51.1系统开发背景 51.2课题研究目的及意义 51.2.1课题目的 51.2.2课题意义 61.3研究内容 6第二章系统需求内容 72.1系统特性分析 72.2系统核心用例分析 72.2.1系统用户分析 72.2.2系统用户登录用例 82.2.3研究生管理用例 92.3系统环境需求 102.4系统开发技术需求 11第三章体系结构设计 123.1体系结构 123.1.1系统体系结构 123.2系统用户界面设计 123.3数据库设计 133.3.1数据库介绍 133.3.2数据流程图 143.3.3数据库需求分析 153.3.4数据库概念结构设计 153.3.5数据库逻辑结构设计 16第四章系统实现 184.1系统的架构方式 184.2用户登陆界面的实现 194.3研究生个人信息管理模块的实现 224.4系部管理功能模块的实现 264.5学籍管理模块的实现 284.6申报中期考核模块的实现 304.7系统实现中的问题及解决方案 324.8系统的不足之处 33第五章系统测试 345.1软件测试基础 345.2白盒测试 345.3黑盒测试 34致谢 36参考文献 37附录 38

摘要研究生学籍管理系统是学校管理系统的主要构件之一,在某种程度上体现了一个学校的教学现代化水平,系统的先进性将引领学校教学质量向前飞速发展。该系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,系统采用微软公司的VisualStudio201开发平台,C#语言开发,数据库服务器采用SQLServer2008。系统首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成高可行性系统。管理员模块包括注册、添加、查询、修改、删除、查看所有研究生的信息,并且可以对班级信息、课程信息、和进行简单的管理;对该生的学籍异动进行管理;对该生的学籍进行查询,并可以进行中期申报考核。关键字:学籍管理论文评审资格查审.net

AbstractGraduateSchoolKeywords:managementThispaperreviewsqualificationreview.Net基于.net的研究生学籍系统的设计与实现第一章绪论1.1系统开发背景国内外研究现状和发展动态:管理信息系统就是我们常说的MIS(ManagementInformationSystem),在强调管理,强调信息的现代社会中它变得越来越普及。MIS是一门新的学科,它跨越了若干个领域,比如管理科学、系统科学,运筹学、统计学以及计算机科学。在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。

管理信息系统起初应用于最基础的工作,如打印报表、计算工资、人事管理等,进而发展到企业财务管理、库存管理等单项业务管理,这属于电子数据处理(EDP,ElectronicDataProcessing)系统。当建立了企业数据库,有了计算机网络从而达到数据共享后,从系统观点出发,实施全局规划和设计信息系统时,就达到管理信息系统的阶段。随着计算机技术的进步和人们对系统的需求进一步提高,人们更加强调管理信息系统能否支持企业高层领导的决策这一功能,更侧重于企业外部信息的收集、综合数据库、模型库、方法库和其他人工智能工具能否直接面向决策者,这是决策支持系统(DSS,DecisionSupportSystem)的任务。在国内我们学校,尤其是在各大高校,对于学生的管理是相当重要,而且也是相当麻烦的,它是学校管理中最基本的一项常规性工作。而长期以来,学校管理都是依赖人工来进行的,面对如此众多的学生学籍,其工作量是相当相当巨大的。这样不仅仅浪费了大量的人力物力,而且由于人工管理存在着大量的不可预知性,造成学生学籍管理的一些不规范,使得信息管理陷入“事倍功半”的地步。1.2课题研究目的及意义1.2.1课题目的随着计算机事业的普及,互联网的发达,曾经以手写为主的方式对学校研究生的学籍进行管理的时代已经不存在了。因此,此次毕业设计通过对“基于.Net的研究生学籍系统”的研究,意在改善高校研究生学籍管理的现状,实现高校研究生学籍管理的信息化、系统化、规范化,最终设计并实现一个完整、创新、并符合现代化信息管理要求的研究生学籍管理系统。1.2.2课题意义随着高校招生规模的扩大,各高校学生基数急速增加给学籍管理工作带来了极大的压力,传统的依赖人力管理的学生学籍管理也随之增加了不少的工作量,即浪费大量的人力物力又浪费了财力,并且由于人工管理存在着大量的不可控因素,造成了学籍管理工作的不规范、学籍管理手段的落后、学籍档案材料内容的空泛,从而造成了不必要的麻烦和众多损失。因此,通过对“基于.net的研究生学籍系统”的设计与实现,最终不但可以提高学校管理人员的工作效率效率,加强研究生学籍的安全性和稳定性,最重要的是为学校在学生的学籍进行管理时,节省了而大量的人力物力和财力,大大的提升了学校的综合实力。1.3研究内容基于.net的研究生学籍管理系统的主要功能如下:1、学生个人信息管理:首先注册学生信息,然后添加学生信息和管理学生信息。2、系部管理:添加系部信息,系部管理,添加专业,专业管理,添加班级,管理班级。3、成绩管理:包括添加课程,课程管理,添加成绩,成绩管理。4、学籍管理:学籍管理和学籍查询。学籍管理这一模块主要包括学籍异动以及该生在校期间学籍异动的查询等。5、申报中期考核:通过对研究生掌握本学科基本知识以及科研能力进行评价,以考察其是否具备进入下一阶段学习的能力。具体包括填写申报信息,导师意见,院系意见。第二章 系统需求分析2.1系统特性分析为适应当代社会的需要,一个好的研究生学籍管理系统应该具有如下一些特性:(1)良好的简单实用的特性。因为研究生学籍管理系统的使用者大多都是普通的用户,并不具备非常专业的计算机类知识,过于复杂的系统将会使系统操作人员不方便使用,因此,简单实用的系统成为了系统意向非常重要的指标,能够适用于任何人群,不需要太多的计算机类知识,仅仅只要求使用的工作人员具有最基本的计算机知识,即可用系统完成本系统中的基本业务处理,而且系统能够极大的提升工作人员的工作效率。(2)易维护和更新管理的特性。针对于现在企业发展的趋势,企业管理要求和用户的需求不断的发生着变化,必须要一套适合企业和用户现今需求而且能定制未来发展模式的研究生学籍管理系统,也就是说我们需要的软件应该是可以随着用户需求的调整和改变而做出相应的调整和改变的灵活系统,可以快速灵活地根据客户需要进行客户化开发,增加、修改客户界面和客户流程,更加的人性化。这样就能减少系统二次开发的成本,并且能充分的满足、贴切用户的需求,进而节约不必要的开支,更好的为用户服务。2.2系统核心用例分析2.2.1系统用户分析对于一个需要安全严格控制的研究生学籍管理系统,通过用户登录方式,控制用户权限是非常有效的方法。因此在系统中,需要设计怎么样级别的用户角色,是一个需要考虑地重点。从系统的需求出发,系统目前只需要考虑操作的员登录系统,行使操作员的权限,对系统进行基本数据录入和管理。系统管理员是系统的高级拥有者,管理系统所有研究生等信息,查看报表数据等。这两者都是系统逻辑用户。此外,还需要一个管理系统平台的自定义用户,这些用户须由管理员添加而不能自由注册,然后管理员根据这些用户的工作职能给予不同用户不同的权限,其将帮助系统平台的正常运行和解决系统运行过程中的一些问题。通过此需求分析,系统设计如下两种用户角色。系统管理员系统管理员自定义用户图2.1系统用户关系图基于系统的扩展性设计,用户的权限管理不仅如此,通过用户、角色与权限分析,以及引入分组的概念,使得系统在未来的升级中,能适应越来越复杂的系统需求。2.2.2系统用户登录用例系统用户登录是系统用户使用系统的唯一途径,通过对用户的登录管理,系统自动获取当前用户的角色,并通过得到当前角色的权限,在系统的主界面中显示与该角色相符的功能界面和链接。系统用户的登录用例图如图2.2所示。同时,为了进一步加强安全控制,系统还采用了验证码的验证登录。登录登录输入用户名输入密码图2.2系统用户登录用例图触发条件:系统用户打开系统登录界面->填写本人帐号和密码->点击登录按钮登录。系统反馈:研究生学籍管理系统按服务器在接受到用户的登录信息后,先验证用户是否存在,接着验证用户的密码是否正确。如果登录成功,用系统会从数据库中获取该用户的权限,跳转到相应的主界面。登录活动图如图2.3所示。图2.3用户登录活动图2.2.3研究生管理用例研究生管理,整个系统平台对研究生管理。在系统中引入研究生信息是系统从实际出发的最好验证,众所周知,研究生最鲜明的特征和学生的差不多,该系统的合理设置能够提高研究生学籍的管理效率,细化管理和提供优良的服务。因此,对于研究生的添加一般都说由专门的管理员进行管理。系统中对研究生进行分类管理正符合这样的实际情况。学生类型管理学生类型管理学生信息管理添加类型修改类型删除类型添加学生修改学生删除学生图2.4研究生管理用例图在系统设计中,一般一个用户类型对应着会有若干个用户由其统一管理,进行控制。触发条件:管理员->登录系统[用例2.2]->打开研究生类型管理->新增研究生类型->填写相应信息->提交管理员->登录系统[用例2.2]->打开研究生类型管理->修改研究生类型->填写相应信息->提交管理员->登录系统[用例2.2]->打开研究生类型管理->选中相应类型->删除研究生类型->提交系统反馈:在管理员点击提交新增研究生类型的时候,浏览器客户端首先会检测相应的字段是否为空,对于不可为空的项给与不能为空的友好提示。当客户端验证通过后,系统的服务器端首先会查询新创建的研究生类型是否已经存在,如果存在,则返回研究生类型已存在的警告信息。如果研究生类型创建成功则返回成功消息。在管理员点击提交更新研究生类型信息时,系统会根据研究生类型的主键标识,更新该类型的相关的详细信息,除了研究生类型主键ID,任何信息都是可以修改的。对于删除研究生类型信息,系统则会做严格的检测。如果系统中有任何研究生或者其他信息关联到该类型,那么该类型则无法删除。如果管理员想强制删除,则首先会删除关联该类型的其他所有表的数据,然后删除该类型信息。2.3系统环境需求从教育行业中开始应用计算机至今,我想至少已有几十万程序员开发过学生管理系统或类似的系统软件,学生管理系统似乎已成了在校大学生的必修设计之一,我认为开发学生管理系统之所以是必要的主要基于以下几点理由:1、最早的学生学籍管理系统多为单机版,数据库采用的多是Foxbase、FoxPro等,因为是单机版,所以大大限制了数据的共享。在网络无处不在的今天,这种系统已大大落伍、不适用了。2、近期查阅的一些网络版的学生学籍管理系统则多是采用C/S(客户端/服务器)结构,使用VB、PowerBuilder等语言开发。这些系统的必须在服务端与客户端都安装上相应的系统才能使用。软件使用事先设计好的固定界面,用户几乎不能对此进行修改,更不要说进行界面或功能上的二次开发。如用户在使用过程中想增添功能,只能将建议反馈给系统的作者,然后等待作者在下一版中进行改进,而不能自已动手。3、最近市面上流行了的一些所谓采用B/S(浏览器/服务器)三层结构的商业软件(浙江大学网络校园网软件平台)则使用的是ActiveX控件技术,客户端必须启用所有ActiveX控件选项,并安装相应客户端软件才能使用,这对大多数非计算机专业的老师来说无疑仍是一道高高的门槛。为此,着手开发这套研究生学籍管理系统一是作为对我大学四年本科学业的检查,二是对MIS系统的初步尝试,这对我以后工作或许会有所帮助。本套系统完全基于B/S结构,没使用任何ActiveX控件,网页中只使用了ASP语言来实现服务器端的功能,这些都是当今任何一种浏览器都默认支持的功能,所以只要客户端安装了任何一种浏览器,不用任何设置即可使用本系统。2.4系统开发技术需求而我的这个系统主要用到了三个方面的技术ASP.NET和SQLServer2008以及VisualStudio2010.其中ASP.NET技术相对于其它Web网站设计语言与技术而言,具有以下优势:1、跨平台性:ASP.NET是基于通用语言的编译运行的程序,其实现完全依赖于虚拟机,它拥有跨平台性,ASP.NET构建的应用程序可以运行在几乎全部的平台上。2、语言支持:它首选的开发语言是c#以及,同时也支持多种语言的开发。3、简单易学:使运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。例如页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面。SQL数据库数据库结构的规划是应用程序设计中一个非常重要的环节。学生学籍管理系统要处理与表现的数据量较多,若使用传统的方式来完成任务,可能会事倍功半,甚至有些任务还无法完成;学生学籍系统的设计开发,需要一套完善的数据库管理系统。对于数据库系统的选用,如果所建立的是私人的Intranet,则可以使用Access等桌面型数据库,但是像学生学籍系统这样需储存大量的数据和用户的系统设计,则需使用较大型的数据库,例如:SQLServer、Oracle、Informix、DB2、Sybase等。本文的设计则应用到SQLServer。第三章体系结构设计3.1体系结构3.1.1系统体系结构数据库在一个信息系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据库存储的效率,保证数据库的完整和一致。同时,合理的数据库结构也将有利于程序的实现。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。系统的体系结构如下图3.1所示,它主要包括了这个系统每个功能模块的功能需求。图3.1系统功能模块图3.2系统用户界面设计登录页面为系统入口页面,只有通过管理员登录方可使用系统,登录成功,转向主界面,来执行相应的操作。该系统登录界面如下图3.2所示,注册如图3.2所示。图3.2系统登录界面图3.3注册界面3.3数据库设计3.3.1数据库介绍数据库是一种存储数据并对数据进行操作的工具,数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(Flat—File)和关系数据库(Relational)。关系数据库中包含了多个数据表的信息。Access2002就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索,Access的优点在于它能使用数据表示图或自定义窗体收集信息。3.3.2数据流程图数据流程图(DataFlowDiagram,简称DFD)是新系统逻辑模型的主要组成部分,它可以反映出新系统的主要功能、系统与外部环境间的输入输出、系统内部的处理、数据传送、数据存储等情况。它的绘制依据是现行系统流程图,数据流程图是管理信息系统的总体设计图,数据流程图的基本符号如图所示:数据源/数据去向数据处理数据存储数据源/数据去向数据处理数据存储数据流如下图3.6所示为本系统的数据流程图图3.6数据流程图3.3.3数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库的结构能充分的满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。根据上面的数据流程图,可以列出以下记录学生信息所需的数据项和数据结构:研究生管理:学号、姓名、性别、民族、籍贯、政治面貌、出生日期、入学时间、家长姓名、联系电话、家庭住址、备注成绩管理:记录号、考试名称、学号、考试科目;中期考核:院系,专业,学号,姓名,导师,研究方向。用户管理:记录号、用户名、用户密码、用户等3.3.4数据库概念结构设计得到上面的数据项和数据结构后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为以后的逻辑结构设计打下基础。这些实体包括各种具体信息,通过各种相互之间的作用形成数据的流动。本系统中根据上面的设计规划出的实体有:学生学籍管理、学生信息管理、中期考核管理、成绩管理、用户管理。实体—关系模型(Entity—RelationshipModule,简称E—R模型)是数据库结构设计常用的方法。E—R图中的巨型表示实体,菱形表示实体间的联系,联系的类型可用1:1或M:M表示,圆角表示实体的有关属性,如图3.7所示的是本管理系统的E—R图:nnnnnnnnnnn学号姓名性别籍贯民族信息管理组成学籍管理组成组成组成成绩管理中期考核用户管理记录号考试名数据库科目名记录号用户名用户等级用户密码学号记录号考试名年级科目名3.3.5数据库逻辑结构设计现在需要将上面的数据库概念结构转化为数据系统所支持的实际数据模型,也就是数据库的逻辑结构。根据系统E—R图需要设计以下几个数据表来存放学生的信息。表3.8学生个人信息表主要包括学生的学号,姓名,性别,户籍,民族,出生年月等信息。下面这个表主要包括了该生的成绩。表3.9学生成绩表表3.10中期考核申报信息表下面这个表格主要包括研究生的申报信息,一个研究生的申报信息主要包括学号,院系,专业,姓名,导师,研究方向,学分,以及个人总结。表3.11User信息表这个表主要是几个管理员登陆的管理权限。第四章系统实现4.1系统的架构方式由需求和功能分析可知,管理人员是系统的主要服务对象。他们虽然比较分散,但通常都有专门的工作办公室,为他们提供专门的客户端程序将会为他们带来极大方便并可以大大提高他们的工作效率。因此考虑到他们的工作方式,需要设计基于分布式的多层C/S结构,并为他们提供客户端。考虑到管理员和学生位置比较分散且不固定,同时他们只是偶尔利用系统浏览所需信息,所以没有必要为他们提供专门的客户端程序,利用浏览器为他们提供基于B/S的服务就能达到要求。根据功能和架构的分析,设计充分考虑了服务对象的需求,将系统设计成三层C/S和三层B/S的混合结构方式,由于业务层封装了系统大部分的逻辑,客户端和浏览器可以复用业务层及其逻辑。4.1.1数据层数据层是一般信息系统的最低层,它为系统定义、维护、访问和修改数据,并负责数据信息的存储、访问及其优化。数据层可以理解成传统的数据服务器,并在特定的数据库管理系统(DBMS)中实现。数据层的设计在充分考虑1NF,2NF和3NF的前提下也保留了部分冗余设计,以达到规范化和效率的平衡,保证数据库存储和访问的最优配置;同时避免使用复合主键,而将复合主键的逻辑抽象到业务层实现,这样能极大的缓解数据层的资源开销和负担。4.1.2业务层业务层主要用于支持大批量事务处理、事务支持、大型配置、信息传送和网络通信。一个定义明晰的业务层扮演着应用程序入口的角色,为我们的表现层代码提供了一个简单统一的业务逻辑实现点。好的业务层也对我们的应用在执行何种操作,以及向用户表达怎样的逻辑进行了明确的定义。(1)业务逻辑业务逻辑用来表示现实世界中的业务实体、业务规则并完成业务的合法性校验,例如学生,课程等属于实体,课程安排、考试安排等则需要使用到业务规则,而这些实体或规则的作用域及有效范围则属于合法性校验范畴,一个教室在同一时间也不能安排两门不同的课程。业务逻辑层通过隐藏来自更高层的事务逻辑和实施细节来提取业务事务。(2)功能逻辑将一些共性的逻辑操作的方法都集中封装在功能逻辑层中,当有多个功能相近的就可以调用封装好了的方法从而减少了应用程序中的重复代码,增强了代码的复用。4.1.3表示层表示层(也叫用户界面层)是将数据呈现给用户或处理用户输入的应用程序或系统一部分。它并不执行数据函数,而是通过输入向服务器请求数据,然后以一定的格式显示结果。表示层也可以实现部分简单的业务逻辑,例如进行课程安排时,教室的容量应该大于上课班级的人数等,这些逻辑可以直接在表示层中实现,以减少对服务器的无效访问,提高服务器的运行效率。4.2用户登陆界面的实现主要是管理员对这个研究生学籍管理系统的设计与实现这个系统进行登陆。管理员首先输入自己的名字,然后输入在数据库中的密码,再输入验证码。用户界面图如下图4.1登录界面图图4.2注册界面其核心代码如下:if(SqlDR.HasRows)//判断查询是否有数据{Session["user"]=username;Response.Write(username);Response.Redirect("index.aspx");}else{Session["user"]=null;Response.Write("<script>alert('用户名或密码错误,登录失败!')</script>");Response.Redirect("login.aspx");}}catch(SqlExceptiona){Response.Write(a.Message);}finally{SqlCon.Close();//关闭连接}}具体实现:当用户点击登陆的时候,获得用户输入的用户名和密码,然后将数据传递到BLL层做业务处理,所谓的业务处理,这里也就是判断用户名是否存在,如果存在,弹出欢迎界面。在UI中的实现:一个登陆页面用来获取用户信息,创建BLL中对登陆管理的实例,将用户信息通过参数传递到BLL中对数据的具体处理是。创建model中的用户信息user(实体类),将BLL处理过的数据交给用户实例。然后便可对其做相应的操作。这里打印欢迎+用户名信息。由上面可知,要想创建model中user实体类和BLL项目中的管理类,那就必须在UI项目中引用上述两个项目类库。Model中的具体实现:用户的实体模型,包括用户各种信息的set,get方法。DAL中的具体实现:进行数据库访问,userDAO中有各种相应方法,接受BLL中传来的数据访问数据库,看有无此数据,如果有那么就返回此用户实体类,没有做相应的处理。系统流程图如下:图4.3用户登录流程图4.3研究生个人信息管理模块的实现管理员登陆这个模块后,主要是做两件事情,一是添加该研究生的信息,信息包括(学号,姓名,籍贯,性别,民族,出生日期,班级编号,政治面貌,身份证号,联系电话,家庭住址等)二是添加了该生信息后,可能会由于各种原因,作为管理员我们要及时的修改这些信息。该功能模块界面如下图4.4个人信息模块图1图4.5个人信息模块图2当需要查询信息时,可按不同的方式对其查询,在不同的查询方式下输入你要查询的基本信息即可得到你想要的资料。其部分显示查询条件代码核心代码有: ifRequest("StudentNum")<>""then response.write"学号中含有“"&strStudentNum&"”" elseifstrName<>""then response.write"姓名中含有“"&strName&"”" else ifstrClass<>""thenstrClass=strClass&"" response.write""&mid(session("MM_UserAuthorization"),2)&""&strClass&"" endif页面最后剩下的是要显示数据库中的信息了。而由于数据库中的信息的容量庞大,必须进行分页显示。这些处理都是在循环生成表格内容的时候进行的。前面已经选好的学号、姓名、班级和需要查询的关键字,只需要在SQL语句中加入相应的判断即可。这里主要用到的技术就是数据库在ASP中的应用。在网页中读取和写入数据到数据库需要使用CGI(CommonGatewayInterface)、ISAPI或ASP等技巧。ASP是服务器端的脚本执行环境,可用来产生和执行动态的高性能的WEB服务器程序,当用户使用浏览器请求ASP主页时,WEB服务器响应,调用ASP引擎来执行ASP文件,并解释其中的脚本语言(JScript

或VBScript),通过ODBC连接数据库,由数据库访问组件ADO(ActiveDataObject,是Microsoft为了企业数据整体存取需求所提出的解决方案之一)完成数据库操作,可用来产生和执行动态的高性能的WEB服务器程序。当用户使用浏览器请求ASP主页时,WEB服务器响应,调用ASP引擎来执行ASP文件,并解释其中的脚本语言,由数据库访问组件ADO完成数据库操作。在ASP中,使用ADO组件访问后台数据库,步骤如下:(1)定义数据源在WEB服务器上打开“控制面板”,选中“ODBC”,在“系统DSN”下选择“添加”,选定数据库种类、名称、位置等。本系统定义“SQL

Server”,数据库名称为“exam”,服务器选用“local”,数据库访问时的登录ID为S,密码为空。(2)使用ADO组件查询WEB数据库①

调用Server.CreateObject方法取得“ADODB.Connection”,再使用Open方法打开数据库:Setconn

=

Server.CreateObject(“ADODB.Connection”)strcnn="Provider=sqloledb;Userid=s;Password=;InitialCatalog=exam;DataSource=(local)"Conn.Openstrcnn②指定要执行的SQL命令数据库连接完成之后,即可通过SQL指令对数据库进行查询,修改,删除等操作,譬如要在数据表exam_database中查询代码中含有“计算机”的记录:sqlStr

=

“select

*

from

exam_database

where

code

like

‘%计算机%’”Rs

=

conn.Execute(sqlStr)③

使用RecordSet属性和方法,并显示结果为了更精确地跟踪数据,要用RecordSet组件创建包含数据的游标(储存在内存中的数据):Rs

=

Server.CreateObject(“ADODB.RecordSet”)Rs.Open(sqlStr,conn,1,A)注:A=1读取A=3

新增、修改、删除在RecordSet组件中,常用的属性和方法有:rs.Fields.Count:

RecordSet对象的字段数;rs(i).Name:

第i个字段的名称,i为0至rs.Fields.Count-1;rs(i):

第i个字段的数据,i为0至rs.Fields.Count-1;rs("字段名"):

指定字段的数据;rs.Record.Count:游标中的数据记录总数;rs.EOF:

是否为最后一条记录;rs.MoveFirst:

指向第一条记录;rs.MoveLast:

指向最后一条记录;rs.MovePrev:

指向上一条记录;rs.MoveNext:

指向下一条记录;rs.GetRows:

将数据放入数组中;rs.Properties.Count:ADO的ResultSet或Connection的属性个数;rs.Properties(item).Name:ADO的ResultSet或Connection的名;rs.Properties:

ADO的ResultSet或Connection的值;rs.close():

关闭连接。④

关闭数据库Conn.close()在系统的开发过程中,由于上述数据库的连接代码在多数页面中都要使用,所以把它单独封装为一个文件,名为conn.inc,当需要与数据库建立连接时,只要在页面代码的前面用“<!--#includefile="conn.inc"-->”将这个文件包含进去就可以了。下面是个人信息流程图:图4.6个人信息流程图4.4系部管理功能模块的实现登陆这个界面后管理员可以添加该生所在的班级信息,系部信息,再者就是对班级和系部这两面的管理,还有就是对该生的专业的添加以及管理。.图4.7系部管理模块图此处的功能实现重要是基于使用visualstudio编译器中的TextBox文本输入框控件给用户输入文字信息,给DropDownList控件后台绑定数据给用户选择相关信息,然后在后台获取前台相关服务端控件上用户所输入与选择的信息,然后将之存入数据库,以便用户查看与管理。下面是系部管理流程图:图4.7系部管理流程图4.5学籍管理模块的实现学籍管理负责维护学生自入学至毕业期间的各类信息。学籍管理是教务中最复杂、最繁琐,也是工作量最大的工作之一。学生每学期的注册、考试成绩录入、实习评价和毕业论文等都在此模块中完成。虽然学生信息产生自招生系统,教务管理系统通过接口从招生系统获得,但是由于教务是管理学生的主要部门,因此必须提供相应的模块实现学生信息的维护。管理员登陆这个模块后,首先输入该研究生的学号,然后查询是否有这个人,确定有人后,然后对这里进行编辑管理。学籍管理主要是添加班级的管理。图4.8学籍异动图此处功能实现,使用GridView控件绑定学生信息,使用GridView控件的好处是只要在前台写入后台搜索并绑定的数据的字段名,编译器即可根据字段名自动将数据绑定。然后存在数据库中,以便用户查询相关信息。使用visualstudio编译器中的TextBox文本输入框控件给用户输入文字信息,给DropDownList控件后台绑定数据给用户选择相关信息,然后在后台获取前台相关服务端控件上用户所输入与选择的信息,然后将之存入数据库,以便用户查看与管理。下面是学籍管理流程图:图4.9学籍管理流程图4.6申报中期考核模块的实现每年研究生都有中期考核这件事情就好像我们以前读书时候期中考试一样。然而作为一名研究生自己需要每年来申报信息,首先填写申报信息(院系,专业,姓名,学号,研究方向,学分,个人总结)然后才是导师以及院系的意见。图4.10导师审核图图4.11院系审核图图4.12中期考核模块此处导师审核页面中,使用GridView控件绑定学生信息,使用GridView控件的好处是只要在前台写入后台搜索并绑定的数据的字段名,编译器即可根据字段名自动将数据绑定。然后存在数据库中,以便用户查询相关信息。图4.13中期考核流程图4.7系统实现中的问题及解决方案由于对ASP第一次接触,开发过程中遇到了不少的问题。每当遇到各种困难的时候,导师王蓉老师和好同学总是给予足够的鼓励。整个过程中,遇到的几个比较麻烦的问题有数据的分页显示、数据库的连接和备份。这里重点描述一下数据库的连接和备份问题。开发过程中,我习惯于每天关机前备份,出错误后,就把备份的代码和数据库还原;可是在此过程中,多次发现同一个问题:备份时能正确执行页面功能,而还原后却不能;最痛苦的一次是五月初的一天,又出现了该问题,我把四月八日的备份还原出来还是不行;这个问题一直困扰着我,百思不得其解。直到前不久,与同学聊起数据库时,才发现了问题的症结所在:每次备份数据库时,不能在原有的数据库上覆盖备份,这样备份的只能是数据库的增量;在还原数据库时,包含增量,从而就难免出错。从那以后,进行数据库备份时,都重新选择一个新的位置或者先把要备份处的旧的数据库删除掉。这样就避免了以上错误,省了好多工夫。而数据库与主程序之间的链接问题主要表现在对SQL的不十分熟悉上,过程中对计算机的各种设置不是很了解。就如,系统的登陆和成绩管理模块,出现了第一次登陆或进入是没什么问题,当退出后再次进入的时候就链接不上。这个问题困扰了我达两个星期之久,翻阅了很多的资料都没能到完满的解决。后来在导师王老师的指导下发现可能是SQL的设置出现了不正确或不标准并建议我换个数据库,也就是将原来的数据库SQL改成ACCESS 重新连接到系统中后问题得到彻底解决。4.8系统的不足之处学生学籍管理系统基本上满足现代信息化、高效率管理要求的同时,也存在着一些不足之处:于以前未接触过ASP,开发过程中就边学边做,开发效率很低,且代码较乱;我在整体艺术上没工底,使得研究生生学籍管理系统的整体界面搭配上不是很完美;对SQLServer数据库还不是很了解,触发器等很多重要的功能还未接触过;由于没用过支持SQLServer数据库的主页空间,所以还不懂上传到主页空间后数据库要怎么连接;第五章系统测试软件测试的是软件质量保证的关键元素,代表了规约、设计和编码的最终检查。主要完成一个了发现错误而执行程序的过程。5.1软件测试基础5.1.1测试原则在设计有效的测试用例子之前,我们必须理解好软件测试的基本原则。依据Davie[DAV95]提出的测试原则:所以的测试都应追溯到用户需求用该在测试工作真正开始的前较长时间内就进行测试计划测试应从小规模开始,逐步装向打规模Pareto原则应用于软件测试5.1.2可测试性软件可测试性就是一个计算机程序能够被测试的容易程度。测试是一件很困难的事情,因此,需要知道做什么才能是测试过程理顺。5.2白盒测试白盒测试是一种测试案例设计方法,它使用过程设计的控制结构导出测试案例。使用白盒测试方法,可产生测试案例,它可以:(1)保证一个模块中的所有独立路径至少被使用一次;(2)对所有逻辑值均需测试真(true)盒假(false)。5.3黑盒测试黑盒测试注重测试软件的功能性需求,即黑盒测试到处执行程序所有功能需求的输入条件集。黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误。黑盒测试主要发现以下类型错误:(1)功能不对或遗漏,(2)接口错误,(3)数据结构。第六章心得体会一晃几个月的毕业设计接近了尾声,经过王蓉老师的精心指导和这段时间的加班加点,同时阅读了大量的资料(包括网上资料),完成了研究生学籍管理系统的设计与实现。该系统实现了教育信息化过程中考试的网络化、规范化和自动化,基本上可以满足学校内部对研究生信息管理的要求,可以实现学校的低成本投入、高效率办公的宗旨;有效地避免纸张资源和人力资源的浪费,有利于环保,提高了工作效率。几个多月的时间,是对大学四年的知识和学习能力的检验。回想这几个月来,有过欢乐,有过痛苦,自己在生活的磨炼中也逐渐走向成熟。想想自己正向着自己的目标一步步地迈近,感到十分的欣慰。忙碌的生活教会了学生如何去合理地安排时间,如何去寻找多个答案,然后从中选出一个最佳的。在这次的毕业设计中,我学到了很多东西,在网络编程中,经常会遇到一些陌生的技术、困惑的地方,每当这个时候,导师王蓉老师总是给予足够的鼓励和支持。渐渐地,学会冷静,先理清思路,再看看问题出在哪里,之后就打开baidu和google等搜索引擎,搜索解决的方法,再去论坛上向ASP编程高手求教。在整个开发过程中,我也总结了以下几点心得:任何事情必须按照一定思想去完成,如开发一个系统我们必须依照软件工程的思想一步一步去完成。论是为实践服务的,实践不能被理论(尤其是设计模式)束缚;没有不变的需求,要为程序留下足够多的拓展空间;用正规文档记下变量使用情况;能用机器生成的代码就不要去手写,最宝贵的就是时间;这次毕业设计,使我在数据库设计、编程技术方面有了长足的进步,对系统开发过程、步骤有了比较深刻的认识。当然本次毕业设计的系统只是一个基本原型,还有许多地方需要进一步完善。通过这次毕业设计,我对研究生生学籍管理系统的原型进行了一些基本的技术方面的探索,通过这些探索。我也对我国现阶段的管理系统有了一些大致的了解,从而也学习到了很多其他方面的知识,掌握了我们国家当今在教育系统这一领域中数字信息化的程度。随着科技的不断进步,我相信我们国家在学生管理这块中定能得到长足的发展,一定能够实现学生信息管理工作的完全智能化、高效化和现代化。致谢此次毕业设计完成的前提是王蓉老师提供了悉心的关怀、适时的鼓励和精心的指导,在此表示衷心地感谢!开发设计初期,由于对网络编程知晓甚少,对ASP也不了解,加之对该系统的流程模式也不太熟悉,所以对开发模式、设计思想都很茫然。这时候,是王老师不厌其烦地帮助分析、提建议。在王老师的悉心关怀和精心指导下,我对系统的框架有了一定的了解。由于以前没有接触过ASP,所以每天都要不断的学习,影响到了设计,很担心影响了进度;此时,又是王老师不断地从行动和言语给予鼓励和支持,再后来,王老师帮助分析、总结系统需要改进和完善的地方,让我在困难的时候能够有恒心继续下去,从而完成了毕业设计。此外,由于我在毕业设计的同时也在一家公司实习,这导致时间上有些紧迫,这时又是王老师给予了我莫大的鼓励和支持。王老师认真负责的工作态度、严谨的治学风格和关爱学生的满腔热情,特别是在帮助学生一遍一遍修改论文的过程中使我深受感动;同时王老师在工作方面也给予了种种建议,帮助学生清楚的认识到如今的就业环境,使得学生能及时找到了一份工作。在此,再次表示诚挚地感谢!参考文献[1]丁贵广.ASP编程基础与实例[M].北京:机械工业出版社,2002;[2]彭万波,景丽,周宏敏.ASP开发基础与范例[M].北京:电子工业出版社,2001;[3]志凌团队,陈世明,江高举.ASP从入门到精通[M].北京:中国铁道出版社,2001;[4]张健沛.数据库原理及应用系统开发[M].北京:水利水电出版社,1999:201-286[5]黄梦.DreamweaverMX完全征服手册[M].北京:中国青年出版社,2003:82-452[6]李劲.精通ASP数据库程序设计[M].北京:科学出版社,2001;[7]廖信彦.ASP应用经典:Web高级技巧[M].北京:中国铁道出版社,2000:112-234[8]CharelsC.Caison,陈君翻译.ASP.net程序员查询词典[M].北京:中国铁道出版社,2003;[9]吴明辉,胡煜,窦亮.ASP网络办公及商务应用系统开发实例导航[M].北京:人民邮电出版社,2003;[10]李瑞旭.ASP实例教程[M].北京:中国电力出版社,2000:360-410[11]罗晓芾.数据库技术(高级)[M].北京:清华大学出版社,1999:187-532[12]汪小平吴勇强张宏林等.ASP网络开发技术[M].北京:人民邮电出版社,2000:230-345[13]DeenSM.FundamentalsofDataBaseSystems.CCTA,1993.[14]罗晓芾.数据库技术(高级)[M].北京:清华大学出版社,1999:187-532[15]马照亭等.ASPWeb编程实例教程[M].北京:北京希望电子出版社,2001:53-93[16]萨师煊等.数据库系统概略[M].北京:高等教育出版社,2001:90-300[17]许博.基于.NET三层架构的科研管理系统的开发与应用[J].实验室研究与探索,2013,(第2期).[18]赵伟,王志华.基于.NET和MVC的CMS设计及优化[J].科学技术与工程,2013,(第3期).[19]刘林.ASP.NET开发数据库三层架构系统初

温馨提示

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

评论

0/150

提交评论