问题 问答题

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


【表】

表3-1 学生课注册系统的实体类

实体类 说明
Professor 学校中讲课的教师
Strdent 学校中注册课程的学生
Schedule 学生在新学期选择登记的课程列表
CourseCatalog 学校所有课程的目录
Course 课程的基本信息
CourseOffering 新学期课程的开设信息,如课课教师、时间、地点等信息

表3-2 学生课程注册系统的边界类
边界类 说明
LoginForm 为教师、学生和注册管理提供登录的操作
RegisterCoursesForm 为学生提供选课注册的操作
ViewReportForm 为学生提供成绩查询的操作
SelectTeachCoursesForm 为教师提供查看学生选课情况的操作
SubmitGradesForm 为教师提供登记成绩的操作
MaintainProfessorsForm 为注册管理员提供维护教师信息的操作
MaintainStudentsForm 为注册管理员提供维护学生信息的操作
MaintainCoursesForm 为注册管理员提供维护课程信息的操作
CloseRegistrationForm 为注册管理员提供关闭注册的操作
BillingSystemNotice 提供与收费系统的信息交换接口

表3-3 学生课程注册系统的控制类
控制类 说明
RegisterCoursesControl 负责新学期学生的选课登记
ViewReportControl 负责学生成绩的查询
SelectTeachCoursesControl 负责新学期课程的学生选择情况
SubmitGradesControl 负责学生成绩的登记
CloseRegistrationControl 负责关闭课程注册
【协作图】


【时序图】
注释1:学生打算注册新的课程。
注释2:一张这学期可选择的课程列表。
注释3:显示一张为学生选课用的空白登记表。


1. 【问题1】
在UML中,用例代表一个完整的功能,如与角色通信、进行计算或在系统内工作等。请简要说明用例具有哪些的特征,并指出用例图中(1)~(3)处表示的内容。

答案

参考答案:用例图定义了系统的功能需求,它完全是从系统的外部观看系统功能,并不描述系统内部对功能的具体实现。在用例图中,角色代表触发系统功能的用户或其他系统,用例代表具体的功能描述。
2.类图描述系统的静态结构,表示系统中的类以及类与类之间的关系。
3.对象图描述了一组对象以及它们之间的关系,表示类的对象实例。
4.状态图表示一个状态机,强调对象行为的事件/顷序。
5.时序图和协作图均表示一组对象之间的动态协作关系。其中,时序图反映对象之间发送消息的时间顺序,协作图反映收发消息的对象的结构组织。时序图和协作图是同构的,即两者之间可以相互转换。
6.活动图反映系统中从一个活动到另一个活动的流程,强调对象间的控制流程。
7.组件图描述组件以及它们之间的关系,表示系统的静态实现视图。
8.分布图反映了系统中软件和硬件的物理架构,表示系统运行时的处理节点以及节点中组件的配置。

选择题
问答题 简答题