网上选课系统需求说明书
1.1引言
1.1.1编写的目的
本文档是对该学生选课系统的一个整体把握,以便在下一步的开发设计中更好的控制开发。
本文档的预期读者是:
设计人员
开发人员
管理和测试人员
最终用户
1.1.2背景
由于电脑时代的到来以及internet的迅速发展,电脑无处不在,当然各种工作效率也大幅提高,那么对于一个学校来说,开发一个好的学生选课系统势在必行。鉴此,特开发此学生选课系统,该系统实现了选课的网络化、信息化、现代化。
1.1.3参考资料
[1]. 吕军.《软件项目综合实训》[M].清华大学出版社,2010.6
[2]. 杜文洁、白萍.《实用软件工程与实训》[M].清华大学出版社,2009.4
[3].谭恒松.《C#程序设计与开发》[M].清华大学出版社,2010.8
[4]. 詹炎、文龙.《数据库技术与应用》[M].清华大学出版社,2008.9
[5]. 崔淼、关六三、彭炜.《ASP.NET程序设计教程》[M].清华大学出版社,2010.8
[6]. 孙永强等.《C# .NET入门与提高》[M].清华大学出版社,2002
[7]. B—power工作室.《C#网络程序设计》[M].北京中国铁道出版社,2001
[8]. 明月创作室.《C#编程精彩百例》.[M].北京人民邮电出版社,2002
1.2任务概述
1.2.1目标
本项目设定的目标如下:
- 系统能够提供友好的用户界面,使操作人员的工作量最大限度的减少;
- 系统具有良好的运行效率,能够得到提高管理的目的;
- 系统应有良好的可扩充性,可以容易的加入其它系统的应用;
- 平台的设计具有一定的超前性,灵活性,能够适应信息管理工作的变化;
- 通过这个项目可以锻炼队伍,提高团队的开发能力和项目管理能力。
1.2.2用户特点
由于本软件的最终用户是系统管理人员(即教务处的领导),对本系统不是那么的了解,而且领导们比较忙,对于后期的培训可能会没有时间,基于这一点我组认为应该把界面设计的一目了给教师和学生带来方便,同时还提高了教务处的工作效率。
1.3性能需求
1.3.1可用性
学生选课系统应简单易用,用户能直接通过界面即可掌握所需功能的操作方法,Web操作端至少兼容IE浏览器。
1.3.2可靠性
学生选课系统能长时间无故障运行,在学生选课阶段能够应对相应的数据吞吐量。
1.3.3速度性
当用户进行操作时,系统应该及时地进行反应,反应的时间在2秒以内。
1.3.4界面需求
系统的界面要求如下:
1) 页面内容:主题突出,栏目、菜单布置合理,内容丰富,文字准确,行文格式统一规范。
2) 导航结构:具有明确的导航指示,便于理解,便于用户使用。
3) 艺术风格:界面、版面形象清新悦目,布局合理,字号大小适宜,字体选 择合适,动静效果好,色彩和谐,与主题相吻合。
1.3.5开发性需求
系统应具有十分的灵活性,以适应将来功能扩展的需求。
1.3.6可扩展性需求
系统设计应体现扩展性要求,以适应将来功能扩展的需求。
1.3.7数据精确度
数据精确度要达到以下指标:
- 具有较强的出错提示能力,并可自动记录出错信息。
- 具有操作提示功能和必要的输入校验功能,界面切换时间不超过3秒。
- 系统进行实时模糊查询时,不影响正常业务处理。
- 本系统的数据量要具有并行处理至少1000个用户访问的能力。
1.4需求规定
1.4.1系统的基本功能描述
网上选课系统是根据大学的选修课的网上申请和管理需求而进行设计的,目的是实现选修课的网上设置、申请功能。
根据大学选修课管理的基本过程,网上选课系统应具备课程设置、课程查询、学生选课、管理员管理等基本功能要求,如果想设置只有自己知道的密码,还可以修改密码(原始密码是学号)。
系统的主要使用者是:学生、开课教师和系统管理员。
1.4.2系统需求分析
通过对系统需求进行分析,我们可以确定系统中有三类用户:系统管理员、教师和学生。各类用户的功能用表格具体描述如下:
(1)系统管理员
管理员维护整个系统,设置选课时段:
选课前 |
学生不可登录,同时发布教师的基本情况; |
选课时 |
1.限制最大选课人数,防止系统崩溃; 2. 排课、发布选课信息; 3. 数据备份和恢复等; |
选课后 |
1.学生只可查询,管理员对选课结果进行统计; 2.管理员查询选课情况,对学生的选课申请进行处理,进行用户管理。 |
(2)教师
排课前 |
撰写教师反馈,对排课者提出排课意见,供排课者在排课时参考使用; |
排课后 |
查询课程的基本情况、学生情况。 |
(3)学生
在选课系统中查询课程、教师信息,查看教师反馈,提交选课申请,撤销申请,查询选课情况,登录系统,进行个人信息修改等与选课有关的活动。 |
根据上面所述,对系统进行了分析,分为三个主要的功能:登录控制、排课和选课,分别对应三个子系统,即登录子系统、排课子系统和选课子系统。其中登录子系统是前提,排课子系统是基础,选课子系统是关键。
登录子系统区分排课者(即系统管理员),教师和学生这三者的不同身份,给出不同的权限,在页面中根据身份判断其相应具有的权限,进行不同的操作。
排课子系统主要供排课者使用,其中设定选课时间段,进行排课并检测排课是否冲突、教室是否冲突,发布选课信息都是选课的前提和基础。
选课子系统是本系统要实现的最终目的,选课子系统主要供学生选课使用,在这里可以进行与选课有关的活动,包括课程浏览查询、选课、退选课程。
根据前面的需求分析所述,可以画出学生选课系统的功能结构图,如图所示:
1.4.3数据流图
1.学生选课系统的顶层流图
2.学生信息的数据流图
3.学生选课信息的数据流图
4.课程信息的数据流图
5.教师信息的数据流图
1.5数据库设计
数据库在一个信息管理中占有非常重要的地位,数据库结构设计的好坏直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据库存储的效率,保证数据的完整性和一致性。
1.5.1数据库概念设计结构
根据上面的设计规划出得实体有:学生信息实体,选课信息实体,课程信息实体,教室信息实体,院系信息实体。各实体的描述E-R图如下图:
教工号、学号:10个0-9的数字组成,并且具有唯一性,
姓名:字符串类型,2-20个字节
性别:字符串类型,2字节,只能为“男”或“女”
职称:字符串类型,2-50字节
年级:字符串类型,2-20字节
课程号:8个0-9的数字组成,具有唯一性
课程名:字符串类型,2-50字节
学时:整型
上课时间:字符串类型
上课地点:字符串类型,2-20字节
1.5.2数据库逻辑结构设计
数据库的概念结构设计完毕后,可以将上面的数据库概念转换成某种数据库系统多支持的实际数据结构,也就是数据结构模型。
学生信息表:用于记录学生的详细信息
教师信息表:用于记录教师的详细信息
课程信息表:用于记录课程信息,包括上课时间等
学生选课信息表:用于记录学生的选课情况
管理员信息表:用于记录管理员的详细信息
根据上面的逻辑结构设计,设计相应的表结构如下所示:
1.管理员信息表
字段 |
说明 |
类型(长度) |
备注 |
name |
姓名 |
Char(20) |
不为空 |
sex |
性别 |
Char(10) |
不为空 |
zgh |
职工号 |
Varchar(20) |
主键,不为空 |
lxdh |
联系电话 |
Varchar(30) |
不为空 |
2.学生选课信息表
字段 |
说明 |
类型(长度) |
备注 |
name |
姓名 |
Char(20) |
不为空 |
xh |
学号 |
Varchar(20) |
主键,不为空 |
nj |
年级 |
Char(20) |
不为空 |
kch |
课程号 |
Int |
外键,不为空 |
kcm |
课程名 |
Char(20) |
不为空 |
rkls |
任课老师 |
Char(20) |
不为空 |
zdrs |
最大选课人数 |
Int |
不为空 |
3.课程信息表
字段 |
说明 |
类型(长度) |
备注 |
kch |
课程号 |
Int |
主键,不为空 |
kcm |
课程名 |
Char(20) |
不为空 |
rkls |
任课老师 |
Char(20) |
不为空 |
xs |
学时 |
Int |
不为空 |
vf |
学分 |
Int |
不为空 |
skjj |
上课时间 |
Int |
不为空 |
skdd |
上课地点 |
Char(20) |
不为空 |
4.教师信息表
字段 |
说明 |
类型(长度) |
备注 |
name |
姓名 |
Char(20) |
不为空 |
sex |
性别 |
Char(10) |
不为空 |
zgh |
职工号 |
Varchar(20) |
主键,不为空 |
zc |
职称 |
Char(20) |
不为空 |
lxdh |
联系电话 |
Varchar(30) |
不为空 |
sskc |
所授课程 |
Char(20) |
不为空 |
5.学生信息表
字段 |
说明 |
类型(长度) |
备注 |
name |
姓名 |
Char(20) |
不为空 |
sex |
性别 |
Char(10) |
不为空 |
xh |
学号 |
Varchar(20) |
主键,不为空 |
nj |
年级 |
Char(20) |
不为空 |
csrq |
出生日期 |
Char(20) |
不为空 |
lxdh |
联系电话 |
Varchar(30) |
不为空 |
jtzz |
家庭住址 |
Char(50) |
不为空 |
1.5.3数据字典
根据数据流程分析,对系统数据进行分析和汇总,建立系统数据字典。下面列出部分数据字典内容:
1.管理员信息表
姓名:管理员信息表 别名:无 描述:管理学生的选课情况 定义:管理员信息表=姓名+性别+职工号+联系电话 位置:数据库的管理员信息表 |
2.学生选课信息表
姓名:学生选课信息表 别名:无 描述:记录学生的选课情况 定义:学生选课信息表=姓名+学号+年级+课程号+课程名+任课老师+最大选课人数 位置:数据库的学生选课信息表 |
3.课程信息表
名字:课程信息表 别名:无 描述:记录课程信息 定义:课程信息表=课程号+课程名+任课老师+学时+学分+上课时间+上课地点 位置:数据库的课程信息表 |
4.教师信息表
名字:教师信息表 别名:无 描述:记录教师的个人信息 定义:教师信息表=姓名+性别+职工号+职称+联系电话+所授课程 位置:数据库的教师信息表 |
5.学生信息表
名字:学生信息表 别名:无 描述:记录学生的基本信息 定义:学生信息表=姓名+性别+学号+年级+出生日期+联系电话+家庭住址 位置:数据库的学生信息表 |
2.1运行环境规定
本系统的硬件环境如下:
客户机:普通PC
CPU:P4 1.8GHz
内存:256MB以上
分辨率:推荐使用1024*768像素
用户平台要求
系统主要使用与高校的局域网,Win98、Win2000、Win7等环境下。