资源描述
学生信息管理系统课程设计57232
———————————————————————————————— 作者:
———————————————————————————————— 日期:
2
个人收集整理 勿做商业用途
课 程 设 计
课程名称
数据库系统原理与设计
题目名称
学生信息管理系统
专业班级
11级计算机科学与技术二班
学生姓名
梅小军
学 号
51102012004
指导教师
王磊
二○一三年六月十五日
目 录
摘 要 2
英文摘要 3
第一章 引言 4
1.1 课题研究背景 5
1。2 课题研究意义 5
第二章 7
2。1 学生信息管理系统的介绍 7
2。2.1 开发方案 7
2。2.2 模块设计及分析 7
第三章 9
3。1 数据库设计说明 9
3。2 数据库的完整性和安全性 9
3.3 登录模板设计 10
3。4 FormMain主界面设计 11
3。5 录入学生信息模块设计 15
3。6 删除学生信息模块设计 17
3。7 查找学生信息模块设计 18
3。8 修改学生信息模块设计 19
3。9 备份学生信息模块设计 20
3.10 还原学生信息模块设计 21
第四章 23
4.1 登录测试 23
4。2 录入测试 24
4。3 删除测试 25
4。4 查找测试 25
4。5 修改测试 26
4.6 备份测试 27
4.7 还原测试 28
第五章 总论 29
致 谢 30
参考文献 31
附录:程序清单 32
摘 要
学生信息管理系统是高等院校教务管理的重要组成部分,建立学生信息管理系统对评价教学质量、反馈教学效果、收集教学信息等方面起着重要的作用,对于稳定高校的教学秩序、促进教学改革,提高高校的教学质量和教学管理水平具有极为重要的意义。
本系统使用C#作为开发语言。对学生信息管理系统进行了需求分析,从主要功能、框架结构、设计模式、开发平台等多个方面完成了学生信息管理系统的总体设计。重点介绍了系统中系统管理,学生管理,课程管理,成绩管理,信息查询等模块的详细设计和技术实现;系统实现了学生档案信息,班级信息,课程信息,成绩信息的添加、修改、删除、查询等功能.
本系统界面简洁,实用性强,安全性高,各模块功能清晰,易于维护和使用,为教师和教学管理人员对教学监控提供了良好的帮助。
关键词:教务管理 学生信息管理系统
英文摘要
Title : Student Information Management System
Abstract: Student Information management is an important component of teaching administrative system in colleges。 A proper Student Information management system plays an important role in evaluating the quality of teaching, checking on the performance of students and teachers and collecting the information of teaching and learning。 And it can also help to keep the stability of teaching order, promote the reform of teaching and enhance both the quality of teaching and the standard of teaching management in college.个人收集整理,勿做商业用途个人收集整理,勿做商业用途
This system based on Eclipse and JAVA, According to the requirement of Student Information management, general analysis and design of the system was implemented, which consisted of main functions, framework structure, design mode, interface, development platform, running environment, etc. The whole system was divided into four main modules: Student Information management, Course Information management, Grade Information management and Searching the Information. And it can be completed daily student records, information on the courses, the results of information add, edit, delete, query, and other functions.个人收集整理,勿做商业用途个人收集整理,勿做商业用途
Additionally, the system has friendly interfaces, high practicability and security, clear function modules, easy maintenance and use, humanized services for teachers and managers as well。
keywords: Educational Administration Student Information Management System
第一章 引言
随着计算机技术的进步和人们对系统需求进一步提高,学校对于学生信息管理也相应提升。学校对于学生信息管理主要侧重于数据的更新快捷、准确、占用较少的人力资源,而达到的最大的办公效率。
本次设计所解决的主要问题就是如何通过设计一个切实可行的软件系统来解决目前学校对于学生管理存在的一系列问题.
该系统为学生信息管理系统,是鉴于目前学校快速发展,学校规模越来越大,学校与时俱进,课程不断改革,学生数量与课程数量都在迅速的增长,学生信息呈爆炸性增长的前提下,原始的手工管理耗费学生与工作人员大量的时间和精力,而效率与准确性却很低,学校对学生信息管理的自动化与准确化得要求日益强烈,为满足学校管理学生信息的需要,设计并完成该系统.系统完成后可用于学校学生信息管理,能够实现对学生信息进行存储、查询、修改等功能。
1。1 课题研究背景
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用.作为计算机应用的一部分,学生信息管理系统必定是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段.
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。
1。2 课题研究意义
管理信息系统就是我们常说的MIS,在强调管理,强调信息的现代社会中它越来越得到普及。MIS是一门新的学科,它跨越了若干个领域,比如管理科学、系统科学、运筹学、统计学及计算机科学。在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统.
其意义体现在以下四个方面:第一,管理本身就是一类复杂的智能行为,是一个知识运用和知识创新的过程;第二,现代的企事业管理迫切需要一个支持的信息管理的平台;第三,一个协同管理的平台是必不可少的;第四,企事业需要一个不断进行技术交流和培训的系统。
5
第二章
2。1 学生信息管理系统的介绍
学生信息管理系统主要分为四种模块:录入模块、删除模块、修改模块、查找模块.逐步对各个模块的代码书写,实现多种功能,让用户快速而便捷地使用学生信息管理系统。用户可以录入学生信息,输入学生的学号从而删除学生信息、查找学生信息、修改学生信息。
2.2.1 开发方案
本人计划编写一个人学生信息管理系统,主要功能是满足用户对学生信息的管理,包括录入、删除、修改、查询、备份、还原功能。
2。2.2 模块设计及分析
本次设计主要分为六种模块:录入模块、删除模块、修改模块、查找模块、备份模块、还原模块详细可以参考下图:
FormMain界面
用户登录
FormMain界面
操作指令
录 入 学 生 基 本 信 息
还原学生信息
备份学生信息
注 销 学 生 信 息 管 理 系 统
按 学 号 查 找 学 生 信 息
按
姓名查找学生信息
按 学 号 删 除 学 生 信 息
按 学 号 修 改 学 生 信 息
学生基本信息表
图2—1
第三章
本次设计和数据库紧密相连,首先我们根据题意设计相关的数据库以及相关的数据表(book,manager,user)。然后我们把这次的设计内容分成了若干个模块,逐次实现各个模块的功能,这样不仅便于功能的实现,而且外观美观,层次清晰。制作过程主要是页面的设计和相关代码的编写。
3。1 数据库设计说明
学生信息数据表
列名
数据类型
数据长度
允许null
备注
sno
nchar
9
不允许
学生学号
sname
nvarchar
20
允许
学生姓名
sex
nchar
2
允许
学生性别
birthday
nchar
10
允许
出生日期
图 3—1 学生信息数据表
用户登录表
列名
数据类型
数据长度
允许null
备注
username
nvarchar
10
允许
用户名
password
nvarchar
10
允许
登录密码
3-2用户登录表
3.2 数据库的完整性和安全性
数据库中关系模型完整性约束:实体完整性、参照完整性、和用户定义完整性.其实实体完整性和参照完整性是关系模型中必须满足的完整性条件。因此用户在使用数据库必须遵守完整性规则:实体完整性规则、参照完整性规则、用户定义完整性规则。在关系模型中以主码作为唯一标识,因此主码不能为空。总的来说数据库完整性是指数据的正确性和相容性。例如本系统中学生学号必须唯一;性别只能是男或女等。数据库是否具备完整性关系到数据库系统能否真实地反映现实世界,因此维护数据库的完整性是非常重要的。
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露,更改,或者破坏.安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题,只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全问题更为突出,系统安全保护措施是否有效是数据库系统的主要指标之一。
3。3 登录模板设计
为了系统的安全,在进入系统之前首先会出现一个登录模块,用户只有在输入正确的用户名和正确的密码之后,才能进入系统.
用户登录窗体中放置了两个文本框(textbox),用来输入用户名和密码;两个按钮(Button)用来登录、取消.
截图 1:
图 3—3 登录窗口
登录代码的关键部分和代码的简单说明:
private void btnlogin_Click(object sender, EventArgs e)
{
if (txtboxusername.Text == ”")
{
MessageBox.Show(”请输入用户名!”);
txtboxusername.Focus();
return;
}
if (txtboxpassword.Text == ””)
{
MessageBox。Show(”请输入密码!");
txtboxpassword。Focus();
return;
}
int count;
string name = txtboxusername。Text.Trim();//去掉空格
string psw = txtboxpassword。Text。Trim();
UserInformation u = new UserInformation(name,psw);
count = Dal。getUserInformation(u);
if (count == 1)
{
common。userloginname = txtboxusername。Text.Trim();
new formmain()。Show();
this.Hide();
}
else
{
txtboxusername。Text = "”;
txtboxpassword.Text = "”;
txtboxusername。Focus();
MessageBox.Show("错误的用户名或密码");
}
}
3.4 FormMain主界面设计
登陆成功后即可进入FormMain主界面模块。窗体名称为学生信息管理系统,有两大主要控件:系统、数据操作、数据管理。其中系统中包括注销,退出按钮。 点击注销按钮返回到登录界面,点击退出按钮退出学生管理系统;点击按钮进入到操作指令(录入学生信息、删除学生信息、查找学生信息、修改学生信息、备份、还原)按钮,点击一下进入到各个窗口,使用相应的功能。
截图2:
图 3—4 学生信息管理系统
图 3-5学生信息管理系统
图 3—6 学生信息管理系统
设计FormMain主界面的关键代码和代码的简单说明:
public partial class formmain : Form
{
public formmain()
{
InitializeComponent();
}
BindingSource bs = new BindingSource();
private void formmain_Load(object sender, EventArgs e)
{
mybind();
lbltip。Text = common.userloginname;
}
private void btnfirst_Click(object sender, EventArgs e)
{
bs。MoveFirst();
}
private void btnlast_Click(object sender, EventArgs e)
{
bs.MoveLast();
}
private void btnprevious_Click(object sender, EventArgs e)
{
bs.MovePrevious();
}
private void btnnext_Click(object sender, EventArgs e)
{
bs。MoveNext();
}
private void formmain_FormClosing(object sender, FormClosingEventArgs e)
{
Application.Exit();
}
private void 注销ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Hide();
new formlogin().Show();
}
private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
Application。Exit();
}
private void 增加ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (new formaddstudent()。ShowDialog() == DialogResult。OK)
{
mybind();
}
}
public void mybind()
{
bs.DataSource = DAL。Dal.returnDataTable();
dgv.DataSource = bs;
}
private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (new formdeletestudent().ShowDialog() == DialogResult。OK)
{
mybind();
}
}
private void 查找ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (new forsearchstudent().ShowDialog() == DialogResult.OK)
{
mybind();
}
}
}
3.5 录入学生信息模块设计
创建一个新的窗体Form2,,将Form2改名为录入学生信息,在该窗体中设置控件,点击其中的控件按钮进入相应代码编写的地方,进行代码的编写。
截图 3:
图3-7录入学生信息
代码编写要点:
if (txtboxsno.Text == ””)
{
MessageBox.Show("学号不能为空");
txtboxsno.Focus();
return;
}
if (txtboxname.Text == "”)
{
MessageBox.Show("姓名不能为空");
txtboxname.Focus();
return;
}
string sno = txtboxsno。Text;
string sname = txtboxname。Text;
string sex = cmbboxsex。Text;
string day = txtboxbirthday。Text;
StudentInformation student = new StudentInformation(sno, sname, sex, day);
// DAL。StudentDAO。insertStudent(student);
DAL。StudentDAO。insertStudent(student);
txtboxsno。Text = ””;
txtboxname。Text = "”;
txtboxbirthday。Text = ””;
lbltip.Text = "数据已经存入数据库”;
3。6 删除学生信息模块设计
创建一个新的窗体,,将该窗体命名为删除学生信息,在该窗体中设置控件,点击其中的控件按钮进入相应代码编写的地方,进行代码的编写。将各个控件中属性名改为易于识别名字,这样在编写代码时不会被混淆。
删除学生信息是已知学号进行删除的.系统通过录入功能录入了学生信息,在通过输入学号与后台数据库中已存的学号进行比较,若相等则删除,否则不删除并给出相应提示。
截图4:
图3-8删除学生信息
代码编写要点:
删除当前学生实现代码
if(txtboxsno.Text=="”)
{
MessageBox.Show("请输入要删除学生的学号”);
txtboxsno.Focus();
return;
}
//还要进一步判断输入的学号在数据库中有没有。没有则 无法删除
DAL.StudentDAO。deleteStudent(txtboxsno。Text。Trim());
MessageBox.Show("删除成功!”);
txtboxsno.Text = ”";
txtboxsno。Focus();
清空数据库代码
DialogResult dr = MessageBox。Show(”请确认要清空数据库吗?","警告”,MessageBoxButtons.OKCancel,MessageBoxIcon。Information);
if (dr == DialogResult。OK)
{
DAL.StudentDAO。clearDatabase();
}
else
{
}
3。7 查找学生信息模块设计
查找学生信息是以知道学生的学号为前提,只要后台数据库中已经录入一些学生的信息,正确输入学生学号即可查找到要查找的学生信息。实现这个功能,首先要创建一个窗体,设置一些控件.点击这些控件进行代码的编写。下面是查找学生信息模块的截图。
截图 5:
图3-9 查询学生信息
查询关键代码的设计:
(1)按学号查询:
if (txtboxsno。Text == ””)
{
MessageBox。Show("请输入要查询学生的学号”);
txtboxsno。Focus();
return;
}
else
{
bs.DataSource = DAL.StudentDAO.searchBySno(txtboxsno。Text.Trim());
dgv.DataSource = bs;
txtboxsno.Text = ””;
txtboxsno.Focus();
(2)按姓名查找:
if (txtboxsname.Text == "”)
{
MessageBox.Show(”请输入要查询学生的姓名");
txtboxsname.Focus();
return;
}
else
{
bs.DataSource = DAL.StudentDAO.searchBySname(txtboxsname。Text。Trim());
dgv.DataSource = bs;
txtboxsname.Text = ””;
txtboxsname.Focus();
}
3。8 修改学生信息模块设计
用户录入学生信息之后并且发现录入有误,这时就可以使用修改功能.点击修改按钮进入修改界面,输入要修改的学生的学号,再修改学生的其他的信息。
点击确定按钮,进入编辑位置,进行代码的编写。下面是修改界面的的截图。
截图 6 :
图 3-10 修改学生信息
修改关键代码的设计:
点击确定按钮进入编写代码位置,进行代码编写。
string sno = txtboxsno。Text。Trim();
string sname = txtboxsname.Text。Trim();
string ssex = cmbsex。Text。Trim();
string sbirthday = txtboxday。Text.Trim();
DAL.StudentDAO.modify(sno, sname,ssex,sbirthday);
this.DialogResult = DialogResult。OK;
MessageBox。Show("修改成功!”, ”提示");
3。9 备份学生信息模块设计
用户进入学生信息管理系统之后想备份数据库,这时就可以使用备份功能。点击数据库管理按钮进入备份界面,输入备份名称、存储路径。
点击确定按钮,进入备份,进行代码的编写。下面是备份界面的的截图。
截图7:
图 3-11 修改学生信息
备份关键代码的设计:
点击确定按钮进入编写代码位置,进行代码编写.
if (txtdocname.Text == ””)
MessageBox。Show("请选择备份文件文件!”);
else
{
string strdocpath = docpath。SelectedPath;
string strdocname = txtdocname。Text。Trim();
string path = string。Concat(strdocpath, strdocname);
DAL.Dal.DatabaseBackup(path);
MessageBox.Show(”备份成功!");
this.Close();
}
3.10 还原学生信息模块设计
用户进入学生信息管理系统之后想还原数据库,这时就可以使用还原功能。点击数据库管理按钮进入还原界面,输入还原的路径。
点击还原按钮,进入还原,进行代码的编写。下面是还原界面的的截图.
截图8:
图 3—12 还原学生信息
还原关键代码的设计:
点击确定按钮进入编写代码位置,进行代码编写。
if (txtpath.Text == "”)
MessageBox。Show(”请选择要还原的文件!");
else
{
string strdocpath = txtpath。Text.ToString()。Trim();
string path = string。Concat(strdocpath);
DAL.Dal.DataRevert(path);
MessageBox。Show("还原成功!”);
this。Close();
}
第四章
4.1 登录测试
图4-1 登录测试
输入用户名和密码,进入学生信息管理系统:
图4—2登录测试
4.2 录入测试
现在系统中有八个学生信息,使用录入功能录入一个学号为“2012008号”的学生信息,如图所示:
图 4-3 录入测试
录入后显示的内容:
图 4-4录入测试
4。3 删除测试
上图已存在六个学生的信息,现要删除学号为”2012008号“的学生信息。操作结果如图所示:
图4-5 删除测试
4。4 查找测试
查询学号为”2012003号“学生的信息,查询结果如图所示:
图4—6 查找测试
查找姓名为李小红查询结果如下:
图4—7 查找测试
4.5 修改测试
修改学号为”2012003号“的学生信息.如图所示:分别将姓名、性别、出生日期中信息改为“王宝强、男、1990-12-01”。修改后的结果如图所示:
图4-8 修改学生信息
4。6 备份测试
图4—9 备份学生信息
4.7 还原测试
图4—10 还原学生信息
第五章 总论
这次学生信息管理系统真是让我绞尽脑汁,经过了好几个星期才做好。其实开发系统在我们现在看来已经不是难事,难的是如何去构思,如何去想.
由于本人是初次开发软件,在知识、经验方面都存在着不足.另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对学生信息管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。
尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。通过开发这个系统,我掌握了的项目基本开发过程,用到的知识巩固了我对C#语言的学习,但在这次设计中的最大收获并不是掌握这几门开发工具的应用,
展开阅读全文