基于ASP.NET的学生成绩管理系统的设计与实现毕业论文.doc_第1页
基于ASP.NET的学生成绩管理系统的设计与实现毕业论文.doc_第2页
基于ASP.NET的学生成绩管理系统的设计与实现毕业论文.doc_第3页
基于ASP.NET的学生成绩管理系统的设计与实现毕业论文.doc_第4页
基于ASP.NET的学生成绩管理系统的设计与实现毕业论文.doc_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

基于ASP.NET的学生成绩管理系统的设计与实现毕业论文目 录引 言11 基础知识31.1 运行环境31.2 开发方法31.2.1 ASP.NET介绍31.2.2 SQL Server 2005数据库介绍41.2.3 C#介绍42 系统需求分析62.1 系统功能概述62.1.1 系统功能需求62.1.2 用例分析72.1.3 概念层类图82.2 系统性能要求82.2.1 系统灵活性92.2.2 输入输出要求92.2.3 数据管理能力要求92.2.4 故障处理要求92.3 可行性分析92.3.1 技术可行性102.3.2 经济可行性102.3.3 操作可行性113 系统概要设计123.1 基本简介123.2 系统数据库设计123.2.1 数据库设计原则123.2.2 数据库概念结构设计(E-R图)133.2.3 数据库表设计153.3 系统功能分析173.3.1 管理员管理模块应实现的功能183.3.2 导员管理模块应实现的功能183.3.3 教师管理模块应实现的功能183.3.4 学生浏览模块应实现的功能193.4 主要模块流程图193.4.1 管理员管理模块193.4.2 教师管理模块203.4.3 导员管理模块203.4.4 学生管理模块214 详细设计与实现224.1 代码标识设计224.2 代码设计原则224.3 系统主要功能流程及模块234.3.1 课程管理流程234.3.2 奖学金管理流程234.3.3 学生信息流程244.3.4 修改密码流程244.4 网站登陆主页254.5 基本功能模块264.5.1 管理员管理模块264.5.2 教师管理模块324.5.3 导员管理模块344.5.4 学生管理模块355 系统测试375.1 程序的测试方法375.2 软件的可用性测试39结论41致谢42参考文献43附录44沈阳理工大学应用技术学院学士学位论文引 言在科学技术突飞猛进的世纪,经济技术和信息产业初步发展,尤其是信息技术与网络技术得到迅速的发展发展和广泛的应用,这对社会的经济、政治、军事和文化等领域产生了越来越深刻的影响,也正改变着人们的学习、工作、生活、交流方法和信息的应用能力,已经成为人们最需要的重要功能之一。在知识经济占世界经济发展主导地位的未来,国际竞争力和国家综合国力越来越取决于教育事业的发展、科学技术和知识创新水平。教育会在以后的经济和社会发展中呈现出越来越突出的作用。学生成绩管理系统是教育部门不能缺少的部分,它的内容对于学校的管理者和决策者来说都至关重要,但是一直以来人们使用传统人工方式和一些简单的成绩管理系统管理成绩,需要填写各种表格,不仅浪费大量的人力、物力、财力还容易出现学生成绩录入错误、计算错误等问题。而且为了得出班级学生名次还需要人工进行计算从而得出班级获得奖学金的人员名单,这样不仅浪费人力还会出现徇私舞弊的情况。为了体现习近平提倡的节约,反徇私舞弊的思想和体现公平,透明的学生成绩管理系统是非常重要的。另一方面传统的管理系统存在很多缺点例如:效率很低、保密性不高,另外随着使用时间的增长,产生了大量的数据文件,这对于数据的维护都带来了很多困难。学生成绩管理系统作为计算机系统应用的一部分,是各个学校中不可缺少的部分。使用计算机程序对学生成绩进行信息管理,有着手工管理没有的优点,例如:检索迅速,查看方便,可靠性能高、存储数量大、保密性能好、成本价格低等优点能够极大地提高学生成绩管理的管理效率,并且这也是教育事业的正规化、科学化管理,是与世界信息相接的重要条件,因此开发一套高效的学生成绩管理系统是很有必要的事情。随着教育事业的不断扩大,各阶段学生人数的不断增加,有关学生成绩的信息量也成倍的增加。面对越来越多的信息量需要有成绩管理系统来提高成绩管理的效率,和成绩管理的规范化。通过成绩管理系统可以得到成绩的规范管理、科学统计和快速查询、修改、增加、删除等,从而大大减少管理方面的工作量。该系统是为了实现对学生信息的录入,学生成绩的录入、快速查询、修改、删除,教师管理,导员管理、及课程基本信息管理而设计的。学生成绩管理系统提供了强大的学生成绩管理功能方便系统管理员对学生成绩进行管理,可以迅速查看所需信息,高效,安全,学生能方便的查看自己的成绩。高效的实现对成绩的备份和恢复。从系统管理的角度出发,把各个部门通过信息联系起来,构成协调一致的整体,保证信息的畅通,以较低的成本实现信息处理和流动的自动化,实现业务和业务流程的自动化处理,从而开发了学生成绩管理系统。本文中共分5章。第一章基础知识,主要讲学生成绩管理的背景、意义,开发方法及开发工具简介;第二章系统需求分析,主要讲系统功能需求、性能需求及可行性分析;第三章概要设计,主要介绍系统工作流程、功能结构图及数据库表设计;第四章详细设计,主要介绍各个功能的工作流程及具体的实现过程。第五章系统测试,主要介绍系统使用的测试方法及测试用例并计算系统的稳态可用性。每章附有本章重点介绍的功能图例及详细讲解,帮助理解系统的各部分功能。491 基础知识1.1 运行环境信息系统是以计算机系统为核心建立的,系统硬件和软件配置是系统设计的主要内容。本系统采用目前比较流行的B/S(浏览器和/服务器端)模式8,因而,软、硬件配置要从此模式出发。另外,由于计算机发展迅速,为了将来能够升级,我们提供的软硬件设备通常要比能够运行系统所需要最低的软硬件标准高一些。1、软件环境:操作系统:采用的是Windows 2007、Windows xp前台开发软件:ASP.NET后台开发软件:Microsoft SQL Server 2005 ;ASP.NET2、硬件环境:服务器:应该具有相对较高的配置,由于该系统的服务器端与客户端是一台机器,所有的数据信息都保存在服务器中,各个业务处理都需要访问服务器端数据库。因此,配置为,CPU:T6570 2.10GHz;Cache 2M;内存:2G;硬盘:200G;网卡:100M。1.2 开发方法该成绩管理系统是以Microsoft Visual Studio 2010为程序开发环境,以Microsoft SQL Server 2005为数据库开发环境。利用Windows操作系统与IIS1作为信息发布平台使用C#语言开发的信息管理系统。1.2.1 ASP.NET介绍ASP是活动服务器页面,因为有了该活动页面我们能够根据不同用户,在不同时间向用户显示不同内容,网站内容更新不再是一个乏味的重复过程,它使页面请求开始变得简单有趣。由于ASP程序代码和网页的html代码混合在一起,这会使程序看上去非常杂乱。在现在网站设计的过程中,通常由程序开发工作人员做后台程序的开发,前台页面有专业的美工设计人员进行专业的设计,但是在工作人员相互配合过程中会产生很多的问题。同时,ASP页面是由脚本语言解释执行,其执行速度会受到脚本语言自身条件的限制,为了减弱条件的限制,在编写ASP程序的时候要调用COM组件2来完成一些复杂功能,微软公司推出了ASP.NET技术开发语言。ASP.NET技术不仅是ASP技术的简单升级,它更为我们提供了一个强大的服务器控件。从表面上看,ASP.NET和ASP很相近,但从本质上它们是完全不同的。ASP.NET基本上是基于组件与模块化的,每一个页的html元素代码都是一个可以运行的组件对象。对于开发语言,ASP.NET排除了原来的VBscript和Jscript,而用.NET Framework支持的C#.NET,VB.NET等作为开发语言,由这些语言生成的网页在后台被转换成类,这些类被编译成一个DLL3。因为ASP.NET的程序是通过编译来执行的,所以要比ASP有了更高的执行效率。1.2.2 SQL Server 2005数据库介绍SQL Server2005是由Microsoft公司开发的,在SQL Server的发展过程中,有两个版本具有重要的意义,包括1996年推出的SQL Server 6.5和在2005年推出的SQL Server 2005版本。6.5版本的使用让SQL Server得到了广泛的应用,而Server2005版本在适用性和功能上有了很大的提高。经过改进Microsoft SQL Server2005比Microsoft SQL Server2000具有如下的优点:1、数据分区,SQL Server2005的数据分区技术极大加强了表的可伸缩性和管理性,使得处理数据能力得到加强。2、可编程性,在CLR集成方面使得可以利用.NET语言的优势如面向对象的封装、继承和多态性,编写成需要对数据进行复杂数值计算或逻辑的代码。使得目前使用数据库编写程序时只要考虑什么时候使用T_SQL4语言,什么时候使用CLR。3、安全,SQL Server 2005的每一层都使用证书、非对称密钥和对称密钥的组合对它下面的一层进行加密,提高了密钥5安全性。4、可用性能增强,主要包括索引联机操作、页面验和、在线还原等方面。总之SQL Server由一系列相互协作的组件构成,能满足最大的Web站点和企业数据处理系统存储和分析数据的需求。1.2.3 C#介绍C#是由微软公司研发的一种面向对象的运行在.NET Framework环境上的高级程序设计语言。C#语言与Java非常相似,它包括单一继承,接口还有和java基本相同的语法及编译成中间代码在运行的过程。但是C#与Java也有很多不同之处,C#是借鉴Delphi的一些特点与COM直接继承,并且它是微软.NET windows网络架构的核心。C#是一种安全、稳定、简单的由C衍生的面向对象的高级编程语言,它在继承C功能的同时去掉了复杂性如没有宏并且不允许多重继承。另外C#也综合了VB语言简单的可视化操作以及C高效运行的效率,还有它们强大的可操作能力,优雅的语法,创新的语言特性以及方便的面向组件编程的技术支持使其成为.NET开发语言的首选。C#是面向对象的高级编程语言,它使程序员能够快速的编写各种基于.NET技术平台的应用程序,并且.NET提供一系列的工具及服务使其最大程度的开发和利用计算与通讯领域。C#所开发的程序源码并不是编译成了能够直接在操作系统是哪个执行的本地代码,与Java相似它是被编译成中间代码,再通过.NET Framework虚拟机执行6。一切.NET编程语言都被编译成为MSIL的中间代码7。由此可见即使最终的程序在表面上与传统的可执行文件都有“.exe”的后缀名,但是实际上如果计算机没有安装.NET Framework这些程序仍然是不可以执行的。在程序执行过程中.NET Framework将中间代码编译成二进制机器代码从而使其正确运行。最终二进制代码会被存储到一个缓冲区,所以一旦程序使用了相同的代码,它会调用缓冲区中的数据。这样使得.NET程序第二次运行时不需要进行二次翻译,运行速度明显得到提升。2 系统需求分析系统需求分析是指理解用户的需求,就软件的功能和客户达成一致,需求分析的任务就是解决“做什么”的问题,也就是要从各个方面理解用户的各项要求,并能够准确地表达所接受的用户需求,具有决策性、方向性和策略性的作用9。2.1 系统功能概述本系统分为四种角色,管理员主要管理班级、课程、奖学金以及教师等基本信息;导员的角色主要是管理指定班级的学生信息,统计学生补考信息;教师角色主要的功能是录入学生课程的成绩。同时管理员和辅导员可以浏览学生排名以及学生奖学金领取和补考名单等信息内容;学生登陆以后查询自己的成绩信息。2.1.1 系统功能需求1、基本信息管理:对学生基本信息、课程基本信息、班级基本信息、奖学金等基本信息进行添加、修改、删除的基本操作。2、个人信息管理:修改当前登录用户的个人密码及具体的个人信息。3、查询:对学生信息的查询、学生成绩的查询、班级课程的查询及奖学金的查询,包括简单和复杂查询,对满足一个条件或多个条件等要求均可查询到符合条件的信息。4、统计:班级学生的统计及每科课程的学生成绩的统计,此结果以图表形式显示,简单、易懂,形象、直观。5、系统管理:通过日志的管理可知某用户在何时登录该系统,并能发现程序中出现的错误,方便调试。6、前台学生信息的查询:学生通过登陆可查询相关的成绩信息。7、导员管理界面:学生信息维护、学生成绩管理、学生成绩排名和学生补考信息,其中学生成绩排名是按升序排名。8、教师管理界面:主要功能是对学生成绩的增加、删除、修改、查找。9、管理用户:包括管理学生信息、教师信息、和学生课程信息,包括增加、删除和修改功能。10、奖学金管理:管理员可设置奖学金的等级和该等级的上下限。2.1.2 用例分析UML10提供的用例图是为了方便了解用户的需求,用例图强调了系统的整体性和系统的外在功能,强调系统对使用者提供了什么样的帮助和好处,强调系统与外界的交互,本文使用用例技术进行需求分析。为了能够快速正确的找出系统的用例,需要确定系统的边界,找出系统的执行者。用例图图符如下表2.1所示。表2.1 用例图图符可视化图符名称描述系统系统边界,用例放其中用例用例图中的用例执行者描述与系统功能有关的外部实体,可以是用户,也可以是外部系统关联连接执行者和用例该系统的用例图如图2.1所示。图2.1 学生成绩管理系统用例图图 2.1.3 概念层类图概念层类图主要描述应用领域中的概念,一个概念模型应独立于具体实现的软件和程序设计语言,单纯属于概念上的理解,在类描述中一般只给出主要类及类它们间关系。类图是所有面向对象建模方法的核心部分,类图描述了系统的静态结构,由类和类间关系组成。类是具有相同属性和相同方法的对象的集合,基本图符如表2.2所示。表2.2 概念层类图可视化图符名称描述类具体的一个类,第一栏类名,第二栏属性,第三栏方法包一种分组机制,表示一个类图的集合关联类的对象间的关系,包括聚集关系和组成关系本系统中主要的类有课程类、班级课程类、班级类、学生类、学生成绩类、奖学金类,每个类中都有对应的字段、属性、方法,具体类的实现如图2.2所示。图2.2 学生成绩管理系统类图2.2 系统性能要求对系统性能的要求包括对系统时间规定,灵活性,输入输出,数据管理能力,故障处理要求和运行环境规定等的要求。2.2.1 系统灵活性说明对该网站的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:1、操作方式通俗易懂、容易上手,界面美观、大方,将Web程序转为控制台应用程序,符合用户操作习惯。2、本网站可以运行在IE5以上的所有版本,配有AJAX插件。3、本网站能支持扩大改进,利用AJAX技术实现更多功能的实时响应。4、一个模块的改变不会影响其他的模块。2.2.2 输入输出要求能够对不完整的数据进行校验,保证数据的完整性和一致性,对特殊字符的过滤功能,输出能满足用户的需求。2.2.3 数据管理能力要求本网站采用的是SQL Server 2005数据库。具有较强的数据处理能力,数据库引擎增强、分析服务增强等。记录的个数随用户多少不定,数据及其分量的存储量为10G,但能保证注册的用户都能登录进来,没有延时。2.2.4 故障处理要求本系统具备完整的数据备份与还原功能,可对数据的丢失进行及时的处理,而且该系统还有日志管理,无论系统何时、何地出现故障都便于查找。2.3 可行性分析可行性分析是根据初步调查结果做出系统开发是否可行的结论的过程。每一个项目工程的确立都需要进行项目的可行性分析。该分析保证正确的选择投资项目所必要工作,这对项目的审批程序也是必不可少的。信息系统开发项目是一项非常复杂的高科技系统工程,所以系统的可行性分析是必不可少的,可行性研究的目的也就是用最小的代价在尽可能短的时间内确定问题是否可以很好的解决、是否值得去解决。根据调查分析,系统设计方案有以下三个可行性。2.3.1 技术可行性传统的应用程序是通过事先与数据库确立连接,在整个程序的运行过程通过维护数据库的连接方式而实现。ASP.NET采用的数据结构是断开式的。当我们由浏览器向Web服务器提出请求网页时,服务器就会处理收到的请求,同时所请求得到的网页返回给浏览器,然后该连接被断开,直到通过浏览器发送出下一个请求。首先现在的系统开发方法已经发展的相对成熟,结构化和面向的对象,都已经广泛的使用,这让我们开发系统的系统调查、系统分析、系统设计和系统实施更加的规范,系统完成的更加的科学。开发系统所需要的硬件技术、软件开发技术和网络技术发展的相当的成熟。其次学生成绩管理系统有如下的特点:一是数据量相对较大;二是数据的处理相对集中,内部数据的处理量大,输出量大。三是需要不断进行更新。基于以上三个特点,现有技术都可以达到要求的目标。在单机环境下组建管理信息系统,该系统的开发工作可以采用ASP.NET做前台,SQL Server 2005做后台数据库来进行。前台的可视化程度非常高,人机交互能力也比较强,应用起来也是十分的方便,后台的数据库功能十分强大,能很好的支持系统的运行。2.3.2 经济可行性开发软件的投资费用主要包括:包括计算机设备和软件配置等的设备费用;包含开发人员、运行人员和维护人员的人员费用;包括文档资料,纸张需要等的材料费用;和一些如设备保养的其他费用。现在的学生成绩管理系统都有自己的运营费用,而且一般成绩管理在原有的计算机硬件基础上不必再投入;只需要在软件开发上面投入少许经费就可以了,这方面的教育部门应该会愿意承担并且完全可以支付的起。同时,系统管理人员熟知成绩管理的流程。所以,花费在人员培训上的费用是不会太高的。开发的系统是一个性能稳定,易于维护的系统,后期维护不会消耗大量的人力和物力,这样系统在人员方面的投资也可以支付。总之,该系统所需的硬件软件投资、人员费用、材料费用等的投资相对与投入使用后创建的收益来说是值得的,系统能够减轻管理人员的工作负担,使成绩管理人员从繁琐的工作中解放出来,降低管理费用和劳动费用,提高人员利用率,保证工作质量,人力资源合理分配,达到资源优化。使管理工作人员从以前的反复进行数据操作的工作中解脱出来,提高了信息处理的及时性,准确性,这不仅给成绩管理工作带来方便,同时也给学生进行成绩查询提供了方便。提高了数据的安全性、共享性和实力性,降低了学校预算,提高了工作效率,为各个高校在教育部门的激烈竞争中减少不小的开支。2.3.3 操作可行性本系统要求运行环境不高,可以在Windows 2007操作系统平台上运行,Web服务器为IIS,数据库服务器为Microsoft SQL Server 2005,开发工具采用的Microsoft Visual Studio 2010。界面美观、易懂、容易操作、功能齐全,方便了对成绩的管理。综上所述,从经济可行性、技术可行性、操作可行性上来说,系统开发是完全可行的。3 系统概要设计系统开发工作经过需求分析阶段,已完全弄清了用户的需要,较好的解决了“做什么”的问题,我们建立了系统逻辑模型。到现在,本系统的开发阶段就进入到了概要设计阶段,我们开始动手解决“怎么做”的问题。也就是根据我们需求分析阶段确定的系统的逻辑模型,完成对系统物理模型设计的问题。我们在概要设计阶段的指导思想就是结构化指导思想,是指用一组标准的规则与图表工具来确定系统该有什么模块,怎么连接,这样才能形成新系统的结构,然后再继续进行诸如输入、输出、对话等设计,为整个系统的实施做好铺垫。3.1 基本简介本系统分为四种角色,管理员主要管理班级、课程、奖学金以及教师等基本信息;教师的角色主要是管理各个班级的学生信息以及各个班级学生的成绩信息;导员主要要是管理代课班级学生信息的基本情况。同时管理员、导员和教师可以浏览学生排名以及学生奖学金领取和补考名单等信息内容;学生登陆以后查询自己的成绩信息。3.2 系统数据库设计数据库设计是管理信息系统的重要组成部分。数据库设计是对一个既定的环境,进行符合应用语义的逻辑设计,并且提供了一个确定存储结构和物理设计,在有效存取数据和数据模型的情况下实现系统目标。建立了良好的文件组织形式和数据库结构,使系统准确、快速的获得所需信息是评价系统的主要指标。因此,是管理信息系统的重要组成部分。数据库设计的核心问题就是设计出较好的数据模型。在现在的数据库管理系统中有网状模型、层次模型和关系模型三种模型。这里的关系模型具有相对较高的数据独立性,使用起来也非常方便。目前,微机数据库多采用关系型数据库模型。我们采用SQL Server 关系数据库。这个数据库对行增加、删除、编辑和统计、显示和应答都极为方便。其中的排序和索引功能,对数据快速定位、查询提供了有利条件。3.2.1 数据库设计原则1、数据的共享性。2、数据独立性。3、数据的完整性,即保证数据库存中数据准确。4、灵活性,可在相当短的时间内回答用户的各种各样的复杂而灵活的查询问题。5、安全性与保密性,做到对数据指定保护级别和安全控制。3.2.2 数据库概念结构设计(E-R图)概念模型的表示方法很多,其中最为著名最为常用的是E-R图11。简单的说,E-R图用来分析数据关系的。下面具体列出学生成绩管理系统主要的实体图及E-R图。学生实体主要有姓名、学号、出生日期、民族、密码、班级代码、年龄、性别等基本数据,学生实体图如图3.1所示。密码班级代码出生年月性别年龄学生姓名学号民族图3.1 学生实体图学生成绩实体主要包括学号、课程代码、班级代码、学年、平时成绩、期中成绩、期末成绩,学生实体图如图3.2所示。期末成绩期中成绩平时成绩成绩代码班课代码学生成绩学号学年 图3.2 学生成绩实体图班级实体主要包括班级代码、导员姓名、导员代码、导员密码,班级实体图如图3.3所示。导员账号导员姓名导员密码班级代码班级图3.3 班级实体图班级课程实体主要包括班级代码、课程代码、任课教师、班课代码,班级课程实体图如图3.4所示。班级课程班级代码课程代码班课代码教师号课时课程类型图3.4 班级课程实体图奖学金实体主要包括奖学金代码、奖学金等级、金额、分数上限和分数下限等,奖学金实体图如图3.5所示。奖学金奖学金代码奖学金等级分数上线分数底线金额图3.5 奖学金实体图教师实体图主要包括教师号、教师姓名、教师密码、教师类型等,教师实体图如图3.6所示。教师类型密码教师姓名教师号图3.6 教师实体图管理员实体包括管理员账号、管理员密码,管理员实体图如图3.7所示。管理员管理员账号管理员密码图3.7 管理员实体图课程实体包括课程号、课程名,课程实体图如图3.8所示。课程课程号课程名图3.8 课程实体图实体间E-R图如图3.9所示。 课程班级课程班级学生包含教师奖学金MN包含N1包含N1授课N1得到11班级代码学号班级名称班级名称选择N1成绩课程类型课时教师号教师姓名代码金额等级上限课程号课程名课程代码班级代码导员账号导员姓名姓名出生年月图3.9 实体-关系图3.2.3 数据库表设计根据给出的E-R图可以对系统所需要的数据库进行设计,数据库中包含多个表,以下列出主要的数据表及各个表中的字段详细情况。管理员信息表,用于系统信息管理模块中管理员信息设置的实现,如表3.1所示。表3.1 管理员信息表字段名称字段类型主要属性说明名称Varchar(20)无重复,不允许为空主键密码char(20)可重复,不允许为空登录密码课程信息表,用于管理课程信息。具体字段如表3.2所示。表3.2 课程信息表字段名称字段类型主要属性说明课程代码Int(4)主键自增主键课程名称Varchar(50)不可重复,不允许为空学生信息表主要用于基础信息管理模块中的学生信息管理,管理员录入好数据信息后,系统便可顺利的进行其他模块对数据库进行操作,如表3.3所示。表3.3 学生信息表字段名称字段类型主要属性说明学号Varchar(20)主键用于与其他表关联姓名Varchar(50)可重复,不允许为空用于存储学生名称性别Varchar(2)无重复,不允许为空用于存储学生性别年龄Varchar(10)可重复,不允许为空用于存储学生年龄班级代码Varchar(50)无重复,不允许为空关联班级密码Varchar(20)可重复,不允许为空默认为000000民族Varchar(20)可重复,不允许为空民族信息出生日期Datetime可重复,不允许为空出生日期学生成绩表用于存储学生成绩的基本信息,教师根据自己授课的情况给所教的学生进行成绩的录入,录入完成后对数据库进行更新为以后管理员、学生等进行成绩查询提供了方便。具体字段的如表3.4所示。表3.4 学生成绩表字段名称字段类型主要属性说明成绩代码Int主键用于存储学生成绩编号 自增主键学 号Varchar(50)不可重复, 不允许为空关联学生班课代码Int可重复, 不允许为空关联课程平时成绩Float不可重复, 不允许为空期中成绩Float可重复, 不允许为空 期末成绩Float可重复, 不允许为空学 年Varchar(20)可重复, 不允许为空2012-2013上学期班级基本信息表,用于存储班级信息,通过管理员的录入更新数据库,方便对班级情况的管理。具体字段如表3.5所示。表3.5 班级信息表字段名称字段类型主要属性说明班级代码Varchar(50)主键导员账号Varchar(50)可重复,不允许为空导员密码Varchar(50)可重复,允许为空默认:000000导员姓名Varchar(50)可重复,不允许为空班级课程信息表,主要用于管理员对班级情况的设置录入,管理员等通过班级课程信息查看班级及学生的具体信息。具体字段如表3.6所示。表3.6 班级课程信息表字段名称字段类型主要属性说明班课代码Int(4)主键自增主键班级代码Varchar(50)不可重复,不允许为空关联班级课程代码Int(4)不可重复,不允许为空关联课程教师号Varchar(50)可重复,不允许为空关联教师课时Int可重复,不允许为空课程类型Char(10)可重复,不允许为空默认必修教师信息表,用于管理员管理教师信息。教师根据数据库中的数据进行系统的登陆,根据教师信息表可以查看教师的详细情况。具体字段如表3.7所示。表3.7 教师信息表字段名称字段类型主要属性说明教师号Int(4)主键教师姓名Varchar(50)不可重复,不允许为空教师类别Varchar(50)不可重复,不允许为空密码Varchar(50)不可重复,不允许为空奖学金信息表,用于奖学金的存储与管理。系统根据奖学金表的设置情况搜索学生奖学金的获得情况。具体字段如表3.8所示。表3.8 奖学金信息表字段名称字段类型主要属性说明奖学金代码Int(4)主键自增主键奖学金等级Varchar(50)不可重复,不允许为空金额Int不可重复,不允许为空分数底线Int不可重复,不允许为空范围为0-100分数上线Int不可重复,不允许为空范围为0-1003.3 系统功能分析学生成绩管理系统共分成四大模块:学生浏览模块、教师管理、导员管理和管理员管理模块。四大模块又包含各自的子模块。管理员管理模块包括:班级信息管理,课程信息管理,奖学金管理,学生人数统计和学生排名、补考名单以及奖学金获取;教师管理模块包括:学生信息管理,学生成绩管理,学生信息查询,学生成绩查询和学生排名、补考名单;学生浏览模块包括:成绩浏览。3.3.1 管理员管理模块应实现的功能1、班级信息管理:对班级信息进行添加、删除、修改操作。2、课程信息管理:管理员对所需要学习课程进行增加、删除、修改操作。3、奖学金管理:维护各个等级奖学金信息。4、班级课程维护:根据班级号,教师号,课程号对班级课程进行教师,课程的分配,修改和删除操作。5、学生信息统计:统计各个班级学生信息。6、学生成绩排名:根据学年、课程等信息进行成绩的排名。7、补考学生名单:检索各个学期的不合格的学生信息。8、学生学年成绩排名:计算指定学年的学生平均成绩 并按照奖学金设置发放奖学金。9、教师信息管理:对教师信息进行增加、删除、修改、查找等操作。10、学生信息管理:对学生信息进行增加、删除、修改、查找等操作。11、学生成绩管理:对学生成绩信息进行查找等操作。3.3.2 导员管理模块应实现的功能1、学生信息管理:对自己所带学生信息进行查看操作。2、学生成绩管理:对自己所带学生的成绩进行查看操作。3、学生成绩排名:按照课程、学期对所带学生进行成绩排名。4、补考学生名单:检索各个学期的不合格的学生信息。3.3.3 教师管理模块应实现的功能1、学生成绩管理:对所教授班级的学生进行成绩的录入、修改、删除、查看等操作。2、学生成绩排名:根据课程对所授班级的学生成绩进行排名。3、补考学生名单:检索所教授课程不合格的学生信息。3.3.4 学生浏览模块应实现的功能1、成绩浏览:学生登陆系统后可以在该模块实现按学科、学期等进行成绩的查看。2、学生信息浏览:学生登陆系统后可以在该模块实现学生信息的查看。综上所述,学生信息管理系统功能模块图如图3.10所示。学生成绩管理系统管理员管理模块导员管理模块学生浏览模块班级信息管理学生成绩浏览班级信息管理学生成绩管理学生成绩排名补考学生名单补考学生名单课程信息管理班级课程维护学生信息统计学生成绩排名奖学金管理教师管理模块学生信息浏览图3.10 系统功能模块图3.4 主要模块流程图3.4.1 管理员管理模块课程信息、教师信息、班级课程和学生等的信息管理流程图与班级信息管理流程图类似,在这以班级信息管理流程图为例来表述,班级信息管理主要是对班级信息的添加修改和删除工作,由于班级受学生党的限制,对班级进行修改或删除操作时要对班级的学生进行判断,班级信息管理流程图如图3.11所示。图3.11 班级信息管理流程图3.4.2 教师管理模块学生成绩管理流程图如图3.12所示。图3.12 学生成绩管理流程图3.4.3 导员管理模块1、学生成绩,学生信息查询等功能流程图简单在此不做赘述。2、学年成绩排名如图3.13所示。图3.13 学年成绩排名3.4.4 学生管理模块学生信息查询流程图3.14所示。图3.14 学生信息查询流程图4 详细设计与实现学生成绩管理系统采用ASP .NET编写,利用SQL Server 2005数据库存储信息。网页按实际需求及功能模块编写,按如下顺序详细介绍。4.1 代码标识设计代码设计问题是一个科学管理的问题。设计出一个好的代码方案对于系统的开发工作是一件极为有利的事情。在信息化的系统中,程序代码是人与机器的共同语言,是进行系统分类、核对和检索的关键。设计代码是实现系统的关键,代码设计的好坏,直接影响计算机进行数据处理的速度和存储空间的使用,对系统能否正式运行也有着十分重要的作用。因此,在进行此设计之前,要设计出适合新系统的代码体系。它可以使很多机器处理(如某些统计、校对查询等)变得十分方便。4.2 代码设计原则1、唯一性:每个代码仅代表唯一实体或是属性。2、标准化:尽可能的使用国际、国家或是行业标准,方便交换和维护。3、合理性:代码的结构要合理,尽可能的反映编码对象的特征,还有和事物的分类体系适应, 以便代码具有我们所需的分类的标识作用。4、易识别性:代码要方便于管理人员们使用时的识别和记忆还要易于计算机的识别与分类。5、可扩展性和灵活性:代码系统一定要考虑到系统发展的变化。当增加新的实体或是属性的时候,可以直接使用源代码加以扩充,而不是变动代码系统。6、实用性:尽量的使用业务上已经使用过的而且行之有效的代码,这样才能便于使用。7、可扩充性:代码设计时一定要留以余地,在将来的系统发展和变化时可直接使用原代码体系加以追加,而不是变动原代码体系。4.3 系统主要功能流程及模块4.3.1 课程管理流程课程管理流程说明:管理员输入正确用户名和密码即可登录进入课程管理页面,若输入错误则将重新登录,进入课程管理页面后,管理员可更改课程信息,确认无误后,即可提交更改后的信息,系统会将结果保存到课程表中。会员管理流程如图4.1所示。图4.1 课程管理顺序图4.3.2 奖学金管理流程奖学金管理流程:管理员登录后台,进行身份验证,若密码不正确则显示错误信息,无法进入此系统,当密码正确后进入后台,选择奖学金管理界面,对奖学金进行管理根据上面的分析,绘制出的UML顺序图如图4.2所示。图4.2 奖学金管理顺序图4.3.3 学生信息流程学生信息说明:教师输入正确的用户名和密码后进入主页面模块,如果输入不正确则重新登陆,进入主页面后可选择功能,进入学生信息管理界面,可对学生信息进行管理,顺序图如图4.3所示。图4.3 学生信息顺序图4.3.4 修改密码流程修改密码流程说明:用户登录到本网站后可进行登陆密码的设置,修改密码流程如图4.4所示。图4.4 修改密码顺序图4.4 网站登陆主页网站登陆主页主要实现了管理员、教师、学生的登录功能,程序运行结果如图4.5所示。图4.5 后台主页面模块实现过程:系统根据选择的单选按钮来进入不同的管理页面,根据文本框中输入的用户名和密码查询数据库判断是否匹配,匹配则进入系统页面,不匹配则提示错误信息。主要的功能代码如下:protected void ImgButLog_Click(object sender, ImageClickEventArgs e) switch (this.RadioButtonList1.SelectedValue) Case“管理员” if (Database.Get_Table(select * from 管理员 where 名称= + TextBox1.Text + and 密码= + TextBox2.Text + ).Rows.Count 0) Session账号 = TextBox1.Text; Response.Redirect(Admin/index.aspx); else Response.Write(alert(密码错误);); return; break 4.5 基本功能模块4.5.1 管理员管理模块1、班级信息维护列表此页面显示班级的详细信息列表,可以对班级信息进行查看 修改和删除,如图4.6所示。图4.6 班级信息列表主要实现过程:根据需要查询数据库中的班级信息,并在GridView中显示。通过在控件中设置id为班级代码,根据中的CommandName属性来设置不同的操作,选择不同的工作页面。主要的功能代码如下:this.GridView1.DataSource = Database.Get_Table(select * from 班级 ); this.GridView1.DataBind();2、班级信息添加信息列表该页面主要用于实现对班级信息的添加工作,功能页面如图4.7所示。图4.7 班级信息添加列表主要实现过程:管理员根据学校的班级情况进行班级信息的录入,点击保存按钮系统会把提交的数据与数据库中的数据进行比较,如果已将存在班级代码与导员账号同时匹配则提示重复信息。主要功能代码如下:Database.ExecSql(insert into 班级(班级代码,导员帐号,导员密码,导员姓名) values( + TextBox1.Text + + , + TextBox2.Text + ,000000, + TextBox3.Text + );3、班级课程维护在此页面根据班级,根据课程来维护班级课程,并显示班级课程列表信息。运行结果如图4.8所示。图4.8 班级课程页面主要功能实现过程:根据需要查询数据库中的班级课程信息,并在GridView中显示。通过在控件中设置id为班课代码,根据中的CommandName属性来设置不同的操作,选择不同的工作页面。主要的功能代码如下:if (e.CommandName = Del)if (Database.Get_Table(select * from 学生成绩 where 班课代码= + Key + ).Rows.Count 0) Response.Write( alert(班级课程信息使用中);); return; Database.ExecSql(delete from 班级课程 where 班课代码= + Key + );LoadData();4、班级课程添加在此页面主要是进行班级课程的分配,实现情况如图4.9所示。图4.9 班级课程页面主要功能实现过程:系统通过DropDownList来绑定数据库中的班级代码、课程名称、任课教师姓名来决定班级课程的相关信息,根据页面填写的数据提交到数据库,完成课程的分配。主要功能实现代码如下:DropDownList1.DataTextField = 班级代码; DropDownList1.DataValueField = 班级代码; DropDownList1.DataSource = Database.Get_Table(select * from 班级); DropDownList1.DataBind();5、学生学年成绩排名此页面显示指定学期学生学习科目的平均成绩进行排名,并按照学生的分数统计要发放的奖学金信息,如图4.10所示。图4.10 学生学年成绩排名主要功能过程:系统根据选择的学期和指定的算法检索出指定学期学生的综合成绩来进行排名并根据设置的奖学金情况来获取学生获取奖学金的情况,主要功能实现代码如下:DataTable dt=Database.Get_Table(select *, as 等级, as 金额, as 名词 from V_学生,(select 学号,(sum(成绩/count(1) as 平均分from V_成绩 where 学年= + drXQ.SelectedValue + group by 学号 ) A where V_学生.学号=A.学号 order by 平均分 DESC); if (dt.Rows.Count 0)for (int i = 0; i dt.Rows.Count; i+) DataTable dt1 = Datab

温馨提示

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

评论

0/150

提交评论