下面是小编为大家整理的学生信息管理系统报告及总结,供大家参考。
计算机与通信工程学院
数据库系统课程设计报告
题目 :学生学籍信息管理系统
课程代号:
8888888
课程名称:
数据库系统课程设计 学号:
8888888888 姓名:
8888888888 班级:
8888888888
指导教师:
88888888
完成日期:
2011 年 12 月
目录 第一章
引言……………………………………………4 第二章
系统分析与设计………………………………4
2. 1
需求分析…………………………………………. 4
2.1.1
用户需求……………………………………… 4
2.1.2
划分功能模块…………………………………. 5
2.1.3
数据流图………………………………………. 5
2.1.4
数据字典………………………………………. 6 2. 2
数据库概念结构设计……………………………. . 8 2. 3
数据库逻辑结构设计………………………………9 2. 3. 1 关系模型………………………………………1 0
2. 3. 1 关系模式的优化………………………………. 1 0 2. 4
数据库创建………………………………………. 10
2. 5
系统总体结构设计………………………………. 12 第三章
系统开发及实现………………………………12 3. 1
连接数据库………………………………………. 12 3.1.1
连接数据库的字符串…………………………. 12
3.1.2
打开和关闭数据库的语句………………………1 3 3. 2
登录界面…………………………………………. 14
3.2.1
关键实现算法…………………………………. 14 3.2.2
设计算法………………………………………1 6 3. 3
主界面……………………………………………19
3.3.1
显示当前时间栏…………………………………1 9 3. 4 权限设置……………………………………………. 20
3. 5 修改登录密码………………………………………. 21
第四章
总结……………………………………………. 24 参考文献……………………………………………………. 24
第一章 引言 21 世纪是信息产业的时代, 全球信息电子化的潮流势不可挡, 计算机被广泛应用使我们的经济和社会生活因此发生了 深刻的变革。
与此同时, 我国的教育事业蓬勃发展, 升学率普遍提高, 各类学校校规模不断扩大, 对于学生管理工作的高效性和规范性提出了更高的要求。
随着我国教育体制改革的深入进行, 教育系统得到了 前所未有的发展。
学生管理正在逐步迈向管理信息现代化。
但是我国的学生管理信息化水平还处在初级阶段, 主要表现在对学生的交费管理、 学生的档案管理还是采用原有的人工管理方式。
学校的规模不断扩大, 学生数量急剧增加, 有关学生的各种信息量也成倍增长。
由于大学生类别和专业的设置的多样化, 大学生的学籍管理历来是非常繁琐和复杂的工作。
面对庞大的信息量,
这时的人工管理几乎无法实现,在这种情况下用数据库进行管理变的尤为必要, 这可以发挥计算机的优势, 就需要有学生信息管理系统来提高学生管理工作的效率. 通过这样的系统, 可以做到信息的规范管理, 科学统计和快速的查询, 从而减少管理方面的工作量和减少人为的错误。
本文的设计是依据 C#的“三层架构” 的关键技术, 参考了国内学校的学生学籍管理信息系统, 并结合本学校的实际情况, 提出“设计简单、 使用方便、安全性高” 的设计理念, 且依据现代化校园的发展而设计的基于 C#的学生学籍管理软件开发。
系统分为学生信息管理、 学生成绩管理、 系统管理和用户管理三大模块,具备信息录入/修改/删除/查询、 成绩录入/修改/删除/查询、 添加/修改/删除系统用户和账户密码管理等功能。
它能方便老师、 学生查询信息。
整体上实现了全校学生信息的数字化、 信息化管理。
该系统是在 Windows XP 系统下完全采用 C#+SQL2008 开发的一套学生学籍管理系统。
用户需要到指定的计算机上使用本系统。
第二章 系统分析与设计 2. 1 需求分析 2.1.1 用户需求 本系统是针对高等院校的学生学籍管理, 因此学籍信息管理系统的用户包括
系统管理员和学生。
主要涉及学生信息、 成绩信息以及用户信息。
实现的具体功能如下:
基本信息管理——系统管理员负责对各种基本信息的录入、 修改、 删除等操作。
学生成绩管理——系统管理员负责对学生成绩的录入、 修改、 删除等操作, 学生可以查询各科成绩。
信息查询——学生可以查询基本信息和各科的考试成绩。
系统用户管理——系统管理员负责用不同的权限来限制不同用户对系统的使用。
以上是用户对系统的基本的功能要求, 此外用户还要求系统的效率要高, 查询速度要快, 比较小的冗余, 易维护, 具有较高的数据安全性。
2. 1. 2 划分功能模块 根据系统功能的需求分析和高等院校学籍管理的特点, 经过模块化的分析得到如下系统功能模块: 学生模块:
查询成绩、 选课信息 教师模块:
修改学生成绩、 选课信息、 查询成绩、 选课信息 管理员模块:
修改用户权限、 密码、 修改学生成绩、 选课信息、 查询成绩、选课信息
2. 1. 3 数据流图
2. 1. 4 数据字典 数据项 数据字典是系统中各类数据描述的集合, 是进行详细的数据收集和数据分析所获得的主要成果, 数据字典是对系统所用到的所有表结构的描述, 学籍管理的
学生 管理员 管理员 学生记录成绩毕业 送进信息录入查询 计算统计更新录入 新生?
学生信息 批准?
成绩单 批准?
核对信息学生名单 提交申请 审核信息 合格
主要数据见下表。
表 1. 学生基本信息表 别名 序号 字段 数据类型 数据长度 码 1 Stu_Id 学生编号 char 8 Y 2 Stu_Name 姓名 nvarchar 10 N 3 Stu_Gender 性别 nvarchar 2 N 4 Stu_Nation 民族 nvarchar 10 N 5 Stu_Birth 出生年月 nvarchar 30 N 6 Stu_Statuse 状态 nvarchar 10 N 7 Class_Id 班级 nvarchar 10 N 8 Stu_Remark 备注 nvarchar 50 N
表 2 课程信息表 别名 序号 字段 数据类型 数据长度 码 1 Cour_Id 课程号 char 6 Y 2 Cour_Name 课程名称 nvarchar 20 N 3 Cour_Xuefen 学分 nchar 10 N 4 Cour_Collo 学院 nvarchar 30 N 5 Cour_Dept 系别 nvarchar 10 N 6 Cour_Teacher 教师 nvarchar 10 N 7 Cour_Remark 备注 nvarchar 50 N
表 3 学生成绩信息表 别名 序号 字段 数据类型 数据长度 码 1 Stu_Id 学生编号 char 8 Y(PK)
2 Cour_Id 课程号 char 6 Y(PK)
3 Grade 成绩 int
N
4 Sco_Time 考试时间 datetime
N
表 4 用户信息表 别名 序号 字段 数据类型 数据长度 码 1 User_Name 用户名 nvarchar 10 Y 2 User_Pwd 登陆密码 nvarchar 8 N
3 User_Statues 状态 nvarchar
N
4 User_Power 权限 nvarchar 20 N
2. 2 数据库概念结构设计(给出 E-R 图)
分的 E-R 图:
总的 E-R 图:
2. 3 数据库逻辑结构设计(给出关系模式并用表格描述关系模式的属性名、 类型、 完整性约束等)
将 E-R 图转换为关系模型实际上就是要奖实体型、 实体的属性和实体型之间的联系转换为关系模式, 这种转换一般遵循如下原则:
一个实体型转换为一个关系模式。
实体的属性就是关系的属性, 实体的码就是关系的码。
对于实体型间的联系则有以下不同的情况:
(1)
一个 1:1 联系可以转换为一个独立的关系模式, 也可以与任意一端对应的关系模式合并。
如果转换为一个独立的关系模式, 则与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性, 每个实体的码均是该关系的侯选码。如果与某一端实体对应的关系模式合并, 则需要在关系模式的属性中加入另一个关系模式的码和联系本身的属性。
(2)
一个 1:n 联系可以转换为一个独立的关系模式, 也可以与 n 端对应的关系模式合并。
如果转换为一个独立的关系模式, 则与该联系相连的个各实体的码以及联系本身的属性均转换为关系的属性, 而关系的码为 n 端实体的码。
(3)
一个 m: n 联系转换为一个关系模式。
与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性, 各实体的码组成关系的码或关系码的一部分。
(4)
3 个或 3 个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性, 各实体的码
组成关系的码或关系码的一部分。
(5)
具有相同码的关系模式可合并。
由 ER 图可见:
图中有四个实体:
学生, 管理员, 考试和科目; 四个关系:管理员管理学生关系, 学生选课关系, 学生参加考试关系, 科目与考试成绩的对应关系。
2. 3. 1 关系模型 将概念结构设计阶段设计好的基本 E-R 图转换为关系模型, 如下所示:
学 生基本信息 表:
S(Stu_Id
Stu_Name Stu_Gender
Stu_Nation Stu_Birth
Stu_Statuse
Class_Id
Stu_Remark)
课 程 基 本 信 息 表 :
C(Cour_Id
Cour_Name
Cour_Xuefen
Cour_Collo
Cour_Dept
Cour_Teacher
Cour_Remark )
学生成绩信息表:
P (Stu_Id
Cour_Id
Grade
Sco_Time )
管理员信息表:
U (User_Name
User_Pwd
User_Statues
User_Power )
对应的属性分别为:
学生编号, 姓名, 性别, 民族, 出生年月, 状态, 班级, 备注
课程号, 课程名称, 学分 , 学院 ,
系别 , 教师, 备注 学生编号, 课程号, 成绩, 考试时间 用户名, 登陆密码, 状态, 权限
2. 3. 2 关系模式的优化
学 生基本信息 表:
S(Stu_Id
Stu_Name Stu_Gender
Stu_Nation Stu_Birth
Stu_Statuse
Class_Id
Stu_Remark)
该关系模式的码为 Stu_Id, 由于只有一个码, 所以不存在非主属性对码的部分函数依赖, 可以达到 2NCF。另外, 该关系模式的函数依赖为:
Stu_Id —> Stu_Name
Stu_Id —> Stu_Gender
Stu_Id—> Stu_Nation
Stu_Id—> Stu_Birth
Stu_Id —> Stu_Statuse Stu_Id—> Class_Id
Stu_Id
—> Stu_Remark , 其间不存在传递依赖, 故学生表可达到 3NCF.
2. 4 数据库创建(创建表的界面、 创建外码的界面)
Users 表:
Student 表:
Score 表:
Course 表:
2. 5 系统总体结构设计(给出系统总体结构图)
第三章 系统开发及实现
3. 1 连接数据库 3. 1. 1 连接数据库的字符串:
private void DBConnect()
{
conn = "Data Source=.;Initial Catalog=StudentManage;Integrated Security=True"; 学生学籍信息管理系统 基本信息管理 学生成绩管理 系统用户管理 基本信息删除 基本信息修改 基本信息录入 学生成绩删除学生成绩修改学生成绩录入 修改密码查询账户信息 学生成绩查询基本信息查询 增加用户删除用户
sqlconn = new SqlConnection(conn);
}
其中, . 为本机服务器名, StudentManage为数据库名。
3. 1. 2 打开和关闭数据库的语句
根据参数传来的SQL语句, 执行增、 删、 改操作;
class DataAccess
{
protected SqlConnection conn = new SqlConnection("Data Source= .;Initial Catalog= StudentManage;Integrated Security= True");
public SqlDataReader GetReader(string sql)
{
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader myDataReader = null;
try
{
conn.Open();
myDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
catch (Exception ex)
{
if (myDataReader != null)
myDataReader.Close();
conn.Dispose();
cmd.Dispose();
throw new Exception(ex.ToString());
}
return myDataReader;
}
}
3. 2 登录界面
3. 2. 1关键实现算法 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient;
namespace StudentManage {
public partial class FrmLogin : Form
{
public FrmLogin()
{
InitializeComponent();
}
private void btnOK_Click(object sender, EventArgs e)
{
if (this.txtName.Text = = string.Empty)
{
MessageBox.Show("请输入用户名!");
this.txtName.Focus();
return;
}
else if (this.txtPwd.Text = = string.Empty)
{
MessageBox.Show("请输入密码!");
this.txtPwd.Focus();
return;
}
else
{ ...
推荐访问:信息系统管理调度总结 学生信息管理系统报告及总结 信息管理系统 报告 学生