学生管理信息系统课程设计报告.docx
《学生管理信息系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《学生管理信息系统课程设计报告.docx(27页珍藏版)》请在冰豆网上搜索。
学生管理信息系统课程设计报告
《数据库系统应用课程设计》
课程设计报告
设计题目:
学生成绩管理系统__
专业(方向):
信息管理与信息系统
年级、班:
xxxxxxxxx
学生学号:
xxxxxxxxxx
学生姓名:
XX
指导教师:
XXX
2017年12月17日
摘要
本文描述的是基于Windows环境的学生管理系统,主要功能模块包括学生信息的添加、修改、查找、删除。
主要工具MicrosoftVisualStudio2010设计窗体,SQLserver2008建立数据库,实现学生信息管理的基本功能。
本篇报告介绍一个学生信息管理系统的从分析到设计最后到实现的全过程,给出了学生信息管理系统的设计和技术实现的过程,特别在细节上分析功能和函数的实现思想。
涉及到雪上信息管理的基本功能在本报告中都有描述。
Abstract
DescribedinthispaperisbasedontheWindowsenvironmentmanagementsystemforstudents,themainfunctionmodulesincludestudentinformationtoadd,modify,delete,search.ThemaintoolofMicrosoftVisualStudio2010SQLServer2008designform,database,informationmanagementstudentstoachievethebasicfunction.
Thisreportdescribesastudentinformationmanagementsystemfromanalysistodesigntothefinalrealizationoftheentireprocess,givesthestudentinformationmanagementsystemdesignandrealizationprocess,especiallyinthedetailsofanalysisfunctionandthefunctionoftherealizationofideas.Relatetothesnowonthebasicfunctionsofinformationmanagementinthisreportaredescribed.
关键词数据库,添加,修改,查找,删除
学生信息管理系统
一、概述
本文描述的是基于Windows环境的学生管理系统,主要功能模块包括学生信息的添加、修改、查找、删除。
主要工具MicrosoftVisualStudio2010设计窗体,SQLserver2008建立数据库,实现学生信息管理的基本功能。
(一)、设计目的
本课程设计的目的是使学生能熟练掌握简单的Window窗体应用程序的设计和ADD.net的应用,希望通过本次的锻炼学生实用c#语言解决实际问题的能力。
(二)、开发工具的选择
MicrosoftVisualStudio(简称VS)是美国微软公司的开发工具包系列产品。
VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。
所写的目标代码适用于微软支持的所有平台,包括MicrosoftWindows、WindowsMobile、WindowCE、.NETFramework、.NETCompactFramework和MicrosoftSilverlight及WindowsPhone。
VisualStudio是目前最流行的Windows平台应用程序的集成开发环境。
最新版本为VisualStudio2015版本,基于.NETFramework4.5.2。
二、需求分析
(一)、功能需求的分析
本系统的功能需求分析如下:
系统用户:
用户,密码,退出。
学生基本信息:
学号,姓名,性别,电话,班号,生日,住址。
班级信息:
班号,年级,班主任。
课程基本信息:
课程号,课程名,课程类别,学分。
学生成绩信息:
学号,班号,课程类型,学分。
(二)、性能需求分析
(1)登录、用户界面需求:
简洁、易懂、易用、有好的用户界面
(2)安全保密需求:
只有凭借用户名和密码登录系统,才能进行信息的管理。
三、总体设计
(一)、系统总体结构及功能模块划分
经过对系统的需求分析,学生信息管理系统主要划分为:
系统管理,学生信息管理,班级信息管理,课程信息管理,学籍信息管理,成绩信息管理六个模块,如图3.1所示。
图3.1系统的总体结构
1、系统管理模块
系统用户:
这里面包含添加用户,修改密码,退出系统三个小部分,如图3.1.1所示。
图3.1.1系统用户模块结构
2、学生信息管理模块
学生信息管理:
主要是用于学生信息更新、插入、删除,如图3.1.2所示。
图3.1.2学生信息管理模块结构
3、班级信息管理模块
班级信息管理:
添加班级信息,修改班级信息,如图3.1.3所示。
图3.1.3班级信息管理模块结构
4、课程信息管理模块
课程信息管理:
添加课程信息,修改课程信息,设置课程信息,如图3.1.4所示。
图3.1.4课程信息管理模块结构
5、成绩信息管理模块
成绩信息管理:
添加成绩信息,修改成绩 信息,查询成绩信息,如图3.1.5所示。
图3.1.5成绩信息管理模块结构
(二)、系统数据库概念结构设计
信息表设计:
1、学生信息表
如表1所示。
表1学生信息表
列名
数据类型
长度
备注
学号
Char
8
主键
姓名
string
20
无
性别
Enumeration
1
无
生日
Datatime
10
无
照片
Byte
50
无
联系电话
Varchar
20
无
地址
string
20
无
3.2.2班级信息表如表2所示。
表2班级信息表
列名
数据类型
长度
备注
班号
char
5
主键
班级名称
String
10
无
班主任
String
5
无
3.2.3课程信息表如表3所示。
表3课程信息表
列名
数据类型
长度
备注
课程号
Char
5
主键
课程名称
String
10
无
课程类型
string
5
无
学分
int
5
无
3.2.4成绩信息表如表4所示。
表4成绩信息表
列名
数据类型
长度
备注
学号
Char
10
主键
课程号
Char
5
主键
成绩类型
String
5
无
分数
float
5
无
3.2.5用户信息表如表5所示。
表5用户信息表
列名
数据类型
长度
备注
登录ID
char
5
主键
登录名
String
10
无
用户名
String
10
无
密码
String
10
四、详细设计
(一)、系统管理功能模块的实现
创建一个FormSystemMessage窗体,实现添加用户、删除用户、修改密码、退出系统的功能。
publicpartialclassFormSystemMessage:
Form
{
publicFormSystemMessage()
{
InitializeComponent();
}
privatevoidoperatorBindingNavigatorSaveItem_Click(objectsender,EventArgse)
{
this.Validate();
this.operatorBindingSource.EndEdit();
this.tableAdapterManager.UpdateAll(this.dataSetUserPassword);
}
DataSetUserPassworddsp=newDataSetUserPassword();
DataSetUserPasswordTableAdapters.OperatorTableAdapterdsup=
newDataSetUserPasswordTableAdapters.OperatorTableAdapter();
privatevoidFormSystemMessage_Load(objectsender,EventArgse)
{
//TODO:
这行代码将数据加载到表“dataSetUserPassword.Operator”中。
您可以根据需要移动或删除它。
this.operatorTableAdapter.Fill(this.dataSetUserPassword.Operator);
dsup.Fill(dsp.Operator);
dataGridViewSystemMessage.DataSource=dsp.Operator;
}
privatevoidbuttonDelete_Click(objectsender,EventArgse)
{
DataSetUserPassword.OperatorRowrow=(DataSetUserPassword.OperatorRow)
(((DataRowView)dataGridViewSystemMessage.CurrentRow.DataBoundItem).Row);
if(MessageBox.Show("您确定要删除这个用户吗?
","确定提示")==DialogResult.No)
return;
row.Delete();
}
privatevoidbuttonAdd_Click(objectsender,EventArgse)
{
if(string.IsNullOrEmpty(nameTextBox.Text))
{
MessageBox.Show("用户名不能为空","错误提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
return;
}
if(string.IsNullOrEmpty(passwordTextBox.Text))
{
MessageBox.Show("密码不能为空","错误提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
return;
}
DataSetUserPassword.OperatorRowrow=dsp.Operator.NewOperatorRow();
row.Name=nameTextBox.Text;
row.Password=passwordTextBox.Text;
dsp.Operator.AddOperatorRow(row);
}
privatevoidbuttonSave_Click(objectsender,EventArgse)
{
try
{
dsup.Update(dsp.Operator);
MessageBox.Show("数据保存成功","提示信息",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message,"提示信息",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
privatevoidbuttonExit_Click(objectsender,EventArgse)
{
Application.Exit();
}
}
}
(二)、学生信息管理模块的实现
4.2.1.“学生信息管理”窗体的实现如图4.2.1所示。
图4.2.1“学生信息管理”窗体
在构造函数前添加数据库上下文对象,并在构造函数中增加以下代码
ScoreManContextdb=newScoreManContext();
publicFormClass()
{
InitializeComponent();
db.Studentes.Load();
studentBindingSource.DataSource=db.Studentes.Local;
}
“新添”按钮代码实现如下
privatevoidbindingNavigatorAddNewItem_Click(objectsender,EventArgse)
{
Studentstudent=newCourse();
course.Id=Guid.NewGuid();
FormEditCourseformEdit=newFormEditCourse(course);
if(formEdit.ShowDialog()==DialogResult.OK)
{
courseBindingSource.Add(course);
courseBindingSource.EndEdit();
db.SaveChanges();
}
}
“删除”按钮代码实现如下
privatevoidbindingNavigatorDeleteItem_Click(objectsender,EventArgse)
{
if(studentBindingSource.Current==null)return;
if(Dialogs.ShowConfirm("你确定删除吗")==DialogResult.Yes)
{
studentBindingSource.RemoveCurrent();
db.SaveChanges();
}
}
“编辑”按钮代码实现如下
privatevoidtoolStripEdit_Click(objectsender,EventArgse)
{
if(studentBindingSource.Current==null)return;
Studentstudent=studentBindingSource.CurrentasStudent;
FormStudentEditformEdit=newFormStudentEdit(student);
if(formEdit.ShowDialog()==DialogResult.OK)
{
studentBindingSource.EndEdit();
db.SaveChanges();
}else
{
db.Entry(student).Reload();
studentBindingSource.ResetBindings(false);
}
}
4.2.2.“编辑学生信息”窗体设计如图4.2.2所示。
图4.2.2“编辑学生信息”窗体设计
在该窗体中“选择照片”按钮代码实现如下
privatevoidbuttonSelectPicture_Click(objectsender,EventArgse)
{
OpenFileDialogopenDialog=newOpenFileDialog();
openDialog.Filter="所有图片(*.jpg;*.png;*.bmp;*.gif)|*.jpg;*.png;*.gif;*.bmp";
if(openDialog.ShowDialog()==DialogResult.OK)
{
photoPictureBox.Image=
Image.FromFile(openDialog.FileName);
}
}
“确定”按钮代码实现如下
privatevoidbuttonOK_Click(objectsender,EventArgse)
{
if(ValidateData())
{
DialogResult=DialogResult.OK;
}
}
“取消”按钮代码实现如下
privatevoidbuttonCancel_Click(objectsender,EventArgse)
{
DialogResult=DialogResult.Cancel;
}
(三)、班级信息管理模块的实现
4.3.1.“班级信息管理”窗体设计如图4.3.1所示。
图4.3.1“班级信息管理”窗体设计
在构造函数前添加数据库上下文对象,并在构造函数中增加以下代码
ScoreManContextdb=newScoreManContext();
publicFormClass()
{
InitializeComponent();
db.Classes.Load();
classBindingSource.DataSource=db.Classes.Local;
}
“新添”按钮代码实现如下
privatevoidbindingNavigatorAddNewItem_Click(objectsender,EventArgse)
{
Classclasses=newClass();
classes.Id=Guid.NewGuid();
FormEditClassformEdit=newFormEditClass();
if(formEdit.ShowDialog()==DialogResult.OK)
{
classBindingSource.Add(classes);
classBindingSource.EndEdit();
db.SaveChanges();
}
“删除”按钮代码实现如下
privatevoidbindingNavigatorDeleteItem_Click(objectsender,EventArgse)
{
if(classBindingSource.Current==null)
return;
classBindingSource.RemoveCurrent();
db.SaveChanges();
Dialogs.ShowMessage("删除成功");
}
“编辑”按钮代码实现如下
privatevoidtoolStripButton1_Click(objectsender,EventArgse)
{
if(classBindingSource.Current==null)
return;
Classclasses=classBindingSource.CurrentasClass;
FormEditClassformEdit=newFormEditClass();
if(formEdit.ShowDialog()==DialogResult.OK)
{
db.SaveChanges();
}
else
{
db.Entry(classes).Reload();
}
}
4.3.2.“编辑班级信息”窗体如图4.3.2所示。
图4.3.2“编辑班级信息”窗体设计
“确定”按钮代码实现如下
privatevoidbuttonOK_Click(objectsender,EventArgse)
{
if(ValidateData())
{
DialogResult=DialogResult.OK;
}
}
“取消”按钮代码实现如下
privatevoidbuttonCancel_Click(objectsender,EventArgse)
{
DialogResult=DialogResult.Cancel;
}
(四)、课程信息管理模块的实现
4.4.1.“课程信息窗体”设计如图4.4.1所示。
图4.4.1“课程信息窗体”设计
在构造函数前添加数据库上下文对象,并在构造函数中增加以下代码
ScoreManContextdb=newScoreManContext();
publicFormClass()
{
InitializeComponent();
db.Courses.Load();
courseBindingSource.DataSource=db.Courses.Local;
}
“新添”按钮实现代码如下
privatevoidbindingNavigatorAddNewItem_Click(objectsender,EventArgse)
{
Coursecourse=newCourse();
course.Id=Guid.NewGuid();
FormEditCourseformEdit=newFormEditCourse(course);
if(formEdit.ShowDialog()==DialogResult.OK)
{
courseBindingSource.Add(course);
courseBindingSource.EndEdit();
db.SaveChanges();
}
}
“删除”按钮实现代码如下
privatevoidbindingNavigatorDeleteItem_Click(objectsender,EventArgse)
{
if(courseBindingSource.Current==null)
return;
courseBindingSource.RemoveCurrent();
db.SaveChanges();
Dialogs.ShowMessage("删除成功");
}
“编辑”按钮实现代码如下
privatevoidtoolStripButtonEdit_Click(objectsender,EventArgse)
{
if(courseBindingSource.Current==null)
return;
Coursecourse=courseBindingSource.CurrentasCourse;
FormEditCour