学生学籍管理系统概要设计说明书
专业:软件工程
学号:09065085 姓名:王振 1
一、处理流程
1. 系统初启时,根据配置文件导入数据库,设置各全局变量;
1. 然后进入事件等待状态,各专门功能模块由事件驱动机制激活,分别执
行完各项功能后仍进入事件等待状态;
2. 最后由关闭系统事件引导激活关闭系统模块,退出整个系统。
二、总体结构和模块外部设计
总体结构如上图所示。
各模块设计如下:
M1.1 输入数据模块 M1.2 修改数据模块 M2.1 查询数据模块 M2.2
密码修改模块
2
M2.1.1 学籍查询模块 M2.1.2 课表查询模块 M2.1.3 考试查询模块 M2.1.4 成绩查询模块
三、功能分配
1. 查询功能
查询模块(M2.1);
同时包括M2.1.1、M2.1.2、M2.1.3、M2.1.4;2. 修改功能
修改模块(M1.2); 同时包括M2.2; 3. 输入功能
输入模块(M1.1);
四、数据描述
1、静态数据
姓名 name 班级 class 职务 job 学号 Number 性别 Sex E-Mail E_Mail 备注
memo
2、动态数据
输入数据:菜单选项,查找关键字,新建记录项。 输出数据:由查询关键字确定的数据库记录集合。 内部生成的数据:中间查询结果。
3、数据库描述
本软件采用SQL数据库。
4、数据流图
3
顶层数据流图
第一层数据流图
第二层数据流图
4
输入模块(M1)
输出模块(M2)
第三层数据流图
5
输入资料模块(M1.1)
统计模块(M1.2)
6
登陆系统模块(M2.1)
显示主界面模块(M2.2)
7
查询信息模块(M2.3)
修改密码模块(M2.4)
8
四、根据分层数据流图画出结构化图
顶层分解
成绩录入模块分解
数据编辑分解
9
数据输出分解
六、功能需求
1、功能要求
10
(1)系统应对原始成绩单给予保留,原始数据的排列是无序的。
(2)将该班学生的成绩按学号顺序存入std.dat文件中,以方便打印。
(3)求出每位学生的平均分,并按平均分从高到低的顺序进行排序后,写到文件sort.dat
中。
(4)为3门以下(含3门)不及格的学生打印重考通知单,通知单上应写明重考的课程以
及时间和地点(键盘输入)。时间和地点应避免冲突。
(5)为3门以上不及格的学生打印退学通知单。通知单上应写明学生的学号、姓名、退学
原因(几门课不及格,成绩是多少)。
(6)删除已退学的学生信息,将该班中升入高年级的学生信息写入文件next.dat中。 2、菜单要求:
(1)、主菜单中包含各子菜单,选择子菜单后可以返回上一级主菜单。 (2)、从任意一个主菜单或者子菜单都可以选择安全退出。 (3)、学期成绩应该包含学年选择窗口和学期选择窗口,选择错误应该有友好的提示
窗口。 (4)、学年成绩应该包含学年选择窗口,选择错误应该有友好的提示窗口。
六、性能需求
1、运行速度
要求在大量的数据流动的同时保证程序能顺畅运行。
2、适应性
满足个人使用的需求,前面提到的运行环境要求不应存在困难。
七、运行需求
1、用户界面
采用广泛应用的GUI,即诸如窗口、菜单、对话框、滚动条等,对用户友好。必须对鼠标和键盘单独支持(WindowsCE可能以没有鼠标的配置运行)。
主控界面划分为四个区:基本资料区,系统功能区,浏览区和快捷选择区。 窗口设计见附页。
系统功能区基本资料区浏览区快捷选择区
11
2、硬件接口
支持一般x86系列微机和WindowsCE。
3、软件接口
运行于Windows95及更高版本具有WIN32 API的操作系统之上。
4、运行模块的组合
模块命名方式按照相应模块结合特性制定。命名方式为Ma和Ma.b,其中数字a相同的模块即为同类模块。
5、运行控制
本软件控制流程:先由操作系统启动M1.1(其中调用M2.2和M3.2),然后进入事件驱动模式,由相应的事件分别激活M4.1(相应激活M4.2、M4.3、M4.4、M4.5、M4.6和M1.2)、M2.1、M3.1、M6.1、M6.2和M6.3等模块,其中M1.2将关闭并退出系统。
6、运行时间
各模块运行时间均应控制在1~3秒内(其中大部分为响应用户的动作)。由于系统采用事件驱动方式,有效提高计算机的利用率
7、故障处理
建立数据库备份与恢复系统,保证用户在错误操作时仍可找到完整且原始的数据库。
八、出错处理及安全保密设计
1、本软件应充分考虑各种系统错误,避免造成数据库系统不一致或损坏; 2、努力提高系统鲁棒性,避免因用户的疏忽对系统造成损坏;
3、采用对话框形式为用户提供警告信息;可考虑实现数据库备份及密码功能;
4、一些关键性操作(比如删除记录),都应提供确认机制。
九、维护设计
作为一个产品,学生学籍管理系统必须按照规范的步骤进行开发,并充分考虑软
12
件可维护性,同时必须按时认真完成相应文档资料,以利于未来版本升级即移植等二次开发。
13