学生成绩管理系统设计.docx
- 文档编号:8453183
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:44
- 大小:1.42MB
学生成绩管理系统设计.docx
《学生成绩管理系统设计.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统设计.docx(44页珍藏版)》请在冰豆网上搜索。
学生成绩管理系统设计
分类号
郑州电力高等专科学校
毕业设计(论文)
题 目 学生成绩管理系统
并列英文题目StudentAchievementManagementSystem
系 部 电子信息系 专业计算机应用技术
姓 名 班级 计算机
指导教师 冯明卿 职称 讲师
论文报告提交日期 2010-06-12
郑州电力高等专科学校
摘要
本设计所实现的“学生成绩管理系统”,具有数据操作方便、高效、迅速等优点。
该设计采用功能强大的数据库软件SQLServer2000和开发工具VisualStudio2008进行开发,采用先进的C#语言,运用面向对象思想方法,具有很好的可移植性,可通过访问权限控制以及数据备份功能,确保数据的安全性,使用该系统可以实现对学生信息,学生成绩的增删改查的管理,在局域网内使用Client/Server架构可以极大提高工作效率和安全性,其最主要的功能是能够便于学校对学生成绩的管理。
“学生成绩管理系统”是以学生成绩数据为主的管理,其数据库的建立、健全是关键,合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。
关键字:
数据库管理,成绩管理,C/S架构,面向对象
Abstract
Thegraduationprojectachievedthe"studentachievementmanagementsystem",withdataeasytooperate,efficient,fastandsoon.ThesoftwarefeaturesapowerfuldatabasesoftwareSQLServer2000andVisualStudio2008developmenttoolsfordevelopment,theuseofadvancedC#language,usingobject-orientedwayofthinking,withgoodportability,accesscontrolanddatathroughthebackup,toensuredatasecurity,theuseofthesystemcanberealizedonthestudentinformation,studentachievementoftheadditionsanddeletionstochangesearchmanagement,useC/Sstructurecangreatlyimproveefficiency,andthemainfunctionistofacilitatethemanagementofthestudents.
"Studentperformancemanagementsystem"isbasedonstudentperformancedatabasedmanagement,theestablishmentofitsdatabase,soundisthekey,reasonabledatabasestructuredesigncanimprovetheefficiencyofdatastoragetoensuredataintegrityandconsistency.
Keyword:
Databasemanagement,Achievementmanagement,Client/Server,Object-oriented
目录
第一章学生成绩管理系统需求分析
1.1系统开发分析
随着社会信息量的与日俱增,学校需要有一个很好的学生成绩管理系统,以方便对学生成绩进行有效的管理。
系统应具有既方便老师对觉得成绩的查询和插入,也方便学生对自己成绩和获得的学分进行查询的功能。
为提高其安全性和响应速度,本系统是基于C/S结构的学生成绩管理系统,通过该系统可对学生成绩信息进行方便管理,为学校学生和老师建立一个成绩信息沟通的平台,从而方便学校学生的成绩管理。
1.1.1系统需求分析
针对目前学校对学生成绩管理方面存在的问题和管理的实际需要,我们将理顺管理体制和建立各种管理规范与开发系统有机结合起来,通过几个功能模块进行统一管理,要求系统满足以下几个方面的要求:
从用户角度来看,系统首先应该能够提供便捷与强大的信息查询功能。
对于学校的全体老师而言,他们应该能够对系统的不同部分有各自不同的权限,例如,任课教师可以录入成绩,但成绩一旦保存之后,任课教师就不能再具有修改成绩的权限,对于其他教师而言,应该具有查询所有科目及所有学生的成绩的权限,等等。
对于学生而言,系统应该提供学生能够查询自己的成绩的功能。
从教务管理者角度来看,系统必须能够实现即时查询功能,记录学生的成绩,实现对成绩的各种操作等功能。
具有较强的灵活性及可扩展性,能够存储一定数量的学生信息,并方便有效的进行相应的数据操作和管理,这主要包括:
学生信息的录入、删除及修改,课程信息的录入,删除和修改,班级信息的录入、删除及修改,教师信息的录入,删除和修改,课程表信息的录入,删除和修改,专业信息的录入,删除和修改,各种信息的单条件查询和多条件的组合查询,以及学生各科成绩的多关键字检索查询。
具有较高的安全性,系统登录有各自的安全账户。
系统管理员可添加用户信息,更改用户信息和删除用户信息,同时可以针对其他的信息具有所有的权限;任课教师可以录入信息,学生只能对所有的信息具有查询的功能,不具有修改、删除和录入的权限。
系统能够提供数据信息授权访问,防止随意删改,同时提供信息备份的服务等。
总之,希望通过本系统的开发,可以解决学生成绩管理、课程信息管理、学生基本信息管理、课程表信息和教师基本信息的管理等功能,还可以进行班级信息的管理,同时能够实现系统管理,主要是针对登录用户的添加、删除、修改和查询功能,使学校对学生的成绩管理自动化和规范化。
1.1.2系统功能分析
学生成绩管理系统必须能够完成管理,成绩信息管理,课程信息管理,班级信息管理,学生基本信息管理,成绩和查询管理,专业信息管理,教师信息管理和课程表信息管理。
系统管理主要是维护系统和正常运行和安全性设置,包括当登录用户身份时管理员能够完成添加用户,删除用户,修改密码,查询用户的权限和重新登录等功能,以及针对本系统涉及到的数据库中和备份和恢复时能够实现按照学生和学号,学生和姓名,学生所在班级代码或者学生和性别,进行单条件或者组合条件的查询。
专业基本信息管理能够实现有关专业基本信息的录入,修改,查询和删除。
同时能够实现按照专业代号或者专业名称,进行单条件或者组合条件和查询。
教师基本信息管理能够实现有关教师基本信息的录入,修改,查询和删除。
同时能够实现按照教师代号、教师姓名或者教师性别,进行单条件或者组合条件和查询。
课程表基本信息管理能够实现有关课程表基本信息的录入,修改,查询和删除。
同时能够实现按照学期、班级代码、教师姓名或者课程名称,进行单条件或者组合条件和查询。
按照用户需求,可将“学生成绩管理系统”设计成以下的层次结构,如下图1-1所示。
对图1-1中所示的系统功能解释如下。
图1-1系统功能
1.系统管理
系统管理有系统管理员身份和用户可以登录,它负责用户的管理。
用户分为三大类:
一类为系统管理员,可添加,修改,删除和查询各类用户;另一类用户是任课教师,可以修改自己和登录信息;最后一类用户是学生,只能修改自己的用户信息,不具有添加,修改和删除和操作权限。
系统管理员可以进行数据库和备份与恢复,即日常数据管理。
2、成绩管理
成绩管理主要包括学生成绩的输入,也可以对其成绩进行修改,添加和删除操作,同时能够实现按照学生的学号或者课程编号进行单条件或者组合条件的查询,并且要能够实现当用户以学生身份登录时,只能查询自己所学课程的成绩,不具有添加,删除和修改的权限;当用户以任课教师的身份登录时,可以录入学生的成绩和查询所有学生的成绩,但是不具有修改和删除学生成绩的权限。
3、课程管理
课程管理专门对各系及各班的课程信息进行添加,删除和修改,同时能够实现按照课程编号,课程类型或者学分,进行单条件或者组合条件的查询,并且当登录用户身份是学生或者登录用户身份是任课教师时,只能进行查询课程信息的操作。
4、班级管理
班级管理专门对各班信息进行添加,删除和修改,同时能够实现按照班级名称或者专业名称,进行单条件或者组合条件的查询,并且当登录用户身份是学生或者登录用户身份是任课教师时,只能进行查询班级信息的的操作。
5、学生基本信息管理
学生基本信息管理有关学生基本信息录入,修改,查询和删除,同时能够实现按照学生的学号,学生的姓名,学生所在班级名称或者学生的性别,进行单条件或者组合条件的查询,并且当登录用户身份有学生或者登录用户身份是任课教师时,只能进行学生信息的查询。
6、专业基本信息管理
专业基本信息管理有关专业基本信息录入,修改,查询和删除,同时能够实现按照专业代号或者专业名称,进行单条件或者组合条件的查询,并且当登录用户身份是学生或者任课教师时,只能进行查询专业信息的操作。
7、教师基本信息管理
教师基本信息管理有关教师基本信息录入,修改,查询和删除,同时能够实现按照教师代号,教师名称或者教师性别,进行单条件或者组合条件的查询,并且当登录用户身份是学生时,不能对此模块进行任何操作。
8、课程表管理
有关课程表基本信息的录入,修改,查询和删除,同时能够实现按照学期,班级代码,教师姓名或者课程名称,进行单条件或者组合条件的查询,并且当登录用户身份是学生或者登录用户身份是教师时,只能进行查询课程表信息的操作。
通过分析,我们可以得到“学生成绩管理系统”的顶层数据流图,如图1-2所示。
图1-2数据流图
从图1-2可以看出教务管理人员可以对学生情况进行录入修改删除,教师是对学生成绩进行查询增加,该系统对管理员、学生、任课教师所提供的功能就是进行查询。
第二章开发工具的选择和介绍
2.1VisualStudio2008概述
本系统开发所用语言是C#,所用开发工具是VisualStudio2008,下面是使用VisualStudio2008开发本系统的优势:
●VS可以自动执行编译源代码的步骤,同时可以完全控制重写它们时应使用的任何选项。
●VS文本编辑器可以配合VS支持的语言(包括C#),这样就可以智能检测错误,在输入代码时给出合适的推荐代码。
●VS包括WindowsForms和WebForms设计器,允许UI元素的简单拖放设计。
●在C#中,许多类型的项目都可以用已有的“模板”代码来创建,不需要从头开始。
各种代码文件通常已经为我们准备好了,减少了从头开始一个项目所花的时间。
对于新的“StarterKit”项目类型来说尤其如此,该项目类型可以以功能全面的应用程序为基础进行开发。
一些StarterKit项目类型包含在VS安装程序中,还可以在线使用更多该项目类型。
●VS包括几个可自动执行常用任务的向导,它们可以在已有的文件中添加合适的的代码,而不需要考虑(在某些情况下)语法的正确性。
●VS包含许多强大的工具,可以显示和导航项目中的元素,这些元素可以是C#源文件代码,也可以是其他资源,例如位图图像或声音文件。
●除了在VS中编写应用程序比较简单外,还可以创建部署项目,以易于为客户提供代码,并方便的安装该项目。
●在开发项目时,VS可以使用高级调试技巧,例如能一次调试一行指令,并监视应用程序的状态。
2.1.1C#语言简介
C#语言是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言。
并定于在微软职业开发者论坛(PDC)上登台亮相。
C#是微软公司研究员AndersHejlsberg的最新成果。
C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。
但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。
2.1.2C#语言优势
作为编程语言,C#是现代的、简单的、完全面向对象的,而且是类型安全的。
在类、名字空间、方法重载和异常处理等方面,C#去掉了C++中的许多复杂性,借鉴了和修改了Java的许多特性,使其变得更加简单易用,不易出错。
C#在设计上的优势:
●简单性
C#在设计上首要目标就是简单性。
没有指针是c#的一个显著特性,在c#中不再需要记住那些源于不同处理器结构的数据类型,例如可变长的整数类型,c#在CLR层面统一了数据类型,使得.NET上的不同语言具有相同的类型系统。
C#去掉了多年来在c++中语法和功能的冗余问题,常用的形式在c#中被保留下来,而其他冗余形式在c#的设计中清楚掉了。
●现代性
安全性是现代应用的头等要求,c#通过代码访问安全机制来保证安全性,根据代码的身份来源,可以分为不同的安全级别,不同级别的代码再被调用时会受到不同的限制。
●面向对象
C#支持面向对象的所有关键概念:
封装、继承和多态性。
整个c#的类模型是建立在.NET虚拟对象系统之上的,而这个对象模型是基础架构的一部分而不再是编程语言的一部分——他们是跨语言的。
C#中没有全局函数、变量或常数。
每样东西必须被封装在一个类中,或者作为一个静态成员(通过类型来访问),这会使你的c#代码具有更好的可读性,并且减少了发生命名空间冲突的可能性。
●类型安全性
C#中实施了最严格的类型安全来保护它自身及垃圾收集器。
因此,程序员必须遵守关于变量的一些规定,如:
不能使用未初始化变量。
对于对象的成员变量,编辑器负责将它们置零。
局部变量你应自己负责。
如果使用了未经初始化的变量,编辑器会提醒你。
这样做的好处是:
你可以摆脱因使用未初始化变量得到一个可笑的错误。
边界检查。
当数组实际上只有N-1个元素时,不可能访问到“额外”的数组元素N,这使重写未经分配的内存成为不可能。
算术运算溢出检查。
C#允许在应用级或者语句级稽查这类操作中的溢出,使用溢出检查,当溢出发生时会出现一个异常。
C#中传递的引用参数是类型安全的。
●版本处理技术
版本处理技术是当今一个真正令人头疼的问题。
与Java的设计不同,CLR的设计时就考虑到了版本处理技术支持,c#则尽其所能支持这种版本处理功能,虽然c#自己并不能保证提供正确的版本处理结果,但它为程序员提供了这种版本处理的可能性。
有了这个适当的支持,开发者可以确保当地开发的类库升级时,会与已有的客户应用保证二进制兼容。
●兼容性
C#不是存在于一个封闭的世界里。
它允许你通过遵守重要的.Net公共语言规范访问不同的API。
公共语言规范定义了遵守这一标准规范的语言间相互操作标准,为了加强公共语言规范的兼容性,c#编辑器检查所有公开输出项所遵守的条件,发现不服可规范的情况就会报错。
如果希望能够访问旧式的COM对象。
.Net平台提供了对COM的透明访问,同样c#允许与c风格的API进行互相操作。
动态链接库的任何入口点——它们是以c风格给出的——可以在c#应用程序中进行访问。
●灵活性
在访问旧式的DLLAPI函数时很可能遇到指针的问题,需要传递指针参数的API有很多。
为了解决这个问题,虽然c#代码默认是安全模式,但它也可以声明某些类或者仅仅是类的某些方法为非安全的,这一声明使你能够使用指针、结构和静态分配的数组了。
安全代码和非安全代码两者都可在操控空间中运行。
2.1.3C#与Java相比的优势
C#与Java有些很大的相似度,与Java相比,c#又如何呢?
Java更易于读写,不容易出错,而且更加美观,但是它速度较慢也不太灵活。
为了实现在任何软件和硬件平台上都可以虚拟移植,Java放弃了将每个平台开发到极限的能力。
其次,虚拟机的概念本身就是可移植和可公用的,因此对于分布式环境来说是理想的。
Java对于为非Windows平台开发代码是最好的语言。
对于Windows平台来说,让Java适应Windows是不可能的,这是由于Sun的许可约束问题。
但是Java实在是太吸引人了,Microsoft比谁都更清楚这一点。
因此,Microsoft又一次采取了“拿来主意”的手法,很好地利用了Java的众多特性,设计出相当简单但十分强大的面向对象的C#编程语言。
可以说,Java具备的优点,C#都可以或者都将具备,如果选择Windows平台应用的开发,C#语言无疑是未来之星。
2.1.4C#访问关系数据库
在C#语言中对数据库的访问是通过.NET框架中的ADO.NET来实现的。
在ADO.NET中,数据处理被延伸到三层以上的结构,程序员也需要采用无连接应用模型。
通过支持对数据的松耦合访问,ADO.NET减少了与数据库的活动连接数目(即减少了多个用户急用数据库服务器上的有限资源的可能性),从而实现了最大限度的数据共享。
若要在数据库中进行操作,应执行SQL语句或存储过程。
我们使用SQL语句或存储过程读写行并执行聚合函数,例如添加或求平均值,我们还可以使用SQL语句、存储过程来创建、修改表或列,执行事务等。
在ADO.NET中使用数据命令封装了SQL语句或存储过程,例如,我们想要从数据库中读取一组行,则创建一个数据命令并用SQL的SELECT语句的文本,或获取记录的存储过程名称来配置实验它。
在进行数据库交互时一般按以下顺序操作:
(1)打开一个连接;
(2)执行该命令引用的SQL语句或存储过程;
(3)关闭连接。
连接保持打开的时间仅足够执行语句或存储过程。
在调用命令的执行方法后,它将返回一个值。
一般来说,更新数据库的命令返回所影响的行数;其他类型的命令返回一个错误代码。
如果该命令使用SELECT语句查询数据库,则它返回一组行,可以使用数据阅读器DataReader获取这些行。
如果我们需要执行多个操作,则可以使用多个数据命令,每一操作即为一个命令,它们将分别执行。
例如,要读取多行,我们应该打开连接,读取这些行,然后关闭连接。
如需要更新数据则再次打开连接执行更新,然后再次关闭该连接。
图2-1为ADO.NET的对象模型
图2-1ADO.NET的对象模型
ADO.NET中两种基本的数据库开发方式
●利用Command对象和DataReader对象直接操作和显示数据
Command对象可以根据程序员所设置的SQL语句分别实现SQL语句的SELECT、INSERT、UPDATE和DELETE,功能,其中SelectCommand需要返回查询结果的数据流,其他命令只需要返回成功与否,SelectCommand通过ExecuteReader方法返回一个DataReader对象提供快速的数据遍历,程序员可以通过代码将数据显示在用户界面中,其他命令通过ExecuteNonQuery方法返回成功或失败状态。
●使用DataAdapter对象和DataSet对象
如果应用程序需要访问多个源中的数据,需要与其他应用程序(包括本地和远程应用程序)相互操作或者可受益于保持和传输缓存结果,则使用DataAdapter适配器对象和数据集DataSet是一个极好的选择。
DataAdapter对象管理一组数据命令一个数据库连接,在数据集和数据源之间充当桥梁,DataAdapter对象利用数据命令从数据源取得数据,再通过Fill方法向数据集DataSet对象填充数据;反之通过UPDATE方法向数据库更新数据集的变化。
通过数据绑定,数据集可以向用户界面组件提供数据显示、编辑和修改。
C#与SQLServer数据库连接字符串
1)Datasource=127.0.01;//所要连接数据库服务器的IP。
database=cjgl;//要访问的数据库名称。
integratedsecurity=true;//Windows集成安全性认证。
2)Datasource=127.0.0.1;//所要连接数据库服务器的IP。
database=cjgl;//要访问的数据库名称。
userid=sa;password=;通过用户名和密码登录
2.1.5C/S与B/S架构区别与优势
C/S和B/S是当今世界开发模式技术架构的两大主流技术。
C/S是美国Borland公司最早研发,B/S是美国微软公司研发。
目前,这两项技术以被世界各国所掌握,国内公司以C/S和B/S技术开发出产品也很多。
这两种技术都有自己一定的市场份额和客户群。
表2-2是C/S和B/S的综合优劣比较:
表2-1C/S和B/S的综合优劣比较
架构
C/S
B/S
系统环境要求
较高
较低(易于多平台)
配置花费
高(客户机、服务器均需要配备软件)
低(服务器配置、客户浏览)
升级、维护开销
高(服务、客户均需要更新)
低(更新服务端即可)
网络负荷开销
高(每客户均建立并保持连接)
低(根据需要建立和释放)
网络距离要求
近
远近均可
实时性能
高且稳定
低
安全性
较高
较低
界面
整齐
比较整齐
C/S即Client/Server(客户机/服务器)结构,C/S结构在技术上很成熟,它的主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。
但是该结构的程序是针对性开发,变更不够灵活,维护和管理的难度较大。
通常只局限于小型局域网,不利于扩展。
并且,由于该结构的每台客户机都需要安装相应的客户端程序,分布功能弱且兼容性差,不能实现快速部署安装和配置,因此缺少通用性,具有较大的局限性。
要求具有一定专业水准的技术人员去完成。
B/S即Browser/Server(浏览器/服务器)结构,就是只安装维护一个服务器(Server),而客户端采用浏览器(Browser)运行软件。
B/S结构应用程序相对于传统的C/S结构应用程序是一个非常大的进步。
B/S结构的主要特点是分布性强、维护方便、开发简单且共享性强、总体拥有成本低。
但数据安全性问题、对服务器要求过高、数据传输速度慢、软件的个性化特点明显降低,这些缺点是有目共睹的,难以实现传统模式下的特殊功能要求。
例如通过浏览器进行大量的数据输入或进行报表的应答、专用性打印输出都比较困难和不便。
此外,实现复杂的应用构造有较大的困难。
2.2SQLServer2000概述
SQLServer是由Microsoft公司开发和推广的关系型数据库管理系统,它最初是由MicrosoftSybase和Ashton—Tate3家公司共同开发的,并于1988年推出了第一个OS/2版本。
SQLServe近年来不断更新版本,1196年,Microsoft推出了SQLServe6.5;1998年,SQLServe7.0也问世;SQLServe2000是Microsoft公司于2000年推出的最新企业网络关系型数据库产品。
是一种新型的结构化查询语言。
2.2.1数据库简介
数据库是关于某一特定主题或目标的信息集合。
通常将其理解为一个用于存储和操纵数据全部元素的容器。
数据库与数据文件相似,同为存储数据的场所,且并不能直接向用户显示信息。
应用程序访问数据库中的数据时,数据库才将这些数据以用户能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 设计