问题 问答题


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

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

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

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


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

【问题3】
UML采用5个互联的视图来描述软件系统的体系结构,即用例视图(Use—case View)、设计视图(Design View)、进程视图(Process View)、实现视图(Implementation View)和展开视图(Deployment View)。系统模型中每一个视图的内容是由一些图来描述的,UML中包含用例图、类图、对象图、状态图、时序图、协作图、活动图、组件图、分布图等9种图。对整个系统而言,其功能由用例图描述,静态结构由类图和对象图描述,动态行为由状态图、时序图、协作图和活动图描述,而物理架构则是由组件图和分布图描述。请分别指出用例图、类图、对象图、状态图、时序图、协作图、活动图、组件图、分布图的作用。

答案

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

解析: 用例描述了它所代表的功能的各个方面,即包含了用例执行期间可能发生的各种情况。用例和角色之间具有“关联”的连接关系,表示什么角色与该用例进行通信。在UML语言中,用例用一个椭圆图形和名称表示。
在本题中,我们通过题目说明可以识别以下用例:
1.与教师有关的用例
1)选择课程——选择所教的课程,并获得学生名册。
2)登记成绩——在学期结束时,提交学生的课程成绩。
2.与学生有关的用例
1)注册课程——在学期开始进行选课注册,允许在一段时间内更改或删除,课程目录系统提供当前学期的所有可选课程列表。2)查看成绩单——学生可以查看以前学期的电子成绩单。
3.与注册管理员有关的用例
1)维护课程信息——在系统中增加、修改和删除课程信息。2)维护学生信息——在系统中增加、修改和删除学生信息。3)维护教师信息——在系统中增加、修改和删除教师信息。4)关闭注册——删除少于3人的课程,并由付费系统通知学生缴费。
4.与安全性要求有关的用例
登录——使用此系统的人员需要进行登录,以验证其身份和权限。
发现和定义对象类应以问题域和系统责任为出发点,正确地运用抽象原则,尽可能全面地发现对象的因素,并对其进行检查和整理,最终得到系统的对象类。我们可以在用例模型的基础上,通过识别实体类、边界类和控制类,从而发现和定义系统中的对象类。识别上述对象类之后,通过建立交互图,将用例的行为分布到这些对象类中。时序图表示完成某项行为的对象类和这些对象类之间传递消息的时间顺序,其中,对象生命线是一条垂直的虚线,表示对象存在的时间;控制焦点是一个细长的矩形,表示对象执行一个所经历的时间段;消息是对象之间的一条水平箭头线,表示对象之间的通信。协作图包含一组对象和以消息交换为纽带的关联,用于描述系统的行为是如何由系统的成分合作实现的。

选择题
问答题

阅读以下说明和图,根据要求回答下列问题。
[说明]
某音像制品出租商店欲开发一个音像管理信息系统,管理音像制品的租借业务。需求如下。
1.系统中的客户信息文件保存了该商店的所有客户的用户名、密码等信息。对于首次来租借的客户,系统会为其生成用户名和初始密码。
2.系统中音像制品信息文件记录了商店中所有音像制品的详细信息及其库存数量。
3.根据客户所租借的音像制品的品种,会按天收取相应的费用。音像制品的最长租借周期为1周,每位客户每次最多只能租借6件音像制品。
4.客户租借某种音像制品的具体流程如下。
(1)根据客户提供的用户名和密码,验证客户身份。
(2)若该客户是合法客户,查询音像制品信息文件,查看商店中是否还有这种音像制品。
(3)若还有该音像制品,且客户所要租借的音像制品数小于等于6个,就可以将该音像制品租借给客户。这时,系统给出相应的租借确认信息,生成一条新的租借记录并将其保存在租借记录文件中。
(4)系统计算租借费用,将费用信息保存在租借记录文件中并告知客户。
(5)客户付清租借费用之后,系统接收客户付款信息,将音像制品租借给该客户。
5.当库存中某音像制品数量不能满足客户的租借请求数量时,系统可以接受客户网上预约租借某种音像制品。系统接收到预约请求后,检查库存信息,验证用户身份,创建相应的预约记录,生成预约流水号给该客户,并将信息保存在预约记录文件中。
6.客户归还到期的音像制品,系统修改租借记录文件,并查询预约记录文件和客户信息文件,判定是否有客户预约了这些音像制品。若有,则生成预约提示信息,通知系统履行预约服务,系统查询客户信息文件和预约记录文件,通知相关客户前来租借音像制品。
现采用结构化方法对音像管理信息系统进行分析与设计,获得如图7-9所示的顶层数据流图和图7-10所示的0层数据流图。



[问题2]
使用[说明]中的词语,给出图7-10中的数据存储D1~D4的名称。