免费预览已结束,剩余10页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学籍管理系统设计说明书学院计算机与信息学院专业软件工程目录一、需求分析 1. 目标用户03 2. 主要功能03 3. 问题描述03 4. 问题分析03二、概要设计 1. 方案确定03 2. 软件结构03 3. 模块功能说明03三、详细结构设计 1. 数据设计04 2. 流程图04四、T-SOL源程序 1. 存储过程09 2. 触发器09五、调试分析和测试结果调试分析和测试结果11六个人体会利用详细程序设计书一、需求分析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(功能:学分转换)CREATE FUNCTION CreditConvert( 成绩 NUMERIC(3,1),学分 NUMERIC(3,1)-成绩:考试成绩-学分:课程规定学分RETURNS NUMERIC(5,2)-应得学分ASBEGIN RETURN CASE SIGN(成绩-60) WHEN 1 THEN 学分 WHEN 0 THEN 学分 WHEN -1 THEN 0 ENDEND-termConvert(功能:学期转换)CREATE FUNCTION termConvert(term CHAR(11),CLno CHAR(6)-term 学年,格式如:2006-2007/2-CLno 班级编号,格式如:020001,前2位代表入学年份RETURNS INT -在校第几学期ASBEGINRETURN(CONVERT(NUMERIC,SUBSTRING(term,1,4)-CONVERT(NUMERIC,20+SUBSTRING(CLno,1,2)*2+CONVERT(NUMERIC ,SUBSTRING(TERM,11,1)END统计不同分数段人数存储过程设计-按照课程编号统计最高分、最低分,不同分数段的人数,平均成绩CREATE PROCEDURE p_SatSorecno CHAR(5) ,-人口参数:班级编号clno CHAR(6) -人口参数:课程编号ASBEGIN DECLARE socre1 INT -待统计分数段上限 DECLARE socre2 INT -待统计分数段下限 DECLARE num INT -待统计分数段人数 DECLARE CLName VARCHAR(30) -班级名称 DECLARE CName VARCHAR(50) -课程名称-查询课程名称和班级名称SET CLName=(SELECT CLName FROM class WHERE CLno=clno)SET CName=(SELECT 课程名称 FROM course WHERE 课程编号=cno)PRINT CLName+ +考试成绩按照分数段统计情况-设置被统计分数段的初值SET socre1=100SET socre2=90WHILE (socre1=60)BEGIN SET num=(SELECT count(*) FROM 选课 a,classb,classmate c WHERE b.CLno=c.CLno AND a.no=c.no AND b.CLno=clno AND a.no=cno AND 成绩 BETWEEN socre2 AND socre1) PRINT STR(socre2)+至+STR(socre1)+分人数为+STR(num)-调整统计分数段SET socre1=socre2IF socre160 SET socre2=socre2-10ELSE SET socre2=0 ENDEND汇总平均成绩存储过程设计CREATE Procedure p_AverageScore term VARCHAR(11)-人口参数:学期-学期的格式为:*-*/*-前9位表示学年,最后一位表示本学年的第几期。例如,2005-2006/2表示2005-2006学年的第二学期。asBEGIN DECLARE 课程编号 VARCHAR(5) -变量:课程编号 DECLARE CLname VARCHAR(30) -变量:班级名称 DECLARE CLno VARCHAR(6) -变量:班级编号 DECLARE avgscore NUMERIC(10,2) -变量:平均成绩 DECLARE Cterm INT -变量:学期-定义班级游标 DECLARE class_cursor CURSOR FOR SELECT CLname,CLno,dbo.termConvert(term,CLno)FROM class WHERE dbo.termConvert(term,CLno)0,则计算每名学生的平均成绩IF avgscore0 BEGIN PRINT term+学期 +CLname+各门课总平均成绩为+STR(avgscore,5,1) -每个学生的平均成绩和获得的学分 PRINT 该班每个学生的平均成绩如下: SELECT e.SName,d.avgscore,totalCredit FROM (SELECT a.no,AVG(成绩) avgscore,SUM(dbo.CreditConvert(score,学分)totalCredit FROM Student a,选课b,course c WHERE a.no=b.no AND b.课程编号=c.课程编号 AND c.学期=Cterm GROUP BY a.SNo) d,classmatee,class f WHERE e.no=d.no AND e.CLno=f.CLno AND f.CLno=CLno END ELSE PRINT term+学期+ CLname+CLno+班+ 成绩没有登记 FETCH NEXT FROM class_cursor INTO CLname,CLno,Cterm END CLOSE class_cursor DEALLOCATE class_cursorEND2 触发器修改学分触发器CREATE TRIGGER t_tcredits ON 选课 FOR INSERT,UPDATE,DELETEAS DECLARE tcredits NUMERIC(4,0) -总学分 DECLARE no CHAR(5) -学号 DECLARE insert_cursor CURSOR FOR SELECT no FROM INSERTED DECLARE delete_cursor CURSOR FOR SELECT no FROM DELETEDBEGIN-处理删除的记录OPEN delete_cursorFETCH NEXT FROM delete_cursor INTO noWHILE FETCH_STATUS=0BEGINSET tcredits=(SELECT SUM(学分) FROM ourse a,选课 b WHERE a.课程编号=b.课程编号 ANDb.成绩60 AND b.no=no)UPDATE Student SET SCredits=tcredits WHERE no=noFETCH NEXT FROM delete_cursor INTO noENDCLOSE delete_cursorDEALLOCATE delete_cursor-处理修改和增加的记录IF UPDATE (成绩)BEGIN OPEN insert_coursor FETCH NEXT FROM insert_cursor INTO noWHILE FETCH_STATUS=0 BEGIN SET tcredits=(SELECT SUM(学分) FROM course a, 选课 b WHERE a.课程编号=b.课程编号 AND b.成绩60 AND b.no=no) PRINT STR(tcredits)+delete
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件项目敏捷开发实施方案书
- 2025年东莞中考物理模拟试卷及答案
- 护理专业实习日志模板及填写指导
- 护理程序例子讲解
- 粉尘作业职业卫生操作规程范本
- 消防安全操作规程
- 网络推广渠道选择与投放方案
- 工业自动化设备检测维护记录
- 骨髓抑制临床分级及护理处理指南
- 汽车制造企业员工手册范例
- 医学社区获得性肺炎诊疗和治疗指导建议
- 2025年辅警考试综合试题及答案
- YY/T 1976-2025中医器械玻璃拔罐器
- 2025年泰安市公开招聘劳务派遣制工会社会工作者(52人)笔试考试参考试题及答案解析
- 2025年低空经济「城市安全」无人机监控与巡查报告
- 七年级语文第三次月考卷(全解全析)(安徽专用)
- 铝合金铸造工艺流程详解
- 事业单位会计专业考试重点题解
- 2025年秋统编版小学语文四年级上册期中考试测试卷及答案(共三套)
- 浙江省天域全国名校协作体2026届高三上学期10月联考技术试题(含答案)
- 超龄员工用工承诺书模板
评论
0/150
提交评论