
题 目:
指导教师:
学生姓名:
学 号:
学 院:
专业班级:
概述
研究生学籍管理系统是用于管理研究生学籍的软件。主要是提供给管理员登分,学生查分,选课等功能。其中包括两个部分第一部分前台界面设计,第二部分后台数据库管理。前台界面主要提供给学生和管理员操作,注重易用性,后台数据库设计致力于提高数据操作效率,减少数据冗余度。
本文主要论述三个方面:
1. 需求分析;
2. 软件结构设计;
3. 数据库表格设计;
需求分析
1.1编写目的
编写该需求分析是为了描述目标软件系统在功能、行为、性能、设计约束等方面的期望。通过对应问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明。
1.2背景
系统说明:
a.项目名称:研究生学籍管理系统;
b.该软件系统是基于B/S结构。
项目结构图
图表 1
1.3定义
GSMS 研究生学籍管理系统;
DB 数据库;
1.4参考资料
a.软件工程;
b.UML建模;
c.Oracle数据库技术。
2任务概述
2.1目标
该项目主要是为大专院校管理研究生学籍的应用系统,该系统中的操作对象有学生用户,管理员用户。开发工作分为用户界面和数据库管理。其中数据库是关系型数据库,至少支持3NF范式。软件是B/S结构,服务端可以接入因特网和校园网。
2.2用户的特点
1. 学生用户:高校研究生,会基本的电脑操作。
2. 管理员用户:熟悉数据库管理,熟悉学籍管理内容。
2.3假定和约束
1.全校多专业 100个
2.学生数量 2000个
3.公共基础课 10们选6门
4.学位课每个专业5门选其中3门
5.专业课每个专业20门选5门
2.3系统功能列表
1.学生用户可以在因特网上查分,选课。
2.管理员用户可以在校园网登分。
3需求规定
3.1对功能的规定
1.学生查分功能:
输入:学号,课程号;
处理:以输入的学号和课程号为条件,查询数据库;
输出:课程成绩。
2. 学生选课功能:
输入:学号,课程号,修课年份;
处理:以输入的学号和课程号为条件,将选课结果写入数据库;
输出:选课成功/失败提示。
3. 管理员登分功能:
输入:学号,课程号,课程成绩;
处理:以输入的学号和课程号为条件,查询数据库,并将分数写入数据库;
输出:登分成功/失败提示。
3.2对性能的规定
至少支持同时在线的学生用户 > 1000人;
查分响应时间 < 5秒;
选课响应时间 < 5秒;
登分响应时间 < 0.5秒;
4数据流图
4.1顶层数据流图
图表 2
处理:
1.选课
学生通过学籍管理系统选课,需要有学籍信息,并通过选课处理将选修课程写入学生选课表。
2.查询成绩
学生通过学籍管理系统,通过学生选课表,查询已选课程成绩。
3. 登分
管理员过学籍管理系统,将学生的考试成绩写入学生选课表。
数据流:
1.选课信息 = 学号 + 课程号 + 修课年份;
2.课程信息 = 课程号 + 学号;
3.课程成绩 = 课程号 + 学号 + 成绩;
数据文件:
学生选课表:包含学生选课信息,课程得分。
4.2 0层数据流图
图表 3
处理:
1.查询已开课程
学生通过学籍管理系统选课,首先查看该学期的已开课程。
2.选定课程
学生查看该学期的已开课程后,选定所修课程。
图表 4
处理:
1.查询修课记录
学生通过学籍管理系统选课,首先查看修课记录。
2.查询成绩
学生查看修课记录后,选定所修课程,并查看成绩。
软件结构
5软件总体结构
图表 5
模块:
1.登录模块:
用于管理用户登录,分别为学生用户和管理员用户。
2.学生模块:
用于学生查分,选课。
3.管理员模块:
管理员登分。
4.通信模块:
实现和数据库模块的交互。
5.数据库模块:
管理数据项。
数据表设计
6数据表关系
图表 6
1.选课表 = 学号 + 课程号 + 成绩
2.课程表 = 课程号 + 课程名 + 所属专业;
3.专业表 = 专业号 + 专业名;
4.学生表 = 学号 + 姓名 + 性别 + 年龄 + 专业 + 学位分类;
7据表描述
7.1选课表(专业课)
| 学号 | 专业课程号1 | 成绩 | 专业课程号2 | 成绩1 | …… | 专业课程号8 | 成绩8 |
| char | char | int | char | int | char | int | |
| 主码 | 外码 | 外码 | 外码 |
表格1 描述了选课表(专业课)的组织方式,其中专业课程号1-8记录了学生所选的8门专业课,如果以后专业课新增,则可在表后面增加。
7.2选课表(学位课)
| 学号 | 学位课程号1 | 成绩 | 专业课程号2 | 成绩1 | …… | 学位课程号5 | 成绩5 |
| char | char | int | char | int | char | int | |
| 主码 | 外码 | 外码 | 外码 |
表格2 描述了选课表(学位课)的组织方式,其中学位课程号1-5记录了学生所选的5门学位课,如果以后学位课新增,则可在表后面增加。
7.3选课表(公共课)
| 学号 | 公共课程号1 | 成绩 | 专业课程号2 | 成绩1 | …… | 公共课程号5 | 成绩5 |
| char | char | int | char | int | char | int | |
| 主码 | 外码 | 外码 | 外码 |
表格3 描述了选课表(公共课)的组织方式,其中公共课程号1-3记录了学生所选的3门公共课,如果以后公共课新增,则可在表后面增加。
7.4专业表
| 专业号 | 专业名 |
| char | char |
| 主码 |
专业表用于记录专业名和专业号。
7.4课程表
| 课程号 | 课程名 | 所属专业 |
| char | char | char |
| 主码 | 外码 |
课程表描述了课程号,课程名,及所属专业,用于学生选课时查询。
7.5学生表
| 学生号 | 学生名 | 性别 | 年龄 | 专业 | 学位分类 |
| char | char | char | char | char | char |
| 主码 | 外码 |
学生表用于记录学生的基本信息,包括学号,学生名,性别,年龄,专业,学位分类,其中专业项是专业表的外码。
