资源描述
《数据库系统概论》课程设计
实验报告书
安徽工业大学数理学院
姓 名
专 业
信息与计算科学
班 级
学 号
指导教师
陈业斌
分 数
2016年05月 14 日
摘要
本文描述的是基于Windows环境的学生成绩管理系统,主要功能模块包括:学生信息查询,学生信息管理,学生成绩录入,主要工具Microsoft Visual Studio 2013 设计窗体, SQL server2008建立数据库,实现学校信息管理的各个功能。
本篇报告介绍一个学生学生成绩查询管理系统的从分析到设计最后到开发的全过程,给出了学生信息管理系统的设计和技术实现的过程,特别在细节上分析功能和函数的实现思想。涉及到学生信息管理的基本功能在本报告中都有相应的描述。
此学生成绩查询系统的功能有:
l 用户的登陆
l 学生信息的全部显示
l 学生成绩的查询,修改,增加,删除
l 新用户的注册
l 帮助菜单的建立
关键字: 数据库 成绩查询 管理系统
目录
1 绪 论 1
1.1 概述 1
1.1.1 问题的提出 1
1.1.2 本课题的意义 1
1.2 开发环境与工具介绍 1
1.2.1 sqlserver简介 1
1.2.2 数据库系统的发展 1
2 系统需求分析与设计 2
2.1 用户需求分析 2
2.1.1 用户需求 2
2.1.2 系统功能需求 2
2.1.3 系统性能需求 2
2.1.4 数据分析 2
2.2 功能模块图及分模块功能描述 2
2.2.1 系统的功能模块图 2
2.2.2 系统功能模块简介 2
2.3 数据库设计 2
2.3.1 系统E-R图 2
2.3.2 数据库逻辑结构设计 2
3 系统实施 3
3.1 建立数据库 3
3.2 数据库连接 3
3.3 主要模块实施 3
3.3.1 登录模块的开发 3
3.3.2 xxxxx 3
3.4 系统测试 3
3.4.1 软件测试的对象 3
3.4.2 软件测试的结果 3
4 系统说明 4
4.1 开发环境 4
4.2 系统安装、配置与发布应用程序的步骤 4
总 结 5
参考文献 6
附录:部分源代码 7
1.1概述:
1.1.1问题的提出:设计一个学生成绩查询系统
本课程设计的目的是使学生能熟练掌握简单的简单Windows窗体应用程序的设计和数据库的应用,希望通过本次课程设计锻炼使用C#语言和数据库解决实际问题的能力。
1.1.2本课题的意义:
当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最到好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系
数据处理手工操作,工作量大,出错统管理的前提。本系统就是为了管理好学生成绩信息而设计的。学生成绩作为一种信息资源的集散地,包含很多的信息数据的管理。 由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的学校有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是学生成绩管理信息系统的开发基本环境。率高,出错后不易更改。造成了时间上的浪费。
基于这个问题,我认为有必要建立一个学生成绩系统,使学生成绩信息管理工作规范化、系统化、程序化,避免学生成绩管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改成绩情况。
1.2 开发环境与工具介绍
系统开发平台:Microsoft Visual Studio 2013
系统开发语言:C#
数据库管理软件:SQL Server 2008
1.2.1 sql server 简介
SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS)。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,Microsoft SQL Server,Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。
1.2.2 数据库系统发展
数据库系统是在文件系统的基础之上发展而来的,经历了层次数据库、网状数据库和关系数据库三个阶段。由于关系型数据库采用人们比较容易理解和接受的二维表格来组织数据,发展迅速,已成为数据库产品的主流。这里介绍的数据库知识都是指的关系数据库。数据库架构如图2-1 所示。
图1-1 数据库应用的架构
2 系统需求分析与设计
2.1 用户需求分析
2.1.1 用户需求
现代的社会是信息化的社会,信息无所不在。在生产领域、流通领域、各个部门每天都和信息打交道,如何处理如此多的信息成为了一个重要的课题。学生成绩管理系统是教学活动中的一个重要环节,该环节如果能管理好,它不仅能加快学生的成绩查询速度,也提高了整个教学活动的效率。
大学一般都有上千名学生,每学期学生都要查询成绩,因而产生了大量的成绩信息。考虑到用户使用的方便和处理的信息量系统要完成录入,保存,查询,修改和删除成绩信息的各种过程,能打印出成绩信息表。所以系统的基本体系结构采用C/S模式。
2.1.2 系统功能需求
系统的主要使用对象是需要查询成绩的学生,因此需要设计以下的功能:
(1) 学生信息查询:学生可以根据学号、姓名、专业进行查询.
(2) 学生信息管理:主要是用于学生信息更新、插入、删除;
(3) 学生成绩录入:用于学生成绩管理,录入学生成绩,也可以更新.
2.1.3 系统性能需求
1、及时性
系统的时间性能规定要求系统的大部分操作在用户视觉延迟时间范围之内。对某些检索和其它涉及复杂计算的操作系统响应也应保持在3-5倍用户视觉延迟时间范围内。
2、安全性
系统安全性要求包括基于用户的系统操作权限控制、某些数据的加密保护、身份鉴别。
3、可用性
本系统能够被所有大众所理解且认可。并能够被超级用户纠正,处理,很易适应和完善以适应新的环境。
4、可维护性
本系统严谨的系统设计、规范的编码设计和合格的测试过程等都在某种程度上提高了系统的可维护性。在此同时,还采取了一些提高可维护性的有效方法:
(1) 建立明确的软件质量目标和优先级
(2) 使用了提高软件质量的技术和工具
(3) 进行了明确的质量保证审查
((5)严格要求程序文档的书写和设计
2.1.4 数据分析
表(2-1)
表(2-2)登陆密码表
表(2-3)
2.2 功能模块图及分模块功能描述
2.1系统的功能模块图 ;
2.2 E--R图
3 具体设计
3.1.系统主要功能模块简介
1 .用户登录 用户凭借用户名及密码登录,成功登录后可对学生信息进行操作。用户界面 如下图用户登录界面所示。
2. 学生成绩界面显示
用户成功登录以后出来的界面,管理员可以看到学员的基本信息,还可以对学生的成绩进行增加,删除,修改等操作,还可以实现对成绩进行排序的功能,如下图界面显示。
3,对学生信息的增加
可以通过该功能时间增加学生的信息,具体功能实现见下图。
4删除学生的信息
通过该功能的实现,可以删除系统里面学生的基本信息,并且给出提示,一旦删除,就会删除所有学生的信息。
5查找学生信息
设计了两种查找方式,可以根据学生的姓名和学号对学生信息做具体的查找。
6 全部信息的显示
该部分的可以实现所有功能的实现,具体功能如下图所示
7:新用户的注册
该部分的功能可以实现新用户的注册。
8 管理员的帮助
该部分可以实现管理员在忘记密码时进入查找登录的用户名和密码。具体功能实现如下图。
总结
通过这次课程设计,我熟练掌握了数据库的编程方法,锻炼了自己的动手能力,巩固了对面向数据库设计概念的理解和运用,学习了对数据库的基本操作,提高了自己综合运用所学知识的能力。
我们小组所选择的是设计一个学生成绩查询系统,这对我们数理的同学来说是一次尝试与创新的过程,也可以说是一个挑战的过程。在这期间我们提高了学习计算机的兴趣,增强了信心。在本次课程设计中,我遇到了很多的困难,这些困难搞得我焦头烂额,几度试图放弃,但最终坚持着一一把困难克服掉了。每当克服一个困难,都非常的兴奋,这些都是自己努力的结果。现在,我有信心面对接下来的挑战,在不断的实践中锻炼自己,提高自己!
本文是在我的老师陈业斌老师的精心教导的前提下完成的。感谢老师在教务处网络教学平台为我们录下系统的教学视频,它们凝聚了老师的辛勤与汗水,帮助了我们学习和成长。从老师身上我都可以感受到一个真正科学工作者的一丝不苟,这对我们一生都受益匪浅。在此我要向老师陈业斌教授表示最诚挚的敬意和谢意。
参考文献
1. 《数据库系统及应用》 戴小平 主编 中国科学技术大学出版社 2010.8
2. 《数据库系统概论》(第四版) 王珊 萨师煊 编著 高等教育出版社 2006.5
3.《C#.NET程序设计使用教程 》 王维华 王维清 胡章平 等编著 清华大学出版社
附录:
部分源代码:
增加学生信息源代码:
public partial class Add : Form
{
public Add()
{
InitializeComponent();
}
private void Add_Load(object sender, EventArgs e)
{
cbosex.Items.Clear();
cbosex.Items.Add("男");
cbosex.Items.Add("女");
cbosex.SelectedIndex = 0;
}
private void btncancle_Click(object sender, EventArgs e)
{
this.Close();
}
private void btnadd_Click(object sender, EventArgs e)//增加按钮的功能
{
if (int.Parse(txtage.Text) < 0 || int.Parse(txtage.Text) > 100)
{
if (int.Parse(txtage.Text) > 100)
MessageBox.Show("年龄请不要超过100");
else
MessageBox.Show("年龄请不要小于0");
}
else
{
SqlConnection conn = new SqlConnection(open.constring);
try
{
conn.Open();
string sql = string.Format("insert into Table_1 (Name,sex,Age) values ('{0}','{1}',{2})", txtname.Text, cbosex.Text, int.Parse(txtage.Text));
SqlCommand comm = new SqlCommand(sql, conn);
int a = comm.ExecuteNonQuery();
if (a == 1)
{
MessageBox.Show("插入成功!");
this.Close();
}
else
{
MessageBox.Show("插入失败!");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}
stuInfo stuinfo = new stuInfo();
string[] str = { txtname.Text, cbosex.Text, txtage.Text };
ListViewItem lv = new ListViewItem(str);
stuinfo.listviewinfo.Items.Add(lv);
}
}
}
}
用户登录源代码:
private void btnok_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(open.constring);
try
{
conn.Open();
string sql = string.Format("select count(*) from Login where 登录名='{0}' and 密码='{1}'", txtname.Text, txtpsw.Text);
SqlCommand comm = new SqlCommand(sql,conn);
int count = (int)comm.ExecuteScalar();
if (count == 1)
{
student stu = new student();
stu.Show();
this.Visible = false;
}
else
{
MessageBox.Show("你输入的帐号不正确!!");
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}
}
}
}
展开阅读全文