收藏 分销(赏)

学生信息管理系统课程报告.doc

上传人:天**** 文档编号:2566004 上传时间:2024-06-01 格式:DOC 页数:36 大小:2.37MB
下载 相关 举报
学生信息管理系统课程报告.doc_第1页
第1页 / 共36页
学生信息管理系统课程报告.doc_第2页
第2页 / 共36页
学生信息管理系统课程报告.doc_第3页
第3页 / 共36页
学生信息管理系统课程报告.doc_第4页
第4页 / 共36页
学生信息管理系统课程报告.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

1、C程序设计课程设计报告课程设计题目: 计算机系学生信息管理系统作者所在系部: 作者所在专业: 作者所在班级: 作 者 姓 名 : 作 者 学 号 : 指导教师姓名: 完 成 时 间 : 课程设计任务书课题名称计算机系学生信息管理系统完成时间指导教师职称学生姓名班 级总体设计要求和技术要点总体要求:(1) 数据库设计合理,注意表与表之间的关联(2) 操作简便(3) 功能齐全,风格统一(4) 没有明显错误和异常(5) 数据格式验证 创新要求: 在基本要求达到后,可进行创新设计,如提供数据的导入导出功能等。工作内容及时间进度安排此次课程设计时间为两周,第15、16周,共40学时。分四个阶段完成: 1

2、.分析设计阶段:明确设计要求,找出实现方法。这一阶段在第1天完成。 2.编码调试阶段:根据设计分析方案编写C#代码,然后调试该代码,实现课题要求的功能。这一阶段在第2-8天完成。 3.总结报告阶段:总结设计工作,撰写课程设计报告,这一阶段在第8-9天完成。考核阶段:这一阶段在第10天完成。课程设计成果1与设计内容对应的软件程序2课程设计报告书摘 要随着科学技术的不断进步,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一个重要部分,信息查询系统是一个由用户和计算机组成的进行信息管理、信息收集、存储处理、传递使用和维护的软件系

3、统。学生信息管理系统是学校管理学生信息的一种必不可少的的工具,它相对与手工书写管理更加便利,快捷,节约大量时间,大幅提高日常查询效率。关于学生信息管理系统,论文主要分几个重点部分来介绍它的功能的实现。对各个功能的描述,内容简洁,明了,结构紧凑。学生信息管理系统可以满足用户的需求,具体体现在对学生信息的录入,修改,查询,修改等操作。实现其中的操作除了对各个类中代码书写,更重要的还需要书写与后台数据库交互的代码,满足数据库信息的输入和输出。学生信息管理系统的开发目的是为了实现学生个人信息的信息化管理。本系统需要完成的功能有: 管理员模块1.修改密码2.教师登录账号信息管理(教师查询、添加、修改、删

4、除)3.专业管理(专业查询、添加、修改、删除)4.年级管理(课程查询、添加、修改、删除)5.班级管理(班级查询、添加、修改、删除)6.学生管理(学生查询、添加、修改、删除) 教师模块1.修改登录密码2.按班级查询学生3.按学号查询学生4.按姓名查询学生关键词:C# 学生信息 数据库 管理 查询 添加 修改 删除 目 录第1章 绪 论11.1 课题研究现状分析11.1.1 本领域内已开展的研究工作11.1.2 已经取得的研究成果11.2 选题的目的及意义2第2章 系统需求分析32.1 问题的提出32.2 系统的设计目标3第3章 系统总体设计43.1 系统功能设计43.1.1 系统登录53.1.2

5、 学生基本信息资料维护53.2 数据库的设计53.3 库中各个表的设计6第4章 系统实现84.1 数据库操作类84.2 登录模块实现84.3 学生信息查询模块实现104.4 学生信息添加模块实现134.5 学生信息修改模块实现154.6 学生信息删除模块实现174.7 学生信息浏览模块实现184.8 学生课程信息查询模块实现204.9 学生课程信息添加模块实现214.10 学生课程信息修改模块实现234.11 学生课程信息删除模块实现24第5章 系统使用说明26第6章 课程设计总结276.1 主要问题及解决办法276.2 课程设计体会276.3 自我评定27参考文献29第1章 绪 论 近年来,

6、随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。1.1 课题研究现状分析在我们的教育事业里,计算机早涉及。在学生的管理中,如果通过使用计算机可以减少大量的手工操作,提高工作效率。学生基本信息管理系统过去采用人工处理方式,由于工作量非常之大,为了提高工作效率,方便管理,因此需要开发一个学生信息管理系统。本次课题为:学生基

7、本信息管理系统,它的主要功能是先通过用户身份验证,然后即可登录学生基本信息管理系统,然后通过增、删、查、改操作对学生基本信息进行管理和维护。1.1.1 本领域内已开展的研究工作1理论研究基础(1)后台以SQL数据库支持。(2)前台以 NeatBeans为开发环境,实现学生基本信息管理的增、删、查、改操作。2技术层面的支持(1)系统的设计与实现应采用MVC分层模式。(2)系统界面采用MDI方式,即用户登录后进入主窗体,主窗体通过菜单进入子窗体。1.1.2 已经取得的研究成果当今IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高

8、了处理的及时性和正确性。学生信息管理工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地。学生信息管理系统就是采用现代化的信息管理方式代替手工管理方式,提高学生信息管理工作效率,做到信息的规范管理,科学统计和快速查询。1.2 选题的目的及意义目的:为了使学生信息管理工作科学化、规范化,更好的适应当前学生信息管理的工作需求,缓解手工管理存在的弊端,就必须采用计算机辅助管理。在本学期我学习了c#课程设计一门课程,为了巩固本学期所学的知识,解决一些简单的问题。为了更好的学习计算机语言,打下良好的基础,把自己打造成一个计算机高手,提高自我,开发了这个学生信息管理系统。意义:本系统界面简单,通

9、过选择登录身份进入不同的界面,就能简单的实现对学生的查找、删除、添加、修改、还可以对专业,课程,年级,进行增、删、查、改。目前学校的学生信息管理系统已经不能够适应越来越多的学生信息剧增的局面了,而本系统的研发,能更加方便用户对学生进行管理。第2章 系统需求分析随着经济全球化的推进以及企业激烈的竞争,各大高校的学生信息管理系统已经越来越不能够适应学生及相关信息剧增的局面了,所以我们现在需要一个检索迅速、查找方便、易修改功能齐全方便的系统来适应我们的需求。系统采用先进的两层体系结构,Client(客户端)负责提供表达逻辑、显示用户界面信息、基本操作;Server(服务器端)负责实现数据服务。2.1

10、 问题的提出为了减少人工工作量,提高工作效率,使学生管理部门的工作更加有效地进行。学生信息管理系统的更新迫不及待。2.2 系统的设计目标本系统是对教育部门进行一体化管理的软件系统,其核心管理思想是实现对学生信息增、删、改的管理。新系统应达到以下目标: 1. 充分了解用户需求及当前形式,功能齐备,能完成数据处理;2.要有详细的设计说明书;3.每一模块的流程图要很清晰;4.系统能够正常的运行,能较好的完成预定的功能;5.系统要有完整的帮助文件,供前台操作员能方便的操作本系统。 2第3章 系统总体设计3.1 系统功能设计 本系统实现了对计算机系学生信息的管理。总体分为2个模块:教师模块,管理员模块。

11、如图3-1所示。登陆学生基本信息系统管理员教师学生管理按学号查班级管理专业管理年级管理教师管理按班级查按姓名查清除修改查询删除;增加显示图3-1 系统功能模块图(1)显示模块:用于显示所有学生的基本信息。(2)增加模块:添加学生的基本信息。(3)删除模块:删除符合条件的学生的基本信息。(4)查询模块:查询出满足条件的学生的基本信息。(5)修改模块:对学生的基本信息进行修改。(6)清除模块:清除文本框内的内容。(7)按学号查:根据学号查询学生信息。(8)按姓名查:根据姓名查询学生信息。(9)按班级查:根据班级查询学生信息。3.1.1 系统登录登录为用户使用系统的起始点,用户必须先通过身份验证,方

12、可对学生基本信息进行相关操作,登录流程如图3-2所示。登录 失败处理错误提示查询验证成功登录主界面操作结束 图3-2 登录模块流程图简要说明及功能描述:功能主要是用于确保用户在提供正确的验证信息之后,可以进一步使用本系统。3.1.2 学生基本信息资料维护管理员存在账号密码,教师存在账号密码。从而维护了学生信息。3.2 数据库的设计本系统采用sql server 2008数据库管理系统,创建的数据库名称为:StudentMessageManagement数据库中包含7张表,各表功能及描述如表31所示。表3-1 数据库中的表表名作用Administrator用于存储管理员的账号密码信息Teache

13、r用于存储教师的账号密码信息Student用于存储学生信息Class用于存储班级信息Major用于存储专业信息Grade用于存储年级信息Course用于存储课程信息3.3 库中各个表的设计1管理员表管理员表Administrator用于维护管理员的基本情况,主键为AdId。表中各字段定义及描述如表3-2所示。表3-2 Administrator表字段名数据类型长度是否为空是否主键字段意义AdIdnchar20No 是管理员账号AdPwdnchar20Yes否管理员密码AdNamenchar50Yes否管理员姓名 2.教师表 表3-3 Teacher表字段名数据类型长度是否为空是否主键字段意义T

14、eaIdnchar20否是教师账号TeaPwdnchar20是否教师密码TeaNamenchar50是否教师姓名3.学生信息表 表3-4 Student表字段名数据类型长度是否为空是否主键字段意义StuIdint-否是学生IDStuNonchar20是否学生学号StuNamenchar14是否 学生姓名Agenchar5是否 年龄Sexnchar5是否性别ClassIdint-是否班级IDGradeIdint-是否年级IDMajorIdint-是否专业IDPhonenchar20是否联系电话Addressnchar50是否家庭住址Extranchar50是否备注4.班级表 表3-5 Class

15、表字段名数据类型长度是否为空是否主键字段意义ClassIdint -否是班级IDClassNamenchar20是否班级名5.课程表 表3-6 Course表字段名数据类型长度是否为空是否主键字段意义CourseIdint-否是课程IDCourseNamenchar20是否课程名GradeIdint-是否年级IDMajorIdint-是否专业ID 6.年级表 表3-7 Grade表字段名数据类型长度是否为空是否主键字段意义GradeIdint-否是年级IDGradeNamenchar10是否年级名7.专业表 表3-8 Major表字段名数据类型长度是否为空是否主键字段意义MajorIdint-

16、否是专业IDMajorNamenchar10是否专业名第4章 系统实现4.1 数据库操作类Context类,用于实现窗体间的传递。定义如下: class Context public static User use = null; User类,用于记录登录者的账号和ID号,以便于修改密码。 class User public string userId get; set; public string userPwd get; set; 4.2 登录模块实现本系统的登录界面如图4-1所示,输入用户名和密码,选择登录身份,点击登录,判断用户名和密码是否正确,正确可进入相应的系统主界面,否则提示错误

17、信息。点击退出,退出登录窗口。图4-1 登录界面 图4-2 空的用户名和密码 图4-3 错误的用户名和密码(1) 登录按钮的代码为:private void btnOK_Click(object sender, EventArgs e)string connectionStr = Data Source=.;Initial Catalog=StudentMessageManagement;Integrated Security=true;SqlConnection connection = new SqlConnection(connectionStr);if (txtUsername.Tex

18、t != & txtPwd.Text != ) connection.Open();SqlCommand command = new SqlCommand();command.Connection = connection;if (rdoAdministrator.Checked)command.CommandText = String.Format(select count(*) from Administrator where AdId=0 and AdPwd=1, this.txtUsername.Text, this.txtPwd.Text);int count = (int)comm

19、and.ExecuteScalar(); /查询表中的记录个数 if (count 0) User user = new User(); user.userId = txtUsername.Text; user.userPwd = txtPwd.Text; Context.use = user; Administrator ad = new Administrator(); this.DialogResult = DialogResult.OK; this.Hide();ad.Show(); else MessageBox.Show(用户名或密码错误, 提示, MessageBoxButton

20、s.OK, MessageBoxIcon.Error);if (rdoTeacher.Checked)command.CommandText = String.Format(select count(*) from Teacher where TeaId=0 and TeaPwd=1, this.txtUsername.Text, this.txtPwd.Text);int count = (int)command.ExecuteScalar();if (count 0)User user = new User(); user.userId = txtUsername.Text; user.u

21、serPwd = txtPwd.Text;Context.use = user; Teacher tea = new Teacher(); this.DialogResult = DialogResult.OK; this.Hide();tea.Show(); else MessageBox.Show(用户名或密码错误, 提示, MessageBoxButtons.OK, MessageBoxIcon.Error); connection.Close(); else MessageBox.Show(用户名或密码不能为空, 提示, MessageBoxButtons.OK, MessageBox

22、Icon.Error);(2)取消按钮的代码为: private void btnExit_Click(object sender, EventArgs e) Application.Exit(); 4.3 学生信息查询模块实现1. 管理员身份登录成功后,选择学生管理功能,可以看到界面如下: 图4-4 学生信息界面2. 输入查询条件,点击查询的下拉框,选择“按。查询”,即可显示学生信息。: 图4-5 学生查询 图4-6 学生查询显示3. 查询代码如下: private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

23、string connectionStr = Data Source=.;Initial Catalog=StudentMessageManagement;Integrated Security=true;SqlConnection connection = new SqlConnection(connectionStr);string sql = ;switch (comboBox1.Text)case 按学号查询:sql = string.Format(select * from Student,Class,Grade,Major where Student.ClassId=Class.C

24、lassId and Student.GradeId=Grade.GradeId and Student.MajorId=Major.MajorId and StuNo like %0%,txtNo.Text.Trim();break;case 按姓名查询:sql = string.Format(select * from Student,Class,Grade,Major where Student.ClassId=Class.ClassId and Student.GradeId=Grade.GradeId and Student.MajorId=Major.MajorId and Stu

25、Name like %0%,txtName.Text.Trim(); break;case 按班级查询:sql = string.Format(select * from Student,Class,Grade,Major where Student.ClassId=Class.ClassId and Student.GradeId=Grade.GradeId and Student.MajorId=Major.MajorId and ClassName like %0%,cmbClass.SelectedItem); break;case 按专业查询:sql = string.Format(

26、select * from Student,Class,Grade,Major where Student.ClassId=Class.ClassId and Student.GradeId=Grade.GradeId and Student.MajorId=Major.MajorId and MajorName like %0%,cmbMajor.SelectedItem);break;case 按性别查询:sql = string.Format(select * from Student,Class,Grade,Major where Student.ClassId=Class.Class

27、Id and Student.GradeId=Grade.GradeId and Student.MajorId=Major.MajorId and Sex like %0%, cmbSex.SelectedItem);break;case 按年龄查询:sql = string.Format(select * from Student,Class,Grade,Major where Student.ClassId=Class.ClassId and Student.GradeId=Grade.GradeId and Student.MajorId=Major.MajorId and Age l

28、ike %0%,txtAge.Text.Trim(); break;case 按年级查询:sql = string.Format(select * from Student,Class,Grade,Major where Student.ClassId=Class.ClassId and Student.GradeId=Grade.GradeId and Student.MajorId=Major.MajorId and GradeName like %0%,cmbGrade.SelectedItem);break; case 按家庭住址查询:sql = string.Format(selec

29、t * from Student,Class,Grade,Major where Student.ClassId=Class.ClassId and Student.GradeId=Grade.GradeId and Student.MajorId=Major.MajorId and Address like %0%,txtAddress.Text.Trim();break;case 按备注查询:sql = string.Format(select * from Student,Class,Grade,Major where Student.ClassId=Class.ClassId and

30、Student.GradeId=Grade.GradeId and Student.MajorId=Major.MajorId and Extra like %0%,cmbExtra.Text.Trim();break; SqlCommand command = new SqlCommand(sql,connection);connection.Open();SqlDataReader reader = command.ExecuteReader();this.lstShow.Items.Clear();while (reader.Read()ListViewItem lv = new Lis

31、tViewItem(); lv.Text = readerStuNO.ToString();lv.SubItems.Add(readerStuName.ToString();lv.SubItems.Add(readerAge.ToString();lv.SubItems.Add(readerSex.ToString();lv.SubItems.Add(readerClassName.ToString();lv.SubItems.Add(readerGradeName.ToString();lv.SubItems.Add(readerMajorName.ToString();lv.SubItem

32、s.Add(readerPhone.ToString();lv.SubItems.Add(readerAddress.ToString();lv.SubItems.Add(readerExtra.ToString();this.lstShow.Items.Add(lv);reader.Close();connection.Close();4.4 学生信息添加模块实现1. 将要添加的学生信息填入编辑框内,点击添加按钮。带有红*标记的为必填项。 图4-7 添加成功 图4-8 错误提示2.若输入的学号重复,则提示: 图4-9 输入学号重复提示2. 添加代码如下:private void btnAdd

33、_Click(object sender, EventArgs e)if (txtNo.Text.Trim() = | txtName.Text.Trim() = | cmbClass.Text.Trim() = | cmbGrade.Text.Trim() = | cmbMajor.Text.Trim() = ) MessageBox.Show(您输入的学生基本信息不完整(至少输入学号,姓名,班级,年级,专业)!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Error); elseString connectionStr = Data Source=.

34、; Initial Catalog=StudentMessageManagement; Integrated Security=true;SqlConnection connection = new SqlConnection(connectionStr);connection.Open();SqlCommand command = new SqlCommand();command.Connection = connection;command.CommandText = String.Format(Select MajorId from Major where MajorName=0, th

35、is.cmbMajor.SelectedItem);int majorId = (int)command.ExecuteScalar();command.CommandText = String.Format(Select GradeId from Grade where GradeName=0,this.cmbGrade.SelectedItem);int gradeId = (int)command.ExecuteScalar();command.CommandText = String.Format(Select ClassId from Class where ClassName=0,

36、 this.cmbClass.SelectedItem);int classId = (int)command.ExecuteScalar();command.CommandText = String.Format(select count(*) from Student where StuNo=0, this.txtNo.Text.Trim();int count = (int)command.ExecuteScalar();if (count 0) MessageBox.Show(您输入的学生学号已存在,请重新输入!, 提示, MessageBoxButtons.OK, MessageBo

37、xIcon.Error); elseString sql = String.Format(insert into Student(StuNo,StuName,Age,Sex,ClassId,GradeId,MajorId,Phone,Address,Extra) +values (0, 1, 2,3,4,5,6,7,8,9),txtNo.Text, txtName.Text, txtAge.Text, this.cmbSex.SelectedItem, classId, gradeId, majorId, txtPhone.Text, txtAddress.Text, cmbExtra.Sel

38、ectedItem);command.CommandText = sql;command.ExecuteNonQuery();MessageBox.Show(添加成功!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information);txtNo.Text = ;txtName.Text = ;txtAddress.Text = ; txtAge.Text = ; txtPhone.Text = ; cmbClass.Text = ; cmbGrade.Text = ; cmbMajor.Text = ; cmbSex.Text = ; cmbExt

39、ra.Text = ; 4.5 学生信息修改模块实现1. 首先选中要修改的学生,系统会自动将本学生信息填充到编辑框,只需要在编辑框内修改,修改完后点击修改按钮即可成功。如图4-10: 图4-10 修改成功2. 若修改后的学号已存在,则提示。如图4-11 图4-11 输入学号重复提示3. 修改按钮的代码如下:private void btnModify_Click(object sender, EventArgs e)String connectionStr = Data Source=.; Initial Catalog=StudentMessageManagement; Integrated

40、 Security=true;SqlConnection connection = new SqlConnection(connectionStr);connection.Open();SqlCommand command = new SqlCommand();command.Connection = connection;command.CommandText = String.Format(Select MajorId from Major where MajorName=0, this.cmbMajor.Text);int majorId = (int)command.ExecuteSc

41、alar();command.CommandText = String.Format(Select GradeId from Grade where GradeName=0, this.cmbGrade.Text);int gradeId = (int)command.ExecuteScalar();command.CommandText = String.Format(Select ClassId from Class where ClassName=0, this.cmbClass.Text);int classId = (int)command.ExecuteScalar();command.CommandText = String.Format(select count(*) from Student where StuNo=0, this.txtNo.Text.Trim();int count = (i

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服