1、C#学生成绩管理系统NewC#学生成绩管理系统C#课程设计姓名:班级:学号:指导老师:简介该系统是用VisuaStudio2010和Access2007,通过C#语言进行相关代码的编写,生成相关程序。学生成绩管理系统是构建于VisualC#.NET平台上的Windows应用程序。本文描述的是基于Windows环境的学生成绩管理系统,主要工具MicrosoftVisualStudio2010设计窗体,Access2007建立数据库,学生成绩管理管理系统为用户提供充足的信息和快捷的查询手段,实现学生基本信息、成绩的录入,删除,查询,维护以及成绩的统计分析等几方面的功能,是现实问题的迫切要求。本篇报
2、告介绍一个学生信息管理系统的从分析到设计最后到开发的全过程为,给出了学生信息管理系统的设计和技术实现的过程,特别在细节上分析功能和函数的实现思想。涉及到学生信息管理的基本功能在本报告中都有相应的描述。管理信息系统正在向着网络化、智能化和集成化等趋势发展。学生成绩管理系统是为了更好的管理学生考试成绩而开发的数据管理软件。它对于一个学校是不可缺少的重要部分,它的内容对于学校的决策者和管理者来说都至关重要。在这次的课程设计中,让我了解到Microsoft Visual Studio 2010,同时学习了Access数据库的建立和连接与导入。能在Visual C#.NET平台上进行Access数据库的
3、修改与控制,将C#语句与SQL语句混合使用, 成功的完成了学生成绩管理系统的整体设计,加深巩固了选择的条件语句,还有曾经学习过的基本运算语句,同时也为以后的进一步学习垫下了了良好的基础。第一章绪论41.1设计目的4 1.2开发工具选择4 1.3开发环境4第二章 需求分析5 2.1系统目标5 2.2功能需求分析6 2.3性能需求分析6第三章 总体设计7 3.1设计概述7 3.1功能模块设计7第四章 数据库设计8 4.1数据库需求分析8 4.2数据库表设计9第五章 详细设计10 5.1系统程序流程图11 5.2系统主要功能模块13 5.2.1系统登录13 5.2.2学生登录模块15 5.2.3管理
4、员登录模块20第六章 总结41第一章 绪论1.1课程设计目的本次课程设计的目的是使学生能熟练掌握简单的简单Windows窗体应用程序的设计和.net的应用,复习熟练基本运算符,和基本的条件语句、判断语句,将Access的使用和MicrosoftVisualStudio2010的使用结合起来,希望通过本次的课程设计锻炼我们使用C#语言解决实际问题的能力。1.2系统开发环境系统开发平台:MicrosoftVisualStudio2010系统开发语言C#数据库管理软件:Access系统开发程序本系统后台数据库采用Access数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据
5、量大,效率高;前台采用Microsoft公司的VisualStudio2010作为主要开发工具,可与Access2007数据库无缝链接。1.4报告主要内容本报告详细的介绍了学生信息管理系统的开发过程,主要涉及到的工作如下:系统的需求分析、系统的总体设计设计思路、系统的数据库设计、系统各模块的详细设计、系统运行测试。第二章 需求分析2.1系统设计目标(1)登录模块中,有不同的权限设置,分为学生登录和管理员登录(2)学生用户可根据不同的用户名和相应的密码进行登录,并可修改密码。(3)管理员可以根据不同的用户名和相应的密码进行登录,并可修改密码。(4)学生界面中学生可以按照姓名,学号,邮箱来查询成绩
6、 (5)管理员界面中管理员可以实现学生成绩的录入,删除,修改,查询,成绩的分析,将成绩导出到Excel表中,还可以根据成绩画出柱状图。2.2功能需求分析 本系统的功能需求分析如下: (1)学生密码修改:学生可在成功登录后对自己的密码进行修改,以防个人信息外泄。 (2)学生成绩查询:学生根据姓名,学号,邮箱进行查询。 (3)学生成绩和信息的录入:用于学生成绩管理,录入学生成绩和学生个人信息,也可以实现对成绩的其他操作。2.3性能需求分析 (1)登录、用户界面需求:简洁、易懂、易用、友好的用户界面。 (2)安全保密性需求:只有凭借用户名和密码登陆系统,才能进行信息的管理,同时也可以进行密码修改。
7、(3)数据分析需求:可根据学生要求进行条件查询,分不同的姓名,学号,邮箱进行相应查询。 (4)数据统计要求:可对学生成绩和个人信息进行添加更改和删除。第三章 总体设计3.1设计总体概述根据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。把这些模块结合起来组成一个整体。逐一实现各个功能;3.2功能模块设计(1)登录模块,根据不同权限,链接数据库,然后登录。(2)管理员登录模块,在此模块中有成绩查询,修改,删除,添加,分析,导出Excel表,绘出矩形图,退出登录,帮助,密码修改等功能模块。(3)学生登录模块,在此模块中有查询,退出登录,帮助,密码修改等模块功能。(4)成绩查询模块,连
8、接数据库,用SELECT语句实现(5)成绩修改模块,连接数据库,用UPDATE语句实现(6)成绩删除模块,连接数据库,用DELETE语句实现(7)成绩添加模块,连接数据库,用INSERT语句插入实现(8)成绩分析模块,连接数据库,读出数据库中的成绩,按照个门成绩分别求出他们的最高分,最低分,平均分等。(9)导出Excel表模块,将想要保存的信息导出到Excel表中(10)绘出矩形图模块,根据成绩分析模块绘出矩形图。(11)退出登录模块,退出当前登录,切换用户(12)帮助模块,给与一些非法操作的解决办法(13)密码修改模块,修改当前用户的密码第四章 数据库设计4.1数据库需求分析数据库中存储学生
9、的基本信息和成绩、管理员和学生的登录号和密码。4.2数据库的E-R图如下4.3数据库表设计本系统在登录时需要验证使用者的身份,用户需要输入用户名和密码,所建立的数据库表如下:1、管理员表:2、学生表:3、学生基本信息和成绩表:第五章 详细设计5.1系统总体结构经过对系统的需求分析,学生成绩管理系统主要划分为两个部分:学生成绩查询,管理员模块。系统程序模块流程图:5.1.1学生登录模块5.1.2管理员登录模块5.2系统主要功能模块5.2.1系统登录模块登录:代码:private void buttonLogin_Click(object sender, EventArgs e) /判断登录状态并
10、弹出对应提示框 if (BoxUser.Text.Trim() = string.Empty) | (BoxPassword.Text.Trim() = string.Empty) MessageBox.Show(请输入用户名或密码); else if (this.student.Checked = true) string user = BoxUser.Text; string password = BoxPassword.Text; string strConnection = Provider=Microsoft.Jet.OleDb.4.0; strConnection += Data
11、Source= + Application.StartupPath + StudentInfo.mdb; OleDbConnection objConnection = new OleDbConnection(strConnection); objConnection.Open(); OleDbCommand objCommand = new OleDbCommand(select * from student, objConnection); DataSet ds = new DataSet(); OleDbDataAdapter sda= new OleDbDataAdapter(sele
12、ct * from student , objConnection); sda.Fill(ds, student); OleDbDataReader reader = objCommand.ExecuteReader(); int i; for (i = 0; i ds.Tablesstudent.Rows.Count; i+) reader.Read(); if (readerusername.Equals(user) & readerpassword.Equals(password) this.DialogResult = DialogResult.OK; this.Close(); br
13、eak; if (i = ds.Tablesstudent.Rows.Count) MessageBox.Show(用户名或者密码输入有误!); / 关闭Reader. reader.Close(); objConnection.Close(); else if (this.admin.Checked = true) string user = BoxUser.Text.ToString(); string password = BoxPassword.Text.ToString(); string strConnection = Provider=Microsoft.Jet.OleDb.4.0; strConnection += Data Source= + Application.StartupPath + StudentInfo.mdb; OleDbConnection objConnection = new OleDbConnection(strConnection); objConnection.Open(); OleDbCommand objCommand = new OleDbCommand(select * from admin, objConnectio