以下是学生选课系统中“学生查询成绩”交互行为的描述,请按要求回答问题。
交互开始时终端上显示首页,用户选择“查询”请求后,显示“请输入学号”。在用户输入学号后,系统核对学生学号:若输入的学号不正确,则显示“输入的学号不正确”,此次查询取消,回到首页;若输入学号正确,则出现“请输入课程名”。一旦输入课程名,就开始核对课程名称:若输入的课程名不正确,则显示“输入的课程名不正确”,此次查询取消,回到首页;若输入的课程名正确,则根据“学号”和“课程名”查询学生成绩。
若查询学生成绩成功,则显示查询到的成绩,系统询问是否继续查询:当用户选择“继续查询”后回到“请输入学号”;当用户选择“结束查询”后回到首页。若查询成绩失败,则显示“查询失败”后回到首页。
(1)请画出该系统以上交互行为的状态图(应满足功能图的要求,不可画成流程图)。
(2)用基本路径测试方法确定该状态图的测试路径。
参考答案:
(1)根据系统的规格说明,画出状态图,如图1所示。
其中:
M1:选择“查询”请求
M2:输入学号
M3:输入了正确的学号
M4:输入了错误的学号
M5、M9、M13:回归首页
M6:输入课程名
M7:输入了正确的课程名
M8:输入了错误的课程名
M10:选择查询成绩
M11:查询成绩成功
M12:查询成绩失败
M14:系统询问是否继续查询
M15:用户选择“继续查询”
M16:用户选择“结束查询”
(2)根据系统的规格说明,画出控制流图,如图2所示。
由控制流图可以看出,程序中有4个判定节点,因此该程序的环路复杂度V(G)=5,所以可以确定5条独立的测试路径,即:
Path1:1-2-4
Path2:1-2-3-6
Path3:1-2-3-5-8
Path4:1-2-3-5-7-9
path5:1-2-3-5-7-10