学生学籍管理系统设计说明书.docx

上传人:b****9 文档编号:25085943 上传时间:2023-06-04 格式:DOCX 页数:69 大小:993.35KB
下载 相关 举报
学生学籍管理系统设计说明书.docx_第1页
第1页 / 共69页
学生学籍管理系统设计说明书.docx_第2页
第2页 / 共69页
学生学籍管理系统设计说明书.docx_第3页
第3页 / 共69页
学生学籍管理系统设计说明书.docx_第4页
第4页 / 共69页
学生学籍管理系统设计说明书.docx_第5页
第5页 / 共69页
点击查看更多>>
下载资源
资源描述

学生学籍管理系统设计说明书.docx

《学生学籍管理系统设计说明书.docx》由会员分享,可在线阅读,更多相关《学生学籍管理系统设计说明书.docx(69页珍藏版)》请在冰豆网上搜索。

学生学籍管理系统设计说明书.docx

学生学籍管理系统设计说明书

 

学生学籍管理系统

设计说明书

 

 

摘要

学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。

但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:

效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点.例如:

检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高学生信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

第一章需求分析

详见另一文档“需求规格说明书”。

第二章系统设计

2.1数据库设计

2.1.1数据库简介

在系统设计过程中,数据库的设计是系统的核心和基础,把系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。

1.数据库的概念

数据库是长期储存在计算机内大量的有组织的,可以共享的数据的集合,这种数据集合具有如下特点:

尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。

从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。

2.新建数据库

在新建一个数据库时,必须先对它进行分析,比如它的大小、权限和备份等问题。

3.修改数据库

数据库的修改主要包括Alterdatabase、Dropdatabase等等。

当然其中涉及到数据库用户的权限问题,管理用户分配给一般用户有修改的权限时才能进行修改。

2.1.2概念结构设计

概念结构设计通常是使用E-R图对它的描述工具进行设计,对需求分析阶段收集到的数据进行分类、组织(聚集),形成实体、实体的属性,标识实体的码,确定实体之间的联系类型,设计E-R图。

本系统的E-R图如图2.1所示。

图2.1

2.1.3逻辑结构设计

逻辑结构设计应该首先选择最适于描述与表达相应概念结构的数据模型,然后选择最合适的数据库管理系统。

逻辑结构设计时一般要分两步进行:

∙将概念结构转换为一般的关系、网状、层次模型,并将转化来的关系、网状、层次模型向特定数据库管理系统支持下的数据模型转换

∙对数据模型进行优化

本系统中逻辑结构设计主要是将概念结构设计阶段设计好的的E-R图转换成具体的数据库管理系统支持的数据模型。

关系模型的逻辑结构是一组关系模式的集合。

而E-R图则是由实体、实体的属性和实体之间的联系三个要素组成的。

所以将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式,这种转换一般遵循如下原则:

一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。

现在需要将上面的数据库概念结构转化为SQLServer2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。

学籍管理系统数据库中各个表格的设计结果如下面的几个表所示。

每个表表示在据库中的一个数据表。

 

编号

字段名

数据结构

别名

1

studentID

Varchar(15)

学号

2

studentName

Char(8)

姓名

3

className

varchar(30)

班级名称

4

age

smallint

年龄

5

sex

Char

(2)

性别

6

nation

Char(4)

民族

7

nativeplace

Varchar(30)

籍贯

8

majorName

varchar(20)

专业名称

9

status

char(8)

政治面貌

10

homeAddress

varchar(30)

家庭住址

11

birthday

datetime

出生日期

12

indate

datetime

入学日期

图2.2学生表

编号

字段名

数据结构

别名

1

departmentID

char(10)

院系编号

2

departmentName

varchar(30)

院系名称

图2.3院系表

 

编号

字段名

数据结构

别名

1

classID

varchar(30)

班级编号

2

className

varchar(30)

班级名称

3

departmentName

varchar(30)

院系名称

4

grade

char(10)

年级

5

studentNumber

int

学生人数

6

studentTeacher

cahr(8)

班主任

图2.4班级表

编号

字段名

数据结构

别名

1

courseID

char(10)

课程编号

2

courseName

varchr(50)

课程名称

3

credits

smallint

学分

4

courseHour

int

学时

5

category

varchar(20)

类别

6

teacher

varchar(15)

任课教师

7

departmentName

varchar(30)

开课院系

8

courseNote

varchar(100)

备注

图2.5课程表

编号

字段名

数据结构

别名

1

teacherID

char(10)

教师编号

2

teacherName

char(8)

教师姓名

3

sex

char

(2)

性别

4

teacherTitle

char(4)

职称

5

contact

varchar(50)

联系方式

7

departmentName

varchar(30)

院系名称

图2.6教师表

编号

字段名

数据结构

别名

1

majorID

varchar(20)

专业编号

2

majorName

varchar(30)

专业名称

3

category

varchar(30)

类别

4

departmentName

varchar(30)

所属院系

5

majorNote

varchar(100)

备注

图2.7专业信息表

编号

字段名

数据结构

别名

1

username

varchar(20)

用户名

2

password

varchar(20)

密码

3

rolename

varchar(30)

身份

图2.8用户表

编号

字段名

数据结构

别名

1

semesterID

char(5)

学期编号

2

semesterName

varchar(50)

学期名称

图2.9学期表

编号

字段名

数据结构

别名

1

ID

int

编号

2

studentName

varchar(15)

学生姓名

3

courseName

char(10)

课程名称

4

className

varchar(30)

班级名称

5

semesterName

varchar(20)

学期名称

6

score

smallint

分数

图2.10成绩表

编号

字段名

数据结构

别名

1

rolename

varchar(3)

身份名称

2

viewMenuItem

bit

查询权限

3

XTMenuItem

bit

系统管理权限

4

DMenuItem

bit

院系管理权限

5

CMenuItem

bit

班级管理权限

6

MMenuItem

bit

专业管理权限

7

KMenuItem

bit

课程管理权限

8

TMenuItem

bit

教师管理权限

9

QMenuItem

bit

学期管理权限

10

SMenuItem

bit

成绩管理权限

11

StuMenuItem

bit

学生管理权限

图2.11权限表

2.2总体结构设计

2.2.1模块设计

本系统是一个典型的信息管理系统,主要目标是让使用它的管理用户,包括系统管理员、教师和学生,能很好地管理有关学生学籍方面的工作,比如系统管理员负责日常的学籍管理工作,如各种基本信息的录入、修改、删除等操作,教师使用该系统可完成教学班级信息查询和成绩管理,而学生使用该系统主要完成选课和成绩查询等操作。

根据需求分析中列出的学生学籍管理系统的八个基本模块,设计了如下图2.12所示的学生学籍管理系统总体结构示意图。

图2.12学生学籍管理系统总体结构图

由上述的系统总体结构图所示,将一个开发的学生学籍管理系统分成九个子模块,他们分别为:

系统用户管理模块、权限管理模块、院系信息管理模块、班级信息管理模块、教师信息管理模块、学生信息管理模块、课程信息管理模块、专业信息管理模块、成绩信息管理模块;通过这些子模块完成各项功能,如课程信息管理模块主要完成对课程信息的录入、编辑与删除。

根据该系统功能分析,该系统主要有九个功能模块,具体功能描述如下:

(1)系统用户管理:

●添加用户信息,包括用户名、密码和身份。

●删除已有的用户信息。

●修改用户信息,包括用户名、密码、和身份。

(2)系统权限管理:

●添加角色,包括角色名称和它拥有的权限。

●删除已有的角色信息。

(3)院系信息管理:

●添加院系信息,包括院系编号和院系名称。

●根据院系编号查询院系信息。

●修改和删除院系信息。

(4)班级信息管理:

●添加新的班级信息。

●根据年级或院系查询班级信息。

●修改已存在的班级信息。

●删除已有的班级信息。

(5)教师信息管理:

●添加新教师的基本信息。

●根据院系查询教师信息。

●修改已存在的教师信息。

●删除教师相关信息。

(6)学生信息管理:

●添加新学生的基本信息。

●根据学号或姓名查询学生信息。

●修改已存在的学生信息。

●删除学生相关信息。

(7)课程信息管理:

●添加新的课程基本信息。

●根据开课院系、课程性质、任课教师查询课程基本信息。

●修改或删除已有的课程基本信息。

(8)学期信息管理:

●添加新的学期信息。

●修改或删除学期信息。

(9)成绩信息管理:

●录入学生的成绩信息。

●根据学号或班级查询相应的成绩信息。

●修改或删除成绩信息。

2.2.2系统结构设计

在应用程序的设计中,将系统模块用菜单的形式表示出来,这里有5个下拉菜单。

根据对系统结构的分析和结合应用程序中的设计,得出系统结构图,如图2.13。

图2.13系统结构图

第三章系统实现

3.1系统登录模块

图3.1系统登录图

为了系统的安全,在进入系统之前首先会出现一个登录模块,用户登录分为学生、教师、管理员三类用户登录,用户只有在输入正确的用户名和正确的密码之后,才能进入系统。

本系统能判断用户权限,不同权限的用户进入系统后执行不同的操作。

用户登录窗体中放置了两个文本框(Textbox),用来输入用户名和密码;一个按钮(Button)用来确认登录。

部分代码如下:

privatevoidbutton1_Click(objectsender,EventArgse)

{

stringConnStr,SQLstr,sql;

ConnStr="Server=(Local);DataBase=学籍管理系统;IntegratedSecurity=true;";

SqlConnectionConn=newSqlConnection(ConnStr);

if(this.textBox1.Text.Trim()==""||this.textBox2.Text.Trim()=="")

MessageBox.Show("用户名和密码不能为空!

","登录失败",MessageBoxButtons.OK,MessageBoxIcon.Warning);

else

try

{

Conn.Open();

SQLstr="selectrolenamefromUserinfowhereuserName='"+textBox1.Text.Trim()+"'andpassWord='"+textBox2.Text.Trim()+"'";

SqlCommandmycomm=newSqlCommand(SQLstr,Conn);

mycomm.CommandText=SQLstr;

stringrolename;

if(null!

=mycomm.ExecuteScalar())//用户权限控制

{

rolename=mycomm.ExecuteScalar().ToString();

this.Hide();

sql="select*fromRolewhererolename='"+rolename+"'";

mycomm.CommandText=sql;

SqlDataReadermyreader=mycomm.ExecuteReader();

MainFormmain=newMainForm();

myreader.Read();

main.XTMenuItem.Visible=(bool)(myreader.GetValue

(2));

main.viewMenuItem2.Visible=(bool)(myreader.GetValue

(1));

main.DMenuItem11.Visible=(bool)(myreader.GetValue(3));

main.CMenuItem12.Visible=(bool)(myreader.GetValue(4));

main.MMenuItem13.Visible=(bool)(myreader.GetValue(5));

main.KMenuItem14.Visible=(bool)(myreader.GetValue(6));

main.TMenuItem15.Visible=(bool)(myreader.GetValue(7));

main.QMenuItem16.Visible=(bool)(myreader.GetValue(8));

main.SMenuItem17.Visible=(bool)(myreader.GetValue(9));

main.StuMenuItem20.Visible=(bool)(myreader.GetValue(10));

main.toolStripStatusLabel2.Text=textBox1.Text.Trim();

main.toolStripStatusLabel4.Text=rolename;//读取用户身份

main.ShowDialog();

}

else

{

MessageBox.Show("用户名或密码不正确请确认后重新输入!

","登录失败",MessageBoxButtons.OK,MessageBoxIcon.Error);

textBox2.Text="";

textBox2.Focus();

}

}

catch(Exceptionexp)

{

MessageBox.Show(exp.Message,"错误");

}

finally

{

Conn.Close();

}

}

3.2系统主界面模块

图3.2系统主界面

登陆成功后,即可进入,系统主界面模块。

窗体名称为界面功能介绍。

主界面为进入学生管理系统各模块的入口,用户可根据菜单上面各个模块名称单击进入各个管理模块,从而进行对系统的管理操作。

主界面下面的statusStrip显示了当前登录的用户名和身份。

3.3系统功能模块

3.3.1用户管理

图3.3用户管理

本窗体只有系统管理员才可以进行管理,可对用户进行添加、删除、查找功能,用户属性有:

用户名、密码、角色。

清空按钮用于清空文本。

代码如下:

privatevoidlistBox1_SelectedIndexChanged(objectsender,EventArgse)

{

stringConnStr,SQLstr;

ConnStr="Server=(Local);DataBase=学籍管理系统;IntegratedSecurity=true;";

SqlConnectionConn=newSqlConnection(ConnStr);

try

{

Conn.Open();

SQLstr="select*fromuserinfowhereusername='"+listBox1.SelectedItem+"'";

SqlCommandmycomm=newSqlCommand(SQLstr,Conn);

SqlDataReadermyreader=mycomm.ExecuteReader();

myreader.Read();

textBox1.Text=myreader.GetValue(0).ToString();

textBox2.Text=myreader.GetValue

(1).ToString();

comboBox1.Text=myreader.GetValue

(2).ToString();

}

catch(Exceptionexp)

{

MessageBox.Show(exp.Message,"错误");

}

finally

{

Conn.Close();

}

button1.Enabled=true;//恢复删除按钮

}

privatevoidusermanage_Load(objectsender,EventArgse)

{

user.Fillrolename(comboBox1);

stringConnStr,SQLstr;

ConnStr="Server=(Local);DataBase=学籍管理系统;IntegratedSecurity=true;";

SqlConnectionConn=newSqlConnection(ConnStr);

try

{

Conn.Open();

SQLstr="selectusernamefromuserinfo";

SqlCommandmycomm=newSqlCommand(SQLstr,Conn);

SqlDataReadermyreader=mycomm.ExecuteReader();

while(myreader.Read())

{

listBox1.Items.Add(myreader.GetValue(0).ToString());

}

listBox1.SelectedIndex=0;

}

catch(Exceptionexp)

{

MessageBox.Show(exp.Message,"错误");

}

finally

{

Conn.Close();

}

}

privatevoidbutton4_Click(objectsender,EventArgse)

{

textBox1.Text="";

textBox2.Text="";

comboBox1.Text="";

button1.Enabled=false;//删除按钮不可用

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

stringConnStr,SQLstr;

ConnStr="Server=(Local);DataBase=学籍管理系统;IntegratedSecurity=true;";

SqlConnectionConn=newSqlConnection(ConnStr);

try

{

Conn.Open();

SQLstr="deletefromuserinfowhereusername='"+listBox1.SelectedItem+"'";

SqlCommandmycomm=newSqlCommand(SQLstr,Conn);

DialogResultr=MessageBox.Show("确认要删除此用户吗?

","警告",MessageBoxButtons.YesNo,MessageBoxIcon.Question);

if(r==DialogResult.Yes)

{

mycomm.ExecuteNonQuery();

textBox1.Text="";

textBox2.Text="";

comboBox1.Text="";

listBox1.Items.Clear();

stringupdatesql="selectusernamefromuserinfo";

mycomm.CommandText=updatesql;

SqlDataReadermyreader=mycomm.ExecuteReader();

while(myreader.Read())

{

listBox1.Items.Add(myreader.GetValue(0).ToString());

}

}

}

catch(Exceptionexp)

{

MessageBox.Show(exp.Message,"错误");

}

finally

{

Conn.Close();

}

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

stringConnStr,SQLstr;

ConnStr="Server=(Local);DataBase=学籍管理系统;IntegratedSecurity=true;";

try

{

if(textBox1.Text==""||textBox2.Text==""||comboBox1.Text=="")

MessageBox.Show("请把信息填写完整!

","错误",MessageBoxButtons.OK,MessageBoxIcon.Warning);

else

{

/*判断当前用户

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1