【分析解答题】
阅读下列说明以及图示(如图1所示),回答问题1~3。

【说明】
某大学准备开发一个学生课程注册系统,学生可以使用该系统查询新学期将开设的课程和讲课教师情况,选择自己要学习的课程进行登记注册,并可以查询成绩单;教师可以使用该系统查询新学期将开设的课程和选课学生情况,并可以登记成,绩单;注册管理员使用该系统进行注册管理,包括维护教师信息、学生信息和课程信息等。
在每个学期的开始,学生可以获得该学期的课程目录表,课程目录表列出每门课程的所有信息,诸如基本信息、教师、开课系和选课条件等。
新学期开始前两周为选课注册时间,在此期间学生可以选课注册,并且允许改变或取消注册申请,开学两周后注册管理员负责关闭课程注册。每个学生可以选择不超过4门课程,同时指定2门侯选课程以备主选课程未选上。每门课程最多不能超过10人,最少不能低于3人,低于3人选课的课程将被取消。一旦学生的注册过程完毕,注册系统将有关信息提交收费系统以便学生付费。如果在实际注册过程中名额已满,系统将通知学生在提交课程表之前予以更改。
在学期结束时,学生可以存取系统查看电子成绩单。由于学生成绩属于敏感信息,系统必须提供必要的安全措施以防非法存取。
【用例图】
{{B}}表1 学生课程注册系统的实体类{{/B}}
实体类 | 说明 |
Professor | 学校中讲课的教师 |
student | 学校中注册课程的学生 |
Schedule | 学生在新学期选择登记的课程列表 |
CourseCatalog | 学校所有课程的目录 |
Course | 课程的基本信息 |
CourseOffering | 新学期课程的开设信息,如讲课教师、时间、地点等信息 |
{{B}}表2 学生课程注册系统的边界类{{/B}}
边界类 | 说明 |
LoginForm | 为教师、学生和注册管理员提供登录的操作 |
RegisterCoursesForm | 为学生提供选课注册的操作 |
ViewReportForm | 为学生提供成绩查询的操作 |
selecrTeachCoursesForm | 为教师提供查看学生选课情况的操作 |
SubmitCradesForm | 为教师提供登记成绩的操作 |
MaintainProfessorsForm | 为注册管理员提供维护教师信息的操作 |
MaintainStudentsForm | 为注册管理员提供维护学生信息的操作 |
MaintainCoursesForm | 为注册管理员提供维护课程信息的操作 |
CloseRegistrationForm | 为注册管理员提供关闭注册的操作 |
BillingSystemNotice | 提供与收费系统的信息交换接口 |
{{B}}表3 学生课程注册系统的控制类{{/B}}
控制类 | 说明 |
RegisterCoursesControl | 负责新学期学生的选课登记 |
ViewReportControl | 负责学生成绩的查询 |
SelectTeachCoursesControl | 负责新学期课程的学生选择情况 |
SubmitGradesControl | 负责学生成绩的登记 |
CloseRegistrationControl | 负责关闭课程注册 |
【协作图】

【时序图】
注释1:学生打算注册新的课程。
注释2:一张这学期可选择的课程列表。
注释3:显示一张为学生选课用的空白登记表。 【问题2】 协作图与时序图是同构的,二者表示的都是同样的系统交互活动,只是各自的侧重点不同而已。根据题目提供的信息,指出协作图中(4)~(8)处表示的内容。
正确答案
正在加载...
答案解析
正在加载...
根据网考网考试中心的答案统计,该试题:0%的考友选择了A选项0%的考友选择了B选项0%的考友选择了C选项0%的考友选择了D选项
相关试题
第1题:【程序说明】 本程序先从文件读人各考生的准考证号(设为整型数)及成绩,并将其存放在一棵检索二叉树上,二叉树结点的健值是成绩,每个结点带一链表,链表结点存放取得该成绩的考生的准考证号。然后,程序按中序遍历检索二叉树,从高分到低分输出结果,使每行输出成绩及其取得成绩的考生的准考证号。 【程序】#include < stdio. h > typedef struet idnode { int id;struct idnode * next; } ldNode; typedef struct marknode Iint mark; ldNode * head;struct marknode * left, * right; } MarkNode; char fname [ ] = "sp07.dat"; main( ) { int id, mark; MarkNode * root = null; FILE、* fp = fopen(fname," r" ); if(!fp) {printf("file%s open error, \n" , fname第2题:【函数1说明】 函数compare(SqListA, SqListB、的功能是:设A=(al,…,am)和B=(b1,…,bn)均为顺序表,“比较”,两个顺序表A和B的大小。设A’ 和B’ 分别为A和B中除去最大共同前缀后的子表(例如,A=(y,x,x,z,x,z),B=(y,x,x,2,y,x,x,z),则两者中最大的共同前缀为 (y,x,x,z),在两表中除去最大共同前缀后的子表分别为A’=(x,z)和B’=(y,x,x,z))。若A’=B’=空表,则A=B;若A’=空表,而B’≠空表,或者两者均不为空表,且A’的首元小于B’首元,则A<B、否则A>B。 提示:算法的基本思想为:若相等,则j+1,之后继续比较后继元素;否则即可得出比较结果。显然,j的初值应为0,循环的条件是j不超出其中任何一个表的范围。若在循环内不能得出比较结果,则循环结束时有3种可能出现的情况需要区分。 【函数1】 int compare ( SqListA, SqListB、 { //若A<B,则返回-1;若A=B,则返回0:若A>B,则返回1 j
|