学生成绩管理系统实验报告.docx

上传人:b****2 文档编号:13989358 上传时间:2023-06-19 格式:DOCX 页数:19 大小:98.09KB
下载 相关 举报
学生成绩管理系统实验报告.docx_第1页
第1页 / 共19页
学生成绩管理系统实验报告.docx_第2页
第2页 / 共19页
学生成绩管理系统实验报告.docx_第3页
第3页 / 共19页
学生成绩管理系统实验报告.docx_第4页
第4页 / 共19页
学生成绩管理系统实验报告.docx_第5页
第5页 / 共19页
学生成绩管理系统实验报告.docx_第6页
第6页 / 共19页
学生成绩管理系统实验报告.docx_第7页
第7页 / 共19页
学生成绩管理系统实验报告.docx_第8页
第8页 / 共19页
学生成绩管理系统实验报告.docx_第9页
第9页 / 共19页
学生成绩管理系统实验报告.docx_第10页
第10页 / 共19页
学生成绩管理系统实验报告.docx_第11页
第11页 / 共19页
学生成绩管理系统实验报告.docx_第12页
第12页 / 共19页
学生成绩管理系统实验报告.docx_第13页
第13页 / 共19页
学生成绩管理系统实验报告.docx_第14页
第14页 / 共19页
学生成绩管理系统实验报告.docx_第15页
第15页 / 共19页
学生成绩管理系统实验报告.docx_第16页
第16页 / 共19页
学生成绩管理系统实验报告.docx_第17页
第17页 / 共19页
学生成绩管理系统实验报告.docx_第18页
第18页 / 共19页
学生成绩管理系统实验报告.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

学生成绩管理系统实验报告.docx

《学生成绩管理系统实验报告.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统实验报告.docx(19页珍藏版)》请在冰点文库上搜索。

学生成绩管理系统实验报告.docx

学生成绩管理系统实验报告

洛阳理工学院

课程设计报告

课程名称数据库课程设计

设计题目学生成绩查询系统

专业计算机科学与技术

班级B100506

学号

姓名孙帅杰

完成日期2013年1月6号

课程设计任务书

设计题目:

学生成绩管理系统

设计内容与要求:

设计内容:

教务员可以输入学生、教师、班级、课程信息,一个班级只属于一个专业,一个学生只属于一个班级。

教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。

一个教师可以教授多个班的多门课程。

教师可以查看学习该课程的学生名单。

课程结束后,教师可以录入课程成绩。

课程分两类,必修课和选修课。

学生可以选修课程,每学期几门。

学生可以查看自己各门课程的成绩。

学生还可以进行评教,给老师打分。

系统管理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。

设计要求:

要求完成需求分析,写出功能需求和数据需求描述;

在需求分析的基础上完成数据库的概念结构设计、逻辑结构设计、物理结构

设计;

用C#语言,完成管理系统的部分程序模块的界面设计。

指导教师:

陶荣

2012年12月28日

课程设计评语

成绩:

指导教师:

年月日

1.绪论

1.1设计目的

随着学生的数量的日益增多,学校对学生成绩管理的要求也越来越高,因此学校对学生信息的管理也更系统化,数字化,为了提高学生的实际应用数据库的能力,使学生锻炼简单的数据库开发能力,因此决定设计一个简单的学生成绩管理系统,包括学生信息,课程信息,以及成绩信息和任课教师信息,能够存储相应学生评教信息,和课程安排提供的学生成绩管理各种功能分为面向学生,教师和教务员三部分,其中教务员可以录入学生,教师,班级,课程信息,每个专业、每个班级需要学习哪些课程,指定课程的任课教师,给每个班的每门课程安排指定的认课老师。

教师可以查看学习该课程的学生名单。

课程结束后,教师可以录入课程成绩。

课程分两类,必修课和选修课。

学生可以选修课程,每学期几门。

学生可以查看自己各门课程的成绩,进行评教,给老师打分。

该学生成绩管理系统类似于简单的学校教务系统,能对学校日常事务进行简单的管理。

本课程设计的目的是使学生能熟练掌握简单的简单Windows窗体应用程序的设计和ADO.net的应用,希望通过本次课程设计锻炼学生使用C#语言解决实际问题的能力。

1.2开发工具选择

本系统后台数据库采用MicrosoftSQLServer数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Microsoft公司的VisualStudio2010作为主要开发工具,可与SQLServer2008数据库无缝链接。

1.3开发环境

系统开发平台:

MicrosoftVisualStudio2010

系统开发语言:

C#

数据库管理软件:

SQLServer2008

1.4本报告的主要内容

本报告详细的介绍了学生成绩管理系统的开发过程,主要涉及到的工作如下:

系统的需求分析、系统的总体设计、系统的概念设计、系统部分模块的详细设计。

2.需求分析

进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。

求分析是整个设计过程的基础,作为“地基”的需求分析是否做得充分与准确,决定了在其上构建数据库大厦的速度与质量。

需求分析做的不好,甚至会导致整个数据库返工重做,因此对用户需求进行正确,合理的分析是至关重要的。

2.1需求分析的任务

需求分析是在于弄清用户对数据库应用系统的确切需求。

明确有哪些用户,主要实体之间的联系和信息;需要保存哪些信息,即是创建表的内容,在此基础上明确登录用户能实现哪些功能操作。

学生成绩管理系统有三类登录用户:

教务员、教师、学生。

需要实现的功能和操作如下:

(1)教务员

可以录入学生、教师、班级和课程信息,可以安排每个专业每个班级需要学习那些课程,可以为每门课程安排任课教师,可以结合每个班的必修课的开课情况,以及教授相应课程的任课教师情况对各个班级各门课程指定相应的任课教师,并且对所有的这些信息拥有查看和录入权限。

(2)教师

可以查看自己所教授的必修课的班级及学生信息,并且可以查看选修自己所教授的选修课的学生名单。

课程结束后,教师可与录入学生成绩,包括学生的必修课成绩和选修课成绩。

(3)学生

可以查看本学期所开设的所有选修课的详细情况,并可以查看相应的选修课的任课教师,然后结合自己想选修的课程,及想选修哪个老师开的这门课的情况选定课程。

登录系统后学生还可以查看自己各门课程的成绩。

包括选修课成绩及必修课成绩。

最后学生可以对教自己课程的所有认可教师进行评教。

2.2功能需求

我们的系统需要实现的功能主要包括以下几个方面:

(1)设计不同用户的操作权限和登录方法。

(2)教务员可以录入班级、课程、学生和任课教师的信息;安排专业必修课,给任课教师安排课程;给每个班级每门课制定任课教师。

(3)教师可以查询所授课程的学生信息,可以录入所授课程的学生的成绩。

(4)学生有评教和查询个人成绩信息的权利。

(5)用户界面的直观性和成绩查询结果的可视化。

满足上述要求的系统应该包括以下几个模块:

基本数据维护功能;数据库管理功能;基本业务功能。

基本数据维护功能如下:

(1)录入学生的信息。

(2)录入学生的成绩信息。

(3)录入课程信息。

(4)录入任课教师信息。

(5)录入班级详细信息。

(6)查询结果的可视化管理。

数据库管理功能如下:

(1)成绩信息管理。

(2)帐户信息管理。

基本业务功能

(1)查看成绩信息。

(2)录入成绩信息。

2.3数据需求

通过调查,总结出用户对数据的需求如下:

(1)学生信息

包括:

学号、学生姓名、性别、年龄、登录密码,班级。

(2)课程信息

包括:

课程号、课程名、学分、课程性质(必修或选修)。

(3)专业信息

包括:

专业号、系别、专业类别(理科、工科或文科)。

(4)教师信息

包括:

教师工号、姓名、年龄、性别、登录密码。

3.总体设计

3.1设计概述

根据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。

把这些模块结合起来组成一个整体。

逐一实现各个功能。

3.2系统总体结构及功能模块划分

经过对系统的需求分析,学生信息管理系统主要划分为三个部分:

学生信息查询,学生信息管理,学生成绩录入三个功能模块。

系统的总体结构如图3-1所示。

图3-1系统的总体结构示意图

(1)学生信息查询模块

学生信息查询:

学生可以根据本人学号、姓名进行信息查询。

学生信息查询模块结构如图3-2所示。

图3-2学生信息管理模块结构示意图

(2)学生信息管理模块

学生信息管理:

主要是用于学生信息更新、插入、删除。

学生管理模块结构如图3-3所示。

图3-3学生信息管理模块结构示意图

3.3系统数据库概念结构设计

根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。

系统E-R图

系统E-R图可以将各个实体之间的关系显示出来,将各个实体间的属性依赖表示明白。

(1)学生实体包括学号、姓名、年龄、性别、班号、密码等属性,实体图如图3-4所示

图3-4学生实体图

(2)班级实体包括班号、专业号和班长等属性,实体图如图3-5所示

图3-5班级实体图

(3)任课教师实体包括工号、姓名、年龄、性别、密码等属性,实体图如图3-6所示

图3-6任课教师实体图

(4)专业实体包括专业号、系别、专业性质等属性,实体图如图3-7所示

图3-7专业实体图

(5)课程实体包括课程号、课程名、学分、课程性质即分类等属性,实体图如图3-8所示

图3-8课程实体

整体E-R图如3-9所示

3-9整体E-R图

3.4逻辑结构设计

(1)将E-R图转化为关系模型为:

学生(学号,姓名,年龄,性别,班号,密码)

此为学生实体对应的关系模式,该关系模式已包含了联系“属于”所对应的关系模式。

专业(专业号,系,性质)

此为专业实体对应的关系模式。

班级(班号,专业号,班长)

此为班级实体对应的关系模式,该关系模式包含了联系“包括”锁对应的关系模式。

任课教师(工号,姓名,年龄,性别,密码)

此为实体任课教师对应的关系模式。

教务员(帐号,密码)

课程(课程号,课程名,学分,分类)

此为课程实体对应的关系模式。

排课(课程号,工号)

此为联系“排课”对应的关系模式。

选修(学号,课程号,工号)

此为联系“选修”对应的关系模式。

必修(专业号,课程号)

此为联系“必修”对应的关系模式。

评教(学号,工号,课程号,评分)

此为联系“评教”对应的关系模式。

考试(学号,课程号,成绩)

此为联系“考试”对应的关系模式。

担任(班号,工号,课程号)

此为联系“担任”对应的关系模式。

(2)物理模型设计

学生信息表具体有学号,姓名,性别,系名,专业,出生日期,如表3-1所示

表3-1学生信息表

字段

类型

长度

约束

索引

学号

字符型

8

主键约束

姓名

字符型

10

性别

字符型

2

系名

字符型

20

专业

数值型

20

出生日期

字符型

8

教师信息具体有教师号,姓名,性别,院系,专业,联系电话,如表3-2所示

表3-2教师信息表

字段

类型

长度

约束

索引

教师号

字符型

8

主键约束

姓名

字符型

10

性别

字符型

2

院系

字符型

20

专业

数值型

20

联系电话

字符型

11

管理员信息具体有用户名、密码、用户级别,如表3-3所示

字段

类型

长度

备注

用户名

字符型

8

学号、教师号

密码

字符型

6

用户级别

字符型

10

一般操作员/系统管理员

表3-3管理员信息表

课程表信息具体有课程号,课程名,学分,教师,如表3-4所示

表3-4课程表信息

字段

类型

长度

约束

索引

课程号

字符型

10

主键约束

课程名

字符型

30

学分

字符型

2

教师

字符型

10

成绩表具体有学号,课程号,成绩,如表3-5所示

表3-5成绩表

字段

类型

长度

约束

索引

学号

字符型

8

主键

课程号

字符型

10

主键

成绩

数值型

5

4.主程序设计

4.1登录模块

根据不同的用户身份进入系统,查询相关信息,图4-1为用户登录界面。

图4-1用户登录界面

源代码:

privatevoidbtnOK_Click(objectsender,EventArgse)

{

if"")

{

this.labelInfo.Text="请输入您的用户名!

";

}

elseif"")

{

this.labelInfo.Text="请输入您的密码!

";

}

else

{

Commandcom=newCommand();

stringstr=@"select*fromUserInfowhereuserId='""'";

DataTabletable=com.GetDataSet(str);

if

{

this.labelInfo.Text="用户名不存在!

";

txtBoxUser.Text="";

txtBoxPsw.Text="";

return;

}

str=@"select*fromUserInfowhereuserId='""'andpassWard='""'";

DataTabletableUser=com.GetDataSet(str);

if

{

_currentUser=txtBoxUser.Text;

_currentPsw=txtBoxPsw.Text;

IsLogin=true;

this.Close();

}

else

{

this.labelInfo.Text="密码错误!

";

txtBoxPsw.Text="";

}

}

}

4.2学生信息查询、保存、及修改

对学生成绩等信息的查询,图4-2为查看学生信息界面,图4-3为学生信息显示界面。

图4-2查看学生信息界面

图4-3学生信息显示界面

源代码:

protectedvirtualvoidfrmViewInfo_Load(objectsender,EventArgse)

{

this

this

DataGridViewColumncol=null;

col=newDataGridViewTextBoxColumn();

col.Name="stuNum";

col.HeaderText="学号";

this

col=newDataGridViewTextBoxColumn();

col.Name="name";

col.HeaderText="姓名";

this

DataGridViewComboBoxColumncol0=newDataGridViewComboBoxColumn();

col0.FlatStyle=FlatStyle.Flat;

col0.HeaderText="性别";

col0.Name="sex";

"男");

"女");

this

col=newDataGridViewTextBoxColumn();

col.Name="birthday";

col.HeaderText="出生年月";

this

col=newDataGridViewTextBoxColumn();

col.Name="nation";

col.HeaderText="民族";

this

col=newDataGridViewTextBoxColumn();

col.Name="address";

col.HeaderText="籍贯";

this

col=newDataGridViewTextBoxColumn();

col.Name="phone";

col.HeaderText="联系电话";

this

col=newDataGridViewTextBoxColumn();

col.Name="classid";

col.HeaderText="班级";

this

col=newDataGridViewTextBoxColumn();

col.Name="intoSchoolDate";

col.HeaderText="入学时间";

this

col=newDataGridViewTextBoxColumn();

col.Name="Sdept";

col.HeaderText="系别";

this

}

publicvirtualvoidSetFromText()

{

if(OperTypeOfBill==TypeOfOperationForBill.nView)

{

this.Text="查看学生信息";

}

else

{

this.Text="编辑学生信息";

}

}

if(com.ExecuteCommand(sql)>0)

{

SelectStudentInfo();

MessageBox.Show("数据修改成功!

");

}

4.3用户管理

用户可以根据自己的需求来实现密码修改等功能。

图4-4密码修改界面

图4-5密码修改成功

图4-6添加新用户界面

图4-7用户添加成功

源代码:

protectedvoidbtnOk_Click(objectsender,EventArgse)

{

if(txtBoxOldPsw.Text==null"")

{

MessageBox.Show("请输入旧密码!

","提醒",MessageBoxButtons.OK,MessageBoxIcon.Information);

return;

}

if(txtBoxNewPsw.Text==null""

||txtBoxEnterPsw.Text==null"")

{

MessageBox.Show("请输入新密码!

","提醒",MessageBoxButtons.OK,MessageBoxIcon.Information);

return;

}

stringcurrPwd=LoginForm.CurrentPsw;

if

{

if(isSame())

{

Commandcom=newCommand();

stringstr=@"updateUserInfosetpassWard='""'whereuserId='"+LoginForm.CurrentUser+"'";

if(com.ExecuteCommand(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("输入密码错误!

","提醒",MessageBoxButtons.OK,MessageBoxIcon.Information);

}

}

publicFormNewUser()

:

base()

{

this.labelOldPsw.Text="用户名";

this.Text="新用户注册";

this.btnOk.Click-=newSystem.EventHandler(this.btnOk_Click);

this.btnOk.Click+=newSystem.EventHandler(btnEbter_Click);

}

5.设计总结

在这次课程设计中,重点是要掌握数据库设计方法。

数据库设计特点:

三分技术,七分管理,十二分基础数据。

在数据库建设中不仅涉及技术,还设计管理。

要建设好一个数据库应用系统,开发技术固然重要,但相比之下则管理更重要。

进行数据库的设计首先必须了解与分析用户需求。

需求分析是整个设计过程的基础,是最困难、最耗时的一部分。

需求分析做的不好,甚至会导致整个数据库设计返工重做。

需求分析的任务是通过详细的调查现实世界要处理的对象,充分了解用户的各种需求,然后在此基础上确定系统功能。

系统还必须充分考虑今后可能的扩充和改变。

概念结构设计是整个数据库设计的关键,他通过对用户需求进行综合、归纳与抽象,形成一个独立与具体DBMS的概念模型。

逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。

概念结构的特点:

能真实、充分的反映现实世界,包括失误和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型;易于理解,从而可以用它和不熟悉计算机的用户交流意见,用户的积极参与是数据库设计成功的关键;易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;易于向关系、网状、层次等各种数据模型转换。

本系统主要针对的用户是学生、教务员和老师。

该设计的优点是:

不同用户的功能都单独存储在数据库中相应的表中使他们可以很方便地满足自己的需求。

不足是:

存在部分数据冗余,不利于该数据库向大型数据库扩展。

但该设计基本能满足三类的用户的需求,完成简单的功能。

时间有限,部分功能还没有实现,有待完善!

6.心得体会

通过将近一个星期的设计,我对数据库在生活中的广泛应用有了更深的体会,同时也加深了对SQL2008的认识,了解了相关的SQL的知识,尤其是对数据库的原理与开发程序的应用有了更进一步的认识和了解。

课程设计是我们数据库专业课程知识综合应用的实践训练,在课设中也遇到了很多问题,经过向老师询问和跟同学们交流,认真的思考,积极解决问题,终于解决了那些问题。

在解决问题的过程中,我也学到了很多知识,更是让我把课本的知识应用到实际之中,让我了解了我们学习的知识有什么用,增强我的自信心和学习的动力。

同时感谢老师和同学在课程设计过程中的帮助!

总之,通过这次课程设计,我获益匪浅。

参考文献

[1]王珊.数据库技术与应用[M].北京:

清华大学出版社,2005.

[2]姚卿达.数据库设计[M].北京:

高等教育出版社,1987.

[3]王珊,萨师煊.数据库设计理论与实践[M].北京:

高等教育出版社,1984.

[4]张跃廷,许文武.数据库系统开发完全手册[M].北京:

人民邮电出版社,2007.

[5]王珊,萨师煊.数据库系统概论(第四版)[M].北京:

高等教育出版社,2006.

[6]郑宇军.C#面向对象程序设计[M].北京:

人民邮电出版社,2009.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2