C学生成绩管理系统课程设计报告_第1页
C学生成绩管理系统课程设计报告_第2页
C学生成绩管理系统课程设计报告_第3页
C学生成绩管理系统课程设计报告_第4页
C学生成绩管理系统课程设计报告_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、.XXXXXX学院C#课程考查项目题目: 学生成绩信息管理系统 专业班级: 学生姓名: XX 年 XX 月 XX 日目录摘要1第一章 绪论21.1 设计目的21.2 开发工具选择21.3 开发环境21.4 本报告的主要内容2第二章 需求分析32.1系统需求简介32.1.1系统目标32.1.2功能需求分析32.1.3性能需求分析3第三章 总体设计43.1设计概述43.2系统总体结构及功能模块划分43.2.1学生信息查询模块43.2.2学生信息管理模块53.3系统数据库概念结构设计53.3.1系统E-R图53.3.2系统数据库的设计63.4安全保密设计73.4.1用户登录安全性7第四章 详细设计8

2、4.1概述84.2系统程序流程图84.3系统主要功能模块简介94.3.1系统登录94.3.2学生信息查询模块94.3.3学生信息管理模块104.3.4音乐播放器12第五章 主要功能模块代码155.1 公共类代码设计155.2 登录界面代码设计165.3 查询模块代码设计175.4 添加模块代码设计185.5 更新模块代码设计195.6 删除模块代码设计195.7 图片显示代码设计195.8 播放器打开代码设计20第六章 课程设计心得22;C#学生成绩管理系统摘要本文描述的是基于Windows环境的学生信息管理系统,主要功能模块包括:学生信查询,学生信息管理,学生成绩录入,主要工具Microso

3、ft Visual Studio 2010 设计窗体, SQL server2008建立数据库,实现学校信息管理的各个功能。本篇报告介绍一个学生信息管理系统的从分析到设计最后到开发的全过程为,给出了学生信息管理系统的设计和技术实现的过程,特别在细节上分析功能和函数的实现思想。涉及到学生信息管理的基本功能在本报告中都有相应的描述。第一章 绪论1.1 设计目的本课程设计的目的是使学生能熟练掌握简单的简单Windows窗体应用程序的设计和ADO.net的应用,希望通过本次课程设计锻炼学生使用C#语言解决实际问题的能力。1.2 开发工具选择本系统后台数据库采用Microsoft SQL Server

4、数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Microsoft 公司的Visual Studio 2010作为主要开发工具,可与SQL Server 2008数据库无缝链接。1.3 开发环境系统开发平台:Microsoft Visual Studio2010系统开发语言:C#数据库管理软件:SQL Server 20081.4 本报告的主要内容本报告详细的介绍了学生信息管理系统的开发过程,主要涉及到的工作如下:系统的需求分析、系统的总体设计、系统的概念设计、系统各模块的详细设计、系统运行与测试。第二章 需求分析2.1系统需求简介2.1.1系

5、统目标(1) 根据查询条件实现学生信息的查询(2) 学生选课信息查询、成绩信息的查询(3) 学生信息、课程信息、成绩信息的增加、删除、修改(4) 对基本信息完成增加、删除、修改时,需注意表与表之间的关联2.1.2功能需求分析本系统的功能需求分析如下:(1) 学生信息查询:学生可以根据学号、姓名、专业进行查询.(2) 学生信息管理:主要是用于学生信息更新、插入、删除;(3) 学生成绩录入:用于学生成绩管理,录入学生成绩,也可以更新;2.1.3性能需求分析(1) 登录、用户界面需求:简洁、易懂、易用、友好的用户界面。(2) 安全保密性需求:只有凭借用户名和密码登陆系统,才能进行信息的管理等。第三章

6、 总体设计3.1设计概述根据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。把这些模块结合起来组成一个整体。逐一实现各个功能;3.2系统总体结构及功能模块划分学生成绩录入学生信息管理学生信息管理系统学生信息查询经过对系统的需求分析,学生信息管理系统主要划分为三个部分:学生信息查询,学生信息管理,学生成绩录入三个功能模块。如图3.2.1 系统的总体结构。图3.2.1 系统的总体结构3.2.1学生信息查询模块学生信息查询性别查询姓名查询学生信息查询:学生可以根据姓名、性别进行查询。如图3.2.2学生信息查询模块结构。图3.2.2 学生信息管理模块结构3.2.2学生信息管理模块基本信息

7、录入成绩录入基本信息更新成绩更新学生信息删除学生信息录入学生信息管理学生信息更新学生信息管理:主要是用于学生信息更新、插入、删除,如图3.2.3学生管理模块结构。图3.2.3 学生信息管理模块结构3.3系统数据库概念结构设计根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。3.3.1系统E-R图系统E-R图可以将各个实体之间的关系显示出来,将各个实体间的属性依赖表示明白。如图3.3.1系统E-R图结构。姓名语文学号数学学生表成绩英语性别图3.3.1系统E-R图结构3.3.2系统数据库的设计综合以上分析,要实现上面的所有功能模块,主要

8、设计表如下: 表3.3.1 用户表(usedata)表3.3.4学生表(S)3.4安全保密设计3.4.1用户登录安全性系统设计了登录界面,每个合法用户有用户名及一个密码,只有当用户输入正确的用户名及密码组合后才能够对学生信息进行操作。第四章 详细设计4.1概述详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。4.2系统程序流程图程序流程图又称为程序框图,它是历史悠久使用最广泛的描述软件设计的方法。它可将整个程序的总体流程清楚明白的显示出来。如图4.2.1系

9、统总流程图结构。图4.2.1系统总体流程图4.3系统主要功能模块简介4.3.1系统登录用户凭借用户名及密码登录,成功登录后可对学生信息进行操作。用户界面如图4.3.1 用户登录界面所示。图4.3.1 用户登录界面4.3.2学生信息查询模块学生信息查询:在程序主界面(如图4.3.2 程序主界面)学生可以根据学号、姓名进行查询。学生也可以只用一种条件进行信息查询,也可以多个条件查询。单击记录任一单元格可显示学生的更详细信息(如图4.3.3 详细信息窗口)。图4.3.2 程序主界面图4.3.3 详细信息窗口4.3.3学生信息管理模块学生信息管理:通过右击程序主界面的相应记录弹出的上下文菜单(如图4.

10、3.4 上下文菜单)可对当前选定学生信息进行详细信息查询(如图4.3.3 详细信息窗口)、修改信息(如图4.3.5 修改信息窗口)、删除信息(如图 4.3.6 删除信息提示)。更新时如果输入的学号不存在,可选择是否添加学生信息。通过程序主界面的新建信息记录可添加学生信息(如图 4.3.7 添加信息窗口)、条件筛选(如图4.3.8),可按性别查询和学生姓名查询。图4.3.4 上下文菜单图4.3.5 修改信息窗口图4.3.6 删除信息提示图4.3.7 添加信息窗口图4.3.8 查询4.3.4音乐播放器音乐播放:当用户登录成功,进入主窗口之后,会很明显的看到一个播放器,如图4.3.9所示,在播放器的

11、下面有三个按钮,可以实现打开(图4.3.10),播放/暂停,和默认音乐.图4.3.9图4.3.10歌词流动显示:进入主界面后可以看到右边有一块区域(图4.3.11),这里便是显示歌词的.当打开的音乐搜索不到歌词的话,会显示(图4.3.12)让用户自己去下载歌词.图4.3.11图4.3.12第五章 主要功能模块代码5.1 公共类代码设计namespace MyHelper class SqlHelper public static readonly string connstr = ConfigurationManager.ConnectionStrings"dbconnstr&quo

12、t;.ConnectionString; public static int ExecuteNonQuery(string cmdText, params SqlParameter parameters) using (SqlConnection conn = new SqlConnection(connstr) conn.Open(); using (SqlCommand cmd = conn.CreateCommand() cmd.CommandText = cmdText; cmd.Parameters.AddRange(parameters); return cmd.ExecuteNo

13、nQuery(); public static object ExecuteScalar(string cmdText, params SqlParameter parameters) using (SqlConnection conn = new SqlConnection(connstr) conn.Open(); using (SqlCommand cmd = conn.CreateCommand() cmd.CommandText = cmdText; cmd.Parameters.AddRange(parameters); return cmd.ExecuteScalar(); pu

14、blic static DataTable ExecuteDataTable(string cmdText, params SqlParameter parameters) using (SqlConnection conn = new SqlConnection(connstr) conn.Open(); using (SqlCommand cmd = conn.CreateCommand() cmd.CommandText = cmdText; cmd.Parameters.AddRange(parameters); using (SqlDataAdapter adapter = new

15、SqlDataAdapter(cmd) DataTable dt = new DataTable(); adapter.Fill(dt); return dt; public static SqlDataReader ExecuteDataReader(string cmdText, params SqlParameter parameters) SqlConnection conn = new SqlConnection(connstr); conn.Open(); using (SqlCommand cmd = conn.CreateCommand() cmd.CommandText =

16、cmdText; cmd.Parameters.AddRange(parameters); return cmd.ExecuteReader(CommandBehavior.CloseConnection); 5.2 登录界面代码设计 private void login_Click(object sender, EventArgs e) /用户名及密码组合判断 if (username.Text.ToString().Trim() != "" && password.Text.ToString().Trim() != "") if (t

17、xtUserName.Text = "Ewi" | txtUserName.Text = "强强") if (txtPsw.Text = "111") MessageBox.Show("登录成功!", "提示?", MessageBoxButtons.OK, MessageBoxIcon.Information); DialogResult = DialogResult.OK; else MessageBox.Show("密码错误,您还有" + i + "次机会.&

18、quot;); i-; else MessageBox.Show("亲,没有此用户名"); 5.3 查询模块代码设计 QueryFrm query = new QueryFrm(); if (query.ShowDialog() = DialogResult.OK) DataTable dt = SqlHelper.ExecuteDataTable("select id as '编号',Name as '姓名',Sex as '性别',English as '英语',Chinese as '语

19、文', Math as '数学' from T_Student where name = name",new SqlParameter("name", query.Name); if (dt.Rows.Count>=1) dataGridView1.DataSource = dt; else MessageBox.Show("没有找到您所查询的结果,请重新查询","提示",MessageBoxButtons.OK,MessageBoxIcon.Information); 5.4 添加模块代码设计

20、 if (txtName.Text.Trim() = "" | txtChi.Text.Trim() = "" | txtEng.Text.Trim() = "" | txtMath.Text.Trim() = "" ) MessageBox.Show("请将信息填写完整", "警告?", MessageBoxButtons.OK, MessageBoxIcon.Information); return; else if (rbMale.Checked) SqlHelper.

21、ExecuteNonQuery("insert into T_Student(name,sex,english,math,chinese) values(name,sex,Eng,Math,Chi)", new SqlParameter("name", txtName.Text), new SqlParameter("Eng", Convert.ToInt32(txtEng.Text), new SqlParameter("sex","男D"), new SqlParameter("C

22、hi", Convert.ToInt32(txtChi.Text), new SqlParameter("Math", Convert.ToInt32(txtMath.Text) ); else SqlHelper.ExecuteNonQuery("insert into T_Student(name,sex,english,math,chinese) values(name,sex,Eng,Math,Chi)", new SqlParameter("name", txtName.Text), new SqlParamete

23、r("Eng", txtEng.Text), new SqlParameter("sex", "女?"), new SqlParameter("Chi", txtChi.Text), new SqlParameter("Math", txtMath.Text) ); MessageBox.Show("添加成功?"); DialogResult = DialogResult.OK; this.Close();5.5 更新模块代码设计 void LoadDataGradView(

24、) DataTable dt = SqlHelper.ExecuteDataTable("select id as '编号',Name as '姓名',Sex as '性别',English as '英语',Chinese as '语文', Math as '数学' from T_Student"); dataGridView1.DataSource = dt; dataGridView1.SelectionMode = DataGridViewSelectionMode.Ful

25、lRowSelect; 5.6 删除模块代码设计 DialogResult drCurr = MessageBox.Show("确定删除?", "提示?.", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (DialogResult.OK = drCurr) SqlHelper.ExecuteNonQuery("delete T_Student where id = id", new SqlParameter("id",selectId); Loa

26、dDataGradView(); 5.7 图片显示代码设计void Get_Img(int id) byte imagebytes = null; SqlDataReader dr = SqlHelper.ExecuteDataReader("select * from T_Student where id="+id); while (dr.Read() try imagebytes = (byte)dr.GetValue(6); MemoryStream ms = new MemoryStream(imagebytes); Bitmap bmpt = new Bitmap(ms); catch(Exception) string strImgFile = Application.StartupPath; strImgFile = strImgFile.Substring(0, strImgFile.LastIndexOf(""); strImgFile = strImgFile.Substring(0, strImgFile.LastIndexOf(""); str

温馨提示

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

评论

0/150

提交评论