数据库实训报告.docx
《数据库实训报告.docx》由会员分享,可在线阅读,更多相关《数据库实训报告.docx(28页珍藏版)》请在冰豆网上搜索。
数据库实训报告
计算机与软件工程学院
数据库原理及应用
课程设计报告
课题名称:
学生信息管理系统
专业:
计算机与科学技术
班级:
姓名:
学号:
指导老师:
2016年6月14号
课程设计任务及进度表
课题
名称
学生信息管理系统
设计
目的
通过对管理系统的设计与开发,了解了数据库的设计与开发的全过程,达到巩固数据库理论知识、锻炼实践能力与构建合理知识结构的目的。
实验
环境
操作系统:
Windows7;
数据库管理系统:
SQLServer2008;
编程环境:
NET、ASP
任务
要求
1、搜集学生信息管理问题方面的资料,进行需求分析;
2、完成概念设计、逻辑设计等各阶段的设计;
3、编写程序代码,系统调试;
4、撰写课程设计报告;
5、参加答辩。
工作进度计划
序号
起止日期
工作内容
1
2016、6、02~2016、6、12
查询资料、选择课题
2
2016、6、13~2016、6、13
需求分析、总体设计
3
2016、6、14~2016、6、16
系统整体设计、编写程序代码、调试程序
4
2016、6、17~2016、6、19
撰写课程设计报告
摘要
该项目开发的软件为学校学生信息管理系统软件,就是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理、
目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也就是有了很大的发展,商业化的学生信息管理软件也不少、但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作学生信息管理系统就是一个教育单位不可缺少的部分,它的内容对于学校的决策者与管理者来说都至关重要。
本文介绍了学生信息管理系统的开发整个过程,阐述了系统分析、
系统设计、数据库设计与系统实施的全过程。
关键词信息管理,分析,设计,开发
1引言
学生信息管理系统已经成为了一个教育单位不可缺少的部分。
一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者与管理者来说都至关重要。
所以学生信息管理系统应该能够为用户提供充足的信息与快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案、统计与查询数据,这种管理方式存在着许多缺点。
如:
效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件与数据。
这对于查找、更新与维护都带来了不少困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点。
例如:
检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学校信息管理的效率,也就是一个单位科学化、正规化管理,与世界接轨的重要条件。
2项目需求分析
2.1方案的可行性分析
2、1、1技术可行性
本系统主要采用ASP、NET框架开发。
ASP、NET就是基于通用语言的编译运行的程序,所以它的强大性与适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。
加上SQLSever的连接,完全可以满足本系统的开发需要,因此技术上就是可行的的。
2、1、2经济可行性
本系统为自主开发,耗时1周,因其本身就就是比较小的系统,功能简单,且使用的开发工具都就是现有的。
所以在经济上就是可行的。
2.2方案需求分析
2、2、1功能需求
学生管理系统的几个主要功能如下:
(1)提供学生录入信息功能
可以输入学生的姓名,学号,选修课,实验课,必修课与总分。
(2)查询学生信息功能
根据学生学号来查询学生信息。
(3)删除学生信息功能
提供学号,查找就是否有此人信息,然后选择删除学生信息。
(4)插入学生信息功能
输入学生学号,插入该学生的学号的后面
2、2、2性能需求
本软件系统各种特点决定了系统需要具有以下几个主要特性:
(1)多样性。
现在,计算机语言越来越普及,用户面临的选择越来越多。
想要保证对用户的吸引力,就必须要在多样性上下功夫了。
所以,系统的多样性、功能的多样性一直都就是软件系统开发的重点。
(2)安全性。
数据就是软件的灵魂,如何保证数据的安全性,就是系统开发时必须考虑的一个重要问题。
开发者应避免程序出现漏洞,防止黑客进行攻击,及时进行数据备份,建立一个完善的多层次的安全保障体系,保障系统的安全。
(3)可扩展性。
需求变更一直就是开发中难以避免的问题。
系统在进行设计时应充分考虑到需求变更的可能性,降低系统扩展功能时的复杂度。
3项目概念设计
3.1模块单元设计
图3-1总概要设计
3、1、1系统管理模块
系统管理模块,进入系统后,可以选择退出系统:
图3-2系统管理模块
3、1、2学生管理模块
学生管理模块,包括学生信息添加,删除,修改。
图3-3学生管理模块
3、1、3课程管理模块
课程管理模块,包括课程信息添加,修改,删除。
图3-4课程管理模块
3、1、4成绩管理模块
成绩管理模块,包括成绩的添加,修改。
图3-5成绩管理模块
3、1、5信息管理模块
信息查询模块,包括学生查询,课程查询,成绩查询。
图3-6信息管理模块
3.2ER图设计
3、2、1学生信息实体ER图
图3-7学生信息实体ER图
3、2、2课程信息实体ER图
图3-8课程信息实体ER图
4项目逻辑结构设计
4.1将概念模式转换成关系模式
以下就是学生管理信息系统的关系模型:
(1)学生(姓名,班级,学号,性别,电话,出生日期)
Student(name,class,student_ID,sex,telephone,dateofbirth)
(2)班级课程(课程名称,专业,学期,年级)
Class_course(course_name,major,school,grade)
(3)班级(班级名,教室,年制,备注)
Class(class_name,classroom,years,note)
(4)成绩(编号,分数,课程,考号,等级)
Score(number,score,course,exam_number,grade)
4.2子模式设计
针对不同的应用需求,分别设计对应的子模式。
(1)学生(姓名,班级,学号,性别,电话,出生日期)
View_Student(name,class,student_ID,sex,telephone,dateofbirth)
(2)班级课程(课程名称,专业,学期,年级)
View_Class_course(course_name,major,school,grade)
(3)班级(班级名,教室,年制,备注)
View_Class(class_name,classroom,years,note)
(4)成绩(编号,分数,课程,考号,等级)
View_Score(number,score,course,exam_number,grade)
4.3数据库设计
4、3、1表设计
图4-1管理员表
图4-2课程表
图4-3分数表
图4-4学生表
4、3、2数据库加载
图4-5数据库加载
5编码实现
5.1界面设计
5、1、1账户信息管理
图5-1账户信息管理界面
代码实现:
namespaceStudent_MI
{
publicpartialclassFormAccount:
Form
{
publicFormAccount()
{
InitializeComponent();
}
privatevoidFormAccount_Load(objectsender,EventArgse)
{
if(UserHelper、userType!
=UserType、Admin)
{
for(inti=0;i{
if(this、Controls[i]、GetType()、Equals(typeof(Button)))
{
this、Controls[i]、Enabled=false;
}
}
}
this、button3、Enabled=true;
//this、adminTableAdapter、Fill(this、studentManagerDataSet4、Admin);
stringsqltr="select*FromAdmin";
SqlCommandcmd=DBHelper、con、CreateCommand();
cmd、CommandText=sqltr;
cmd、CommandType=CommandType、Text;
SqlDataAdapterda=newSqlDataAdapter(cmd);
DataSetds=newDataSet();
da、Fill(ds);
this、dataGridView1、DataSource=ds、Tables[0];
this、lbInfo、Text="登录人:
"+UserHelper、user;
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
FormAddAccountfas=newFormAddAccount();
if(fas、ShowDialog()==DialogResult、OK)
{
stringsqltr="select*FromAdmin";
SqlCommandcmd=DBHelper、con、CreateCommand();
cmd、CommandText=sqltr;
cmd、CommandType=CommandType、Text;
SqlDataAdapterda=newSqlDataAdapter(cmd);
DataSetds=newDataSet();
da、Fill(ds);
//this、adminBindingSource、DataSource=ds、Tables[0];
this、dataGridView1、DataSource=ds、Tables[0];
intc=this、adminBindingSource、Count;
this、dataGridView1、Refresh();
}}
privatevoidbutton2_Click(objectsender,EventArgse)
{
this、adminTableAdapter、Update(this、studentManagerDataSet4、Admin);
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
try
{
if(this、dataGridView1、SelectedRows、Count>0)
{
DataGridViewRowdrw=dataGridView1、SelectedRows[0];
DataGridViewCellcell=drw、Cells["idDataGridViewTextBoxColumn"];
stringsql="DELETE[Admin]Where[id]="+cell、Value、ToString();
newSqlHelper()、ExecuteNonQuery(sql,CommandType、Text);
dataGridView1、Rows、Remove(drw);
}
MessageBox、Show("删除数据成功!
");
}
catch
{
}
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
FormAccountSearchfaa=newFormAccountSearch();
faa、ShowDialog();
}
privatevoid关于ToolStripMenuItem_Click(objectsender,EventArgse)
{
FormAboutfa=newFormAbout();
fa、ShowDialog();
}
privatevoid退出XToolStripMenuItem_Click(objectsender,EventArgse)
{
this、Close();
}}}
5、1、2课程信息管理
图5-2课程管理界面
代码实现:
namespaceStudent_MI
{
publicpartialclassFormCourse:
Form
{
publicFormCourse()
{
InitializeComponent();
}
privatevoidFormCourse_Load(objectsender,EventArgse)
{
if(UserHelper、userType!
=UserType、Admin)
{
for(inti=0;i{
if(this、Controls[i]、GetType()、Equals(typeof(Button)))
{
this、Controls[i]、Enabled=false;
}}}
this、button3、Enabled=true;
this、courseTableAdapter、Fill(this、studentManagerDataSet2、Course);
this、lbInfo、Text="登录人:
"+UserHelper、user;
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
this、courseTableAdapter、Update(this、studentManagerDataSet2、Course);
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
FormAddCoursefas=newFormAddCourse();
if(fas、ShowDialog()==DialogResult、OK)
{
//刷新
stringsqltr="select*FromCourse";
SqlCommandcmd=DBHelper、con、CreateCommand();
cmd、CommandText=sqltr;
cmd、CommandType=CommandType、Text;
SqlDataAdapterda=newSqlDataAdapter(cmd);
DataSetds=newDataSet();
da、Fill(ds);
this、courseBindingSource、DataSource=ds、Tables[0];
intc=this、courseBindingSource、Count;
this、dataGridView1、Refresh();
}
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
try
{
if(this、dataGridView1、SelectedRows、Count>0)
{
DataGridViewRowdrw=dataGridView1、SelectedRows[0];
DataGridViewCellcell=drw、Cells["cNumberDataGridViewTextBoxColumn"];
stringsql="DELETE[Course]Where[CNumber]="+cell、Value、ToString();
newSqlHelper()、ExecuteNonQuery(sql,CommandType、Text);
dataGridView1、Rows、Remove(drw);
}
MessageBox、Show("删除数据成功!
");
}
catch
{
}
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
FormCourseSearchfas=newFormCourseSearch();
fas、ShowDialog();
}
privatevoid关于ToolStripMenuItem_Click(objectsender,EventArgse)
{
FormAboutfa=newFormAbout();
fa、ShowDialog();
}
privatevoid退出XToolStripMenuItem_Click(objectsender,EventArgse)
{
this、Close();
}}}
5、1、3成绩信息管理
图5-3成绩管理界面
代码实现:
namespaceStudent_MI
{
publicpartialclassFormSource:
Form
{
publicFormSource()
{
InitializeComponent();
}
privatevoidFormSource_Load(objectsender,EventArgse)
{
if(UserHelper、userType==UserType、Student)
{
for(inti=0;i{
if(this、Controls[i]、GetType()、Equals(typeof(Button)))
{
this、Controls[i]、Enabled=false;
}
}
}
this、button4、Enabled=true;
this、scoreTableAdapter、Fill(this、studentManagerDataSet3、Score);
this、lbInfo、Text="登录人:
"+UserHelper、user;
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
FormAddScorefas=newFormAddScore();
if(fas、ShowDialog()==DialogResult、OK)
{
//刷新
stringsqltr="select*From[Score]";
SqlCommandcmd=DBHelper、con、CreateCommand();
cmd、CommandText=sqltr;
cmd、CommandType=CommandType、Text;
SqlDataAdapterda=newSqlDataAdapter(cmd);
DataSetds=newDataSet();
da、Fill(ds);
this、dataGridView1、DataSource=ds、Tables[0];
intc=this、scoreBindingSource、Count;
this、dataGridView1、Refresh();
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
this、scoreTableAdapter、Update(this、studentManagerDataSet3、Score);
}
privatevoidtoolStrip1_ItemClicked(objectsender,ToolStripItemClickedEventArgse)
{
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
FormScoreManagefsm=newFormScoreManage();
fsm、ShowDialog();
}
privatevoidbutton5_Click(objectsender,EventArgse)
{
try
{
if(this、dataGridView1、SelectedRows、Count>0)
{
DataGridViewRowdrw=dataGridView1、SelectedRows[0];
DataGridViewCellcell=drw、Cells["idDataGridViewTextBoxColumn"];
stringsql="DELETE[Score]Where[id]="+cell、Value、ToString();
newSqlHelper()、ExecuteNonQuery(sql,CommandType、Text);
dataGridView1、Rows、Remove(drw);
}
MessageBox、Show("删除数据成功!
");
}
catch
{
}
}
privatevoid关于AToolStripMenuItem_Click(objectsender,EventArgse)
{
FormAboutfa=newFormAbout();
fa、ShowDialog();
}
privatevoid退出XToolStripMenuItem_Click(objectsender,EventArgse)
{
this、Close();
}}}
5、1、4学生信息管理
图5