学生管理信息系统.docx

上传人:b****4 文档编号:27280442 上传时间:2023-06-28 格式:DOCX 页数:39 大小:529.50KB
下载 相关 举报
学生管理信息系统.docx_第1页
第1页 / 共39页
学生管理信息系统.docx_第2页
第2页 / 共39页
学生管理信息系统.docx_第3页
第3页 / 共39页
学生管理信息系统.docx_第4页
第4页 / 共39页
学生管理信息系统.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

学生管理信息系统.docx

《学生管理信息系统.docx》由会员分享,可在线阅读,更多相关《学生管理信息系统.docx(39页珍藏版)》请在冰豆网上搜索。

学生管理信息系统.docx

学生管理信息系统

华科学院计算机科学与技术系计算机专业

《软件工程课程设计》报告

(2010/2011学年第一学期)

 

学生姓名:

强海荣

学生班级:

计算机072202H

学生学号:

200722030217

指导教师:

赵旭俊

 

2010年12月27日 

第一章系统概述

1.1系统开发的背景

随着学校规模的不断扩大,专业、班级、学生的数量急剧增加,有关学生各门课程的成绩的各种信息量也成倍增长,而目前许多高校的学生信息管理仍停留在复杂的人工操作上,重复工作较多,工作量大,效率低,因此,迫切需要开发学生管理信息系统来提高管理工作的效率。

1.2系统开发的意义

学生管理信息系统,在学生信息的规范管理、科学统计和快速查询方面具有较大的实用意义。

它提高了信息的开放性,大大地改善了学生、教师对其最新信息查询的准确性。

为了能够学以致用,通过对学生管理信息系统的简单开发,不仅可以巩固书本上所学知识,从而能够对所学内容加以深化,拓宽自己的知识面。

通过学习与实践相结合,提高自己的编程能力,为今后的毕业设计和以后的软件开发奠定了基础。

1.3系统开发的目标

学生管理信息系统是面向教育部门的学生管理系统,包括学生基本信息管理,学生成绩管理等工作,是利用计算机进行集中管理而开发的系统。

该系统是以VisualBasic6.0为开发环境,以SQL2000为后台数据库进行开发的管理系统,力求与实际相结合具有查询、管理等功能,使教育的管理趋于计算机化,使之更加方便、快捷以提高工作效率。

根据学生管理的需求和特点,该系统实施后,应达到以下目标:

1.灵活地运用表格输入数据,使信息传递更快捷;

2.系统采用人机对话方式,界面美观友好、数据存储安全可靠;

3.键盘操作,快速响应;

4.实现各种信息的添加、删除、修改、查询等;

5.系统运行稳定、安全可靠。

第二章系统需求分析

2.1综合要求

2.1.1功能要求

在学生管理信息系统中,主要有用户登陆、学生信息管理、班级信息管理、学生成绩管理、课程信息管理、用户信息管理等功能。

1.用户登陆

管理员登陆,普通用户对信息的查询登陆,管理员和普通用户必须在登陆页面输入用户名及密码,只有验证通过方可进入其它操作。

2.学生信息管理

包括4个功能模块:

学生信息添加、学生信息修改、学生信息删除和学生信息查询。

3.班级信息管理

包括4个功能模块:

班级信息添加、班级信息修改、班级信息删除和班级信息查询。

4.学生成绩管理

包括4个功能模块:

学生成绩添加、学生成绩修改、学生成绩删除和学生成绩查询。

5.课程信息管理

包括4个功能模块:

课程信息添加、课程信息修改、课程信息删除和课程信息查询。

6.用户信息管理

包括2个功能模块:

用户信息添加和用户密码修改。

2.1.2性能需求

要求该系统易操作、可维护、具有开放性,时刻保持数据的有效性与安全性,并且只有管理员才能对数据进行修改。

开发环境:

VisualBasic6.0.

数据库:

SQLServer2000.

操作系统:

WindowsXP.

2.2数据流图

分析学生管理信息系统的数据来源和去向,绘制出数据流图的顶层数据流图,如图2-1所示。

图2-1学生管理信息系统的顶层数据流图

按自顶向下、逐层分解的方法对顶层数据流图进一步细化,绘制出0层数据流图,如图2.2所示。

图2.2学生管理信息系统的0层数据流图

2.3数据字典

该学生信息管理系统的数据字典如下:

(1)、数据名称:

学生信息

数据流数据字典

数据名:

录入学生的基本信息

来源:

管理员

数据结构:

学号+姓名+性别+出生日期+班级编号+入学时间+住址+备注

简要说明:

该学生信息管理系统的主要结构,定义了一个学生的基本信息

数据项数据字典

数据名:

学号

存储处:

学生信息表

数据元素:

类型:

字符型

长度:

50

含义:

学生的唯一标识

简要说明:

在学生信息表中可以唯一的标识每一位学生

数据名:

入学时间

存储处:

学生信息表

数据元素:

类型:

datetime

长度:

8

含义:

学生的入学时间信息

简要说明:

记录每一位学生的入学时间

数据加工数据字典

项目名:

添加学生信息

输入:

学生信息

输出:

简要说明:

可以添加学生信息

项目名:

修改学生信息

输入:

学生信息

(2)、数据名称:

班级信息

数据流数据字典

数据名:

录入班级的基本信息

来源:

管理员

数据结构:

班级编号+班级名称+辅导员+系名称+班主任

简要说明:

该学生信息管理系统的主要结构之一,定义了一个班级的基本信息

数据项数据字典

数据名:

班级编号

存储处:

班级信息表

数据元素:

类型:

字符型

长度:

50

含义:

班级的唯一标识

简要说明:

在班级信息表中可以唯一的标识每一门课程

数据名:

班主任

存储处:

班级信息表

数据元素:

类型:

字符

长度:

50

含义:

该课程的负责人

简要说明:

记录每一个班级的班主任

数据加工数据字典

项目名:

添加班级信息

输入:

班级信息

输出:

简要说明:

可以添加班级信息

项目名:

修改班级信息

输入:

班级信息

输出:

简要说明:

可以修改错误的班级信息

(3)、数据名称:

学生成绩信息

数据流数据字典

数据名:

录入学生成绩信息

来源:

管理员

数据结构:

学号+课程编号+成绩

简要说明:

该学生信息管理系统的主要结构之一

数据项数据字典

数据名:

学号

存储处:

成绩信息表

数据元素:

类型:

字符型

长度:

50

含义:

学生的唯一标识

简要说明:

在成绩信息表中可以唯一的标识每一位学生

数据名:

成绩

存储处:

成绩信息表

数据元素:

类型:

numeric

长度:

9

含义:

学生的成绩信息

简要说明:

记录每一位学生的成绩信息

数据加工数据字典

项目名:

添加成绩信息

输入:

成绩信息

输出:

简要说明:

可以添加成绩信息

项目名:

查询成绩信息

输入:

输出:

成绩信息

简要说明:

可以查询每一位学生的成绩信息

(4)、数据名称:

课程信息表

数据流数据字典

数据名:

录入课程的基本信息

来源:

管理员

数据结构:

课程编号+课程名称+课程类型+开课时间+学时+学分

简要说明:

该学生信息管理系统的主要结构之一

数据项数据字典

数据名:

课程编号

存储处:

课程信息表

数据元素:

类型:

字符型

长度:

50

含义:

课程的唯一标识

简要说明:

在课程信息表中可以唯一的标识每一门课程

数据名:

开课时间

存储处:

课程信息表

数据元素:

类型:

datetime

长度:

8

含义:

学生的开课时间信息

简要说明:

记录每一门的课程的开课时间

数据加工数据字典

项目名:

添加课程信息

输入:

课程信息

输出:

简要说明:

可以添加课程信息

项目名:

修改课程信息

输入:

课程信息

输出:

简要说明:

可以修改错误的课程信息

2.4系统E-R图

绘制学生管理信息系统的E-R图,如图2-3所示。

图2.3学生管理信息系统的E-R图

图2.4学生实体图

 

图2.5班级实体图

图2.6课程实体图

图2.7成绩实体图

 

第三章系统概要设计

3.1合理方案设计

在需求分析的基础上,寻找实现学生管理信息系统的各种不同的方案,并选取若干个合理方案,经分析比较,从中选出一个最佳方案。

本方案是在VisualBasic6.0、SQLServer2000的环境下,实现对学生管理信息系统的用户登陆、学生信息管理、班级信息管理、学生成绩管理、课程信息管理、用户信息管理等功能。

3.2系统功能模块设计

学生管理信息系统功能包括可视化窗口,对各种信息的添加、修改、删除和查询等具体功能如图3-1所示。

图3.1学生管理信息系统功能模块

3.3数据库设计

在需求分析阶段所确定的学生管理信息系统数据需求的基础上,进一步设计数据库。

1.系统用户数据表(用户信息表)记录系统所有用户名和密码信息,表中的各个字段以及各个字段的说明如表3-1所示:

表3-1用户信息表结构

列名

数据类型

长度

说明

用户名

varchar

50

允许空

密码

varchar

50

允许空

用户类型

char

10

允许空

2.学生信息表记录学生学号、姓名等基本信息,表中的各个字段以及各个字段的说明如表3-2所示:

表3-2学生信息表结构

列名

数据类型

长度

说明

学号

varchar

50

主键

姓名

varchar

50

允许空

性别

varchar

10

允许空

出生日期

datetime

8

允许空

班级编号

varchar

50

允许空

电话号码

varchar

50

允许空

入学时间

datetime

8

允许空

住址

varchar

100

允许空

备注

varchar

200

允许空

3.班级信息表记录班级编号、班级名称及相关的信息,表中各个字段以及各个字段的说明如表3-3所示:

列名

数据类型

长度

说明

班级编号

varchar

50

主键

班级名称

varchar

50

允许空

辅导员

varchar

50

允许空

系名称

varchar

50

允许空

班主任

varchar

50

允许空

表3-3班级信息表结构

4.课程信息表记录课程编号、课程名称等相关信息,表中各个字段以及各个字段的说明如表3-4所示:

列名

数据类型

长度

说明

课程编号

varchar

50

主键

课程名称

varchar

50

允许空

课程类型

varchar

50

允许空

开课时间

carhar

10

允许空

课时

int

4

允许空

学分

int

4

允许空

表3-4课程信息表结构

5.学生成绩表记录学生学号、课程编号及相关的成绩,表中各个字段以及各个字段的说明如表3-5所示:

表3-5学生成绩表结构

列名

数据类型

长度

说明

学号

varchar

50

主键

课程编号

varchar

50

主键

成绩

numeric

9

允许空

第四章系统详细设计

4.1数据库及表创建

启动SQL2000Server,右击“数据库”点击“新建数据库”,在弹出的“数据库属性”对话框中可键入数据库名及其它信息,如图4-1所示:

图4.1新建数据库

4.1.1新建表

数据库创建完毕后,点击可打开。

右击“表”选择“新建表”,可以进行表的创建以及进行相关的表属性设置。

1.用户信息表如图4-2所示:

图4.2新建用户信息表

2.学生信息表如图4-3所示:

图4.3新建学生信息表

3.班级信息表如图4-4所示:

图4.4新建班级信息表

4.课程信息表如图4-5所示:

图4.5新建课程信息表

5.学成成绩表如图4-6所示:

图4.6新建学生成绩表

4.1.2设计表

创建完表后右击对应表名——“打开表”——“返回所有行”,可对表进行添加、修改、插入、删除等相应编辑操作。

1.设计用户信息表如图4-7所示:

图4.7设计用户信息表

2.设计学生信息表如图4-8所示:

图4.8设计学生信息表

3.设计班级信息表如图4-9所示:

图4.9设计班级信息表

4.设计课程信息表如图4-10所示:

图4.10设计课程信息表

5.设计学生成绩表如图4-11所示:

图4.11设计学生成绩表

4.2结构程序设计

4.2.1添加信息程序流程图

绘制添加信息流程图,如图4-12所示。

图4.12添加信息

4.2.2修改信息程序流程图

绘制修改信息流程图如图4-13所示。

图4.13修改信息

4.2.3删除信息程序流程图

绘制删除信息流程图如图4-14所示。

图4.14删除信息

4.2.4查询信息程序流程图

绘制查询信息流程图如图4-15所示

图4.15查询信息

4.2.5系统程序流程图

采用自顶向下、逐步求精的程序设计方法,使用顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和出口。

4.3人机界面设计

认真处理好系统响应时间、用户帮助设施、出错信息处理和命令交互这4个问题。

先创建设计模型,接下来用原型实现这个设计模型并由用户调试和评估原型,然后根据用户意见修改原型。

1.系统响应时间:

稳定在1秒。

2.用户帮助设施:

选择附加的帮助设施。

3.出错信息处理:

1)当输入用户名不存在时,给出提示;

2)当输入密码不正确时,给出提示;

3)当查询信息不存在时,给出提示;

4)其他出错提示。

4.命令交互:

用户既可以从菜单中选择软件功能,也可以通过键盘命令序列调用软件功能。

第五章系统编码与实现

5.1创建工程项目

图5.1VB6.0界面

1.启动VB6.0,出现VB6.0运行界面,如图5-1所示:

2.点击“文件”——“保存工程”保存当前工程文件。

5.2工程主窗体

在VB程序设计中,主界面负责应用程序的主界面,由它调用其它模块。

因此,主界面应该具有操作性好、界面清晰、使用户能够很方便地找到所需功能的特点。

本系统的主界面部在相应的系统菜单组成,用户只需要点击相应的菜单使可调出对应的系统模块。

工程主窗体如图5-2所示。

图5.2工程主窗体

5.3用户登陆窗体

本模块用于用户登陆窗体主要由文本框及命令按钮组成,利用ADODC控件及DataGrid控件实现程序代码与SQL数据的连接(如图5-3所示)。

图5.3用户登陆窗体

对应代码如下:

OptionExplicit

PrivateSubCommand1_Click()

DimcnAsNewADODB.Connection

DimrsAsNewADODB.Recordset

Dimcn_strAsString

Dimrs_strAsString

cn_str="driver={sqlserver};server=.;uid=sa;pwd=;database=XSXX"

cn.Opencn_str

rs_str="select*frommimawherename='"&Trim(Text1.Text)&"'"

rs.Openrs_str,cn,adOpenKeyset,adLockOptimistic

IfText1.Text<>""AndText2.Text<>""Then

Ifrs.RecordCount>0Then

IfText2.Text=Trim(rs.Fields("code"))Then

'MsgBox"成功登录!

",64,"提示"

MDIfrm_main.Show

UnloadMe

'Me.Hide

Else

MsgBox"输入的密码不对,请重新输入!

",64,"提示"

Text2.SetFocus

Text2.SelStart=0

Text2.SelLength=Len(Text2.Text)

EndIf

Else

MsgBox"没有该操作员!

",64,"提示"

EndIf

Else

IfText1.Text=""AndText2.Text<>""Then

MsgBox"请输入操作员!

",64,"提示"

Text1.SetFocus

ElseIfText1.Text<>""AndText2.Text=""Then

MsgBox"请输入密码!

",64,"提示"

Text2.SetFocus

ElseIfText1.Text=""AndText2.Text=""Then

MsgBox"请输入操作员和密码!

",64,"提示"

Text1.SetFocus

EndIf

EndIf

EndSub

PrivateSubCommand2_Click()

UnloadMe

EndSub

PrivateSubForm_Load()

Text1.Text=""

Text2.Text=""

Me.Icon=LoadPicture("")

Label5.Caption=Year(Date)

EndSub

PrivateSubText1_Change()

EndSub

5.4学生信息窗体

本窗体通过ADODC控件连接数据库的学生表,可以实现对学生信息的添加、修改删除和查询。

5.4.1学生信息添加窗体

学生信息的添加窗体,如图5-4所示。

图5.4学生信息添加窗体

对应代码如下:

OptionExplicit

Dims,y,i,j

DimrsAsNewADODB.Recordset

PrivateSubForm_Load()

MS1.Rows=2

MS1.Cols=10

y=Array("序号","学号(*)","姓名","性别","出生日期","班级编号","电话号码","入学时间","住址","备注")

Fori=0ToMS1.Cols-1

MS1.TextMatrix(0,i)=y(i)

MS1.FixedAlignment(i)=4

MS1.ColAlignment(i)=4

Next

MS1.FixedRows=1:

MS1.FixedCols=1

MS1.TextMatrix(1,0)=1

MS1.ColWidth(0)=450

Toolbar1.Buttons(8).Enabled=False

Toolbar1.Buttons(10).Enabled=False

MS1.Enabled=False

Text1.Text=""

EndSub

PrivateSubForm_QueryUnload(CancelAsInteger,UnloadModeAsInteger)

UnloadMe

MDIfrm_main.Picture1.Visible=True

EndSub

PrivateSubForm_Resize()

MS1.Width=Me.Width-200

MS1.Height=Me.Height

Fori=1ToMS1.Cols-1

MS1.ColWidth(i)=MS1.Width/9.3

Next

EndSub

PrivateSubMS1_Click()

IfMS1.Row>=1AndMS1.TextMatrix(MS1.Row-1,MS1.Cols-1)<>""Then

Text1.Visible=True

Text1.SetFocus

EndIf

EndSub

PrivateSubMS1_EnterCell()

Module1.entercellMS1,Text1

EndSub

PrivateSubMS1_RowColChange()

Fori=1ToMS1.Rows-1

MS1.TextMatrix(i,0)=i

Next

EndSub

PrivateSubText1_Change()

MS1.Text=Text1.Text

EndSub

PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)

IfKeyCode=vbKeyUpThen

Module1.moveupMS1,Text1

EndIf

 

IfKeyCode=vbKeyRightOrKeyCode=vbKeyReturnThen

Module1.moverightMS1,Text1

EndIf

IfKeyCode=vbKeyDownThen

Module1.movedownMS1,Text1

EndIf

IfKeyCode=vbKeyLeftThen

Module1.moveleftMS1,Text1

EndIf

EndSub

PrivateSubMS1_Scroll()

Text1.Width=MS1.CellWidth:

Text1.Height=MS1.CellHeight

Text1.Left=MS1.Left+MS1.CellLeft:

Text1.Top=MS1.CellTop+MS1.Top

EndSub

PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)

SelectCaseButton.Key

Case"add"

Toolbar1.Buttons(8).Enabled=True

Toolbar1.Buttons(10).Enabled=True

Text1.Visible=True:

Text1.Text=""

MS1.Enabled=True

Text1.SetFocus

Text1.Width=MS1.CellWidth:

Text1.Height=MS1.CellHeight

Text1.Left=MS1.CellLeft+MS1.Left:

Text1.Top=MS1.CellTop+MS1.Top

Case"save"

Fori=1ToMS1.Rows-1

IfMS1.TextMatrix(i,1)<>""Then

rs.Open"select*fromstudent_info",cnn,adOpenKeyset,adLockOptimistic

rs.AddNew

Forj=1ToMS1.Cols-1

IfMS1.TextMatrix(i,j)<>""Thenrs.Fields(j-1)=Trim(MS1.TextMatrix(i,j))

Nextj

rs.Update

rs.Close

EndIf

Next

MsgBox"添加成功!

",64,"提示"

Fori=1ToMS1.Rows-1

Forj=1ToMS1.Cols-1

MS1.

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

当前位置:首页 > 农林牧渔 > 农学

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

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