阅读以下关于软件系统建模的叙述,在答题纸上回答问题1至问题3。 [说明] 某软件公司计划开发一套教学管理系统,用于为高校提供教学管理服务。该教学管理系统基本的需求包括: (1)系统用户必须成功登录到系统后才能使用系统的各项功能服务; (2)管理员(Regi

admin2017-11-28  21

问题 阅读以下关于软件系统建模的叙述,在答题纸上回答问题1至问题3。
[说明]
某软件公司计划开发一套教学管理系统,用于为高校提供教学管理服务。该教学管理系统基本的需求包括:
(1)系统用户必须成功登录到系统后才能使用系统的各项功能服务;
(2)管理员(Registrar)使用该系统管理学校(University)、系(Department)、教师(Lecturer)、学生(Student)和课程(Course)等教学基础信息;
(3)学生使用系统选择并注册课程,必须通过所选课程的考试才能获得学分;如果考试不及格,必须参加补考,通过后才能获得课程学分;
(4)教师使用该系统选择所要教的课程,并从系统获得选择该课程的学生名单;
(5)管理员使用系统生成课程课表,维护系统所需的有关课程、学生和教师的信息;
(6)每个月到了月底系统会通过打印机打印学生的考勤信息。
项目组经过分析和讨论,决定采用面向对象开发技术对系统各项需求建模。
[问题3]
类图主要用来描述系统的静态结构,是组件图和配置图的基础。请指出在面向对象系统建模中,类之间的关系有哪几种类型?对题目所述教学服务系统的需求建模时,类University与类Student之间、类University和类Department之间、类Student和类Course之间的关系分别属于哪种类型?

选项

答案类之间的关系:关联(Association)、聚集(Aggregation)、组合(Composition)、泛化(Generalization)、依赖(Dependence)。 类University与类Student之间的关系是聚集(Aggregation)关系;类University和类Department之间的关系是组合(Composition)关系;类Student和类Course之间的关系是关联(Association)关系。

解析 本题考查面向对象系统建模的相关知识。
此类题目要求考生能够理解面向对象系统建模的基本概念和方法,并在应用系统开发中结合系统需求,利用面向对象建模技术构建系统的需求模型、分析模型和设计模型。UML是面向对象系统的标准建模语言,是一种定义良好、易于表达、功能强大的建模语言。UML在支持面向对象分析与设计的基础上,能够支持从需求分析开始的软件开发全过程。在UML建模过程中,通过建立系统用例模型和静态模型,搭建系统体系结构。用例模型属于系统的高级视图,按照面向对象的原则将系统要实现的行为划分为用例,并基于用例按照交互关系和时间产生顺序图;在用例模型的基础上抽象出系统的类,明确各模块之间的关系按照合适的粒度构建系统类图。对于复杂的交互过程,需要补充状态图、活动图和协作图等系统模型,对系统内部处理细节进行建模。该题目针对教学管理系统需求,主要考查考生对于用例图和类图进行系统建模的掌握情况。
[问题1]
本问题考查考生对用例建模中“参与者”元素的理解。参与者是为了完成一个事件而与系统交互的实体,参与者可以表示与系统接口的任何事物和任何人。这可以包括人(不仅仅是最终用户)、外部系统和其他组织,参与者位于建模的系统的外部。在识别参与者时,要注意参与者是与系统交互的所有事物,该角色的承担者除了人之外,还可以是其他系统和硬件设备,甚至是系统时钟。按照题目中给出的系统需求说明,从需求(3)、(4)、(5)中可以得到由人承担的参与者包括学生、教师、管理员;需求(6)可以得到的参与者是时间(系统时钟)和打印机。
[问题2]
本题考查考生对用例及其用例之间关系的理解。用例是系统中执行的一系列动作,这些动作生成特定参与者可见的价值结果。用例表示系统所提供的服务,它定义了系统是如何被参与者所使用的,描述了参与者为了使用系统所提供的某一个完整功能而与系统之间发生的交互过程。用例之间的关系主要有泛化(Generalization)、包含(Include)和扩展(Extend)。
(1)当可以从两个或多个用例中提取公共行为时,可以使用包含关系来表示。
(2)如果一个用例混合了两种或两种以上不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例。
(3)当多个用例共同拥有一个类似的结构和行为的时候,可以将它们的共性抽象成父用例,其他的用例作为泛化关系中的子用例。
在题目要求中,用例“登录系统”是用例“注册课程”和其他用例执行的公共行为,两者是包含(Include)关系。用例“参加补考”是用例“参加考试”的一种分支和特殊场景,两者之间的关系是扩展(Extend)关系。
[问题3]
本题考查考生对类图及类之间关系的理解。类图主要用来描述系统的静态结构,是组件图和配置图的基础。每个用例对应一个类图,描述参与这个用例实现的所有概念类,而用例的实现主要通过交互图来表示。当确定类之后,要识别类与类之间的关系,主要包括关联(Association)、聚集(Aggregation)、组合(Composition)、泛化(Generalization)和依赖(Dependence)。
(1)关联提供了类之间的结构关系,将多个类的实例连接在一起。
(2)依赖关系表示一个类的变化可能会影响另一个类。
(3)泛化关系描述了一般事物与该事物中的特殊种类之间的关系。
(4)聚集关系表示类之间整体与部分的关系,其含义是部分可能同时属于多个整体,两者生命周期可以不相同。
(5)组合关系表示类之间的整体与部分关系,部分只能属于一个整体,两者具有相同的生存周期。
在题目要求中,类University与类Student之间的关系是整体与部分关系,而且具有不同的生存周期,所以是聚集(Aggregation)关系。类University和类Department之间的关系是整体与部分的关系,两者具有相同的生存周期,所以是组合(Composition)关系。类Student和类Course之间为连接关系,所以属于关联(Association)关系。
转载请注明原文地址:https://kaotiyun.com/show/TAQZ777K
0

最新回复(0)