资源描述
长春理工大学计算机学院系统工程系0505121班
详细设计说明书
课堂考勤系统
0505121班32号 胡友谋
2008-7-5
详细设计说明书
1. 引言
1.1 编写目的
在使用程序设计语言编写程序之前,需要对所采用的算法的逻辑关系进行分析,设计出全部必要的过程细节,并给予清晰的表达,使之成为编码测试的依据。
1.2 项目背景
为了方便教师对学生平时表现的考核,特别制作此系统。
1.3 参考文献
长春理工大学学生平时成绩考核标准。
2. 程序系统的结构
采用层次方框图和数据流图的形式列出系统内的每个模块和子程序的名称、标识符和它们之间的层次结构关系。
(1) 层次方框图
图1 考勤系统层次方框图
(2) 顶层数据流图(+号表示可扩展)
图2 考勤系统顶层数据流图
(3) “处理1”的二层数据流图
图3 考勤系统“处理1”的二层数据
3. 数据库
3.1 数据库结构
图4 数据库实体关系图
3.2 数据库表的组成
4. 教师身份验证模块(G1)设计说明
4.1 程序描述
设置身份验证的目的在于维护系统的安全性。进入本系统,必须首先通过身份验证。
4.2 功能
其功能在于对申请登录用户进行身份验证,通过者才可进入系统。IPO图表示如下:
4.3 性能
本操作响应时间应控制在0.5秒内。
4.4 输入项
名称
标识
数据类型
数据值范围
输入方法
用户名
UserName
字符或数字
5~15位
键盘输入
密码
Password
字符或数字
8~20位
键盘输入
4.5 输出项
该模块的输出为合法的用户。
4.6 算法
教师身份验证模块采用的算法描述如下:当用户填写好用户名和密码,并确定,程序保存用户输入的用户名和密码,并在数据库用户表中查找UserName字段等于用户输入的用户名记录。如果存在,则把用户输入的密码通过加密算法(如MD5)把密码转换为加密字符串,继续读取该用户记录的Password字段值,继续判断该字段值与用户输入的密码通过加密算法转换后的加密字符串是否相同。如果相同,则通过验证;否则,不通过,并给出“用户名或密码错误”的提示。如果数据库中没有该用户,也给出“用户名或密码错误”的提示。
4.7 逻辑流程
图6身份验证模块的逻辑流程图
4.8 接口
身份验证模块涉及的数据结构为用户表。
4.9 存储分配
程序运行需要占用内存约500KB。
4.10 注释设计
在模块首部加上“本模块是教师身份验证模块”的注释,在各类和函数的开头处加上执行功能的注释。
4.11 限制条件
程序运行所受到的限制条件是:数据库服务运行正常。
4.12 尚未解决的问题
无
5. 初始化模块(G2)设计说明
5.1 程序描述
当教师名录成功后,隐藏登录界面,初始化进一步的操作界面。其中包括:添加新的班级课程信息、开始点名、分类信息查询、考勤总结和退出系统等功能按钮。
5.2 功能
当教师名录成功后,隐藏登录界面,初始化进一步的操作界面。其中包括:添加新的班级课程信息、开始点名、分类信息查询、考勤总结和退出系统等功能按钮。
5.3 性能
本操作的响应时间应控制在1秒内。
5.4 输入项
无
5.5 输出项
完整的操作界面
5.6 算法
略
5.7 逻辑流程
图7 初始化模块的逻辑流程图
5.8 接口
无
5.9 存储分配
程序运行需要占用内在约50Kb。
5.10 注释设计
在模块首部加上“本模块是初始化模块”的注释,在各类和函数的开头处加上执行功能的注释。
5.11 限制条件
同4.11。
5.12 尚未解决的问题
无
6. 添加班级信息模块(G3)设计说明
6.1 程序描述
如果使用的教师又有新的班级或课程上课,可以通过此模块添加。
6.2 功能
其功能在于添加新的班级课程信息。IPO图表如下:
6.3 性能
本操作的响应时间应控制在3秒内。
6.4 输入项
名称
标识
数据类型
数据值范围
输入方法
班号
UserName
字符或数字
5~15位
键盘输入
班级名称
Password
字符或数字
8~20位
键盘输入
课程关系
列表框选择
课程名
键盘输入
学生基本信息
键盘输入
6.5 输出项
该模块的输出为所添加的新的班级课程关系信息。
6.6 算法
添加新的班级课程信息模块采用的算法描述如下:首先提示要输入的新的班级班号,待输入完毕后,对比数据库中是否存在此班级。如果存在则添加班级信息完毕,如果不存在,教师输入所有班级完整信息,并将该班级所有的学生数据一并输入。之后就是先选择课程,系统用一个列表框把数据库中已有的课程列出供用户选择。如果列表框中没有用户所要选择的课程,则用户要添加新的课程信息,再选择此课程。
6.7 逻辑流程
图8 添加新的班级课程信息模块NS图
6.8 接口
添加新的班级课程信息模块涉及的数据结构有 课程表、班级表、班级课程关系表和学生表。
6.9 存储分配
程序运行需要占用内在约500Kb。
6.10 注释设计
在模块首部加上“添加新的班级课程信息模块”的注释,在各类和函数的开头处加上执行功能的注释。
6.11 限制条件
用户必要按程序要求操作。
6.12 尚未解决的问题
无
7. 开始点名模块(G4)设计说明
7.1 程序描述
用于教师用户考勤。
7.2 功能
其功能在于教师用户为此堂课所在的班级所有同学的考勤情况记录。IPO图表如下:
7.3 性能
本操作提交相应时间应控制在4秒内。
7.4 输入项
名称
标识
数据类型
数据值范围
输入方法
班级
鼠标点选
课程
鼠标点选
出勤情况
键盘输入
7.5 输出项
该堂课程所有学生的出勤记录。
7.6 算法
开始点名模块采用的算法描述如下:首先由用户点选班级和课程的对应项,然后程序将该班的所有学生数据列出形成一张点名表,接着由教师点名,并为每一位同学输入出勤状态;最后是将该表保存于数据库中。
7.7 逻辑流程
图9 开始点名模块的PAD图
7.8 接口
开始点名模块涉及的数据结构有 课程表、班级表、班级课程关系表、学生表、考勤基本信息表、点名册表。
7.9 存储分配
程序运行需要占用内在约500Kb。
7.10 注释设计
在模块首部加上“开始点名模块”的注释,在各类和函数的开头处加上执行功能的注释。
7.11 限制条件
无
7.12 尚未解决的问题
无
8. 分类信息查询模块(G5)设计说明
8.1 程序描述
供用户随时查询已经有的出勤记录。
8.2 功能
其功能在于供用户查询已经有的出勤记录,用户输入程序规定的各种查询条件:班级课程、学生课程两种查询方式。IOP图表如下:
8.3 性能
本操作响应时间应控制在1~2秒内。
8.4 输入项
名称
标识
数据类型
数据值范围
输入方法
班级
鼠标点选
课程
鼠标点选
学号
键盘输入
8.5 输出项
若选择班级课程查询,则输出该班级该课程已有的全班有出勤情况,包括总点名次数,即每一个出勤状态次数。若选择学生课程查询,则输出该学生在该课程的所有出勤情况。
8.6 算法
分类考查模块采用的算法描述如下:用户选择查询方式输入查询条件之后,在数据库中查询结果,最后输出查询结果。
8.7 逻辑流程
图10 分类查询模块的流程图
8.8 接口
添加新的班级课程信息模块涉及的数据结构有数据库中所有表。
8.9 存储分配
程序运行需要占用内在约500Kb。
8.10 注释设计
在模块首部加上“分类查询模块”的注释,在各类和函数的开头处加上执行功能的注释。
8.11 限制条件
无
8.12 尚未解决的问题
无
9. 考勤总结模块(G6)设计说明
9.1 程序描述
帮助教师通过平时考勤记录对学生的平时成绩打分。
9.2 功能
在学期期末,教师通过此功能对某门课程对应的某一班的学生的平时成绩打分。打分的标准是按平时出勤比例进行打分的。IPO图表如下:
9.3 性能
本操作的响应时间应控制在2秒内。
9.4 输入项
名称
标识
数据类型
数据值范围
输入方法
班级
鼠标点选
课程
鼠标点选
学生出勤记录
数据库中读取
9.5 输出项
选中班级对应课程的所有学生的平时成绩。
9.6 算法
考勤总结模块采用的算法描述如下:在学生期末,教师用户选中他所要评定的班级课程组合。系统通过此组合记录,描述数据库,把所有对应此组合记录的考勤记录取出。然后对每一位学生的考勤记录进行计算,得出其平时成绩。
9.7 逻辑流程(用Jackson方法描述)
9.7.1 输入数据结构
图11 输入数据结构图
9.7.2 输出数据结构
图12 输出数据结构图
9.7.3 系统程序结构
图13 系统程序结构图
9.7.4 用伪代码写出过程性描述({}内为注释部分)
处理一个班级对应一课程学生的考勤记录并给出该班级所有学生对应此课程的平时成绩 seq
Open 班级学生记录
Open 学生对应课程的考勤记录
处理所有学生考勤数据 iter until 处理完所有学生
处理某学生考勤数据 iter until 处理完所有点名
计算该学生考勤数据得到平时成绩
End 处理某学生考勤数据
End 处理所有学生考勤数据
Close 学生对应课程考勤记录
Close 班级学生记
End 处理一个班级对应一课程学生的考勤记录并给出该班级所有学生对应此课程的平时成绩
9.8 接口
添加新的班级课程信息模块涉及的数据结构有 数据库中的所有表。
9.9 存储分配
程序运行需要占用内在约500Kb。
9.10 注释设计
在模块首部加上“考勤总结模块”的注释,在各类和函数的开头处加上执行功能的注释。
9.11 限制条件
一定要在期末的时候使用。
9.12 尚未解决的问题
无\
10. 退出登录模块(G7)设计说明
10.1 程序描述
退出系统。
10.2 功能
安全的退出系统。
10.3 性能
实时。
10.4 输入项
无
10.5 输出项
无
10.6 算法
略
10.7 逻辑流程
略
10.8 接口
无
10.9 存储分配
释放系统资源。
10.10 注释设计
在模块首部加上“退出登录模块”的注释,在各类和函数的开头处加上执行功能的注释。
10.11 限制条件
无
10.12 尚未解决的问题
无
展开阅读全文