软件工程课程设计选课管理系统Word文档下载推荐.docx
《软件工程课程设计选课管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计选课管理系统Word文档下载推荐.docx(26页珍藏版)》请在冰豆网上搜索。
计算机与人类的关系愈来愈密切,这使得学生管理系统软件为教学办公室带来了极大的方便。
该软件是以汉语编程语言为实现语言,其功能在系统内部有源代码直接完成。
通过互联网,使用者很快可以了解本软件的基本工作原理,学生选课只需输入一些简单的汉字、数字,即可让原本复杂的课程安排的井井有条。
2.2功能需求
学生选课管理系统主要提供方便高效的管理功能以及网上的信息查阅平台,学生可以通过该系统查阅相关信息。
1、学生更改密码功能:
2.、学生在线查询功能:
在选课页面上的课程信息列表中,可以查看课程名称、任课老师、上课时间、学分、周学时、容量、余量等信息。
3、学生在线预选功能:
4、学生选课退选课程功能:
选课学生可以点击已选课程右侧的退选按钮,退订已经定选的课程。
5、学生补选课程功能:
2.3数据流图
2.3.1顶层DFD图
根据分析得到的系统功能要求,画出学生选修课管理系统的分层DFD图。
首先画出顶层的DFD图如图2-1所示。
顶层确定了系统的范围,其外部实体为学生。
图2-1学生选课系统顶层DFD图
图2-1为学生选课系统顶层DFD图。
顶层DFD图确定了系统的范围,其外部实体为学生。
2.3.2第一层DFD图
在顶层DFD图的基础上再进行分解,对系统功能需求做进一步分解:
(1)学生登录
获取用户输入的用户名及密码;
若出现用户名、密码错误或不匹配现象,反馈错误提示;
在用户名及密码都正确的前提下,支持密码修改。
(2)学生在线选课
提供学生查询全部选修课的各种信息的功能;
提供学生根据课的情况在线预选功能;
提供学生补选的功能;
提供学生退选的功能。
图2-2学生选课系统第一层DFD图
图2-2为学生选课系统第一层DFD图。
该图是在顶层DFD图的基础上再进行分解,对系统功能需求做进一步分解为学生登录和在线选课模块的子模块,各个子模块描述如图所示。
2.4数据字典
由于该系统为小型软件系统,所以采用卡片形式书写数据字典。
其中每张卡片中保存描述一个数据的信息。
根据2.3中对DFD的描述,涉及到的几个数据元素的数据字典卡片如下给出,并分别以具体说明数据字典卡片中上述几项内容的含义,如下所示:
名字:
课程信息
别名:
描述:
课程列表里对该课程的描述
定义:
课程信息=课程名称+任课老师+上课时间+学分+周学时+容量+余量
位置:
网络硬盘
学生基本信息
学生的用户名和密码等需要登录时的信息
基本信息=用户名+密码
任课老师信息
学生所选该课程对老师的描述
教师信息=姓名+教师编号+年龄+职位
学生课表
学生在线选过课之后的课表
学生课表=学生号+课程号
学生临时课表
学生在预选后产生的课表
临时课表=学生号+课程号
2.6选课系统判定树
2.6.1学生选课管理系统判定树
判定树能清晰地表示复杂的条件组合与应做的动作之间的对应关系,通过对以上数据流图的分析,对于选课管理系统的判定树可做如下描述,如图2-3所示:
图2-3选课管理系统判定树
图2-3为选课管理系统的判定树,在图中可以看出系统主要有用户登录模块和在线预选模块两部分组成,通过本判定树,能清晰的知道系统的大致流程,以及所有分支。
第三章概要设计
3.1模块设计
3.1.1学生登录模块
学生填写已分配的用户名和密码,进入主控制页面。
密码输入超过3次将不能再登入该选课系统。
学生登录后可更改初始密码,即允许用户更改密码。
3.1.2学生在线选课模块
学生在线查询功能:
选课学生可以看到可选的课程信息等信息查看课程列表,选择以上字段下拉菜单中的空白项时,将列出相应的全部课程;
在选课页面上的课程信息列表中查看信息。
学生在线预选功能:
3.2数据库设计
根据系统功能设计的要求以及功能模块的划分,对于系统信息数据库涉及到的表有学生基本信息表、教师基本信息表、课程表、学生选课信息表、教师开课信息表等,附关于学生选课的E-R图。
图3-1学生选课系统E—R图
图3-1是学生选课系统的ER图,该图描绘了学生和课程之间的关系,从图中也可看出学生和课程的属性,学生和课程之间是多对多的关系,即一个学生可以选择多门课,同时每门课可以被多个同学选中。
3.3软件结构图
图3-2学生选课系统软件结构总图
图3-2是学生选课管理系统的总体软件结构图。
图中学生选课系统被分成学生登录和在线选课两大模块,学生登录模块主要是登录选课系统,并提供编辑密码功能;
在线选课模块分为:
查询信息、在线选课、退选课程、补选课程四个子模块,各个子模块分别完成相应的如图表中的各种功能。
图3-3学生选课系统软件登录、在线预选结构图
图3-3是学生选课管理系统的学生登录和在线选课部分模块图。
图中学生登录模块主要是登录选课系统,并提供编辑密码功能;
在线选课模块主要完成查询信息、在线选课两个子模块,各个子模块分别完成相应的如图表中的各种功能。
3.4软件高层功能的模块层次结构(H图)
图3-4学生选课系统总HIPO图
图3-4是学生选课系统的总体HIPO图。
上图描绘了各个模块的分层结构。
其中共分为学生登录模块和在线预选模块,各个模块及其子模块的层次如上图描述。
图3-5学生选课系统登录、查询、在线预选HIPO图
图3-5是学生选课系统的登录、查询、在线预选模块的HIPO图。
其中学生登录模块下层次主要有用户登录、密码修改等;
在线预选模块下层次主要有查出课表、在线预选等。
各个子模块的层次如上图描
第四章详细设计
4.1界面设计
4.1.1学生登录界面
图4-1学生登录界面图
图4-1是学生选课系统的登录页面,用户通过输入用户名和密码从而能进入选课管理系统。
4.1.2修改密码界面
图4-2修改密码界面图
图4-2是学生修改密码页面。
用户(学生)成功进入学生选课系统后,可以点击修改密码进入修改密码界面从而修改其密码,本页面可以保证学生的账户安全,使学生能随时修改自己的密码。
4.1.3查看选课表页面
图4-3查看选课表页面图
图4-3是学生查看选课表页面。
学生在线选课可以通过查看可选课程从而选择其想选修的课程。
同时也可以通过点击课程名或教师姓名分别查看课程的上课地点、上课时间等一些基本信息。
4.1.4查询课表页面
图4-4查询课表页面图
图4-4是学生查询课表页面。
学生选过课之后可以通过查看课表从而查询已经选的课程。
同时,在不同的预选阶段,也可以通过退选已经所选的课程,从而形成最后的课表。
4.1.5在线预选页面
图4-5在线预选页面图
图4-5是学生在线预选页面。
在该页面里,学生可以通过点击选定按钮从而确定所要选择的课程。
选择时要注意所选人数是否已经达到所能容纳的人数,避免选课无效。
4.2各个模块程序流程图及其伪代码
模块的流程图能反映出程序在执行过程中所能发生的各种情况,伪代码又能描述出程序的大致方向。
以下模块主要是对上述程序的执行进行描述,即主要针对登录模块、修改密码子模块、在线查询模块、在线预选模块等的描述,其中各个程序流程图和伪代码如下所示:
4.2.1登录模块
图4-6登录模块程序流程图
图4-6是学生登录模块的程序流程图。
在该流程图里,用户通过输入个人的用户名和密码等信息,从而确定是否登录成功,如果成功则进入系统,否则系统提示错误。
伪代码:
PROCEDURE登录;
/*该模块主要是学生的登录,登录成功,则能进入学生选课系统,否则则无法进入该系统*/
IF初次登录THEN
IF用户名和密码相同THEN
进入选课管理系统
ELSE提示错误,返回登录页面
ENDIF
ELSE(非第一次登录)THEN
IF用户名和密码正确THEN
END登录
4.2.2修改密码子模块
图4-7修改密码子模块程序流程图
图4-7是学生修改密码子模块的程序流程图。
在该流程图里,主要是完成学生对学生密码的操作,如修改初始密码或更改新的密码
修改密码模块伪代码:
/*完成学生对学生密码的操作,如修改初始密码或更改新的密码*/
PROCEDURWE修改密码;
IF修改密码THEN
IF两次新密码相同并保存THEN
提示密码修改成功,返回选课管理系统
ELSE(两次密码输入不一致时提交)THEN
提示两次输入密码不一致,刷新该页面
ELSE(学生未修改密码)THEN
提示未进行任何操作,并返回选课管理界面
END修改密码
4.2.3在线预选课模块
图4-8在线预选课模块程序流程图
图4-8是学生在线预选课模块的程序流程图。
学生进入选课管理系统之后,通过点击不同的按钮,从而选择相应的操作,该模块主要分为查看课表、在线预选、退选、补选四个子模块。
4.2.4学生查询子模块
图4-9学生查询子模块程序流程图
图4-9是学生查询课表等信息子模块的程序流程图。
在该流程图里,学生可以参看该学号可选的课程信息列表、已选课程列表、校公选课学分统计等信息。
在选课页面上的课程信息列表中可以查看到各种信息,包括任课教师、学分、上课时间、上课地点等信息。
学生查询子模块伪代码:
/*可以参看该学号可选的课程信息列表、已选课程列表、校公选课学分统计等信息。
在选课页面上的课程信息列表中可以查看到各种信息,包括任课教师、学分、上课时间、上课地点等*/
PROCEDURE查询信息;
IF查询学生课表THEN
转到学生个人课表页面
ELSE无操作
IF查看课程信息THEN
转到课程信息页面
END查询信息
4.2.5在线预选子模块
图4-10在线预选子模块程序流程图
图4-10是学生在线预选子模块的程序流程图。
选课学生可以根据自己的情况选择欲修读的课程
/*选课学生可以根据自己的情况选择欲修读的课程*/
PROCEDURE在线预选
学生查看欲选修的课程THEN
IF选定并提交THEN
IF所选课程未超过两门THEN
IF所选上课时间不冲突THEN
IF课程列表中组号不相同THEN
IF该课程在本校区THEN
IF该课程非高年级课程THEN
系统提示,选课成功
ELSE系统提示为高年级课程,选定失败,返回选课页面
ELSE提示跨校区选课,系统随机存取一门所选课程
ELSE提示列表组号相同,系统随机存取一门所选课程
ELSE提示上课时间冲突,系统随机存取一门所选课程
ELSE提示所选课程已超过两门,系统随机存取一门所选课程
ENDIF
ELSE提示放弃提交操作,页面返回
END在线预选
第五章测试计划
5.1测试概述
基于web平台的选课管理系统的测试主要分为学生登录和在线预选功能的测试,并编写测试用例分别进行测试。
5.2测试环境
选课管理系统的测试环境主要基于web平台。
5.3测试计划
对于学生的登录模块和在线预选模块分别进行黑盒和白盒测试。
5.4黑盒测试用例设计
5.4.1对学生登录模块的测试用例
学生登录中需要输入的数据满足的条件:
(1)用户名为学号
(2)选择“学生”单选框
依据条件划分输入数据等价类首先划分输入数据的等价类,确定输入数据的有效等价类和无效等价类,建立输入等价列表,如图表5-1所示。
表5-1学生登录模块测试用例等价类表
输入条件
有效等价类
无效等价类
用户名
学号
非学号
单选框
学生列
非学生列
根据上面划分出的等价类,可以设计出下述测试方案
输入:
‘001’
预计的输出:
(2)用户名为非学号
返回登录页面
(3)单选框为学生列
‘学生’单选框
(4)单选框为非学生列
‘教师’单选框
5.4.2对学生密码修改的测试用例
学生密码修改需要输入的数据满足的条件:
两次输入的密码必须相同
依据条件划分输入数据等价类首先划分输入数据的等价类,确定输入数据的有效等价类和无效等价类,建立输入等价列表如表5-2所示
表5-2学生密码修改模块测试用例等价类表
输入的密码
两次相等
两次不相等
(1)两次输入密码相等
输入:
‘zyw’,‘zyw’
预计的输出:
修改密码成功
(2)两次输入密码不相等
’zyw‘,’zwy‘
两次输出密码不一致
5.4.3对学生在线预选的测试用例
学生预选的课程需满足的条件:
(1)每位学生每学期的校级选修课选择门数不得超过两门。
(2)不得选择上课时间段相同的课程。
(3)对于课程列表中组号相同的课程,只能选择修读其中的一门。
(4)选课学生不能跨校区选课。
(5)高年级的学生可以选修低年级的课程,但低年级的学生不能选修高年级的课程。
依据条件划分输入数据等价类首先划分输入数据的等价类,确定输入数据的有效等价类和无效等价类,建立输入等价列表如表5-3所示:
表5-3学生在线预选模块测试用例等价类表
选修的课程门数
0门、1门、2门
大于两门
课程的上课时间
与已选课程不相同
与已选课程相同
组号相同的课程
修读其中的一门
均修读或都不修读
课程的上课地点
与所在校区相同
与所在校区不同
课程的级别
本年级课程或低年级课程
高年级课程
根据上面划分出的等价类,可以设计出下述测试方案:
(1)选修的课程门数是1门
’1门‘
预期的输出:
选修成功
(2)选修的课程门数是3门
’3门‘
预期的输出:
选修失败
(3)选修的课程中上课时间相同
’上课时间相同‘
(4)选修的课程中上课时间不相同
’上课时间不相同‘
(5)选修课程的组号相同
输入:
’组号相同‘
(6)选修的课程中组号不相同
’组号不相同‘
(7)选修的课程中上课地点同校区
’上课地点同校区‘
(8)选修的课程中上课地点不同校区
’上课地点不同校区‘
(9)选修的课程中级别高
’高年级选修课程‘
(10)选修的课程中级别相等
’本年级选修课程‘
5.5白盒测试用例设计
5.5.1登录模块测试
为彻底地检查登录模块所有条件的取值,可以将详细设计中给出的多重条
件判定分解,形成下图所示的由多个基本判断组成的流程,如下图:
图5-1登录模块测试图
图5-1为学生登录模块白盒测试用例图。
学生登录过程中需对用户名和密码进行判定。
白盒测试可表示为4条路径,如下描述:
4条路径可表示为:
L1(a→b→e),L2(a→b→d),L3(a→c→e),L4(a→c→d)
简写为abe、abd、ace和acd。
测试用例:
L1:
【(学号格式错误,密码格式正确),(提示错误,无提示)】
L2:
【(学号格式错误,密码格式错误),(提示错误,提示错误)】
L3:
【(学号格式正确,密码格式错误),(提示错误,提示错误)】
L4:
【(学号格式正确,密码格式正确),(无提示,无提示)】
5.5.2修改密码模块测试
为彻底地检查修改密码模块所有条件的取值,可以将详细设计中给出的多重条件判定分解,形成图5-2所示的由多个基本判断组成的流程,可以完成密码模块的测试,如下图:
图5-2修改密码模块测试图
图5-2为学生修改密码子模块白盒测试用例图。
学生进入选课管理系统后,可以对密码进行修改。
L1(a→b→d),L2(a→b→e),L3(a→c→d),L4(a→c→e)
简写为abd、abe、acd和ace。
L1:
【(密码格式错误,两次密码不一致),(提示错误,提示错误)】
【(密码格式错误,两次密码一致),(提示错误,无提示)】L3:
【(密码格式正确,两次密码不一致),(无提示,提示错误)】
【(密码格式正确,两次密码一致),(无提示,无提示)】
5.5.3在线预选模块测试
为彻底地检查在线预选模块所有条件的取值,可以将详细设计中给出的多重条件判定分解,形成下图所示的由多个基本判断组成的流程,如下图:
图5-3在线预选模块测试图
图5-3为学生在线预选子模块白盒测试用例图。
学生进入选课管理系统后,通过模块选择,可以预选自己所要选修的课程。
其白盒测试可表示为6条路径,分别如下描述:
分析可知可产生6条路径:
分别表示为:
L1(a→b),L2(a→c→d),L3(a→c→e→d),L4(a→c→e→f→d)
L5(a→c→e→f→g→h),L6(a→c→e→f→g→b)
简写为ab、acd、aced、acefd、acefgh、acefgb
选择不同的路径,可满足要求的测试用例如下:
【(不提交),(无操作)】覆盖ab
【(提交,选课超两门),(随机存一门)】覆盖acd
【(提交,选课未超两门,上课时间相同),(随机存一门)】覆盖aced
【(提交,选课未超两门,上课时间不同,组号相同),(随机存一门)】覆盖acefd
L5:
【(提交,选课未超两门,上课时间不同,组号不同,本校区课程),(随机存一门)】覆盖acefd
L6:
【(提交,选课未超两门,上课时间不同,组号不同,非本校区课程),(无操作)】覆盖acefgb
第六章项目管理
6.1学生选课系统的开发计划
本系统开始于2012年5月27日,项目启动用去0工作日;
系统分析用去1个工作日,其中系统概述和系统可行性分析共用去1个工作日,记录任务日志用去0个工作日;
需求分析共用去1个工作日,其中系统需求、功能需求、数据流图、数据字典、判定树共用去1个工作日;
概要设计共用去2个工作日,其中模块设计、数据库分析设计用去一个工作日,软件结构图、软件高层功能的模块层次结构用去一个工作日;
详细设计共用去2个工作日,其中界面设计用去半个工作日,各个模块程序流程图及其伪代码用去1.5个工作日;
测试计划两个工作日,其中测试概述、测试环境、测试计划用去1个工作日,黑盒测试用例设计、白盒测试用例设计用去1个工作日。
6.2学生选课管理项目进度的甘特图
根据学生选课系统的开发计划利用Project画出项目进度的甘特图如下所示:
图6-1学生选课管理项目进度甘特图
6.3工程网络图