资源描述
毕业项目年 月 日项目类别: 毕业设计 项目名称: 学生成绩管理系统 院 系 : 信息工程系 专 业 : 计算机应用技术 姓 名 : 学 号 : 班 级 : 指导教师: 诚 信 声 明本人郑重声明:所呈交的毕业项目报告/论文学生成绩管理系统是本人在指导老师的指导下,独立研究、写作的成果。论文中所引用是他人的无论以何种方式发布的文字、研究成果,均在论文中以明确方式标明。本声明的法律结果由本人独自承担。 作者签名: 年 月 日 摘 要:本系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。开发本系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。本系统在开发过程中,注意使其符合操作的流程,并力求系统的全面性、通用性。在开发方法的选择上,选择了生命周期法与原型法相结合的方法,遵循系统调查研究、系统分析、系统设计和系统实施四个主要阶段进行设计,而在具体的设计上,采取了演化式原型法,随着用户的使用及对系统了解的不断加深,对某一部分或几部分进行重新分析、设计、实施。本论文主要从系统分析、系统设计、系统实施与使用等几个方面进行介绍。关键词:成绩管理系统;SQL Server Management Studio;Microsoft Visual Studio 2008目 录1 绪论11.1 选题背景11.2 系统简介11.3 开发本系统的意义32 开发环境简介42.1 Microsoft Visual Studio 200842.2 SQL Server 200542.3 C#面向对象程序设计52.4 C#语言63 数据库设计93.1 数据库创建93.2 数据库表的设计114 功能实现144.1 系统功能144.2 功能设计145 结论19参考文献20致谢21学生成绩管理系统1 绪论1.1 选题背景随着计算机技术的发展,特别是计算机网络技术与数据库技术的发展,使用人们的生活与工作方式发生了很大的改观。网络技术的应用使得计算机之间通信、信息共享成为可能,而数据库技术的应用则为人们提供了数据存储、信息检索、信息分析等功能,从而使得工作更高效地进行。数据库始于20世纪60年代,经过40多年的发展,现在已经形成了理论体系,成为计算机软件的一个重要分支。数据库技术体现了当代先进的数据管理方法,使计算机的应用真正渗透到国民经济各个部门,在数据处理领域发挥着越来越大的作用。而互联网技术的出现,更是进一步丰富的人类生活,数字化生存已经一步步走进我们的生活与工作。互联网技术与数据库技术的结合为计算的在人类生活中的应用带来了巨大的影响。产业信息化,管理现代化,科学化已经成为行业发展的重要课题,这不仅是企业提高自身竞争力,甚至是国家提高综合国力,走向国民富强的重要手段。在我国,教育是一个影响着国富民强的重要行业,随着改革开放和市场经济的发展根据中国特有的国情发展,教育得到了国家的大力扶持与社会各界的高度重视,从而使教育业向规范性与现代化的方向高速发展,但是同发达国家相比,我国的教育行业的信息技术的应用程度还很低,只有在大城市中发展较早、规模较大的院校中才使用计算机进行大规模操作,从各方面提高工作效率,取得良好的社会和经济效益,而一些新兴的、规模较小的教育机构还没有全部具备这种功能。因此可见,随着我国教育的迅速发展,信息技术在其上的应用会更加地广泛和深入。1.2 系统简介1.2.1系统设计目标概述 成绩管理系统的业务总体目标是建立一个先进、高效、安全、可靠的能被有效和应用于学生成绩管理的信息化数据库管理系统。该系统基于CS结构,即采用浏览器/服务器模式,服务器端由运行C#的Web应用程序及运行Microsoft SQL Server2005的数据库服务器组成。本信息系统体现了学生成绩管理的业务逻辑行为,大大简化了相关工作的烦琐流程,同时为管理层提供有力的决策支持。1.2.2 用户本系统用户角色主要有两类:系统管理员与普通用户。其中系统管理员可进行用户管理。普通用户可分为学生,老师。系统管理员:可进行学生信息管理,老师信息管理,课程信息管理,授课信息管理,信息查询,组权限分配成绩统计等工作。教师:可进行学生信息管理,信息查询。学生:可进行成绩查询操作。1.2.3 用户结构图教师功能结构图:图1 教师功能结构管理员功能结构图:图2 管理员功能结构学生功能结构图:图3 学生功能结构1.3 开发本系统的意义学生成绩管理是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生成绩管理的计算机化是整个学校教务管理中的重要一部分,能否实现这一步关系到学校办学整体效率的高低,介与它的重要性,学生成绩管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量。运用学生成绩管理系统可以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率,能够合理安排时间,能够尽快的知道自己的考试成绩,投入新的课程的学习或复习这次没有考过的课程。而学生成绩管理系统的应用也为今天的民办教育在未来市场的竞争力有所提高。从大的方向说,就是为了加速我国四化建设的发展,实现全部的自动化,使我国发展成为通讯网络化,决策科学化,办公自动化的国家。在现代,高科技的飞跃发展,人们工作习惯的改变,特别是电脑的大量普及,人们生活节奏越来越快,怎样提高工作效率是人们首先考虑的问题。学生成绩管理是一个非常繁琐与复杂的一项工作,一个原因就是工作量大,不好管。对于一个学校而言,更应该运用一些本地资源,提高管理的力度,对学生负责,对国家负责。2 开发环境简介2.1 Microsoft Visual Studio 2008 Visual Studio 2008 是一套完整的开发工具,用于生成C# 应用程序、桌面应用程序和移动应用程序。Microsoft Visual Studio 2008是面向Windows Vista、Office 2007、Web 2.0的下一代开发工具。VS2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。使用Visual Studio 2008可以高效开发Windows应用。设计器中可以实时反映变更,XAML中智能感知功能可以提高开发效率。同时Visual Studio 2008支持项目模板、调试器和部署程序。Visual Studio 2008可以高效开发Web应用,集成了AJAX 1.0,包含AJAX项目模板,它还可以高效开发Office应用和Mobile应用。2.2 SQL Server 2005 本系统将采用Microsoft SQL Server2005作为系统的DBMS支撑,SQL Server2005是能够支持企业级关系型数据库的管理系统,它能与Windows操作系统紧密集成,具有方便易用的图形管理界面,其用户界面风格与Windows一样非常友好。SQL Server2005在存储大容量数据方面,在数据的安全性和完整性方面,在分布式处理等都是适合于企业级应用的。而其相对Oracle,DB/2等大型数据库来说,学习更为容易,应用成本也相对较低。采用SQL Server2005 + C#开发本系统是一个较为理想的组合。SQL Server2005的新特点:动态的自我管理:SQL Server2005运行时动态配置运行环境,优化并简化了许多服务器配置选项,可随用户增多或者减少动态地请求追加或者释放资源,并可随数据的增减自动改变数据库大小。丰富的管理工具:SQL Server2005提供了许多数据库系统管理工具。系统管理员可以在运行SQL Server Enterprise Manager的中央控制台上,管理和监视服务器运行性能和企业数据库。可编程的管理:SQL分布式对象可用于编写应用程序,这就可以使应用程序数据包透明地将SQL Server 2005嵌入应用程序中。也可以使用SQL-DMO为不同站点的通用的管理任务建立应用程序。可能收缩性和高可能性:SQL Server 2005数据库引擎可以几乎所有Windows平台上运行,是可管理上千万个用户的大型数据库。同时其还具有动态自我调解的特性,能有效地在笔记本或者PC上运行。支持数据仓库: SQL Server 2005支持数据仓库。系统访问Internet集成:SQL Server 2005与其他产品一起为Internet或Intranet系统形成一个稳定的安全的数据存储;可为运行在IIS下的Web应用程序提供一个高性能的数据存储服务;此外,SQL Server2005数据库引擎还包括了对XML的本地支持,Transact-SQL结果可以作为XML文档返回给使用OLEBD和ADO API的应用程序,XML文档还可以添加到SQL Server 2005中。综上所述,在开发空警管理信息系统时,采用SQL Server 2005作为数据库管理系统。2.3 C#面向对象程序设计面向对象的软件开发和相应的面向对象的问题求解是当今计算机技术发展的重要成果和趋势之一,C#是一种面向对象的语言。面向对象编程具备了几个优点,比如:代码维护方便、可扩展性好、支持代码重用技术等等。这些优点是过程编程语言所不具备的。下面我们就来谈谈面向对象技术的这些优点: (1) 可管理性 维护简单 对于面向过程的开发来说,版本管理主要是管理函数以及全程变量,而函数可以有很大的变动,同样,全程变量也可以有较大的变动,但是,对于面向对象程序设计来讲,一个系统是有对象来组成的,而对象是由类生成的,因此只需管理类就行,一个系统中,类是相对稳定的,因此便于管理。(2) 模块化是面向对象编程中的一个特征。实体被表示为类和同一名字空间中具有相同功能的类,我们可以在名字空间中添加一个类而不会影响该名字空间的其他成员。 (3) 可扩充性 是对现代应用软件提出的又一个重要要求,即要求应用软件能够很方便,容易的进行扩充和修改,这种扩充和修改的范围不但涉及到软件的内容,也涉及到软件的形式和工作机制。面向对象编程从本质上支持扩充性。如果有一个具有某种功能的类,就可以很快地扩充这个类,创建一个具有扩充的功能的类。 面向对象的程序设计可以用很好的可扩充性。这是由于类可以根据人对事物的理解而进行丰富,没有必要进行作大的改动,可以利用继承,对新的类添加属性和方法。用它可以生成系统的简单雏形,在征求用户的意见,在加入新的类,以及类的方法与属性等。(4) 代码重用 可重用性是面向对象软件开发的一个核心思路.面向对象程序设计的抽象,封装,继承,多态的四大特点都无一例外,或多或少的围绕着可重用性这个核心并为之服务。由于功能是被封装在类中的,并且类是作为一个独立实体而存在的,提供一个类库就非常简单了。事实上,任何一个.NET Framework编程语言的程序员都可以使用.NET Framework类库,.NET Framework类库提供了很多的功能。更令人高兴的是,我们可以通过提供符合需求的类来扩充这些功能。 可重用性体现在两个方面: (1) 开发的类可以被别人以及别的项目使用。(2) 由于可以继承,因此可以实现代码级的重用。2.4 C#语言C#不仅仅是 Active Server Page (ASP) 的下一个版本,而且是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。C#提供许多比现在的Web开发模式强大的的优势。执行效率的大幅提高C#是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。强大性和适应性因为C#是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到C#的Web应用中。C#同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C+和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向C#。简单性和易学性C#是运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。例如C#页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面。另外,通用语言简化开发使把代码结合成软件简单的就像装配电脑。高效可管理性C#使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为Zero Local Administration的哲学观念使C#的基于应用的开发更加具体,和快捷。一个C#的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就是这么简单。多处理器环境的可靠性C#已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的C#应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP确做不到这一点。自定义性,和可扩展性C#设计时考虑了让网站开发人员可以在自己的代码中自己定义plug-in的模块。这与原来的包含关系不同,C#可以加入自己定义的如何组件。网站程序的开发从来没有这么简单过。安全性基于Windows认证技术和每应用程序配置,你可以确性你的原程序时绝对安全的。C# 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 C# 功能,随时增强 ASP 应用程序的功能。C# 是一个已编译的、基于 .NET 的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多。而且是可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET.)创作应用程序。另外,任何 C# 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。C# 可以无缝地与WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。当创建 C# 应用程序时,开发人员可以使用 Web 窗体或 XML Web services,或以他们认为合适的任何方式进行组合。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义。3 数据库设计3.1 数据库创建在创建数据库的逻辑表之前,首先需要创建数据库。创建数据库有两种方法,可以在企业管理器的数据库服务器组中直接添加,也可以在查询分析器中编写创建数据库的脚本。下面将分别介绍本系统数据库的创建。方法一:选择“Microsoft SQL Server”-数据库节点,右键弹出数据库节点,在弹出的快捷菜单中选择“新建数据库”命令,则弹出数据库属性对话框,在该对话框中设置数据库的名字为“StudentScoreManage”,并指定保存数据库的路径和其他属性。第一步:打开sql Server 2005管理器,展开根结点如图所示,点击“数据库”,“新建数据库”。图4 新建数据库注:在进行此操作前请确定Sql Server 2005 数据库服务器已启动。第二步:在常规选项卡名称栏处填写要创建的数据库名称,本处将填写为StudentScoreManage。并可点击数据文件与事务日志等进行相应设置,此处主要可设置数据库文件及事务日志文件的存储路径等,在此也可以选择系统默认设置。如下图所示:图5 数据库名称第三步: 在完成第二步的以后,数据库的初步创建基本也就完成。可点击属性如下图所示建行相应信息查看及修改。图6 数据库属性第四步:数据库属性选项卡内容如下图所示,可在此依据不同需要进行相应修改。图7 数据库属性选项卡3.2 数据库表的设计3.2.1 数据库表介绍在数据库中创建表也有两种方法,一是通过企业管理器中直接添加;二是用查询分析器的脚本命令添加。在企业管理器的GradeSys数据库中右键单击“表”节点,在弹出的快捷菜单中选择“创建新表”命令,然后就进入设计表结构界面,进行相关的设计了。本系统定义的数据库中包含以下6个表:Banjixinxi表、Course表、CourseScore表、StudentInformation表、TeacherInformation表、UserLogin表。3.2.2 数据库表结构及设计Banjixinxi表图8 Banjixinxi表Course表图9 Course表CourseScore表图10 CourseScore表StudentInformation表图11 StudentInformation表TeacherInformation表图12 TeacherInformation表UserLogin表图13 UserLogin表4 功能实现4.1 系统功能本系统从功能上划分可分为以下几大模块:成绩信息管理,班级信息管理,系统维护,学生信息管理,课程管理,教师管理,统计分析等几大模块。以下将对各子模块进行说明。系统模块图: 图14 系统模块4.2 功能设计登陆界面图15 登陆界面登陆界面可以通过用户名密码进行登录,登陆不同的用户有不同的功能。登陆界面代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace StudentScoreManage public partial class UserLogin : Form public UserLogin() InitializeComponent(); listBox1.SetSelected(0, true); textBox1.Text = ; textBox2.Text = ; private void button2_Click(object sender, EventArgs e) textBox1.Text = ; textBox2.Text = ; private void button1_Click(object sender, EventArgs e) string name = textBox1.Text.ToString(); string mima = textBox2.Text.ToString(); string qx = ; if (listBox1.SelectedItem.ToString() = 管理员) qx = 0; else if (listBox1.SelectedItem.ToString() = 教师) qx = 1; else if (listBox1.SelectedItem.ToString() = 学生) qx = 2; string sql = select count(*) as ff from UserLogin where username=+name+ and pwd=+mima+ and quanxian=+qx+; SqlConnection con=new SqlConnection(Server=localhost;Database=StudentScoreManage;uid=sa;pwd=123;); con.Open(); SqlCommand scd = new SqlCommand(sql, con); int count = Convert.ToInt32(scd.ExecuteScalar(); if (count 0) if (listBox1.SelectedItem.ToString() = 管理员) AdminMainManage admin = new AdminMainManage(); admin.Show(); else if (listBox1.SelectedItem.ToString() = 教师) TeacherMainManage teacher = new TeacherMainManage(); teacher.Show(); else if (listBox1.SelectedItem.ToString() = 学生) StudentMainMange student = new StudentMainMange(); student.Show(); this.Dispose(false); else MessageBox.Show(this, 您输入的用户名或密码不正确!); private void UserLogin_Load(object sender, EventArgs e) 管理员界面图16 管理员界面管理员功能介绍成绩信息管理:录入成绩,修改成绩,查询成绩班级信息管理:修改班级信息,创建班级系统维护:添加管理员帐号,添加教师帐号,修改密码学生信息管理:新生注册,学生信息修改课程管理:添加课程信息,修改课程信息教师管理:修改教师信息,分配教师权限统计分析:学分统计,班级内部排名,各分数段人数统计教师界面图17 教师界面教师功能介绍:成绩录入,成绩查询学生界面图18 学生界面学生可以通过登录学生界面查询自己的成绩。5 结论通过几月的系统分析、设计、开发,系统编码完成。在系统的开发过程中,以前学习感到很抽象的课程,如软件工程、数据库原理、面向对象程序设等变得清晰起来。感觉到这几门理论课程的重要性。以前做一些应用的系统开发,随意性大,想到那里做到那里,没有统一的规划,一旦系统成型,出现错误返工修改工作量大,最终的系统可靠性不高。另外一直以来,进行程序设计均采用结构化开发方法,对系统的全貌难以在开发前看到,导致实现的系统不满足需求。这次的毕业设计开发,主要有以下几点收获:1对原型化的系统开发方法有了一定的了解。渐增式的原型化开发方法与面向对象的程序设计的结合不但能在系统开发初期让用户了解系统的概貌,而且能使系统开发模块化,提高开发效率,减少出错。对于后期的系统维护也提供了很大的帮助。2通过实践,提高了系统分析的能力,对数据流图、数据字典、系统流程图等系统设计工具的使用有了更深刻的认识。为以后的工作、学习的进一步提高打下了坚实的基础。参考文献1 王移芝,罗四维大学计算机基础教程北京:高等教育出版社,20042王移芝,罗四维大学计算机基础教程北京:高等教育出版社,20043冯博琴,大学计算机基础北京:高等教育出版社,20044周立柱,冯建华,孟小峰等著SQL Server数据库原理北京:清华大学出版社,20045杨振山,龚沛曾大学计算机基础上机实验指导与测试(第四版)北京:高等教育出版社,20046美Jeffer R.ShapiroSQL Server 2000参考大全,北京:清华大学出版社,20027魏善沛Web数据库技术实用教程,北京: 清华大学出版社,19988陈向东,吴淑英C#面向对象程序设计案例教程北京:北京大学出版社,2009致 谢在极短的时间内,我能成功的将此毕业设计做出,这要归功于老师的无私的帮助,悉心的教导。尤其得到了担任毕业设计指导的老师的技术支持,老师治学严谨、经验丰富,以及孜孜不倦、严谨细致的科研态度,更令我受益非浅。为我的毕业设计得以完成起了关键的作用,在此表示深深地谢意。同时,在毕业设计的各个阶段,在毕业设计过程中还得到了各科室教师的大力指导和无私帮助,也得到了同班同学的热情协助,大力帮助,在此表示衷心的感谢。尤其在此感谢我的辅导老师老师给我的指导和关怀。她在生活上和工作中都给予了我热情的关心和帮助。在即将结束的三年大学生活之际,我要感谢江苏学院的老师们。从他们身上我学到了许多宝贵的知识和做人的道理。他们在学业上对我的悉心指导,以及孜孜不倦、严谨细致的科研态度,更令我受益非浅。同时还要感谢江苏学院的领导四年来对我的培养和支持,是他们为我提供了良好的学习环境和机会。感谢各位专家和评委耐心审阅我的论文,他们提出了许多宝贵的意见和建议。恳请老师不吝赐教、批评指正!23
展开阅读全文