学生信息管理系统.docx
- 文档编号:6676135
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:23
- 大小:718.42KB
学生信息管理系统.docx
《学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统.docx(23页珍藏版)》请在冰豆网上搜索。
学生信息管理系统
系统需求分析
一、功能需求
1、能够游览学生的所有信息
2、能够通过学生的一个信息找到个人的相关信息(例如:
知道学生的姓名能够找到该学生的所有有关的信息)
3、通过一条信息找到与之匹配的信息(例如:
查询同一专业或同班级的所有学生)
4、相关人员能对包含学生的信息进行管理(因为学生有关情况不是固定不变的所以一旦学生信息发生改变就要对原有信息进行诸如添加,删除,修改等的操作)
5、能够对新的考试进行必要的管理(如添加,删除,修改等的操作)
6、需要提供用户管理的功能(能如添加,删除,修改用户的用户名与口令等)
7、对学生的成绩进行必要的管理工作(如输入,存储、编辑与查询等)
二、性能需求
1、数据精确度
查询时应保证查全率,所有相应域包含查询关键字的记录都应能查到
2、时间特性
一般操作的响应时间应在1-2秒内
3、适应性
对运行环境要求普遍适应性
三、运行需求
1、用户界面
利用菜单界面驱动方式,对用户友好。
必须对鼠标和键盘单独支持
2、硬件接口
支持一般奔腾Ⅲ,128兆以上内存的pc机。
3、软件接口
运行于Windows9X及更高版本具有WIN32API的操作系统上
四.数据流图
经过系统的调查与系统分析得到系统的数据流程图如下:
系统管理员
菜单选择码
菜单
选择
+
+
用户
管理
学生成
绩管理
学生信
息管理
考试
管理
12
1234567911
810
用户文档学生数据库文件学生成绩数据库考试数据库文件
系统数据流图
数据流说明:
1,2为普通用户的基本数据
3,4为普通用户的基本数据
5,6,7,8,9,10为学生成绩相关数据
11,12为考试的基本数据
李慧200720010209
计算机072002班
系统总体设计
一、概要设计
针对以上系统要完成的功能,本系统总体设计采用自顶向下,逐步细化的方法将功能层次结构的各个部分组合起来,以完成整个系统的实现细节。
二、模块结构
系统功能结构图
有关功能说明:
1、学生信息管理功能:
以分类形式录入在校学生的基本基本信息存放在学生基本数据库文件中。
并同时具有对学生基本数据库文件进行查询,修改和删除记录功能。
本模块又分为三个子模块:
(1)学生信息录入
(2)学生信息查询
(3)学生信息编辑(修改/删除)
其中,学生信息查询不需登录即可使用,信息录入和修改/删除模块则需要先登录后才能使用。
2.学生成绩管理模块主要是对学生成绩进行管理。
本模块又分为三个子模块:
(1)学生成绩录入
(2)学生成绩查询
(3)学生成绩编辑(修改/删除)
其中,学生成绩查询不需登录即可使用,其他模块则需要先登录后才能使用。
3.考试管理模块主要对考试进行如下管理:
(1)添加新考试
(2)对已有的考试信息进行编辑(修改/删除)
(3)对考试科目进行编辑(添加/删除)
4.用户管理模块主要对使用本系统的用户进行如下管理:
(1)添加新用户
(2)对已有的用户进行更改用户名、密码和权限(管理员或普通用户)等操作
(3)删除用户
本模块只有管理员才能使用,普通用户不能进入。
功能模块如图2.2。
三、数据结构
本系统主要用到六个数据文件,它们是:
学生基本数据库文件:
采用索引组织,存取为随机方式。
学生成绩数据库文件:
采用索引组织,存取为随机方式。
课程数据库文件:
采用索引组织,存取为随机方式。
考试数据库文件:
采用索引组织,存取为随机方式。
用户数据库文件:
采用顺序组织,存取为顺序方式。
系统主文件:
采用顺序组织,存取为顺序方式。
四、系统的总体布局方案
学生管理系统分为学生信息管理、学生成绩管理、考试管理和用户管理四个子系统。
用户在进入此系统时首先必须在进行身份的确认,只有是合法用户才能进入此系统,否则将无法使用此系统。
如果是合法用户,就可以进行对学生信息、学生成绩、与考试进行管理工作(如输入、更新、删除、查询等操作),但无法进行用户的管理工作。
如果要进行用户的管理工作还必须进入另外一个用户管理员身份的确认,如果用户管理员的名称与口令均正确才对用户进行管理工作(如删除、修改用户名与口令和添加新用户等操作)。
五、软件系统总体结构设计
学生管理系统由中主程序main11.mpr来调用一般用户的确认表单经确认后是合法用户由此表单中的程序调用学生管理系统的欢迎界面,此界面是单文档表单上面附有SDI菜单,菜单中包含四个主菜单项分别为学生学生信息管理、学生成绩管理、考试管理和用户管理每个主菜单项下又有子菜单如用户管理下就有用户管理员认证、添加新用户、删除用户、更新用户等子菜单。
李慧200720010209
计算机072002班
系统详细设计
一、功能模块设计
1、用户管理模块
在用户管理模块中又把此模块分为三个小的模块分别为:
(1).输入
在输入模块中通过在表单中的一个确定按钮使得用户在界面中通过键盘或通过标输入的数据插入到数据库中的学生基本信息表中,通过退出按钮结束学生信息的输入。
(2).编辑
当用户进入编辑窗口时,编辑窗口中的数据绑定型控件都与学生基本信息表中的字段进行绑定。
并设计一个类,类的基类为命令按钮组,组中包含六个命令按钮分别为:
第一个,上一个,下一个,最后一个,删除,退出。
把此类作为控件添加到表单中,以此来对记录进行移动与删除。
(3).查询
当用户进入查询窗口时,在查询窗口的文本框中输入要查询的关键字如性名或学号时,并点确定按钮,按钮中的SQL查询语句就会执行,使得结果显示在此表单的下方的表格中。
2、学生基本信息管理模块、考试管理模块和成绩管理模块这三个模块的每一个模块都包含以上的三个小模块在此不在重复。
二、数据库设计
1、数据库概念结构设计
这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础,可以用实体-关系模型来描述.
实体-关系模型(Entity-relationshipMode,简称E-R模型)是数据库设计常用的方法.E-R图中的矩形表示实体,菱形表示实体之间的联系,联系的类型可以用1:
1或1:
M或M:
N表示,圆角矩形表示实体的有关属性,椭圆表示实体的具体属性。
下图是学生信息管理系统各个实体以及数据库系统的E-R图。
学生实体E-R图
班级信息实体E-R图
课程信息实体E-R图
奖励信息实体E-R图
职务信息实体E-R图
在得到了各个实体的E-R图之后,我们就可以对它们进行化简,得到整个系统数据库的E-R图。
学生信息管理系统数据库E-R图
2、数据库逻辑设计
下面需要将数据库概念结构转化为SQLSever数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。
设计4个数据表来保存学生的信息:
学生个人基本信息表,学生所选课程信息表,学生奖励信息表,学生职务信息表。
为了数据记录实例的完整,系统中包括了应用程序中所需的一个外部数据表:
学校班级信息表。
为了优化数据表的结构,有的字段采用字段形式,因此附加了一个代码表:
课程设置代码表。
另外学要一个计数数据表来保存其他表格所需的记录号:
记录号数据表。
总共需要7个表,其结构如下表所示。
设计一个项目,项目名为学生管理信息系统并在此项目中创建一个数据库,数据库名为xsxj此数据库中包含学生、课程、成绩、班级、系部、考试、专业、用户等表。
表结构如下:
学生表(xs)
字段名
xh
xm
xb
Jg
mz
zzma
bz
zp
csrq
类型
c
c
c
c
c
c
m
g
d
宽度
10
8
2
6
2
4
4
4
8
标题
学号
姓名
性别
籍贯
民族
政治面貌
备注
照片
出生日期
字段名
xdh
zydh
bjdh
类型
c
c
c
宽度
2
2
3
标题
系代号
专业代号
班级代号
课程表(kc)
字段名
kcdh
kcm
xf
kclx
kcxz
kss
类型
c
c
n
c
c
n
宽度
4
16
3,1
8
8
3
标题
课程代号
课程名
学分
课程类型
课程性质
课时数
成绩表(cj)
字段名
xh
kcdh
cj
类型
c
c
n
宽度
10
4
3
标题
学号
课程代号
成绩
考试表(ks)
字段名
ksdh
kskm
kssj
jkls
ksdd
qkrs
skrs
ksqk
类型
c
c
d
c
c
n
n
m
宽度
5
16
8
18
16
3
3
4
标题
考试代号
考试课名
考试日期
监考老师
考试地点
缺考人数
实考人数
考试情况
用户表(user1)
字段名
yfm
yfmm
类型
c
c
宽度
10
8
标题
用户名
用户密码
系表(xi)
字段名
xdh
ximing
类型
c
c
宽度
2
18
标题
系代号
系名
专业表(zy)
字段名
zydh
zymc
xz
类型
c
c
c
宽度
2
16
1
标题
专业代号
专业名称
学制
班级表(bj)
字段名
bjdh
bjmc
bzr
jsdd
类型
c
c
c
c
宽度
3
12
8
12
标题
班级代号
班级名称
班主任
教室地点
三、对话设计
在对话设计的过程中遵循了对话设计的原则:
1.对话要清楚、没有二义性。
2.对用户的响应要快,而且要进行了回答的有效性检验。
3.对话比较适合用户的要求与习惯,应该问的问题问了,问得不频繁。
4.注意询问格式的美观、实用,而且采用了统一的格式,体现了一定的风格。
在整个界面的风格上采用了灰色为基调,界面的大小为统一的高345宽500。
对于错误对话框统一采用Meassagebox()函数来生成。
四、可靠性设计
这里所说的可靠性是指数据的安全与保密。
所谓系统的可靠性设计就是确定保证数据的安全与保密措施。
就保密措施采取了二重确认的方法。
通过加强应用程序的容错性,设置了用户的权限,系统中信息资源的存取、修改、查询等使用权限进行了控制。
对于用户管理员的顶级权限在程序运行的过程中进行了控制工作。
李慧200720010209
计算机072002班
管理系统的实现
一、菜单的实现
用户在进行用户确认后进入如图菜单:
系统菜单
此菜单为SDI菜单,菜单名为main01.mnx,并生成为main01.mpr文件后。
把表单(main01.scx)的showwindows属性设置为2作为顶层表单,并在此表单的init事件中书写如下程序代码:
Doforms\main01.mprwiththis,.t.
二、用户管理员认证表单的实现
系统管理员在作为普通用户进入系统后,必须再经过如图中表单的确认后方可进行用户管理。
系统管理员
在其界面中系统管理名与系统管理员口令都运用了文本框让使用者输入其目的就增加其保密性。
此表单的主要程序代码在确定按钮的click的事件中。
程序代码如下:
settalkoff
ifalltrim(thisform.text1.value)=="system12345"
ifalltrim(thisform.text2.value)=="678910sys"
thisform.release
doformd:
\学生管理信息系统\forms\yfsc.scx
else
thisform.spinner1.value=thisform.spinner1.value+1
ifthisform.spinner1.value=3
messageb("你输入的用户名或口令不正确!
"+chr(13)+"对不起,你无权使用!
",48,"系统信息")
releasethisform
else
messageb("你输入的用户口令有误,请重新输入!
")
thisform.text2.value=""
thisform.text2.setfocus
thisform.text2.setfocus
endif
endif
else
messageb("你输入的用户名有误,请重新输入!
")
thisform.text1.value=""
thisform.text1.setfocus
endif
三、学生基本信息表单输入的实现
学生信息录入
上图是学生信息录入界面,此界面中由于学生的所包含的信息众多,所以在实现的过程中采用了页框,页框中包含了两个页面第一个页面中是学生的基本信息,第二个页面中是学生的相关信息。
此表单的主要程序代码在确定按钮的click的事件中。
程序代码如下:
a=thisform.pageframe1.page1.text1.value
b=thisform.pageframe1.page1.text2.value
c=thisform.pageframe1.page1.text3.value
d=thisform.pageframe1.page1.text4.value
e=thisform.pageframe1.page1.text5.value
f=bo1.value
g=bo2.value
h=bo3.value
l=bo4.value
m=bo5.value
n=thisform.pageframe1.page2.edit1.value
iflen(a)=0
messageb('输入的学号不能为空!
')
thisform.pageframe1.page1.text1.setfocus
else
iflen(b)=0
messageb('输入的姓名不能为空!
')
thisform.pageframe1.page1.text2.setfocus
else
iflen(c)=0
messageb('输入的籍贯不能为空!
')
else
thisform.pageframe1.page1.text3.setfocus
iflen(d)=0
messageb('输入的民族不能为空!
')
thisform.pageframe1.page1.text4.setfocus
else
iflen(l)=0
messageb('输入的性别不能为空!
')
bo4.setfocus
else
iflen(f)=0
messageb('输入的政治面目不能为空!
')
bo1.setfocus
else
iflen(h)=0
messageb('输入的系代号不能为空!
')
bo3.setfocus
else
iflen(g)=0
messageb('输入的专业代号不能为空!
')
bo2.setfocus
else
iflen(m)=0
messageb('输入的班级代号不能为空!
')
bo5.setfocus
else
iflen(e)=0
messageb('输入的出生日期不能为空!
')
thisform.pageframe1.page1.text5.setfocus
else
insertintod:
\学生管理信息系统\data\xs(xh,xm,xb,csrq,jg,mz,zzma,bz,xdh,zydh,bjdh)values(a,b,l,ctod(e),c,d,f,n,h,g,m)
thisform.pageframe1.page1.text1.value=""
thisform.pageframe1.page1.text2.value=""
thisform.pageframe1.page1.text3.value=""
thisform.pageframe1.page1.text4.value=""
thisform.pageframe1.page1.text5.value=""
thisform.pageframe1.page2.edit1.value=""
bo1.value=""
bo2.value=""
bo3.value=""
bo4.value=""
bo5.value=""
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
四、学生考试课程编辑表单的实现
课程信息编辑
上图是课程信息编辑界面,此界面由于是编辑界面所以所有的数据绑定控件均为文本框,每一个文本框都与课程表的一个字段进行绑定。
表单中的命令按钮组是一个类(mytool)此表单的主要程序代码集中在类的click的事件中。
程序代码如下:
x=this.value
docase
casex=1
gotop
mand1.enabled=.f.
mand2.enabled=.f.
mand3.enabled=.t.
mand4.enabled=.t.
casex=2
mand3.enabled=.t.
mand4.enabled=.t.
ifnotbof()
skip-1
ifrecno()=1
mand1.enabled=.f.
mand2.enabled=.f.
endif
endif
casex=3
mand1.enabled=.t.
mand2.enabled=.t.
ifnoteof()
skip
ifrecno()=reccount()
mand3.enabled=.f.
mand4.enabled=.f.
endif
endif
casex=4
gobottom
mand1.enabled=.t.
mand2.enabled=.t.
mand3.enabled=.f.
mand4.enabled=.f.
casex=5
delete
n=messagebox("真的要删除该记录吗?
",1+32,"删除")
ifn=1
pack
else
recall
endif
casex=1
gotop
mand1.enabled=.f.
mand2.enabled=.f.
mand3.enabled=.t.
mand4.enabled=.t.
casex=6
closedatabase
thisform.release
endcase
thisform.refresh
五、学生成绩查询表单的实现
学生成绩查询
上图是学生成绩查询界面,此界面中通过在组合框中选择要查询的学号、姓名、课程代号、专业代号和班级代号等多种查询手段,并在其后的文本框中输入要查询的值,然后单击确定按钮在下方的表格中就会显示出查询的结果。
此表单的主要程序代码在确定按钮的click的事件中。
程序代码如下:
docase
casebo1.value="学号"
a=allt(thisform.text1.value)
thisform.grid1.recordsourcetype=4
thisform.grid1.recordsource='selectxh,kcdh,cjfromcjwherexh=aintocursorcjj1'
casebo1.value="姓名"
a=allt(thisform.text1.value)
thisform.grid1.recordsourcetype=4
thisform.grid1.recordsource='selectxh,xm,kcdh,cjfromcj,xswherexh=aandxs.xh=cj.xhintocursorcjj1'
casebo1.value="课程代号"
a=allt(thisform.text1.value)
thisform.grid1.recordsourcetype=4
thisform.grid1.recordsource='selectxh,kcdh,cjfromcjwherexh=aintocursorcjj1'
casebo1.value="专业代号"
a=allt(thisform.text1.value)
thisform.grid1.recordsourcetype=4
thisform.grid1.recordsource='selectxh,zydh,kcdh,cjfromcj,xswherexh=aandxs.xh=cj.xhintocursorcjj1'
casebo1.value="班级代号"
a=allt(thisform.text1.value)
thisform.grid1.recordsourcetype=4
t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统