数据库学生成绩管理系统课程设计报告.docx

上传人:b****3 文档编号:10353397 上传时间:2023-05-25 格式:DOCX 页数:35 大小:323.58KB
下载 相关 举报
数据库学生成绩管理系统课程设计报告.docx_第1页
第1页 / 共35页
数据库学生成绩管理系统课程设计报告.docx_第2页
第2页 / 共35页
数据库学生成绩管理系统课程设计报告.docx_第3页
第3页 / 共35页
数据库学生成绩管理系统课程设计报告.docx_第4页
第4页 / 共35页
数据库学生成绩管理系统课程设计报告.docx_第5页
第5页 / 共35页
数据库学生成绩管理系统课程设计报告.docx_第6页
第6页 / 共35页
数据库学生成绩管理系统课程设计报告.docx_第7页
第7页 / 共35页
数据库学生成绩管理系统课程设计报告.docx_第8页
第8页 / 共35页
数据库学生成绩管理系统课程设计报告.docx_第9页
第9页 / 共35页
数据库学生成绩管理系统课程设计报告.docx_第10页
第10页 / 共35页
数据库学生成绩管理系统课程设计报告.docx_第11页
第11页 / 共35页
数据库学生成绩管理系统课程设计报告.docx_第12页
第12页 / 共35页
数据库学生成绩管理系统课程设计报告.docx_第13页
第13页 / 共35页
数据库学生成绩管理系统课程设计报告.docx_第14页
第14页 / 共35页
数据库学生成绩管理系统课程设计报告.docx_第15页
第15页 / 共35页
数据库学生成绩管理系统课程设计报告.docx_第16页
第16页 / 共35页
数据库学生成绩管理系统课程设计报告.docx_第17页
第17页 / 共35页
数据库学生成绩管理系统课程设计报告.docx_第18页
第18页 / 共35页
数据库学生成绩管理系统课程设计报告.docx_第19页
第19页 / 共35页
数据库学生成绩管理系统课程设计报告.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库学生成绩管理系统课程设计报告.docx

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

数据库学生成绩管理系统课程设计报告.docx

数据库学生成绩管理系统课程设计报告

数据库学生成绩管理系统课程设计报告

 

 

————————————————————————————————作者:

————————————————————————————————日期:

 

 

洛阳理工学院

课程设计报告

 

课程名称数据库课程设计

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

专业计算机科学与技术

班级B100506

学号B10050634

姓名孙帅杰

完成日期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)系统目标

1.根据查询条件实现学生信息的查询

2。

学生选课信息查询、成绩信息的查询

3。

学生信息、课程信息、成绩信息的增加、删除、修改

4.对基本信息完成增加、删除、修改时,需注意表与表之间的关联

(2)功能需求分析

本系统的功能需求分析如下:

1。

学生信息查询:

学生可以根据学号、姓名、专业进行查询.

2。

学生信息管理:

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

3.学生成绩录入:

用于学生成绩管理,录入学生成绩,也可以更新;

(3)性能需求分析

1.登录、用户界面需求:

简洁、易懂、易用、友好的用户界面。

2。

安全保密性需求:

只有凭借用户名和密码登陆系统,才能进行信息的管理等.

3。

总体设计

3。

1设计概述

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

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

逐一实现各个功能。

3。

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

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

学生信息查询,学生信息管理,学生成绩录入三个功能模块.系统的总体结构如图3—1所示.

 

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

(1)学生信息查询模块

学生信息查询:

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

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

 

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

(2)学生信息管理模块

学生信息管理:

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

学生管理模块结构如图3—3所示.

 

 

 

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

3。

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

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

(1)系统E—R图

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

教师与课程之间的关系:

教师与课程之间是m:

n的关系,即一个老师能教多门课程,一门课程可以由多个老师讲授。

图3—4教师与课程实体图

 

学生与教师之间的关系:

学生与教师之间是n:

m的关系,即一名老师可以教授多个学生,而一个学生可以由多个教师来教。

图3-5教师与学生的实体图

学生与课程之间的关系:

学生与课程之间是n:

m的关系,即一个学生可以选修多门课程,一门课程可以被多个学生选学。

图3-6学生与课程的实体图

学生与成绩之间的关系是n:

m的关系:

图3—7学生与成绩的实体图

管理员与用户的关系:

图3-8管理员与用户的实体图

图3-9学生成绩管理全局E—R图

3.4逻辑结构设计

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

管理员(用户名,密码)

学生(学号,姓名,性别,系名,专业,出生日期)

教师(教师号,姓名,性别,院系,联系电话)

课程(课程号,课程名,学分,教师)

成绩(学号,课程号,姓名,课程名,成绩,授课老师)

管理(教师号,学号,密码)

教授(教师号,课程号,课程名)

选修(学号,课程号,成绩)

讲授(教师号,课程号)

(2)将以上数据关系模型进行优化处理得关系模型:

学生信息(学号,姓名,性别,系名,专业,出生日期)

教师信息(教师号,姓名,性别,院系,联系电话)

管理员信息(用户名,密码,用户级别)

课程表(课程号,课程名,学分,教师)

成绩表(学号、课程号、成绩)

(3)物理模型设计

学生信息表具体有学号,姓名,性别,系名,专业,出生日期,如表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登录系统

namespaceCourseDesign

publicpartialclassLoginForm:

Form

{

#region属性

///

///是否登录

///〈/summary>

privatebool_isLogin=false;

publicboolIsLogin

{

get{return_isLogin;}

set{_isLogin=value;}

//用于记录当前登录用户名;

privatestaticstring_currentUser;

publicstaticstringCurrentUser

{

get{return_currentUser;}

//用于记录当前登录用户密码;

privatestaticstring_currentPsw;

publicstaticstringCurrentPsw

get{return_currentPsw;}

#endregion

publicLoginForm()

{

InitializeComponent();

this.labelInfo.Text=”";

this.txtBoxUser.Text="admin";

this。

txtBoxPsw。

Text="0";

}

//登录

privatevoidbtnOK_Click(objectsender,EventArgse)

{

if(txtBoxUser.Text.Trim()==”")

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

”;

elseif(txtBoxPsw.Text.Trim()=="”)

this。

labelInfo。

Text=”请输入您的密码!

”;

//MessageBox.Show("请输入您的密码",”错误提示:

”,MessageBoxButtons.OK,MessageBoxIcon。

Warning);

else

Commandcom=newCommand();

stringstr=@”select*fromUserInfowhereuserId=’"+txtBoxUser。

Text。

ToString()+”’”;

DataTabletable=com。

GetDataSet(str);

if(table.Rows.Count〈=0)

{

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

”;

txtBoxUser。

Text="”;

txtBoxPsw.Text=””;

return;

}

str=@”select*fromUserInfowhereuserId='"+txtBoxUser。

Text.ToString()+”’andpassWard='”+txtBoxPsw.Text。

ToString()+"’";

DataTabletableUser=com.GetDataSet(str);

if(tableUser.Rows。

Count〉0)

{

_currentUser=txtBoxUser。

Text;

_currentPsw=txtBoxPsw.Text;

IsLogin=true;

this。

Close();

}

else

{

this.labelInfo。

Text="密码错误!

”;

txtBoxPsw。

Text="”;

//取消

privatevoidbtnCencle_Click(objectsender,EventArgse)

{

this.Close();

}

//重置

privatevoidbtnReset_Click(objectsender,EventArgse)

txtBoxUser.Text=”";

txtBoxPsw。

Text="”;

}

privatevoidtxtBoxUser_Click(objectsender,EventArgse)

{

this。

labelInfo.Text="”;

}

privatevoidtxtBoxPsw_Click(objectsender,EventArgse)

{

this.labelInfo。

Text=””;

}

图4—1用户登录界面

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

namespaceCourseDesign

{

publicpartialclassfrmViewInfo:

Form

{

#region属性

privateDBHelper。

TypeOfOperationForBill_mOperTypeOfBill=DBHelper.TypeOfOperationForBill。

nNull;

publicDBHelper.TypeOfOperationForBillOperTypeOfBill

{

get{return_mOperTypeOfBill;}

set{_mOperTypeOfBill=value;}

//

privatebool_isNew=false;

publicboolIsNew

get{return_isNew;}

set{_isNew=value;}

privatebool_isModified=false;

publicboolIsModified

get{return_isModified;}

set{_isModified=value;}

}

#endregion

publicfrmViewInfo(DBHelper。

TypeOfOperationForBillOperType)

_mOperTypeOfBill=OperTypeOfBill;

InitializeComponent();

SetFromText();

}

publicvirtualvoidSetFromText()

if(OperTypeOfBill==TypeOfOperationForBill.nView)

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

else

{

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

//添加

privatevoidtoolStripBtnAdd_Click(objectsender,EventArgse)

//this。

dataGridViewInfo.Rows。

Add();

//_isNew=true;

Commandcom=newCommand();

stringstrClass=@”selectclassIdfromClassInfowhereclassName='"+dataGridViewInfo。

CurrentRow.Cells["classid"]。

Value.ToString()+”'”;

stringdtClass=com.GetScalar(strClass)。

ToString();

stringstrdept=@"selectsdeptNofromSdeptwherename='”+dataGridViewInfo.CurrentRow.Cells[”Sdept"].Value。

ToString()+”'”;

stringdtDept=com。

GetScalar(strdept).ToString();

stringstr="select*fromStudentInfowherestuNum='"+dataGridViewInfo。

CurrentRow。

Cells[”stuNum”].Value。

ToString()+"'”;

DataTabledtable=com.GetDataSet(str);

if(dtable.Rows.Count〈=0)

if(dataGridViewInfo["stuNum”,dataGridViewInfo。

CurrentRow。

Index].Value!

=null&&dataGridViewInfo["name”,dataGridViewInfo。

CurrentRow。

Index].Value!

=null&&

dataGridViewInfo["sex”,dataGridViewInfo.CurrentRow。

Index].Value!

=null&&dataGridViewInfo["birthday”,dataGridViewInfo。

CurrentRow。

Index]。

Value!

=null&&

dataGridViewInfo["nation”,dataGridViewInfo.CurrentRow.Index].Value!

=null&&dataGridViewInfo[”address",dataGridViewInfo.CurrentRow。

Index]。

Value!

=null&&

dataGridViewInfo[”phone”,dataGridViewInfo。

CurrentRow.Index]。

Value!

=null&&dataGridViewInfo[”classid”,dataGridViewInfo.CurrentRow.Index].Value!

=null&&

dataGridViewInfo[”Sdept",dataGridViewInfo。

CurrentRow.Index].Value!

=null&&dataGridViewInfo["intoSchoolDate”,dataGridViewInfo。

CurrentRow.Index]。

Value!

=null)

stringsql=”insertintoStudentInfo(stuNum,name,sex,birthday,nation,address,phone,classid,intoSchoolDate,Sdept)values”;

sql+=”('”+dataGridViewInfo。

CurrentRow.Cells["stuNum”]。

Value.ToString()+"’,'”+dataGridViewInfo.CurrentRow。

Cells["name"]。

Value.ToString()+”’,'”+dataGridViewInfo。

CurrentRow.Cells[”sex”].Value。

ToString()

+"',’"+dataGridViewInfo。

CurrentRow。

Cells[”birthday”]。

Value.ToString()+"’,’"+dataGridViewInfo。

CurrentRow.Cells["nation”].Value。

ToString()+"',’”+dataGridViewInfo.CurrentRow.Cells[”address”].Value.ToString()

+"’,'"+dataGridViewInfo。

CurrentRow.Cells["phone"]。

Value.ToString()+”','"+dtClass+”',’”+dataGridViewInfo.CurrentRow。

Cells["intoSchoolDate”].Value。

ToString()+”',’"+dtDept+”’)";

if(com.ExecuteCommand(sql)〉0)

{

dataGridViewInfo。

Rows.Clear();

SelectStudentInfo();

MessageBox.Show("数据添加成功!

");

else

MessageBox。

Show("信息填写不完整!

请补充完整!

");

}

else

MessageBox.Show("该学生已存在,请审核信息!

");

}

protectedvirtualvoidfrmViewInfo_Load(objectsender,EventArgse)

{

this。

dataGridViewInfo。

Rows。

Clear();

this.dataGridViewInfo.Columns。

Clear();

//this.dataGridViewInfo.EditMode=DataGridViewEditMode.EditOnEnter;

DataGridViewColumncol=null;

col=newDataGridViewTextBoxColumn();

col。

Name=”stuNum”;

col.HeaderText=”学号";

this。

dataGridViewInfo.Columns。

Add(col);

col=newDataGridViewTextBoxColumn();

col.Name="name”;

col.HeaderText=”姓名”;

this。

dataGridViewInfo。

Columns。

Add(col);

DataGridViewComboBoxColumncol0=newDataGridViewComboBoxColumn();

col0.FlatStyle=FlatStyle。

Flat;

col0。

HeaderText=”性别";

col0.Name=”sex”;

col0.Items.Add(”男”);

col0.Items。

Add(”女");

this.dataGridViewInfo。

Columns.Add(col0);

col=newDataGridViewTextBoxColumn();

col.Name=”birthday”;

col.HeaderText=”出生年月";

this。

dataGridViewInfo.Columns。

Add(col);

col=newDataGridViewTextBoxColumn();

col.Name="nat

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

当前位置:首页 > 高等教育 > 教育学

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

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