学生信息管理系统论文111.docx
《学生信息管理系统论文111.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统论文111.docx(34页珍藏版)》请在冰豆网上搜索。
学生信息管理系统论文111
学生信息管理统
设计文档
学号:
姓名:
班级:
计算机网络0701日期:
2009/06/16
一需求分析文档
1.1引言
学生档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有着手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我们将以开发一套学生档案管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。
1.2需求分析与可行性论证
1.2.1系统需求
通过调查,要求系统需要有以下功能:
⑴由于操作人员的计算机知识普遍较差,要求有良好的人机界面;
⑵由于该系统的使用对象多,要求有较好的权限管理;
⑶原始数据修改简单方便,支持多条件修改
⑷方便的数据查询,支持多条件查询;
⑸在相应的权限下,删除数据方便简单,数据稳定性好;
⑹数据计算自动完成,尽量减少人工干预;
1.2.2可行性论证
1.技术上可行性:
软件界面清晰,整洁。
功能一目了然,操作简单,容易上手,对于一般网络操作者都能胜任。
综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。
2.运行上可行性:
本系统为一个小型的编辑系统,所耗费的资源非常的小,具体的系统需求如下:
CPU:
至少200MHzIntelPentinm处理器
操作系统:
Windows98第二版、WindowsMe、WindowsNT4、Windows2000或WindowsXP内存:
至少64mb可用系统内存
硬盘:
至少85mb可用磁盘空间
显示器:
分辨率1024×768Pixels、16位色以上显示器效果最佳
光驱:
cd-rom驱动器
电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。
3.法律可行性:
本系统纯为私人设计,在开发过程中没有涉及合同、责任等与法律相抵触的方面。
因此,本系统在法律上是可行的。
1.3系统的功能简介
本系统主要可以实现以下的管理功能:
班级管理、学生档案管理、学生交费管理、课程管理、成绩管理等等。
1.3.1项目规划
学生信息管理系统是一个典型的数据库应用程序,由班级管理、学生档案管理、学生交费管理、课程管理、成绩管理等模块组成,特规划如下:
1.3.2系统管理模块(CTRL+O)
该模块的主要任务是维护系统的正常运行和安全性设置,包括添加用户(快捷键:
CTRL+A)、修改密码(快捷键:
CTRL+B)、重新登录(快捷键:
CTRL+F1)等等。
1.3.3班级管理模块(CTRL+P):
该模块的功能是实现对全校班级的管理工作,包括:
班级游览、班级添加、班级查询等,这三个功能模块各自独立,完成学校的全部班级的管理。
1.3.4学生档案管理模块(CTRL+T):
该模块的主要功能是实现对学生的个人信息的管理工作,包括档案添加、档案浏览、档案查询等功能,从而方便学校管理部门对学校的基本情况的快速查询和了解。
1.3.5课程管理模块(CTRL+R):
该模块对各个班级的课程进行设置,并可在其中设置各门课程的教材选用情况,方便了学校教材管理部门和教务处的教学管理人员的工作。
该模块包括基本课程设计和班级课程设置两个模块。
1.3.6成绩管理模块(CTRL+F):
学校的成绩管理工作是检验学生学习情况的一个主要手段,本模块包括考试类型设置,共有期中考试和期未考试两种类型,还设置了成绩添加、成绩浏览、成绩查询等功能模块。
1.4系统开发的目标
出于本系统是学校学生管理的一个综合性的系统,本系统的设计目标将最终定位于完成以上所述的系统主要业务的基本模型上。
1.可以存储历届的学生档案,安全、高效;
2.只需一到二名档案录入员即可操作系统,节省大量人力;
3.可以迅速查到所需信息。
2.概要设计
2.1业务流程分析
班级管理业务流程图:
档案管理业务流程图:
课程管理业务流程图:
成绩管理业务流程图:
2.2数据流程分析:
2.2.1数据流程图:
由于本系统的数据模块较多下面仅以学生成绩管理模块为例来进行编制。
学生成绩管理系统0层数据流程图
学生成绩管理系统1层数据流程图
2.3数据存储分析:
实体联系图
1、数据模型设计。
首先来做出学生成绩管理系统的E-R图,分析这个问题的实体,从系统分析可以知道,学生的成绩是由任课教师按照课程给出的,学生、课程、教师组成了这个系统的三个实体。
2、再分析三个实体之间的联系。
首先,这三个实体不是一个统一体,学生成绩与教师没有内在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。
课程与学生这两个实体是多对多联系;一位学生要学习多门课程,一门课程有多位学生共同学习。
而学习成绩是这两个实体“学生”和“成绩”共有的属性,应填在二者的联系“学习”边。
因为成绩既不是学生独有的,也不是课程独有的;“学生甲70分”或“英语70分”是不完全的,说“学生甲英语70分”才是正确的,因为70分是学生甲和英语课二者共有的。
这个E-R图可画成下图。
学生成绩管理系统中学生与课程的E-R图
教师与课程这两个实体之间,是一对多联系;一位教师可以都多门课程,而一门课程对于学生成绩来说只能有一位教师(英语、高等数学有多位教师教,但对某个固定的学生来说只能有一位教师)。
其E-R图,如下所示。
教师与课程的E-R图组合到一起,得到最后的E-R图,有了E-R图,就可以设计数据库。
下图为数据模型图。
2.4功能分析:
功能层次图
3.系统设计
3.1软件模块结构设计
3.1.1系统方案确定
通过对系统的调研与分析,系统主要应完成的功能有:
班级管理、学生成绩管理、学生交费管理、课程管理、成绩管理、系统管理等功能。
3.1.2软件结构设计
本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。
3.2数据库设计
3.2.1本系统中所涉及到的主要实体共有九个数据表:
allkecheng表:
{课程名称,教材}
studentchengji表:
{学号,学期,类型,课程名称,分数}
class表:
{年级,班级,教室,年制,专业,班主任,备注}
classkecheng表:
{年级,专业,年制,学期,课程名称}
jiaofei表:
{学号,学期,交费,欠费,日期,操作员}
kaoshileixing表:
{类型}
use表:
{username,password,admin,readonly,qx1,qx2,qx3,qx4}
xueji表:
{学号,姓名,性别,班级,出生年月,家庭住址,邮政编码,联系电话,入学时间,备注}
shoufei表:
{年级,专业,年制,学期,学费}
3.2.2各表的物理结构如下:
allkecheng表:
字段名称
类型
宽度
小数位
课程名称
文本
20
教材
文本
30
studentchengji表:
字段名称
类型
宽度
小数位
学号
文本
10
学期
文本
50
类型
文本
16
课程名称
文本
20
分数
单精度型数字
自动
Class表:
字段名称
类型
宽度
小数位
年级
文本
16
班级
文本
20
教室
文本
5
年制
文本
8
专业
文本
16
班主任
文本
8
备注
备注
Classkecheng表:
字段名称
类型
宽度
小数位
年级
文本
16
专业
文本
12
年制
文本
8
学期
文本
50
课程名称
文本
20
jiaofei表:
字段名称
类型
宽度
小数位
学号
文本
5
学期
文本
50
交费
货币
自动
欠费
货币
自动
日期
日期/时间
操作员
文本
10
Kaosileixing表:
字段名称
类型
宽度
小数位
类型
文本
10
Use表:
字段名称
类型
宽度
小数位
username
文本
20
password
文本
20
Admin
文本
2
Readonly
文本
2
Qx1
文本
2
Qx2
文本
2
Qx3
文本
2
Qx4
文本
2
xueji表:
字段名称
类型
宽度
小数位
学号
文本
9
姓名
文本
8
性别
文本
2
班级
文本
10
出生年月
日期/时间
家庭住址
文本
30
邮政编码
数字(长整型)
联系电话
数字(长整型)
入学时间
日期/时间
备注
备注
shoufei表:
字段名称
类型
宽度
小数位
年级
文本
16
专业
文本
50
年制
文本
20
学期
文本
40
学费
货币
自动
4.系统的功能
本部分主要内容为本系统的运行界面以及主要界面的源代码。
4.1系统登陆界面:
本界面的主要功能是为了对系统进行安全性管理,本系统的用户名和密码保存在USE表中,本系统根据不同的用户而设置了不同的权限,可以用909;909为用户名和密码来登陆本系统。
PrivateSubCommand1_Click()
DimmrcAsADODB.Recordset
txtsql="selectusernamefromusewhereusername='"&Trim(Text1.Text)&"'"
Setmrc=ExecuteSQL(txtsql)
Ifmrc.EOF=TrueThen
MsgBox"用户名错误!
",vbExclamation+vbOKOnly,"警告"
Text1.SetFocus
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
ExitSub
EndIf
username=mrc.Fields(0)
txtsql2="selectusernamefromusewherepassword='"&Trim(Text2.Text)&"'"
Setmrc=ExecuteSQL(txtsql2)
Ifmrc.EOF=TrueThen
MsgBox"密码错误!
",vbExclamation+vbOKOnly,"警告"
Text2.SetFocus
Text2.SelStart=0
Text2.SelLength=Len(Text2.Text)
ExitSub
EndIf
txtsql="selectusernamefromusewhereusername='"&Trim(Text1.Text)&"'andpassword='"&Trim(Text2.Text)&"'"
Setmrc=ExecuteSQL(txtsql)
Ifmrc.EOF=TrueThen
MsgBox"用户名称和密码不匹配!
",vbExclamation+vbOKOnly,"警告"
ExitSub
EndIf
MDIForm1.Show
frmcpass.Text1.Text=Text1.Text
UnloadMe
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
PrivateSubForm_Load()
EndSub
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
Text2.SetFocus
EndIf
EndSub
PrivateSubText2_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
Command1.SetFocus
EndIf
EndSub
4.2系统主界面:
本模块是本系统的应用界面,在本界面上集成了本系统的所有功能,共有6个功能菜单和19个子菜单(功能模块),从而实现了本系统从班级管理、档案管理、缴费管理、课程管理、成绩管理等系统的具体功能,同时,在系统管理模块中可以完成对本系统的安全性管理。
PrivateDeclareFunctionSetWindowPosLib"user32"(ByValhwndAsLong,ByValhWndInsertAfterAsLong,ByValXAsLong,ByValYAsLong,ByValcxAsLong,ByValcyAsLong,ByValwFlagsAsLong)AsLong
Dimfind1AsInteger
Dimliulan1AsInteger
PrivateSubadd_Click()
qxstr=Executeqx
(2)
Ifqxstr="false"Orqxstr="readonly"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!
",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
Form1.Show
modi=False
Form1.ZOrder(0)
EndSub
PrivateSubcjadd_Click()
fenshumodi=False
qxstr=Executeqx(4)
Ifqxstr="false"Orqxstr="readonly"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!
",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
frmcj2.Show
frmcj2.ZOrder0
EndSub
PrivateSubcjbrowse_Click()
qxstr=Executeqx(4)
Ifqxstr="false"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!
",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
frmcj1.Show
frmcj1.ZOrder0
EndSub
PrivateSubclaasfind_Click()
qxstr=Executeqx
(2)
Ifqxstr="false"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!
",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
Form4.Show
Form4.ZOrder(0)
i=SetWindowPos(Form4.hwnd,-1,0,0,0,0,3)
EndSub
PrivateSubclassapp_Click()
qxstr=Executeqx
(2)
Ifqxstr="false"Orqxstr="readonly"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!
",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
Formclass1.Show
classmodi=False
Formclass1.classload
Formclass1.ZOrder(0)
EndSub
PublicSubclabrowse()
txtsql="select*fromclass"
Formclass2.ZOrder(0)
Formclass2.Caption="浏览班级设置"
Formclass2.classshowtitle
Formclass2.classshowdata
EndSub
PrivateSubclassbrowse_Click()
qxstr=Executeqx
(2)
Ifqxstr="false"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!
",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
Formclass2.Show
EndSub
PrivateSubclassfind_Click()
qxstr=Executeqx
(2)
Ifqxstr="false"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!
",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
Formclass3.Show
Formclass3.ZOrder(0)
EndSub
PrivateSubfind_Click()
EndSub
PrivateSubclasskecheng_Click()
qxstr=Executeqx(4)
Ifqxstr="false"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!
",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
Frmclasskecheng1.Show
Frmclasskecheng1.ZOrder
EndSub
PrivateSubdenglu2_Click()
Frmdenlu.Show
UnloadMe
EndSub
PrivateSubjiaofeiadd_Click()
qxstr=Executeqx(3)
Ifqxstr="false"Orqxstr="readonly"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!
",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
Frmjf1.Show
Frmjf1.ZOrder0
EndSub
PrivateSubjiaofeibrowse_Click()
qxstr=Executeqx(3)
Ifqxstr="false"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!
",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
frmjf2.Show
frmjf2.ZOrder0
EndSub
PrivateSubjiaofeifind_Click()
qxstr=Executeqx(3)
Ifqxstr="false"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!
",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
Frmjf4.Show
EndSub
PrivateSubjibenkecheng_Click()
qxstr=Executeqx(4)
Ifqxstr="false"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!
",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
frmjiben.Show
frmjiben.ZOrder0
EndSub
PrivateSubleixing_Click()
qxstr=Executeqx(4)
Ifqxstr="false"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!
",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
Frmleixing.Show
Frmleixing.ZOrder0
EndSub
PrivateSubliulan_Click()
qxstr=Executeqx
(2)
Ifqxstr="false"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!
",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
find=False
Form3.Show
EndSub
PrivateSubMDIForm_Load()
'username="0001"
DataEnv1.Connection1.ConnectionString=connstring
StatusBar1.Panels
(2).Text=Now
StatusBar1.Panels(3).Text="当前操作员:
"&username
DimaaAsString
SelectCaseExecuteqx
(1)
Case"admin"
aa="超级管理员"
Case"readonly"
aa="只读管理员