二工大学籍管理系统设计说明书Word文档下载推荐.docx
- 文档编号:3990394
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:15
- 大小:540.89KB
二工大学籍管理系统设计说明书Word文档下载推荐.docx
《二工大学籍管理系统设计说明书Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《二工大学籍管理系统设计说明书Word文档下载推荐.docx(15页珍藏版)》请在冰点文库上搜索。
详细程序设计书
1.目标用户
管理人员班级辅导员(或班主任)教师学生等
2.主要功能
序号
功能名称
功能说明
1
学生管理
登记学生的基本信息(性别,姓名,班级等),并提供查询功能
2
课程管理
登记课程基本情况(课程名称,开课学期,课程类型,学分等),提供查询功能
3
教师管理
登记教师基本情况(姓名,年龄,性别,学历等),提供统计查询
4
成绩管理
登记学生各门课程的考试成绩,提供查询统计功能
5`
授课管理
登记教师讲授课程,授课地点和授课学期,提供查询功能
6
编码维护
维护系统中使用的编码(如职称编码等)
3.问题描述
管理人员需要建立学生的学籍,汇总每学期没有拿到规定学分的学生以及这些学生的详细情况;
学生完成一门课程的学习以后,教师需要录入学生的考试成绩,计算平均成绩,汇总各个分数段的人数;
学生需要查询已结业的各门课的成绩;
班主任需要查询本班学习情况,包括各门课程的平均成绩和每个学生的开始通过情况。
为此,设计一套实用的学籍管理系统可以大大简化管理人员,班主任和任课教师的工作,方便学生查询自己的学习情况。
4.问题分析
1确定系统的源点和汇点
2确定系统所需的存储文
3确定顶层加工
4确定数据流
1)根据系统的初步需求,分析设计顶层数据流图
2)根据顶层数据流图,细化出一层数据流图
3)继续细化数据流图
4)制定整理数据字典
三、详细设计
1顶层数据流图
2第一层数据流图
3第二层数据流图
4细化后的成绩录入3层数据流图
四、部分T-SQL源程序
1.存储过程
--Creditconvert(功能:
学分转换)
CREATEFUNCTIONCreditConvert(@成绩NUMERIC(3,1),@学分NUMERIC(3,1))
--@成绩:
考试成绩
--@学分:
课程规定学分
RETURNSNUMERIC(5,2)--应得学分
AS
BEGIN
RETURN
CASESIGN(@成绩-60)
WHEN1THEN@学分
WHEN0THEN@学分
WHEN-1THEN0
END
END
--termConvert(功能:
学期转换)
CREATEFUNCTIONtermConvert(@termCHAR(11),@CLnoCHAR(6))
--@term学年,格式如:
2006-2007/2
--@CLno班级编号,格式如:
020001,前2位代表入学年份
RETURNSINT--在校第几学期
RETURN(CONVERT(NUMERIC,SUBSTRING(@term,1,4))-CONVERT(NUMERIC,'
20'
+SUBSTRING(@CLno,1,2)))*2+CONVERT(NUMERIC,SUBSTRING(@TERM,11,1))
统计不同分数段人数存储过程设计
--按照课程编号统计最高分、最低分,不同分数段的人数,平均成绩
CREATEPROCEDUREp_SatSore
@cnoCHAR(5),--人口参数:
班级编号
@clnoCHAR(6)--人口参数:
课程编号
DECLARE@socre1INT--待统计分数段上限
DECLARE@socre2INT--待统计分数段下限
DECLARE@numINT--待统计分数段人数
DECLARE@CLNameVARCHAR(30)--班级名称
DECLARE@CNameVARCHAR(50)--课程名称
--查询课程名称和班级名称
SET@CLName=(SELECTCLNameFROMclassWHERECLno=@clno)
SET@CName=(SELECT课程名称FROMcourseWHERE课程编号=@cno)
PRINT@CLName+'
<
'
+@CName+'
>
+'
考试成绩 按照分数段统计情况'
--设置被统计分数段的初值
SET@socre1=100
SET@socre2=90
WHILE(@socre1>
=60)
SET@num=(SELECTcount(*)FROM选课a,classb,classmatecWHEREb.CLno=c.CLnoAND
a.no=c.no
ANDb.CLno=@clnoANDa.no=@cnoAND成绩BETWEEN@socre2AND@socre1)
PRINTSTR(@socre2)+'
至'
+STR(@socre1)+'
分 人数为'
+STR(@num)
--调整统计分数段
SET@socre1=@socre2
IF@socre1>
60
SET@socre2=@socre2-10
ELSE
SET@socre2=0
汇总平均成绩存储过程设计
CREATEProcedurep_AverageScore@termVARCHAR(11)--人口参数:
学期
--学期的格式为:
****-****/*
--前9位表示学年,最后一位表示本学年的第几期。
例如,2005-2006/2表示2005-2006学年的第二学期。
as
DECLARE@课程编号VARCHAR(5)--变量:
DECLARE@CLnameVARCHAR(30)--变量:
班级名称
DECLARE@CLnoVARCHAR(6)--变量:
DECLARE@avgscoreNUMERIC(10,2)--变量:
平均成绩
DECLARE@CtermINT--变量:
--定义班级游标
DECLAREclass_cursorCURSORFORSELECTCLname,CLno,dbo.termConvert(@term,CLno)
FROMclassWHEREdbo.termConvert(@term,CLno)<
=8--过滤掉已经毕业的班级
OPENclass_cursor
FETCHNEXTFROMclass_cursorINTO@CLname,@CLno,@Cterm
WHILE@@FETCH_STATUS=0
BEGIN
SET@avgscore=(SELECTISNULL(avg(成绩),0)FROM选课a,classmateb,classc,coursed
WHEREa.no=b.noANDb.CLno=c.CLnoANDb.CLno=@CLnoANDa.课程编号=d.课程编号ANDd.学期=@Cterm)
--根据班级平均成绩判断该班的成绩是否登记,如果平均成绩>
0,则计算每名学生的平均成绩
IF@avgscore>
BEGIN
PRINT@term+'
学期'
+@CLname+'
各门课总平均成绩为'
+STR(@avgscore,5,1)
--每个学生的平均成绩和获得的学分
PRINT'
该班每个学生的平均成绩如下:
SELECTe.SName,d.avgscore,totalCreditFROM
(SELECTa.no,AVG(成绩)avgscore,SUM(dbo.CreditConvert(score,学分))
totalCredit
FROMStudenta,选课b,coursec
WHEREa.no=b.noANDb.课程编号=c.课程编号ANDc.学期=@Cterm
GROUPBYa.SNo)d,classmatee,classf
WHEREe.no=d.noANDe.CLno=f.CLnoANDf.CLno=@CLno
END
ELSE
PRINT@term+'
学期'
+@CLname+@CLno+'
班'
成绩没有登记'
FETCHNEXTFROMclass_cursorINTO@CLname,@CLno,@Cterm
END
CLOSEclass_cursor
DEALLOCATEclass_cursor
2.触发器
修改学分触发器
CREATETRIGGERt_tcreditsON选课FORINSERT,UPDATE,DELETE
DECLARE@tcreditsNUMERIC(4,0)--总学分
DECLARE@noCHAR(5)--学号
DECLAREinsert_cursorCURSORFORSELECTnoFROMINSERTED
DECLAREdelete_cursorCURSORFORSELECTnoFROMDELETED
--处理删除的记录
OPENdelete_cursor
FETCHNEXTFROMdelete_cursorINTO@no
WHILE@@FETCH_STATUS=0
SET@tcredits=(SELECTSUM(学分)FROMoursea,选课bWHEREa.课程编号=b.课程编号AND
b.成绩>
ANDb.no=@no)
UPDATEStudentSETSCredits=@tcreditsWHEREno=@no
CLOSEdelete_cursor
DEALLOCATEdelete_cursor
--处理修改和增加的记录
IFUPDATE(成绩)
OPENinsert_coursor
FETCHNEXTFROMinsert_cursorINTO@no
SET@tcredits=(SELECTSUM(学分)FROMcoursea,选课bWHEREa.课程编号=b.课程编号ANDb.成绩>
60ANDb.no=@no)
PRINTSTR(@tcredits)+'
delete'
mmm'
+@no
UPDATEStudentSETSCredits=@tcreditsWHEREno=@no
FETCHNEXTFROMinsert_cursorINTo@no
CLOSEinsert_cursor
DEALLOCATEinsert_cursor
五、调试分析和测试结果
学分转换测试结果
学期转换测试结果
汇总平均成绩测试结果
不同分数段统计人数测试结果
15
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二工大 学籍 管理 系统 设计 说明书