软件学院综合训练项目报告书课程名称软件工程项目名称学生信息管理系统的结构化设计专业班级软件13-6班组别第3组人员尹*王**田*史**任课教师刘玲玲目录1设计时间.................................................12设计任务.................................................13设计内容.................................................13.1软件功能描述...........................................13.2总体设计...............................................13.3详细设计...............................................23.3.1模块一................................................23.3.2模块二................................................53.3.3模块三...............................................83.3.4模块四..............................................113.3.5模块五..............................................134总结与展望..............................................17参考文献.................................................19成绩评定.................................................1911设计时间2015.5.20~2015.5.262设计任务学生信息管理系统的结构化设计3设计内容(1)管理员可以对学生信息,教师信息,课程信息和班级信息进行管理等。(2)学生可以根据用户名和密码登录系统,对个人信息进行编辑,并且可以选课,查询成绩和课程信息等。(3)教师登陆后,可以查询班级信息,录入成绩信息和查询历史成绩等。3.1软件功能描述在学生信息管理系统中,主要有成绩信息管理、课程信息管理、班级信息管理、学籍信息管理、系统管理等功能,功能描述如下:(1)成绩信息管理当学生进入学生成绩信息管理系统,学生可以选课查询成绩;当老师进入学生成绩信息管理系统,老师可以录入成绩信息以及查询学生成绩。(2)课程信息管理包括3个功能模块:课程基本添加与删除处理、成绩查询处理以及学生选课信息的查询处理。(3)班级信息管理包括3个功能模块:班级信息的添加、班级信息的查询以及班级信息的修改与删除。(4)学籍信息管理包括3个功能模块:学籍信息的添加、学籍信息的查询、学籍信息的删除与处理。(5)系统管理当学生或老师或管理员输入正确的用户名和密码均可可进入系统管理页面。当学生或老师或管理员修改密码,可输入新的密码。3.2总体设计根据软件功能,把系统划分为层次结构,表示模块间的调用关系,如图1所示。2学生信息管理系统成绩信息管理课程信息管理班级信息管理成绩信息添加成绩信息修改课程信息添加课程信息修改课程信息查询班级信息添加班级信息查询学籍信息添加学籍信息修改成绩信息查询班级信息修改学籍信息管理学籍信息查询用户管理系统管理密码管理图1模块间调用关系图3.3详细设计3.3.1模块一成绩信息管理成绩信息管理系统的环境图如图2所示。成绩管理系统学生老师F1查询F2成绩信息F3录入成绩F4查询F5成绩信息图2成绩信息管理1.输入信息:当学生进入学生成绩信息管理系统,学生可以选课查询成绩;当老师进入学生成绩信息管理系统,老师可以录入成绩信息以及查询学生成绩;2.输出信息:当学生进入学生成绩信息管理系统中查询成绩,系统将该学生的各科成绩信息展示给学生;当老师进入学生成绩信息管理系统中录入成绩完成后,系统将该老师录入的成绩展示给该老师,同时查询学生成绩,系统将相应的成绩展示给3.用盒图表示算法成绩信息管理系统的盒图如图3所示。3输入ii等于teacher输入jifj等于insertgradej等于inquiregrade输出inquire.grade输出insert.gradeendif输出student.gradesendif真假真假ifi等于student图3成绩信息管理系统的盒图4.测试方法及测试用例(1)伪码如下:输入i--------ifi等于student-------则输出student.grades-----------elsei等于teacher----------④输入j--------⑤ifj等于insertgrade-------⑥则输出insert.grade--------⑦elsej等于inquiregrade---------⑧输出inquire.grade---------⑨endif---------⑩endif----------⑾(2)控制流图,如图4所示。(3)计算得到的控制流图的环路复杂性V(G)=3(4)确定线性无关的基本路径集4Path1:1--2--3--11Path2:1--2--4--5--6--7--10--11Path3:1--2--4--5--6--8--9--10--11图4控制流图(5)测试用例Path1:输入数据:i等于student输出数据:student.gradesPath2:输入数据:i等于teacherj等于insertgrade输出数据:insert.gradePath3:输入数据:i等于teacherj等于inquiregrade输出数据:inquire.gradePath4:输入数据:i等于manager输出数据:输入错误Path5:输入数据:j等于delectgrade输出数据:输入错误123456789101153.3.2模块二课程信息管理成绩信息管理系统的环境图如图5所示。课程信息管理系统学生管理员F1选课F2选课列表F3查询F4课程信息F5查询F6课程信息F7添加信息F8修改信息图5课程信息管理1.输入信息:当学生进入学生课程信息管理系统,学生可以选课,查询课程信息;当管理员进入学生课程信息管理系统,管理员可以查询课程信息,添加课程信息,修改课程信息;2.输出信息:当学生进入学生课程信息管理系统时,若学生选课,则向学生展示选课列表;若学生查询课程信息,则向学生展示课程信息;当管理员进入学生课程信息管理系统时,若查询课程信息,则向管理员展示课程信息;若添加课程信息,则管理员将欲添加的课程信息输入到学生课程信息管理系统,系统将添加信息后的课程信息展示给管理员;若修改课程信息,则管理员将欲修改的课程信息输入到学生课程信息管理系统,系统将修改信息后的课程信息展示给管理员;3.用盒图表示算法成绩信息管理系统的盒图如图6所示。4.测试方法及测试用例(1)伪码如下:输入i,j--------ifi等于student-------ifj等于selectcourse-----------则输出course.list----------④elsej等于inquirecourse--------⑤输出course---------⑥endif----------⑦6elsei等于manager---------⑧ifj等于inquirecourse-------⑨则输出course--------⑩elseifj等于addcourse---------⑾输出course---------⑿elsej等于changecourse---------⒀输出course--------⒁endif---------⒂endif----------⒃endif---------⒄输入i,j真假ifj等于selectcourse真假j等于inquirecourse输出course输出course.listi等于manager真假ifj等于addcourse真输出course输出courseendif输出courseendifendifendifj等于changecourse假条件ifj等于inquirecourse图6成绩信息管理系统的盒图(2)控制流图,如图7所示。(3)计算得到的控制流图的环路复杂性V(G)=5(4)确定线性无关的基本路径集7Path1:1--2--3--4--7--17Path2:1--2--3--5--6--7--17Path3:1--2--8--9--10--16--17Path4:1--2--8--9--11--12--15--16--17Path5:1--2--8--9--11--13--14--15--16--17图7控制流图(5)测试用例Path1:输入数据:i等于studentj等于selectcourse输出数据:course.listPath2:输入数据:i等于studentj等于inquirecourse输出数据:coursePath3:输入数据:i等于managerj等于inquirecourse输出数据:coursePath4:输入数据:i等于managerj等于addcourse17243810911651412131516178输出数据:coursePath5:输入数据:i等于managerj等于changecourse输出数据:coursePath6:输入数据:i等于teacher输出数据:输入错误Path7:输入数据:i等于studentj等于addcourse输出数据:输入错误Path8:输入数据:i等于studentj等于changecourse输出数据:输入错误Path9:输入数据:i等于managerj等于selectcourse输出数据:输入错误3.3.3模块三班级信息管理班级信息管理系统的环境图如图8所示。班级管理系统管理员老师F1添加信息F2修改信息F3查询F4班级信息F5查询F6录入成绩信息F7班级信息F8历史成绩图8班级信息管理1.输入信息:当管理员进入班级信息管理系统,管理员可以添加、修改和查询班级信息。当老师进入班级信息管理系统,老师可以查询班级信息以及录入班级信息。2.输出信息当管理员进入班级管理系统中查询班级信息,系统将该班级各项信息展示给管理员。当老师进入班级管理系统中查询班级信息,系统将班级信息及历史成绩展示给老师。3.用盒图表示算法班级信息管理系统的盒图如图9所示。9输入i,jifi等于manager真假真假ifj等于addclassinformation真假j等于changeclassinformation输出classinformation输出classinformationendif输出classinformationendifi等于teacher真假ifj等于inquirehistoricalperformance真假j等于entrygrade输出grade输出historicalperformanceendif输出classinformationendifendififj等于inquireclassinformationifj等于inqureclassinformation图9班级信息管理系统的盒图4.测试方法及测试用例(1)伪码如下:输入i,j--------1ifi等于manager-------2ifj等于inquireclassinformation-----------3则输出classinformation----------4elseifj等于addclassinformation--------5输出