• 713.00 KB
  • 2022-04-22 13:50:13 发布

网上学生成绩提交与分析系统的设计与实现毕业设计.doc

  • 42页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'网上学生成绩提交与分析系统的设计与实现毕业设计目录1绪论11.1前言11.2问题定义11.3内容简介11.4研究背景21.5研究意义22核心技术介绍42.1B/S42.1.1C/S模式的优缺点42.1.2B/S模式的优缺点42.1.3本系统的技术路线52.2PHP52.2.1PHP简介52.2.2PHP的特点和优势52.3MySQL62.3.1MySQL简介62.3.2MySQL的优势和特点62.4JavaScript72.4.1JavaScript简介72.4.2JavaScript的特点和优势73需求分析83.1可行性分析83.1.1社会可行性83.1.2技术可行性8 3.1.3经济可行性83.1.4法律可行性83.2系统功能需求83.2.1系统功能体系图93.2.2系统基本功能主要模块及功能103.3系统设计原则103.4系统数据需求103.5系统运行要求113.5.1服务器端的运行要求113.5.2客户端的运行要求114概要设计124.1系统模块设计124.1.1权限管理124.1.2教学秘书管理134.1.3教师管理134.1.4学生管理144.2数据结构设计144.2.1局部ER设计144.2.2系统ER图164.3数据库设计164.2.1课程数据表174.2.2班级数据表174.2.3成绩数据表174.2.4聘课表184.2.5教师表184.2.6学生表194.2.7教学秘书表195详细设计205.1系统结构设计205.2系统功能设计215.3界面总体框架设计21 5.3.1界面框架设计215.3.2系统通用DIV/CSS设计225.4登录模块设计225.5欢迎页面235.6班级课程用户管理页面245.7聘课管理245.8查看教学计划255.9提交成绩管理265.10查看学生成绩265.11查看统计分析275.11.1数据分类分析275.11.2数据排行统计分析285.12预置类说明295.12.1数据库操作类295.12.2分页类305.12.3权限验证方法315.12.4跳转函数说明316系统的测试与分析326.1测试计划326.2测试用例326.2.1对提交成绩进行测试326.2.2对添加用户进行测试326.2.3对修改用户进行测试326.3测试结果336.4测试评价337结论34参考文献35致谢36毕业设计(论文)知识产权声明37毕业设计(论文)独创性声明38 西安工业大学北方信息工程学院毕业设计(论文)1绪论1.1前言自上个世纪年代以来,计算机技术行业的迅猛发展及推广普及,为各行各业的突飞猛进的发展带来了新生的动力,推动其他各个行业像更深更高的层次发展。1.2问题定义随着计算机技术的进步和人们对系统的需求的进一步提高,学校对于学生成绩管理也进入强调管理信息系统的阶段。学校对于学生成绩管理主要侧重于数据的更新快捷、准确、占用较少的人力资源,从而达到最大的办公效率。本次毕业设计缩解决的主要问题就是如何通过设计一个切实可行的软件系统来解决目前学校对于学生成绩管理存在的一系列问题。1.3内容简介本课题所研究的学生成绩提交与分析系统主要由五个模块组成。分别为Ø登陆功能模块;Ø课程及班级管理功能模块;Ø学生成绩提交功能模块;Ø学生成绩分析功能模块;Ø学生成绩查询功能模块。登陆模块:分别有教学秘书、教师、学生的登陆通道。各个通道有不同的权限,分别可以执行不同的功能,浏览不同的项目。课程、班级管理模块:教学秘书可以进行聘课管理。其他包括对新课程的添加,分配以及对班级的管理。学生成绩提交模块:教师提交学生的成绩;所提交的成绩包括平时成绩、试验成绩、考试成绩以及总成绩。其中总成绩可以通过平时成绩、试验成绩、考试成绩以一定的公式算出,也可直接提交总成绩。学生成绩分析模块:对学生成绩的统计与分析。包括平均成绩、最高分、统计规律等等。学生成绩查询模块:学生可以对已经提交的成绩进行查询。只能11 西安工业大学北方信息工程学院毕业设计(论文)查询本人相应科目的成绩,无权限查看别人的成绩。网上成绩提交与分析系统是基于B/S架构的成绩管理系统。主要功能是由教师对学生的成绩进行提交,并可查看分析等。同时学生可以通过系统来查询自己的成绩。采用的开发语言是HTML以及PHP,采用的数据库为MySql,使用的开发平台为AdobeDreamWeaver、ZendStudio,采用的其他软件有AdobePhotoshop、PhpMyAdmin、IETester。本课题要求学生有一定的PHP开发能力,有较强的自学能力以及一定的关系数据库理论的开发工地,具有对表进行处理的能力。1.4研究背景在信息时代,能够代表一个国家信息产业水平和竞争能力的就是软件产业。作为21世纪的照样产业,软件是全球最具开发前景与开发潜力的产业之一,已成为全球经济新的增长点,而且也逐渐成为世界各国竞相占领的战略制高点。软件市场大致可以分为应用软件、系统软件和工具软件。应用软件仍是软件市场的主流,约占69%。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能呢已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有手工管理所无法比拟的有点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些有点能够极大地提高学生成绩管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。成绩管理系统,在国内外早已有着成熟的研究成果和广泛的社会应用。国内的众多高校甚至中小学,都得到了不同程度的使用。市场上众多的教育管理信息系统,大多包含学生成绩管理的功能。学生成绩管理正向着网络化、终端化发展。借助网络,学生可以及时、准确地查询到自己各学期、各门课程的成绩信息。教师除可获得学生成绩的基本数据外,还可按要求获得相应的分析结果。现在我国的大中专院校的学生成绩管理水平正在不断提高,停留在纸介质基础上的管理手段早已被时代淘汰,因为它浪费了许多的人力和物理。大多数的管理方法是以计算机为基础的学生成绩管理系统,因为它可以弥补学校对于学生成绩人工管理时的漏洞,提高工作效率,树立良好的办学形象。1.5研究意义管理信息系统就是我们常说的MIS,在强调管理,强调信息的现代社会中它越来越得到普及。MIS是一门新的学科,它跨越了若干个领域,比如管理科学、系统科学、运筹学、统计学以及计算机科学。在11 西安工业大学北方信息工程学院毕业设计(论文)这些学科的基础上,行程信息收集和加工的方法,从而形成一个纵横交织的系统。Ø管理本身就是一类复杂的智能行为,是一个知识运用和知识创新的过程;Ø现代的企事业管理迫切需要一个支持的信息管理的平台;Ø一个协同管理的平台是必不可少的;Ø企事业需要一个不断进行技术交流和培训的系统。11 西安工业大学北方信息工程学院毕业设计(论文)2核心技术介绍2.1B/S传统的软件系统设计都采用的是C/S结构,即客户端/服务器结构。它主要是由两部分组成,一部分是服务器端程序,负责数据的处理和存储;另一部分是客户端,客户端通常是一个安装程序,它在客户机上拥有自己的处理程序,可以独立对用户数据进行处理和存储,并可以和服务器进行直接连接传递数据。随着Internet的兴起,出现了另一种架构——B/S结构,即浏览器/服务器结构。在这种结构下,用户工作界面是通过WWW浏览器来实现。软件系统中的极少部分事务逻辑在前端实现,主要事务逻辑在服务器端实现。客户端除了浏览器,一般无须任何用户程序,只需从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器对数据进行处理后将结果返回给用户。2.1.1C/S模式的优缺点1、C/S模式的优点Ø由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快;Ø操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求;ØC/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程;2、C/S模式的缺点Ø需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置;Ø兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序;Ø开发成本较高,需要具有一定专业水准的技术人员才能完成。2.1.2B/S模式的优缺点1、B/S结构的优点Ø具有分布性特点,可以随时随地进行查询、浏览等业务处理;Ø业务扩展简单方便,通过增加网页即可增加服务器功能;Ø维护简单方便,只需要改变网页,即可实现所有用户的同步更新;Ø开发简单,共享性强2、B/S模式的缺点11 西安工业大学北方信息工程学院毕业设计(论文)Ø个性化特点明显降低,无法实现具有个性化的功能要求;Ø操作是以鼠标为最基本的操作方式,无法满足快速操作的要求;Ø依赖网络,响应速度明显降低;Ø功能弱化,难以实现传统模式下的特殊功能要求。2.1.3本系统的技术路线首先对本次要做的系统进行分析,主要有以下两点:Ø属于后台管理型系统,对数据处理要求较强;Ø要求一定的安全性以实现对数据的保护。由于用户的工作界面可通过浏览器实现,而软件系统中的极少部分事务逻辑在前端实现,主要事务逻辑在服务器端实现。其次,对系统的二次开发、维护等几乎所有工作也都集中在服务器上,因此选用B/S结构时,所有的操作只需要针对服务器进行。2.2PHP2.2.1PHP简介PHP,是英文超级文本预处理语言HypertextPreprocessor的缩写。PHP是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛的运用。PHP同时也包含了命令行运行接口(commandlineinterface),或者产生图形用户界面(GUI)程序。PHP的应用范围相当广泛,尤其是在网页程序的开发上。一般来说PHP大多运行在网页服务器上,通过运行PHP代码来产生用户浏览的网页。PHP可以在多数的服务器和操作系统上运行,而且使用PHP完全是免费的。根据2007年4月的统计数据,PHP已经被安装在超过2000万个网站和100万台服务器上。2.2.2PHP的特点和优势PHP语法混合了C、Java、Perl以及PHP自创新的语法。它可以比CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。相比其他动态网页语言,PHP有如下优势和特点:Ø完全开源;Ø免费的;11 西安工业大学北方信息工程学院毕业设计(论文)Ø基于服务器端;Ø嵌入HTML;Ø面向对象。PHP是一种开源的代码,任何人都可以参与到PHP的维护和新版本开发中,因此PHP拥有更多的插件和类库,且任何人都可以免费使用。因此PHP程序人员可以减轻很多程序编写压力,而投入更多的精力到创新与设计上。由于PHP是一种嵌入HTML的语言,且其PHP脚本可以做到完全不影响HTML语言本身,因此使用PHP开发网站的时候,可以做到美工与程序分离。PHP可以完全不影响PHP,也可以对HTML进行改写,网站设计者拥有了更多的自由度。其次,自从PHP4之后,php针对面向对象技术进行了大量改进。现在,PHP程序员完全可以使用PHP来开发大型的商业应用程序。2.3MySQL2.3.1MySQL简介MySQL是一个开放源码的关系数据库管理系统。MySQL由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用,比如维基百科、Google和Facebook。非常流行的开源软件组合LAMP中的M就是指MySQL。2.3.2MySQL的优势和特点Ø使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性;Ø支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统;Ø为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等;Ø支持多线程,充分利用CPU资源;Ø优化的SQL查询算法,有效地提高查询速度;Ø既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持;Ø提供TCP/IP、ODBC和JDBC等多种数据库连接途径;Ø提供用于管理、检查、优化数据库操作的管理工具;Ø可以处理拥有上千万条记录的大型数据库。与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL11 西安工业大学北方信息工程学院毕业设计(论文)Cluster的功能和效率都相对比较差)等。但对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是一款开源软件,因此可以大大降低总体拥有成本。目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是自由或开源软件,因此使用这种方式可以使用很少量的金钱就可以建立起一个稳定、免费的网站系统。2.4JavaScript2.4.1JavaScript简介JavaScript是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司的BrendanEich设计,是一种动态、弱类型、基于原型的语言,内置支持类。2.4.2JavaScript的特点和优势JavaScript作为一种基于HTML的语言,相比普通HTML/CSS或者PHP/JSP,它有几个显著特点:Ø面向对象;Ø可执行性;Ø基于浏览器执行。可以理解为,JavaScript是定位HTML等网页脚本和PHP等服务器脚本之间的一种语言。JavaScript可以直接更改HTML和CSS的内容,而且不限于浏览网页的任何时间,只有有触发JavaScript脚本的运行即可。同时,由于JavaScript是基于用户浏览器的,不像PHP必须依靠服务器支持,所以JavaScript一方面可以完成PHP等动态网页的很多功能,又不依赖于服务器。综上所述,JavaScript至少具有如下应用范围:Ø利用JavaScript可以实现只利用HTML/CSS实现的动态效果;Ø对于网速较慢的地区,可以利用JavaScript实现分段载入;Ø对于某些运算和处理,可交由JavaScript实现,减少服务器负载。11 西安工业大学北方信息工程学院毕业设计(论文)3需求分析在对软件系统进行详细的需求分析之前,首先进行技术可行性分析。通过对现有且成熟的软件系统开发语言进行分析,并结合开发人员自身的业务水平,分析使用各个开发语言所需要的时间、花费等,从而得出此软件系统是否有必要进行开发。当此软件系统值得开发时,才进入下一步,既需求分析。需求分析是通过对软件功能的假象,分析系统在现有的技术下,可以实现的各种功能及相关需求。并将此分析作为日后软件系统开发的重要依据。3.1可行性分析3.1.1社会可行性现代社会是信息告诉发展的社会,尤其是计算机科学日趋成熟,选择使用计算机对学生成绩信息进行管理已成为现代学校的必然选择,所以从社会角度对本系统进行分析是完全具有可行性的。3.1.2技术可行性使用经典的PHP+MySql的搭配来开发B/S系统,在技术上是完全可行的。学校也曾开设PHP的课程以及SqlServer的课程,所以在这个的基础上,通过自己的认真学习,完全可以完成这个课题的开发。3.1.3经济可行性经济可行性主要包括:“成本-收益”分析和“短期-长远利益”分析。相对于本课题来讲,这亮点并不是重点。因为作为一个毕业课题的而完成的系统的实用性需要进一步的知识积累及性能升级。从以后的角度来看。本课题的设计开发还是具有相当大的经济可行性的。3.1.4法律可行性本系统的开发是由本人在指导老师的指导下完成,不涉及任何公司任何个人的私有信息,不存在任何侵权和知识产权问题。3.2系统功能需求本系统是一个应用于学生成绩管理的系统,主要内容是网上学生成绩提交与分析系统的设计与实现。这必然要求该系统对于系统管理员而言要求安全、可靠、便于操作。因此,对于整个系统作了详尽的分析,对系统也作了合理的划分,以为了实现上述要求。11 西安工业大学北方信息工程学院毕业设计(论文)3.2.1系统功能体系图图3.1系统功能体系图删除班级查看班级修改班级添加班级聘课管理删除课程查看课程修改课程添加课程查看用户查看用户修改用户添加用户提交成绩查询成绩分析成绩班级管理成绩管理课程管理用户管理网上学生成绩提交与分析系统11 西安工业大学北方信息工程学院毕业设计(论文)3.2.2系统基本功能主要模块及功能本课题开发的是一个学生管理系统,其主要功能是完成对学生成绩的基本管理,主要模块包括:登陆功能模块,课程及班级管理功能模块,学生成绩提交功能模块,学生成绩分析功能模块,学生成绩查询功能模块。课程、班级管理模块主要是对课程、班级进行管理:Ø添加课程、班级;Ø查询课程、班级;Ø修改课程、班级;Ø删除课程、班级;Ø聘课管理。学生成绩提交模块主要功能是对学生成绩的提交:Ø提交平时成绩;Ø提交考试成绩;Ø提交实验成绩;Ø对总成绩的计算。学生成绩分析模块主要功能是对学生成绩进行统计与分析;学生成绩查询模块主要功能是可以对已经提交的成绩进行查询。3.3系统设计原则实用性原则:确保系统具有良好的系统性能能,友好的用户界面,较高的处理效率,便于使用和维护,并采用成熟的技术。先进性原则:尽量采用先进而且成熟的技术,使系统具有较高的技术水平和较长的生命周期。开放性、安全性、可靠性及可扩展性原则。兼容性原则:对于所选硬件系统及平台,能很好地适应开发和使用的需要。规范性原则:软件设计过程严格按照“软件工程”的规定,系统编码,文档,操作系统平台以及所采用的开发方法按照相应的国际标准和国家标准。3.4系统数据需求本系统数据需求体现在数据录入和处理的准确性和实时性上。11 西安工业大学北方信息工程学院毕业设计(论文)数据的录入是否准确是数据处理的前提,错误的录入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。数据的录入来源是手工输入。手工输入要通过系统界面上的安排系统具有容错性以及严格的验证,并且要对操作人员进行系统的培训。具体内容为:Ø对用户输入的数据内容需要进行限制;Ø对用户输入的数据进行安全性验证,使用安全类进行过滤、检查等操作。确定数据安全之后才进行逻辑处理。3.5系统运行要求3.5.1服务器端的运行要求系统软件:WindowsNET(2003/XP/7)/Linux2.6.18服务器软件:Apache2.2.8编译环境:PHP5.2.6数据库管理系统:MySQL5.0.53.5.2客户端的运行要求浏览器:IE6.0以上/MozillaFirefox3.5.0以上。11 西安工业大学北方信息工程学院毕业设计(论文)4概要设计4.1系统模块设计与系统需求中的功能模块所不同。系统需求中的功能是面向用户为对象时,系统所表现出的功能性模块。概要设计中的功能模块是面向程序员,是整个系统运行时的功能模块,某些功能模块并不在页面上表现出来。最终设计的系统功能模块如图4.1。教学秘书教师学生网上学生成绩提交与分析系统添加列表管理管理教学计划聘课管理查看教学计划提交实验成绩提交其他成绩查看学生成绩查看统计分析查看科目成绩查看教学计划图4.1系统模块图4.1.1权限管理1.登陆验证所需数据:登录名、登陆密码、验证码。用户登录时需要提供登录名、密码和验证码三个信息。验证码为系统随机生成的4位数字,并以图片方式显示,用户阅读并填写图片中的数字。此功能是防止自动登陆机等辅助软件对用户密码进行暴力破解等。用户提交数据后,服务器先对验证码进行验证。若通过则进入第二步,否则返回错误信息。在第二步,服务器对用户名和密码进行验证。若通过则进入第三步,否则返回错误信息。在第三步,将用户登录信息写入session中,并根据用户选择的cookies保存选项,将用户信息写入cookies中。35 西安工业大学北方信息工程学院毕业设计(论文)2.权限验证权限标记:教学秘书、教师和学生。每一个系统用户都有一个权限值,表明此用户是属于教学秘书还是教师或者是学生,当用户登录进入系统之后,每当进行关键操作或进入相关页面,服务器首先验证此用户是否具有相关权限。3.登陆信息保存Session记录用户名、用户姓名、权限;Cookies记录用户名和密码。用户登录之后,系统会记录以上信息。Session的作用是记录用户ID及权限信息,当需要进行权限验证或其他需要此信息的操作时读取Session中的信息。Cookies的作用是实现免登录功能。用户可以在某台计算机上设置记录Cookies,此时每当系统登录时都会读取Cookies中记录的用户名和密码,免去每次都需要输入用户名密码的麻烦。4.1.2教学秘书管理1.添加列表管理对系统中需要添加的内容以滑动门式列表显示出来,可添加内容包括班级、教师用户、学生用户、科目相关的信息。2.管理教学计划可以对安排好的课程进行查看,以列表的形式显示。包括课程名称、指导教师、指导班级、课时总长、课时分配以及学分等相关的信息。可对安排好的教学计划进行修改、删除等操作。3.聘课管理按照教务表分配好的教学计划,进行聘课管理。4.1.3教师管理1.查看教学计划查看由教学秘书安排下的由自己教授的课程。2.提交考试及平时成绩对总成绩进行划分,总成绩分别由考试成绩、平时成绩和实验成绩由一定的比例得出。考试成绩、平时成绩通过该页面进行提交。3.提交实验成绩实验成绩单独进行提交,指导实验的任课教师可以进行实验成绩的提交。也可实现由实验老师单独对实验成绩进行提交,当权限为实验老师时,无法进行其他无关权限的操作。4.查看学生成绩35 西安工业大学北方信息工程学院毕业设计(论文)可以查看学生的成绩。选择相应的班级、科目、学期后可查看相应的学生的成绩单。所显示的成绩单的项目有:学号、姓名、平时成绩、实验成绩、考试成绩以及总成绩。5.查看统计分析统计分析包括两部分:第一部分是一个班级内的成绩状况分布;第二部分为班级的成绩排名。成绩状况分布通过选择班级、选择课程后,可以得出一份统计数据表。数据表中会对总人数进行统计,计算出平均成绩,记录下最高分以及最低分,判断及格率及格人数,对优良中不及格等进行统计计算。班级成绩排名为选择班级进入后会对班级的成绩按照从高到低的顺序进行排名列出相应的名次。4.1.4学生管理1.查看教学计划查看学生所在班级的教学计划,显示课程名称、指导教师、班级、课程学时、授课学时、实验学时、所占学分等相关的信息。2.查看成绩在学生管理页面中的查看成绩中,仅能查看登陆的该名学生自己的成绩。选择相应的课程及学期后可以显示相应的成绩。4.2数据结构设计4.2.1局部ER设计设计局部ER图的主要目的是分析系统中各个模块所用的数据结构和数据类型,并依次进行各个模块之间数据关系设计。网上学生成绩提交与分析系统的实体对象包括:课程、班级、成绩、教师、教学秘书、学生。课程(课号、课程名称、学时)图4.2课程ER图35 西安工业大学北方信息工程学院毕业设计(论文)班级(班号、专业名称)班号专业名称班级图4.3班级ER图成绩(学号、课号、平时成绩、实验成绩、考试成绩、总成绩、学期、班级号)平时成绩实验成绩考试成绩总成绩成绩学号课号学期班级号图4.3成绩ER图教师(教师编号、姓名、职称、所在部门、密码)职称所在部门教师姓名教师编号密码图4.4教师ER图学生(学号、姓名、班号、性别、密码)35 西安工业大学北方信息工程学院毕业设计(论文)学号姓名班号学生性别密码图4.5学生ER图教学秘书(秘书编号、姓名、所在部门、密码)秘书编号所在部门教学秘书姓名密码图4.6教学秘书ER图4.2.2系统ER图聘课课程教师班级学生教学组成组成专业mnk11mkn图4.7系统ER图4.3数据库设计表与字段分析是建立在E-R图基础上的,通过E-R35 西安工业大学北方信息工程学院毕业设计(论文)图来确定系统中所有表与字段的属性。经过分析,本系统的数据库中主要定义了7张表。4.2.1课程数据表课程数据表记录的是课程的相关信息。主要字段为课程号、课程名称和学时。课程数据表中课程号字段存放的是课程的编号,学时字段存放的是该课程的学时信息。课程数据表course,如表4.1课程数据表。表4.1课程数据表字段名称字段类型字段长度主键字段说明courseidInt10是课程号coursenameVarchar20否课程名称coursetimeInt5否学时4.2.2班级数据表班级数据表主要存储的是系统中的班级数据信息。班级数据表中主要字段为班级号和专业名称。班级号为主键,专业名称显示班级的专业信息。班级数据表class,如表4.2班级数据表。表4.2班级数据表字段类型字段长度主键备注classIdVarchar10是班级号majornameVarchar20否专业名称4.2.3成绩数据表成绩数据表主要存储的是成绩的相关信息。成绩数据表中的主要字段为课程号、学号、平时成绩、实验成绩、考试成绩、学期以及班级号。成绩数据表score,如表4.3成绩数据表。表4.3成绩数据表字段类型字段长度主键备注coureidvarchar10否课程号35 西安工业大学北方信息工程学院毕业设计(论文)stuidvarchar10否学号psscorevarchar5否平时成绩syscorevarchar5否试验成绩ksscorevarchar5否考试成绩zscorevarchar5否总成绩Semestervarchar15否学期classidvarchar10否班级号4.2.4聘课表聘课表主要存储的聘课的相关信息。聘课表中的主要字段为序号、课程名称、教师名字、学时、授课学时、实验学时、上级学时、专业名称、学分、学期。聘课表arranging,如表4.4。表4.4课程安排表字段类型字段长度主键备注arridint10否序号coursenamevarchar10否课程名称teanamevarchar10否教师姓名coursetimevarchar10否学时lecturetimevarchar10否授课学时experimenttimevarchar10否实验学时machinetimevarchar10否上级学时unitvarchar10否学分semestervarchar15否学期4.2.5教师表教师表主要存储的是教师的相关信息。教师表中的主要字段为教师编号、教师姓名、职称以及密码。教师表teacher,如表4.4教师表。表4.5教师表字段名称字段类型字段长度主键字段说明teaidVarchar10是教师编号35 西安工业大学北方信息工程学院毕业设计(论文)teanameVarchar10否教师姓名positionVarchar20否职称passwordVarchar20否密码4.2.6学生表学生表主要存储的是学生的相关信息。学生表中的主要字段为学号、学生姓名、性别、班级号以及密码。学生表student,如表4.4学生表。表4.6学生表字段名称字段类型字段长度主键字段说明stuidVarchar10是学号stunameVarchar10否学生姓名sexVarchar2否性别classidVarchar10否班级号passwordVarchar20否密码4.2.7教学秘书表教学秘书表主要存储的是教学秘书的相关信息。教学秘书表中的主要字段为教学秘书编号、教学秘书姓名、所属部门以及密码。教学秘书表teachsecretary,如表4.4教学秘书表。表4.7教学秘书表字段名称字段类型字段长度主键字段说明admidInt10是教学秘书编号admnameVarchar10否教学秘书姓名departmentVarchar20否所属部门passwordVarchar10否密码35 西安工业大学北方信息工程学院毕业设计(论文)5详细设计5.1系统结构设计整个系统采用基于三层体系结构的B/S架构。如图5.1,系统由表示层、应用层、数据服务层组成。用户管理课程管理成绩管理班级管理用户管理处理程序课程管理处理程序成绩管理处理程序班级管理处理程序数据库访问程序数据库浏览器(Browser)服务器(Server)表示层应用层数据服务层图5.1系统结构图35 西安工业大学北方信息工程学院毕业设计(论文)表示层:即人机交互的界面。它含有系统的显示逻辑,负责显示系统传输的信息内容、接受用户的需求和数据并向服务器提出服务请求。一般来说表示层的代码是可以直接使用浏览器解释。一般来说,表示层的设计应尽量追求简单便利的操作方式,直观清晰的显示效果。而数据复杂的处理和运算逻辑则隐藏在表示层之下或放置于功能层中。功能层:功能层是具有应用程序扩展功能的Web服务器层,其中包含系统功能处理逻辑。它的任务是接受用户的请求和数据,以预先设计好的处理逻辑和算法对相关数据进行处理,然后再由Web服务器将处理结果传送回客户机。一般来说,功能层的设计应该着重于两点:逻辑功能和安全性。由于一般来说功能层的结构和关系是整个系统中最为复杂和庞大的。因此在功能层的设计和编码中,要时刻重视整个系统功能逻辑关系的清晰。系统的逻辑是否清晰将直接关系到日后系统进行修改和更新的复杂度。而且作为直接接受用户输入数据的接口,功能层在安全性方面也尤为重要,系统应该对从表示层传输过来的所有数据进行安全性验证,包括完整性验证、字符转义、关键词过滤等。如果一个系统的安全性做的不够完善,将很有可能影响到整个系统的稳定性。数据服务层:即系统的数据处理逻辑。它的作用是根据功能层的要求,对数据库对象进行操作,完成数据的存储、数据的完整性约束,并处理来自应用服务层的数据请求和访问,将处理结果返回给应用服务层。5.2系统功能设计网上学生成绩提交与分析系统主要模块包括:登陆功能模块,课程及班级管理功能模块,学生成绩提交功能模块,学生成绩分析功能模块,学生成绩查询功能模块。用户登录系统首页(login.php)后,首先权限管理程序进行工作,判断用户是否已经登录。如果用户已经登录,则跳入相应的页面,如用户未登录,则判断是否记录有Cookies。如果有,则使用Cookies信息进行登录,如果没有,则进行普通登录。5.3界面总体框架设计5.3.1界面框架设计网站的网页结构和框架是一个比较容易被忽视的问题,可是,它们对于网站的价值却是非常重要的。网页结构和框架的合理性可以提高网站的可操作性。不仅如此,好的网站结构还能够帮助网页在搜索引擎中占据理想的位置。设计网站的整体结构不仅能够规范网站的风格,而且能够方便以后的开发工作,具有很重要的意义。本系统所设计的框架如图5.2所示。35 西安工业大学北方信息工程学院毕业设计(论文)首部菜单栏主体图5.2系统框架图界面总体框架设计的目的是使用Photoshop、Illustrator等平面设计软件,依据需求分析中的系统相关功能要求,设计各个功能页面。要求是各个功能页面应在完整实现系统全部功能的前提下尽量简洁直观,整个界面不宜复杂纷乱。5.3.2系统通用DIV/CSS设计通用DIV/CSS主要是由div样式、table表格样式、文字样式三部分组成,为保证整个系统的美观漂亮,系统中的各个显示元素应统一样式。框架DIV主要作用是约束控制内容页的显示位置,保证各个元素在网页上的边距等完全统一。Table表格样式主要定义数据显示的格式,包括表格线条、内距等。文字样式主要定义系统中所有文字、链接的显示样式,包括普通文字、着重文字、链接文字的颜色、字号、样式等。5.4登录模块设计登录界面主要由用户名输入框、密码输入框、验证码输入框、Cookies选择输入框、提交按钮等几部分组成。如图5.3。35 西安工业大学北方信息工程学院毕业设计(论文)图5.3登录页面登录模块属于权限验证的一部分。由主文件login.html、login.php、和数个辅助文件组成。当用户登录时,首页index.php首先对用户session进行验证以判断用户是否已经登录,如果已经登录则直接跳入相应用户的页面;如果用户没有登录,则进行Cookies判断。如果用户没有Cookies,则跳转到login.php登录页面进行普通登录。如果用户包含Cookies,则直接进入主页面。其中,输入验证码时,当验证码输入完毕(输入完四位数字),则执行JS脚本,对用户输入的验证码进行验证,若正确,则提示输入正确,反之提示输入错误。如果是登录成功,则跳入系统主页面(i_manager.php/i_teacher.php/i_stu.php)。若用户名或密码错误,则清空表单中信息提示错误。若验证码错误,则清空密码框和验证码框,提示错误信息。5.5欢迎页面系统主界面使用框架集制作,主要由页眉(banner)、链接、内容页面三部分组成。每一部分由独立页面组成,然后使用主页面(i_manager.php/i_teacher.php/i_stu.php)中的框架集引用每部分页面。系统共有三个通道登录,分别为教学秘书、教师、学生通道。登录后有三个相应的页面。举例示范页面为教师欢迎页面如图5.5。35 西安工业大学北方信息工程学院毕业设计(论文)图5.4教师欢迎页面5.6班级课程用户管理教学秘书可以通过输入已经确定的班级号及专业名称可以添加向数据库中添加班级。添加的班级直接存入数据库表中的班级表class表中。添加教师用户时,切换滑动门选项卡到添加教师用户,分别输入相应的教师信息,可以添加教师用户。其中教师职称决定了教师的权限,权限分为教学老师和实验老师,分别在教师管理中实现不同的功能。输入学生的相关信息可以实现学生用户的添加,输入课程的相关信息可以实现课程的添加。添加管理操作界面,如图5.5。图5.5添加管理页面5.7聘课管理教学秘书的对课程班级的管理包括聘课管理。其中教师、课程、指导班级、学期为从数据库中读取的数据。在进行聘课管理时,35 西安工业大学北方信息工程学院毕业设计(论文)选择从相应的数据库中读取的数据,填写相应的学时、学分后,数据会存入课程安排数据表arranging中。聘课管理页面如图5.6所示。图5.6聘课管理页面5.8查看教学计划从数据库中的聘课表arranging中读取课程安排的数据,以列表形式显示。由于对课程安排分类排序不属于本次设计网络学生成绩提交与分析系统的重点,故此处不进行数据的分类排序等,仅以列表的形式作为展示,实现相应的功能,完成系统的相应的功能模块。教学秘书管理页面中查看教学计划页面如图5.7所示。图5.7查看教学计划页面本系统为每个权限的用户都制作了相应的查看教学计划页面。教学秘书管理页面中的查看教学计划页面可以查看全部的教学计划,而在教师管理页面中,35 西安工业大学北方信息工程学院毕业设计(论文)查看教学计划页面仅查看由该任课教师所教授的课程的教学计划,同时在学生管理页面中,学生仅能查看自己坐在班级的教学计划。实现这一功能的目的是为了使各个权限的用户都能够更加清晰明确的知道自己所教授的课程或者所学的课程,此功能为本次毕业设计所做的一个辅助功能。5.9提交成绩管理本次设计中所做的提交成绩为分部分提交成绩。成绩包括平时成绩、考试成绩、实验成绩三部分。负责相应课程的教师可以提交相应类别的成绩,其中平时成绩和考试成绩是授课教师所提交,而对应的实验成绩则由相应的教授实验课的教师所提交。非所能提交的成绩页面在权限值判断为权限值不足时无法点击提交。在选择班级以及填写相应的学号后会出现相应的学生的相关信息,输入对应的类别成绩,并选择在总成绩中所占的比例后点击提交按钮进行提交。总成绩的判断在输入的时候可以选择相应的比例,最后以确定的比例可以得出总成绩。提交的成绩数据插入到数据库中的成绩表score中。提交成绩页面共有两个页面,选择其中代表页面截图,如图5.8。图5.8成绩提交页面5.10查看学生成绩查看学生成绩页面首先需要选择相应的班级、科目、学期,点击提交后会出现以表格形式的成绩表单。成绩单的表头为学号、学生姓名、平时成绩、实验成绩、考试成绩以及总成绩。教师管理中查看成绩页面如图5.9所示。35 西安工业大学北方信息工程学院毕业设计(论文)图5.9查看成绩页面在学生管理中,查看成绩页面,不包括班级选项,仅显示科目及学期,查看的时候首先读取session判断已登陆账号,由session的值直接查询已登陆账号的相关信息,无权限查询其他成绩信息。5.11查看统计分析统计分析由两部分组成,分别为数据分类分析统计以及数据排行统计。5.11.1数据分类分析在数据分类分析统计中将首先会显示一个简易的成绩列表,列表以班级为单位显示出学号以及对应的总成绩,统计结果会计算出参加统计的人数、平均成绩、最高成绩、最低成绩,同时对成绩进行划分,计算出及格人数,及格率,以及对总成绩进行优、良、中、不及格的统计,可以看出成绩的分布以及规律。数据分类分析统计如图5.10所示。35 西安工业大学北方信息工程学院毕业设计(论文)图5.10数据分类分析统计5.11.2数据排行统计分析此部分数据排行统计数据统计为一个简易的成绩排名系统,以班级为单位将总成绩进行由高到低的排名。功能实现,图中为举例无大量数据显示。数据排行统计如图5.11所示。35 西安工业大学北方信息工程学院毕业设计(论文)图5.11数据排行统计5.12预置类说明5.12.1数据库操作类文件名:mysql.class.php类名:DBMYSQL功能说明:数据库操作类主要作用是将日常应用MySQL的过程中常用到的方法封装起来,增加代码重用率,减少数据库操作程序的复杂性。主要函数说明:数据库连接函数connect($dbhost,$dbuser,$dbpasswd,$dbname,$pconnect,true,$dbcharset);此方法的作用是连接数据库,定义好数据库路径、登录名、密码、数据库名之后,数据库操作类便会在每次对数据库进行操作的时候连接数据库。SQL语句执行函数query($sql)此为数据库类的基本函数,参数$sql为需要执行的SQL语句,函数返回SQL语句的执行结果集。结果集格式化函数fetch_array($query);此函数的作用是将query()函数执行的查询语句返回的结果集格式化为一维数组并输出(需要配合while语句)。参数$query为query()函数返回的结果集。affected_rows();35 西安工业大学北方信息工程学院毕业设计(论文)此函数的作用是返回前一条query()函数执行的SQL语句所影响的行数。返回值类型为INTinsert_id();此函数的作用是返回前一条query()函数执行SQL语句影响的数据表中索引的值close()此函数的作用是关闭上一次connect()函数所连接的数据库。5.12.2分页类文件名:page.class.php类名:page功能说明:当某一类的信息条目较多时,如果以表格方式罗列出来,则页面将会非常大,并且网页载入速度也是非常缓慢的。为了解决此问题,使用了信息分类功能,配合SQL的LIMIT语句,将列表按一定数量分割开,每个页面将显示少量的信息,增加页面载入速度。图5.12分页类执行流程分页过程如图5.12:1.首先执行基本SQL查询,计算语句返回的条目数量。2.第二步对条目数量进行判断,计算应分为几页。3.第三部重新执行SQL查询语句,加入limit条件。35 西安工业大学北方信息工程学院毕业设计(论文)1.第四步输出查询结果。5.12.3权限验证方法登录验证:isLogin($texttype="yes",$ms=2,$url="login.php",$text="请重新登录!")登录验证的作用是在一个可执行动态页面初始时,判断用户是否登录。如果用户登录,则对用户的访问放行。若用户没有登录,则终止程序运行,弹出错误提示。参数说明:$texttype,默认yes,可选内容yes、no,是否出现错误提示。$ms,默认2,错误提示的停留时间。$url,默认login.php,若未登录,跳转的地址$text,默认“请重新登录”,错误提示中的文字。权限判断:isPermission()权限判断的默认内置权限值为1和0,1为高级权限,0为低级权限。用户在访问一个可执行页面时,判断用户是否具有权限,函数读取用户对应的seesion权限值,并进行判断,如果为高级权限,则对用户进行放行。若为低级权限,则终止程序运行,弹出错误提示。5.12.4跳转函数说明跳转提示函数redirect($ms="",$url="",$text="")本函数是利用HTML中meta标记的http-equiv="refresh"方式和函数的三个参数生成一个HTML跳转页面。三个参数分别为:$ms跳转页面停留的秒数$url跳转页面跳转的对象$text跳转页面的文本提示内容。35 西安工业大学北方信息工程学院毕业设计(论文)6系统的测试与分析6.1测试计划通常情况下,我们可以针对一个模块进行测试。以不同的数据为基础,在此之上进行增加、删除、修改、查询等操作。同时在测试的同时,我们需要遵循一些基本的原则来进行测试:一个方法至少要测试一次;各种访问、修改也对测试产生影响。6.2测试用例6.2.1对提交成绩进行测试进入教师管理页面,点击提交平时成绩,选择班级:B060601,选择课程:高数,选择学期:第一学期。输入学号:B06060102,提交。(1)平时成绩输入:70,考试成绩输入:100。(2)平时成绩输入:-10,考试成绩输入:80。(3)平时成绩输入:abc,考试成绩输入:80。(4)平时成绩输入:abc,考试成绩输入:101。6.2.2对添加用户进行测试(1)输入学生姓名:王明,学号:B06060102,性别:男,班级:B060601,密码:123,确认密码:123。(2)输入学生姓名:李明,学号:B06060103,性别:男,班级:B060602,密码:123,确认密码:123。(3)输入学生姓名:刘明,学号:B06060104,性别:男,班级:B060601,密码:123,确认密码:321。6.2.3对修改用户进行测试选择学号:B06060102,学生姓名:王明的学生用户进行修改。(1)将王明性别修改为女。(2)将王明所在班级修改为B060602。(3)将王明密码修改为123,密码确认为123。35 西安工业大学北方信息工程学院毕业设计(论文)6.3测试结果表6-1人事信息管理功能测试结果测试项目测试数据预期测试结果成绩提交平时成绩输入:70,考试成绩输入:100。提交成功。平时成绩输入:-10,考试成绩输入:80。提交失败,成绩输入错误。平时成绩输入:abc,考试成绩输入:80。提交失败,成绩输入错误。平时成绩输入:abc,考试成绩输入:101。提交失败,成绩输入错误。添加学生用户输入学生姓名:王明,学号:B06060102,性别:男,班级:B060601,密码:123,确认密码:123。添加成功。输入学生姓名:李明,学号:B06060103,性别:男,班级:B060602,密码:123,确认密码:123。添加失败,学号班级有误。输入学生姓名:刘明,学号:B06060104,性别:男,班级:B060601,密码:123,确认密码:321。添加失败,2次输入的密码不一致。修改用户将王明性别修改为女。修改成功。将王明所在班级修改为B060602。修改失败。班级学号有误将王明密码修改为123,密码确认为123。修改成功。6.4测试评价通过调试测试,系统能正常运行,基本完成了需求分析中的相关功能,由于测试条件有限,总体来说,达到了预期效果。35 西安工业大学北方信息工程学院毕业设计(论文)7结论在一步步的努力中,我完成了本次毕业设计。在这约三个多月的设计和开发中,基于B/S三层体系结构的网上学生成绩提交与分析系统基本开发完毕。本系统能够完成对学生成绩的提交与分析,并且可以完成其他基本的添加、修改、删除、查询数据功能以及相关管理的其他功能等,基本实现开题报告中所陈述的全部功能。但由于本人技术和经验所限,该系统还有许多不尽如人意的地方,还有待在以后的学习过程中逐步改善。在完成毕业设计过程中,我对系统开发和实际应用有了更加深刻的体验,对书本上的知识进行了一次很好的演练。在完成毕业设计中出现过很多的问题,在不断的学习和解决问题的过程中,我深刻体会到学习的意义和乐趣。在系统的开发过程中也出现了种种的问题。很多时候一点细微的错误会造成很大的麻烦。这个过程也让我明白了任何工作都需要在前期的准备工作中彻底细致,这样才不至于在以后付出额外代价。同时我也明白了,做任何事情都需要及时的完成,不应该拖延滞后,阻碍了工作的进行也给以后的工作带来不顺利。这次的毕业设计,让我对很多事情有了更深入的体验。一步步走来碰到的问题,让我明白了学无止境的道理。尝试着各种的解决方法让我对学习产生的乐趣有了更深的体会。同时我也明白了,很多时候一个人的力量是微不足道的,当碰到有些问题的时候,也可以身边的良师益友找到解决的方法。感触最深的是我们做事情都不应该忽略细节,有时候一个细节可能决定了一切,一个细节可能会耽搁掉整个进度,影响整个设计的完成。在这次的开发过程中,给了我一个完整的体系理论,让我积累了新的经验,使我受益匪浅。35 参考文献参考文献[1]杨恩慧,牛允鹏.Web开发技术基础教程.电子工业出版社,2002[2]杨浩.JavaScript经典案例.北京:清华大学出版社.2005[3]简张桂.PHP5权威编程.北京:电子工业出版社.2007.12[4]李劲,谢兆阳.数据库设计与系统管理.世界图书出版公司,2000[5]武欣.PHP和MySQLWeb开发.北京:机械工业出版社.2009.4[6]萨师煊,王珊.数据库系统概论(第三版).高等教育出版社,2004[7]王嘉.Ajax经典案例开发大全.北京:清华大学出版社.2007.6[8]候炳辉,沈临兴,彭澎.计算机信息管理专业毕业设计案例摘选.清华大学出版社,2002[9]李爱中,周成云.数据库系统教程.北京:机械工业出版社.2004[10]朱少民.软件测试方法和技术.北京:清华大学出版社.2008.4[11]钱智勇.基于校园网的高校科研管理系统开发.情报技术,2004[12]段海新,杨家海,吴建平.基于Web和数据库的网络管理系统的设计与实现.软件学报.2000(4)[13]Johnw.Gosney.ASPProgrammingfortheAbsoluteBeginner.2002[14]Gutmans.A,Bakken.S.S.PHP5PowerProgramming.USA:PEARSONEDUCATIONASIALTD.,2005.435 毕业设计(论文)独创性声明致谢在我的指导老师乔奎贤老师的指导下,我完成了我的毕业设计。在这次的毕业设计中,我深深的感谢导师乔奎贤老师的关心、指导和教诲。乔奎贤老师他严密的逻辑思维以及严谨的治学态度都给予了我极大的鼓励与帮助,在他的帮助下我不断进步并自我提高。在此过程中,对于我遇到的所有问题和困难,乔奎贤老师都给予了细心的解答和真诚的帮助,在此我表示衷心的感谢。感谢我的学友和朋友们对我的关心和帮助。在此,我向所有帮助过我的老师、同学和朋友们表示真挚的感谢以及美好的祝福。38 毕业设计(论文)独创性声明毕业设计(论文)知识产权声明本人完全了解西安工业大学北方信息工程学院有关保护知识产权的规定,即:本科学生在校攻读学士学位期间毕业设计(论文)工作的知识产权属于西安工业大学信息工程学院。本人保证毕业离校后,使用毕业设计(论文)工作成果或用毕业设计(论文)工作成果发表论文时署名单位仍然为西安工业大学信息工程学院。学校有权保留送交的毕业设计(论文)的原文或复印件,允许毕业设计(论文)被查阅和借阅;学校可以公布毕业设计(论文)的全部或部分内容,可以采用影印、缩印或其他复制手段保存毕业设计(论文)。(保密的毕业设计(论文)在解密后应遵守此规定)毕业设计(论文)作者签名:指导教师签名:日期:2010年5月10日38 毕业设计(论文)独创性声明毕业设计(论文)独创性声明秉承学校严谨的学风与优良的科学道德,本人声明所呈交的毕业设计(论文)是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,毕业设计(论文)中不包含其他人已经发表或撰写过的成果,不包含他人已申请学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了致谢。毕业设计(论文)与资料若有不实之处,本人承担一切相关责任。毕业设计(论文)作者签名:指导教师签名:日期:2010年5月10日38'