(11) 系统重新进入管理主界面,显示所有课程。 (12) 用例结束。 扩展事件流:
A1:密码错误
(1) 系统提示再次输入。 (2) 用户确认。
(3) 三次错误,拒绝再次访问。
(4) 否则进入添加课程事件流第5步。 A2:有冲突
(1) 系统提示冲突,显示冲突课程信息。 (2) 用户重新输入。
(3) 继续验证直到无冲突。
(4) 进入添加课程事件流第10步。
用面向对象的开发技术分析上述用例,回答下面的问题。 (1) 给出该用例的活动图 (2) 给出该系统的类图
(3) 针对用例中涉及的主要类“Course(课程类)”,建立该类的状态图 (4) 给出“添加课程”用例的顺序图 参考答案:
(1)活动图
系统提示输入各项信息管理员输入课程信息选择添加课程系统提示再次输入[ 密码不正确 ]系统提示输入密码管理员输入密码验证密码生成密码对象判断正确否在数据库中查询密码[ 密码正确 ]取得系统管理权限验证课程合法否
系统提示再次输入[ 不合法 ]- 21 - 生成课程对象在数据库中查询判断是否合法
(2)类图
Student1People1AdministratorDatabase0..n0..n110..nContorObject11FormObjectCourse0..n创建 课程 (3)状态图
Modified修改课程Created添加 课程In Database[ 选课人数不超过最大值 ]Deleted[ 选课人数不超过最大值 ]
In Schedule[ 选课人数超过最大值 ][ 学期结束 ]- 22 - [ 学期结束 ]Locked
(4)顺序图 12.
stu : Studentform : course : ctrl : FormObjectCourseControlObjectdb : DataBase1: 显示所有课程信息2: 添加课程3: 输入课程信息4: 生成课程对象5: 查询课程是否合法6: 查询课程7: 判断是否合法8: 添加课程9: 显示添加成功- 23 -
算法描述:
1. 给出一组数从小到大的排序算法,分别用下列工具描述其详细过程:
(1) 流程图;(2)N—S图;(3)PAD图;(4)PDL语言。
PDL语言略
2.下面是程序流程图,试分别用N-S图和伪代码(类C语言描述)表示。
- 24 -
START P F T END
A
B F Q T
3. 阅读下面算法的PDl(伪代码)描述,请给出该算法的流程图和n-s盒图。(共20分,每题10分)
START
IF ( p ) THEN
WHILE (q)
{
f
} ELSE {
g
n } STOP
参考答案:
1.n-s盒图(10分,能正确n-s描述的循环
和分支的10分,否则酌情给分)
2.程序流程图(10分,能正确给出循环和两个分支的10分,否则酌情给分)
Start
T
while q
f p
g n
F
测试试题::
1. 阅读下面C语言函数,回答后面的问题: //求取数组arr中的最大数据,并返回该元素在数组中的位置。
- 25 -