学生信息管理系统课程设计报告Word文档格式.docx
《学生信息管理系统课程设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统课程设计报告Word文档格式.docx(30页珍藏版)》请在冰豆网上搜索。
![学生信息管理系统课程设计报告Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/2/c2c04b25-815b-42d9-9012-a3b1bb39e0a3/c2c04b25-815b-42d9-9012-a3b1bb39e0a31.gif)
及时的增加删减课程信息,方便安排学生所要学习的课程和学校进行统一管理。
5、对不同班级的课程安排,需要包括对不同班级安排课程的相关操作。
6、对学生课程成绩的存档,便于日后老师对不同学生的学习进行分析,找出学生的不足之处,提高学生的学习能力。
7、需要对班级之间成绩的评比,分析班级与班级之间的差距,并缩小差距。
2系统结构分析
2.1需求分析
目前随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长,需要学校统一管理的数据也越来越多,管理的难度大大增加。
面对大量的数据,学校管理者要做的工作实在是太繁杂,因此设计一个学生信息管理系统的必要性显而易见。
管理者需要对学生信息进行规范管理、科学统计和快速查询、修改、增加、删除等操作,从而减少管理方面的工作量。
本系统可以满足学校管理者的需求,解决大部分学校在学生信息管理上所面临的难题。
经过综合分析,确定该系统包括以下功能:
1、基础资料管理
基础资料管理包括对院系、班级和学期的设置。
该模块可实现以下功能:
添加、修改、删除和显示院系代码、院系名称和电话号码。
添加、修改、删除和显示班级代码、班级名称、学生人数和所属院系名。
添加、修改、删除和显示学期代码、学期名称。
2、学生信息管理
学生信息管理包括对学生档案和学籍的管理。
添加、修改、查询和显示学生的基本信息、所属班级和院系。
记录学生学籍、学生离校信息和学生调动信息。
3、课程信息管理
课程信息管理包括对课程设置和班级选课的管理。
添加、修改、删除和显示课程代码、课程名称、学分和院系名称。
添加、删除和提交班级所选课程。
4、成绩信息管理
成绩信息管理包括对成绩录入和成绩分析的管理。
录入班级课程成绩,以不同形式(列表统计、图表分析)显示班级课程成绩。
2.2功能模块图
该系统主要包括四个模块基础信息模块、学生管理信息模块、课程管理信息模块和成绩管理信息模块。
基础信息管理模块主要是对学校院系、班级和学期的管理,其中包括院系、班级、学期信息的添加、删除和修改等相关操作。
学生管理信息模块主要是对学生入学后的信息添加、查询和修改,同时需要对学生身份进行注册;
对离校学生的信息进行保留存档,并注明留校信息,以便以后多资料进行查阅。
课程管理信息模块主要是对学校课程信息的添加、删除和修改。
对不同班级的课程安排进行操作。
成绩管理信息模块主要是对学生课程成绩的存档,便于日后老师对不同学生的学习进行分析,找出学生的不足之处,提高学生的学习能力;
对班级之间成绩的分析,老师查看找到差距所在,采取相应措施缩小差距。
1、根据上述的功能,可以设计出系统的总体功能模块,如图2.1所示。
图2.1学生信息管理系统结构功能分析图
2、基础信息管理模块中包括院系管理子模块、班级管理子模块和学期管理子模块,其功能如下图2.2所示。
图2.2基础信息管理模块功能图
3、学生管理信息模块中包含学生档案管理和学籍信息管理,其功能如下图2.3所示。
图2.3学生管理信息模块功能图
4、课程管理信息模块中包含课程设置管理和班级选课管理,其功能如下图2.4所示。
图2.4课程管理信息模块功能图
5、成绩管理信息模块中包含成绩录入管理和成绩分析管理,其功能如下图2.5所示。
图2.5成绩管理信息模块功能图
3数据库设计
3.1概念结构设计
根据需求分析抽象出信息结构,可得该系统的E-R图。
1、实体名:
院系
属性:
院系代码院系名称联系电话
院系实体E-R图如下图3.1所示。
图3.1院系E-R图
2、实体名:
班级
班级代码班级名称所属院系学生人数
班级实体E-R图如下图3.2所示。
图3.2班级E-R图
3、实体名:
学生
学号姓名性别年龄民族籍贯入学时间政治身份
学生实体E-R图如下图3.3所示。
图3.3学生E-R图
4、实体名:
课程
课程代码课程名称学分院系名称
课程实体E-R图如下图3.4所示。
图3.4课程E-R图
5、实体名:
选课
属性:
院系名称班级名称学期名称课程名称选课数
6、实体名:
学期
学期代码学期名称
7、实体名:
成绩
班级名称学号课程名成绩
8、实体名:
学生调动
调动编号调动时间学号原院系现院系原班级现班级调动时间
9、实体名:
学生离校
离校编号学号院系班级离校种类离校时间
3.2逻辑结构设计
根据上述的概念结构设计出逻辑结构,将E-R图转换为关系模型。
学生信息管理数据库包含以下9个表:
学期信息表Semester、班级信息表Class、院系信息表Department、课程信息表Course、选课信息表SelectClass、成绩信息表Score、学生信息基本信息表Student、学生调动信息表StudentMove和学生离校信息表StudentLeave。
以下列出了班级信息表、课程信息表、成绩信息表和学生基本信息表的基本情况,其他表的基本定义情况类似。
1、班级信息表
表3-1班级信息表
列名
数据类型
长度
备注
班级编号
char
5
主键
班级名称
varchar
50
无
所属院系
学生人数
smallint
2
2、课程信息表
表3-2课程信息表
课程代码
10
课程名称
学分
tinyint
1
3、成绩信息表
表3-3成绩信息表
列名
20
学生学号
6
4、学生基本信息表
表3-4学生基本信息表
学号
姓名
性别
年龄
照片
籍贯
民族
政治身份
smalldatetime
4
入学时间
3.3数据库表的创建
在设计数据库表结构之前,首先要创建一个学生管理数据库。
本系统是在SQLServer2000的数据库平台上创建的。
按照以上表的字段和长度、数据类型等设计表格。
然后在表格中添加元组,最后结果如图3.5至图3.9所示。
图3.5院系信息表
图3.6班级信息表
图3.7选课信息表
图3.8课程信息表
图3.9成绩信息表
4系统实现
4.1系统功能模块设计
主界面可以用来选择是对基础资料、学生管理、课程管理和成绩管理中哪个来进行操作,或者是退出该系统。
主界面的控件设置和说明表4-1所示[3]。
表4-1主界面控件设置及其说明
控件ID号
说明
IDC_btnExit
“退出”按钮
IDC_button1
“院系”按钮
IDC_button2
“学期”按钮
IDC_button3
“班级”按钮
IDC_button4
“学生档案”按钮
IDC_button5
“课程设置”按钮
IDC_button7
“班级选课”按钮
IDC_button8
“成绩录入”按钮
IDC_button9
“成绩分析”按钮
IDC_button10
“学籍管理”按钮
IDC_pictureBox1
主界面背景图案控件
IDC_tabControl1
菜单栏
IDC_tabPage1
基础资料模块界面
IDC_tabPage2
学生管理模块界面
IDC_tabPage3
成绩管理模块界面
IDC_tabPage4
课程管理模块界面
主界面中各控件的实现根据可得[4]。
“院系”按钮的实现部分代码如下:
privatevoidbutton1_Click(objectsender,System.EventArgse)
{
FormFormDep=newDepartment();
FormDep.Show()
}
“学期”按钮的实现部分代码如下:
privatevoidbutton2_Click(objectsender,System.EventArgse)
FormFormDep=newSemester();
FormDep.Show();
}
“退出”按钮的实现部分代码如下:
privatevoidbutton6_Click(objectsender,System.EventArgse)
Application.Exit();
控件设置如下图4.1所示。
图4.1主界面的控件设置
4.2基础资料模块设计
基础资料模块中包含班级、院系和学期的管理操作。
以下是对班级进行管理操作的对话框控件设置和说明的情况。
如下表4-2所示。
表4-2班级管理对话框控件设置及其说明
IDC_label1
表示“班级代码”静态文本框
IDC_label2
表示“班级名称”静态文本框
IDC_label3
表示“学生人数”静态文本框
IDC_label4
表示“院系名称”静态文本框
IDC_groupBox1
组框一
IDC_groupBox2
组框二
IDC_btnAdd
“添加”按钮
IDC_btnModify
“修改”按钮
IDC_btnDelete
“删除”按钮
IDC_btnCancel
“取消”按钮
IDC_btnCancelAll
“全部取消”按钮
IDC_btnApply
“确定”按钮
IDC_dataGrid1
显示数据框
IDC_textClaID
班级代码编辑框
IDC_textClaName
班级名称编辑框
IDC_textStuNum
学生人数编辑框
IDC_comboDep
院系名称下拉列表框
基础资料模块用户界面中各控件的实现[5][6]。
“删除”按钮的实现代码如下:
privatevoidbtnDelete_Click(objectsender,System.EventArgse)
{//删除记录
if((this.BindingContext[this.DataSetDep,"
Department"
].Count>
0)&
(MessageBox.Show("
真的要删除此记录吗"
"
确定删除"
MessageBoxButtons.OKCancel,MessageBoxIcon.Question).Equals(DialogResult.OK)))
{
intposition=this.BindingContext[this.DataSetDep,"
].Position;
this.BindingContext[this.DataSetDep,"
].RemoveAt(position);
}
else
return;
try
{//当前记录的编辑
].EndCurrentEdit();
if(this.conn1.State==ConnectionState.Closed)
this.conn1.Open();
SqlCommandBuildercommandbuilder1=newSqlCommandBuilder(this.sqlDataAdapter1);
this.sqlDataAdapter1.Update(this.DataSetDep,"
);
this.DataSetDep.AcceptChanges();
this.dataGrid1.Refresh();
catch(ExceptionE)
this.ErrorHandle(E);
finally
this.conn1.Close();
this.Buttons_Control(false);
}
“确定”按钮的实现代码如下:
privatevoidbtnApply_Click(objectsender,System.EventArgse)
{//确定按钮实现当前编辑记录的添加
try
{
this.sqlDataAdapter1.Update(this.DataSetDep,"
this.DataSetDep.AcceptChanges();
this.dataGrid1.Refresh();
catch(ExceptionE)
this.ErrorHandle(E);
finally
this.conn1.Close();
this.Buttons_Control(false);
}
控件设置如下图4.2所示。
图4.2院系管理界面控件设置
4.3课程管理模块设计
课程管理模块设计包含对课程设置及班级选课进行管理操作。
以下表4-3表4-4分别为课程设置对话框和班级选课对话框的控件设置和说明。
表4-3课程设置对话框控件设置及其说明
表示“课程代码”静态文本框
表示“课程名称”静态文本框
表示“学分”静态文本框
组合框一
组合框二
课程代码编辑框
课程名称编辑框
IDC_textStuNum
学分编辑框
课程管理模块课程设置用户界面中各控件的实现[7]。
“添加”按钮实现代码如下:
privatevoidbtnAdd_Click(objectsender,System.EventArgse)
this.Buttons_Control(true);
this.BindingContext[this.DataSetDep,"
Course"
].AddNew();
“取消”按钮实现代码如下:
privatevoidbtnCancel_Click_1(objectsender,System.EventArgse)
{//取消按钮取消当前记录的编辑
try
{
this.BindingContext[this.DataSetDep,"
].CancelCurrentEdit();
}
catch(System.ExceptionE)
this.ErrorHandle(E);
控件设置如下图4.3所示。
图4.3课程设置界面控件设置
表4-4班级选课对话框控件设置及其说明
表示“课程”静态文本框
表示“学期”静态文本框
表示“班级”静态文本框
表示“院系”静态文本框
IDC_comboDepartment
院系下拉列表框
IDC_comboClass
班级下拉列表框
IDC_comboSemester
学期下拉列表框
IDC_comboCourse
课程下拉列表框
IDC_btnOk
“确定”院系、班级、学期按钮
“确定”课程按钮
“提交”按钮
课程管理模块班级选课用户界面中各控件的实现根据参考文献[2][4][5][6]可得。
“确定”按钮实现代码如下:
privatevoidbtnOk_Click(objectsender,System.EventArgse)
if(boDepartment.Text=="
"
|boSemester.Text=="
|boClass.Text=="
)
MessageBox.Show("
院系、班级和学期不能为空"
return;
//必选选择院系,班级和学期
this.department=boDepartment.Text;
this.classname=boClass.Text;
this.semester=boSemester.Text;
//用类属性记录院系、班级和学期
this.selectStr="
select*fromSelectCoursewhereDepartment="
+"
'
+department+"
;
this.selectStr+="
andClass="
+this.classname+"
andSemester="
+this.semester+"
this.sqlDataAdapter1=newSqlDataAdapter(this.selectStr,this.conn1);
this.DataSetDep.Clear();
this.sqlDataAdapter1.Fill(this.DataSetDep,"
SelectCourse"
//填充数据集
this.ListBox_Fill();
//显示此班级此学期已经选择的课程
this.btnAdd.Enabled=true;
this.btnDelete.Enabled=true;
this.btnApply.Enabled=true;
“删除”按钮实现代码如下:
privatevoidbtnDelete_Click(objectsender,S