学生成绩管理系统实验报告_第1页
学生成绩管理系统实验报告_第2页
学生成绩管理系统实验报告_第3页
学生成绩管理系统实验报告_第4页
学生成绩管理系统实验报告_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、洛阳理工学院课程设计报告课程名称数据库课程设计设计题目学生成绩查询系统专 业计算机科学与技术班 级 b100506学 号 b10050634姓 名孙帅杰完成日期 2013年1月6号课程设计任务书设计题目:学生成绩管理系统设计内容与要求:设计内容:教务员可以输入学生、教师、班级、课程信息,一个班级只属于一个专业,一 个学生只属于一个班级。教务员负责输入每个专业、每个班级需要学习哪些课程, 指定课程的任课教师。一个教师可以教授多个班的多门课程。教师可以查看学习该课程的学生名单。课程结束后,教师可以录入课程成绩。课程分两类,必修课和选修课。学生可以选修课程,每学期几门。学生可以查 看自己各门课程的成

2、绩。学生还可以进行评教,给老师打分。系统管理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。设计要求:要求完成需求分析,写出功能需求和数据需求描述;在需求分析的基础上完成数据库的概念结构设计、逻辑结构设计、物理结构设计;用c#s言,完成管理系统的部分程序模块的界面设计。指导教师:陶荣2012年12月28日课程设 计评语成绩:指导教师:年 月日洛阳理工学院课程设计报告目录1 .绪论11.1 设计目的11.2 开发工具选择11.3 开发环境11.4 本报告的主要内容 12 .需求分析22.1 需求分析的任务 22.2 功能需求32.3 数据需求33 .总体设计43.1 设计概述43.2

3、 系统总体结构及功能模块划分 43.3 系统数据库概念结构设计 53.4 逻辑结构设计74 .主程序设计104.1 登录模块104.2 学生信息查询、保存、及修改 114.3 用户管理135 .设计总结166 .心得体会16参考文献17洛阳理工学院课程设计报告1.绪论1.1 设计目的随着学生的数量的日益增多,学校对学生成绩管理的要求也越来越高, 因此学校对学 生信息的管理也更系统化,数字化,为了提高学生的实际应用数据库的能力, 使学生锻炼 简单的数据库开发能力,因此决定设计一个简单的学生成绩管理系统, 包括学生信息,课 程信息,以及成绩信息和任课教师信息,能够存储相应学生评教信息,和课程安排提

4、供的 学生成绩管理各种功能分为面向学生,教师和教务员三部分,其中教务员可以录入学生, 教师,班级,课程信息,每个专业、每个班级需要学习哪些课程,指定课程的任课教师, 给每个班的每门课程安排指定的认课老师。 教师可以查看学习该课程的学生名单。 课程结 束后,教师可以录入课程成绩。课程分两类,必修课和选修课。学生可以选修课程,每学 期几门。学生可以查看自己各门课程的成绩,进行评教,给老师打分。该学生成绩管理系统类似于简单的学校教务系统,能对学校日常事务进行简单的管理。本课程设计的目的是使学生能熟练掌握简单的简单windows窗体应用程序的设计和ado.net的应用,希望通过本次课程设计锻炼学生使用

5、 c#s言解决实际问题的能力。1.2 开发工具选择本系统后台数据库采用 microsoft sql server数据库,该数据库系统在安全性、准确 性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用 microsoft公司 的visual studio 2010作为主要开发工具,可与 sql server 2008数据库无缝链接。1.3 开发环境系统开发平台:microsoft visual studio2010系统开发语言:c#数据库管理软件:sql server 20081.4 本报告的主要内容本报告详细的介绍了学生成绩管理系统的开发过程,主要涉及到的工作如下:系统的需求分析

6、、系统的总体设计、系统的概念设计、系统部分模块的详细设计。2 .需求分析进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理) 。求分析是整 个设计过程的基础,作为“地基”的需求分析是否做得充分与准确,决定了在其上构建数据库大厦的速度与质量。需求分析做的不好,甚至会导致整个数据库返工重做,因此对 用户需求进行正确,合理的分析是至关重要的。2.1 需求分析的任务需求分析是在于弄清用户对数据库应用系统的确切需求。 明确有哪些用户,主要实体 之间的联系和信息;需要保存哪些信息,即是创建表的内容,在此基础上明确登录用户能 实现哪些功能操作。学生成绩管理系统有三类登录用户:教务员、教师、学生。需

7、要实现的功能和操作如下:(1)教务员可以录入学生、教师、班级和课程信息,可以安排每个专业每个班级需要学习那些课 程,可以为每门课程安排任课教师,可以结合每个班的必修课的开课情况,以及教授相应 课程的任课教师情况对各个班级各门课程指定相应的任课教师,并且对所有的这些信息拥有查看和录入权限。(2)教师可以查看自己所教授的必修课的班级及学生信息, 并且可以查看选修自己所教授的选 修课的学生名单。课程结束后,教师可与录入学生成绩,包括学生的必修课成绩和选修课 成绩。(3)学生可以查看本学期所开设的所有选修课的详细情况,并可以查看相应的选修课的任课教 师,然后结合自己想选修的课程,及想选修哪个老师开的这

8、门课的情况选定课程。 登录系 统后学生还可以查看自己各门课程的成绩。 包括选修课成绩及必修课成绩。最后学生可以 对教自己课程的所有认可教师进行评教。2.2 功能需求我们的系统需要实现的功能主要包括以下几个方面:(1)设计不同用户的操作权限和登录方法。(2)教务员可以录入班级、课程、学生和任课教师的信息;安排专业必修课,给任课 教师安排课程;给每个班级每门课制定任课教师。(3)教师可以查询所授课程的学生信息,可以录入所授课程的学生的成绩。(4)学生有评教和查询个人成绩信息的权利。(5)用户界面的直观性和成绩查询结果的可视化。满足上述要求的系统应该包括以下几个模块:基本数据维护功能;数据库管理功能

9、; 基本业务功能。基本数据维护功能如下:(1)录入学生的信息。(2)录入学生的成绩信息。(3)录入课程信息。(4)录入任课教师信息。(5)录入班级详细信息。(6)查询结果的可视化管理。数据库管理功能如下:(1)成绩信息管理。(2)帐户信息管理。基本业务功能(1)查看成绩信息。(2)录入成绩信息。2.3 数据需求通过调查,总结出用户对数据的需求如下:(1)学生信息包括:学号、学生姓名、性别、年龄、登录密码,班级。(2)课程信息包括:课程号、课程名、学分、课程性质(必修或选修)(3)专业信息包括:专业号、系别、专业类别(理科、工科或文科)。(4)教师信息包括:教师工号、姓名、年龄、性别、登录密码。

10、3 .总体设计3.1 设计概述根据需求把整个系统分化成不同的模块, 每个模块完成一个特定的子功能。把这些模块结合起来组成一个整体。逐一实现各个功能。3.2 系统总体结构及功能模块划分经过对系统的需求分析,学生信息管理系统主要划分为三个部分: 学生信息查询,学 生信息管理,学生成绩录入三个功能模块。系统的总体结构如图3-1所示。图3-1系统的总体结构示意图(1)学生信息查询模块学生信息查询:学生可以根据本人学号、姓名进行信息查询。学生信息查询模块结构 如图3-2所示。学生信息查询学号查询图3-2学生信息管理模姓 名查 询 结构力(2)学生信息管理模块学生信息管理:主要是用于学生信息更新、插入、删

11、除。学生管理模块结构如图3-3所示。学生信息管理学 生 信 息 更 新学 生 信 息 录 入学生信息删除成绩更新图3-3学生信息管理模块结构示意图3.3 系统数据库概念结构设计根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间 的关系,为后面的逻辑结构设计打下基础。系统e-r图系统e-r图可以将各个实体之间的关系显示出来,将各个实体间的属性依赖表示明白。(1)学生实体包括学号、姓名、年龄、性别、班号、密码等属性,实体图如图 3-4 所示图3-4学生实体图17(2)班级实体包括班号、专业号和班长等属性,实体图如图 3-5所示图3-5班级实体图图3-6任课教师实体图3-6所

12、(3)任课教师实体包括工号、姓名、年龄、性别、密码等属性,实体图如图(4)专业实体包括专业号、系别、专业性质等属性,实体图如图3-7所示所示图3-7专业实体图(5)课程实体包括课程号、课程名、学分、课程性质即分类等属性,实体图如图3-8图3-8课程实体整体e-r图如3-9所示评教m学生n属于nn担任任课教师3.4逻辑结构设计(1)将 e-r图辎化为关系上真型考试包括3-9排课ne-r图mn必修课程九年龄,性别,班号,密码)此为匚夕生实体对应的关系模式,io模达已包含了联系“属于”所对应的关系模式专业(专业号、系,性质) 此为专业实体对应的关系模式。班级(班生专业号,班长)此为班级实体对应的关系

13、模式,该关系模式包含了联系“包括”锁对应的关系模式。任课教师(工上姓名,年龄,性别,密码) 此为实体任课教师对应的关系模式。教务员(帐号:密码)课程(课程号,课程名,学分,分类)此为课程实体对应的关系模式。排课(课程号,工号)此为联系“排课”对应的关系模式。选修(学号,课程号,工号)此为联系“选修”对应的关系模式。必修(专业号,课程号)此为联系“必修”对应的关系模式。评教(学号,工号,课程号,评分)此为联系“评教”对应的关系模式。考试(学号,课程号,成绩)此为联系“考试”对应的关系模式。担任(班号,工号,课程号)此为联系“担任”对应的关系模式。(2)物理模型设计学生信息表具体有学号,姓名,性别

14、,系名,专业,出生日期,如表 3-1所示表3-1学生信息表字段长度约束索引学号字符型8主键约束有姓名字符型10性别字符型2系名字符型20专业数值型20出生日期字符型8教师信息具体有教师号,姓名,性别,院系,专业,联系电话,如表 3-2所示表3-2教师信息表字段长度约束索引教师号字符型8主键约束有姓名字符型10性别字符型2院系字符型20专业数值型20联系电话字符型11管理员信息具体有用户名、密码、用户级别,如表 3-3所示表3-3管理员信息表字段长度备注用户名字符型8学号、教师号密码字符型6用户级别字符型10一般操作员/系统管理员课程表信息具体有课程号,课程名,学分,教师,如表 3-4所示表3-

15、4课程表信息字段长度约束索引球杠勺字符型10主键约束有课程名字符型30学分字符型2教师字符型10成绩表具体有学号,课程号,成绩,如表 3-5所示表3-5成绩表字段长度约束索引学号字符型8主键有球杠勺字符型10主键有成绩数值型54 .主程序设计4.1 登录模块根据不同的用户身份进入系统,查询相关信息,图 4-1为用户登录界面图4-1用户登录界面源代码:private void btnok_click( object sender, eventargs e)if (txtboxuser.text.trim()=)this.labelinfo.text =请输入您的用户名!;else if (txt

16、boxpsw.text.trim()=) this.labelinfo.text =请输入您的密码!; else command com = new command。;string str = select * from userinfo where userid = + txtboxuser.text.tostring() +;datatable table = com.getdataset(str);if (table.rows.count 0) _currentuser = txtboxuser.text; _currentpsw = txtboxpsw.text; islogin =

17、true;this.close(); else this.labelinfo.text =密码错误!; txtboxpsw.text =;4.2 学生信息查询、保存、及修改对学生成绩等信息的查询,图4-2为查看学生信息界面,图4-3为学生信息显示界面。学生信息管理用户管理杳看学生憎息编镇学生信息图4-2查看学生信息界面图4-3学生信息显示界面源代码:protected virtual void frmviewinfo_load( object sender, eventargs e) this.datagridviewinfo.rows.clear();this.datagridviewinf

18、o.columns.clear();/this.datagridviewinfo.editmode = datagridvieweditmode.editonenter; datagridviewcolumn col = null;col = new datagridviewtextboxcolumn col.name = stunum;col.headertext =学号;this.datagridviewinfo.columns.add(col); col = new datagridviewtextboxcolumn col.name = name;col.headertext =姓名;

19、this.datagridviewinfo.columns.add(col); datagridviewcomboboxcolumn col0 = col0.flatstyle = flatstyle.flat;col0.headertext =性另1j;col0.name = sex;col0.items.add(男);col0.items.add(女);this.datagridviewinfo.columns.add(col0); col = new datagridviewtextboxcolumn col.name = birthday;col.headertext =出生年月;th

20、is.datagridviewinfo.columns.add(col); col = new datagridviewtextboxcolumn col.name = nation;col.headertext =民族;this.datagridviewinfo.columns.add(col); col = new datagridviewtextboxcolumn col.name = address;col.headertext =籍贯;this.datagridviewinfo.columns.add(col); col = new datagridviewtextboxcolumn

21、 col.name = phone;col.headertext =联系电话;this.datagridviewinfo.columns.add(col); col = new datagridviewtextboxcolumn col.name = classid;col.headertext =班级;this.datagridviewinfo.columns.add(col); col = new datagridviewtextboxcolumn col.name = intoschooldate;col.headertext =入学时间;this.datagridviewinfo.co

22、lumns.add(col); col = new datagridviewtextboxcolumn();();new datagridviewcomboboxcolumn ();();();();();();();();.nview);col.name = sdept;col.headertext =系别;this.datagridviewinfo.columns.add(col);public virtual void setfromtext()if (opertypeofbill = typeofoperationforbill this.text =查看学生信息;elsethis.t

23、ext =编辑学生信息”;if (com.executecommand(sql) 0) datagridviewinfo.rows.clear();selectstudentinfo();messagebox.show(数据修改成功! 4.3 用户管理用户可以根据自己的需求来实现密码修改等功能。 修改密码回0*11原密码:1|新密码;确认新密码:确认取消图4-4密码修改界面提姓图4-5密码修改成功图4-6添加新用户界面提醒bi用户注册成功l图4-7用户添加成功源代码:protected void btnok_click( object sender, eventargs e)if (txtbo

24、xoldpsw.text = null | txtboxoldpsw.text.trim()=)messagebox.show(请输入旧密码!。,提醒,messageboxbuttons.ok, messageboxicon .information);return;if (txtboxnewpsw.text = null | txtboxnewpsw.text.trim()=| txtboxenterpsw.text = null | txtboxenterpsw.text.trim()=)messagebox.show(请输入新密码!。,提醒,messageboxbuttons .ok,m

25、essageboxicon .information); return;string currpwd = loginform .currentpsw; if (currpwd = txtboxoldpsw.text.trim() if (issame() command com = new command。;string str = update userinfo set passward = + txtboxenterpsw.text.tostring() + where userid = + loginform .currentuser + ;if (com.executecommand(

26、str) 0)messagebox.show(密码修改成功!。,提醒,messageboxbuttons.ok, messageboxicon .information); else messagebox.show(密码修改失败,请联系管理员!。,提醒,messageboxbuttons .ok, messageboxicon .information); else messagebox.show(两次密码输入不一致!,提醒,messageboxbuttons .ok,messageboxicon .information); else messagebox.show(输入密码错误!,提醒,m

27、essageboxbuttons.ok, messageboxicon .information); public formnewuser() :base() this.labeloldpsw.text =用户名; this.text =新用户注册;this.btnok.click -= new system.eventhandler (this.btnok_click);this.btnok.click += new system.eventhandler (btnebter_click);5 .设计总结在这次课程设计中,重点是要掌握数据库设计方法。数据库设计特点:三分技术,七 分管理,十二分基础数据。在数据库建设中不仅涉及技术,还设计管理。要建设好一个数 据库应用系统,开发技术固然重要,但相比之下则管理更重要。进行数据库的设计首先必须了解与分析用户需求。需求分析是整个设计过程的基础, 是最困难、最耗时的一部分。需求分析做的不好,甚至会导致整个数据库设计返工重做。 需求分析的任务是通过详细的调查现实世界要处理的对象,充分了解用户的各种需求,然后在此基础上确定系统功能。系统还必

温馨提示

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

评论

0/150

提交评论