0.0625

五煦查题

快速找到你需要的那道考题与答案

尔雅UML面向对象分析和建模答案(学习通2023题目答案)

21 min read

尔雅UML面向对象分析和建模答案(学习通2023题目答案)

第1章 面向对象概述

第一章单元测试

1、尔雅UML中接口可用于( )。面目答
A、向对象分析和学习提供构造型(stereotype)名称为《interface》的建模具体类
B、Java和C++程序设计中,答案而C#程序设计中不支持
C、通题定义可以在多个类中重用的尔雅可执行逻辑
D、声明对象类所需要的面目答服务

2、在面向对象方法中,向对象分析和学习两个及以上的建模类作为一个类的父类时,称为( )。答案
A、通题多重继承
B、尔雅多态
C、面目答封装
D、向对象分析和学习层次继承

3、以下关于封装在软件复用中所充当的角色的叙述,正确的是 ( )。
A、封装使得其他开发人员不需要知道一个软件组件内部如何工作
B、封装使得软件组件更有效地工作
C、封装使得软件开发人员不需要编制开发文档
D、封装使得软件组件开发更加容易

4、一个类是( ) ,在定义类时其属性可以声明为private、protected、public。
A、一组对象的封装
B、表示一组对象的层次关系
C、一组对象的实例
D、—组对象的抽象定义

5、在定义类一个类时,将其属性声明为private的目的是( )。
A、实现数据隐藏,以免意外更改
B、操作符重载
C、实现属性值不可更改
D、实现属性值对类的所有对象共享

6、以下关于面向对象继承的叙述中,错误的是( )。
A、继承是父类和子类之间共享数据和方法的机制
B、继承定义了一种类与类之间的关系
C、继承关系中的子类将拥有父类的全部属性和方法
D、继承仅仅允许单重继承,即不允许一个子类有多个父类

7、面向对象的四个基本特征是( )。
A、继承、封装、多态、抽象
B、继承、封装、多态、结构
C、封装、多态、结构、模块化
D、抽象、封装、模块、数据

8、首次提出“面向对象”概念的计算机科学家是()。
A、比尔.盖茨
B、艾伦.灵图
C、艾伦.凯
D、史蒂夫.乔布斯

9、在面向对象方法中,将逻辑上相关的数据及行为绑定在一起,使信息对使用者隐藏称为 ( )
A、抽象
B、继承
C、封装
D、多态

第2章 建模工具UML

第二章 单元测验

1、UML类图中类与类之间的关系有五种:依赖、关联、聚合、组合与继承。若类A需要使用标准数学函数类库中提供的功能,那么类A与标准类库提供的类之间存在() 关系。
A、依赖
B、关联
C、聚合
D、组合

2、在UML图中,如何区分 对象和类 ?()
A、对象的名称显示为斜体
B、类的名称写在一个方框中
C、对象的名称加了下划线
D、类的名称与对象的名称相同的

3、下面哪个术语描述了对象由其他对象组成?()
A、一般化
B、继承
C、关联
D、聚合

4、重新定义方法的功能在面向对象的编程中非常重要,以下哪一条不是原因?()
A、因为它可以给方法添加额外的工作
B、因为它可以引入抽象方法,再重新定义为具体的方法
C、因为它可以在子类中提供更准确或更快捷的定义
D、因为它可以禁用子类中的方法

5、如图所示,A、B和C是什么对象?
A、A是实体,B是控制者,C是边界
B、A是控制者,B是实体,C是边界
C、A是边界,B是控制者,C是实体
D、A是控制者,B是边界,C是实体

6、如图所示,Car和Engine间的关系最可能的实现方式是什么?
A、一个字段,其类型是Car,在Engine中。
B、一个类CarEngine,它有一个Car类型的字段和一个Engine类型的字段。
C、一个字段,其类型是Engine,在Car中。
D、一个字段,其类型是Engine,在Car中;一个字段,其类型是Car,在Engine中。

7、在UML中,哪个图用于显示在对象之间传送的消息?()
A、对象图
B、状态机图
C、顺序图
D、部署图

8、在图中,图1和图2说明了什么?
A、图1:聚合;图2:复合
B、图1:属性;图2:聚合
C、图1:聚合;图2:属性
D、图1:属性;图2:复合

9、术语“多态性”的含义是什么? ()
A、变量可以在不同的时候指向同一类族的不同对象
B、有相同签名的消息可以在不同的时候调用相同的方法
C、所有面向对象的编程语言都是不同的。
D、所有面向对象的方法都使用不同的表示法

第2章单元作业

1、一个小型网络水果超市,负责给用户网上订购苹果、芒果、桃子、荔枝。用户可以注册成为会员,预约、订购、查询、取消等常规动作。 请设计用例模型 1) 参与者(10) 2)用例图(10) 3)一个重要的用例进行描述(20) 4)整个作业的规范度(10)

2、画出类图 一家公司有许多部门,通过部门名唯一的确定一个部门,每个部门有一名经理主管,也有的经理不管理任何一个部门;每个部门生产多种产品,每种产品仅有一个部门生产。该公司有许多员工为之工作,员工又进一步划分为经理与工人两类。每名工人可以参加多个项目,每个项目需要多名工人;每位经理可以主持多个项目,每个项目仅有一人主持。 需要上传类图。

第3章 面向对象分析(一)

第3章 单元测试

1、以下方法中适用于寻找概念类的方法是 ( )。
A、寻找动词法
B、寻找动名词法
C、寻找形容词法
D、寻找名词法

2、要求计算机201803班的同学今天下午打扫卫生。这是属于( )类别的职责。
A、对象需要知道自己的一些数据
B、对象需要知道自己的一些状态
C、对象创建了一个新的实例
D、对象需要自己完成一些事情

3、采用面向对象方法开发软件的过程中,抽取和整理用户需求并建立问题域精确模型的过程叫( )。
A、面向对象测试
B、面向对象实现
C、面向对象设计
D、面向对象分析

4、面向对象分析与设计是面向对象软件开发过程中的两个重要阶段,下列活动中,_____ 不属于面向对象分析阶段。
A、构建分析模型
B、识别分析类
C、用例动态建模
D、评估分析模型

5、以下关于统一过程UP的叙述中,不正确的是 ( ) 。
A、UP是以用例和风险为驱动,以架构为中心,迭代并且增量的开发过程
B、UP定义了四个阶段,即起始、精化、构建和确认阶段
C、每次迭代都包含计划、分析、设计、构造、集成、测试以及内部和外部发布
D、每个迭代有五个核心工作流

6、面向对象分析的目的是为了获得对应用问题的理解,其主要活动不包括( )。
A、认定并组织对象
B、描述对象间的相互作用
C、面向对象程序设计
D、确定基于对象的操作

7、在面向对象设计中,用于描述目标软件与外部环境之间交互的类被称为边界类。它可以( )。
A、表示目标软件系统中具有持久意义的信息项及其操作
B、协调、控制其他类完成用例规定的功能或行为
C、实现目标软件系统与外部系统或外部设备之间的信息交流和互操作
D、分解任务并把子任务分派给适当的辅助类

8、以下( )不是面向对象分析与设计时的关键问题。
A、应该如何为对象类分配职责(responsibility)
B、某些针对设计问题的、经过反复验证的解决方案是如何设计出来的
C、什么样的类应该做什么样的事情
D、对象之间应该如何协作

9、面向对象分析设计领域,良好的对象设计是构建高质量软件系统的基本要求,如架构性的内聚、可重用性、以及( )等。
A、商业价值
B、可维护性
C、国家政策
D、企业资产

第3章 单元作业

1、根据以下需求描述,1)寻找概念类,并给出自己的理由;2) 画出领域模型图。 【需求描述】 需要开发一个“人民币的零钱交换机系统:接受5元、10元、20纸币,输出1元硬币”,请给出领域模型图,要有分析过程

第4章 面向对象分析 (二)

第4章单元测试

1、辨析一个概念类是属性还是类,一般可以参考以下准则 ( ),判定这个概念是属性。
A、它不做具体的事情,它不能改变状态
B、它能完成具体的事情,它不能改变状态
C、它不做具体的事情,它能改变状态
D、它做具体的事情,也能改变状态

2、在面向对象分析设计过程中,CRC是一种寻找概念类的方法。CRC是指( )。
A、Class Relation Clearly
B、Class Responsibility Collaboration
C、Cyclic Redundancy Check
D、Card Reduced Count

3、CRC分析过程的输入信息是 ( )。
A、面向对象程序源码
B、设计模型
C、用例模型
D、绘图工具

4、关于在适当的细节层面定义概念类,下面描述不正确的是 ( )。
A、当发现一个类非常复杂时,要考虑拆分成多个小一点的类
B、不能有太多的类
C、与所要解决的问题领域有关系
D、在实现时由程序员决定每个定义多少个方法

5、头脑风暴是执行CRC法寻找概念类的手段之一,其原则是 ( )。
A、不是所有的概念都可以提出来,没有依据的概念不应该提
B、不要批评其他人,所有的概念都可以提
C、由小组长指定下一位发言者
D、在整个会议期间一定要严肃,不苟言笑

6、面向对象分析师需要把多种不同的寻找概念类的方法融合,实际工作中不再区分用了何种方法。对或错?( )

7、需求文档中的一个名词,究竟作为一个类,还是一个类的属性,需要具体情况具体分析。对或错?()

8、在分析设计的早期,需要为每个概念类定义方法method,对或错?()

9、CRC 方法寻找概念类的过程是很正式的行为,得出的结论也是正规的,不需要再修改了。对或错?()

第4章单元作业

1、根据以下需求描述,以CRC的方法,给出寻找概念类及其关系。 【需求】一个小型的展览馆需要开发一套管理信息系统,以便展览馆的员工可以引导游客浏览展厅。当一群游客到达时,一名员工需要记录游客到达的日期、时间、游客数量。另外,若有导游空闲时,员工可以为这个游客团队分配一名导游,同时通知该导游接待游客团队。 在游览期间,导游需要记录所发生的意外事件,例如,有一名游客突然生病。每件意外事情都要跟该次浏览想关联,给出一个名称、事件描述、发生的时间,并把事件报告递交给展览馆的安全办公室。

第5章 领域模型

第5章单元测试

1、对象、类、继承和消息传递是面向对象的4个核心概念。其中对象是封装( )的整体。
A、命名空间
B、要完成任务
C、一组数据
D、数据和行为

2、面向对象( )选择合适的面向对象程序设计语言,将程序组织为相互协作的对象集合,每个对象表示某个类的实例,类通过继承等关系进行组织。
A、分析
B、设计
C、程序设计
D、测试

3、为何需要领域模型? 是因为( )
A、领域模型反映了系统的商业价值
B、领域模型影响操作契约、词汇表和设计模型,尤其是对软件对象
C、领域模型是用户理解业务系统的关键
D、领域模型是程序员编程的依据

4、以下( )是创建领域模型的主要目标之一。
A、作为公司核算软件系统利润的依据
B、作为项目进行绩效考核的依据
C、作为系统设计的依据
D、作为系统测试的依据

5、领域模型的主要组成部分,包括 概念类、概念类之间的关系、 以及( )。
A、概念类的属性
B、概念类的父类
C、概念类的职责
D、概念类的由来

6、如图所示,这不是一个合适的领域模型,主要理由是 ( )
A、这里面用到了组合关系
B、这里面定义了属性
C、这里面定义了方法
D、这里面有参与者

7、领域模型设计的时候,涉及到一个低表示差异的概念,这个“低表示差异”是指()。
A、领域模型的概念类属于底层的表示概念
B、概念类直接表达了用户的术语
C、概念类为寻找设计类提供了参考
D、领域模型与设计模型是一样的

8、在描述软件需求的时候,Vision是指( )。
A、待开发软件的可见性
B、待开发软件的可视化描述
C、待开发软件的前景描述
D、待开软件的虚拟化

9、领域模型与数据模型之间的关系,下列( )的描述比较贴切。
A、领域模型研究领域概念、实体、及其相互之间的关系
B、数据模型研究领域概念、实体、及其相互之间的关系
C、领域模型研究领域概念如何保存
D、数据模型与领域模型一样,都是研究领域概念

第5章单元作业

1、设计领域模型有哪些难点?有哪些指导原则?

第6章 从分析到设计

第6章单元测试

1、如果两个顾客在世界的不同地方,要购买音乐会的最后一张票,如何分配这张票?( )
A、引入一个额外的业务规则,把可用票的查询和临时预定合并起来
B、使顾客参与软件“竞争”,以买到票
C、不允许卖出最后一张票,因为这对其中的一位顾客是不公平的
D、由两个顾客自己商量决定

2、用例描述有三种详细程度,以下叙述中,( )不是有关用例描述的详细程度。
A、简短的 Brief
B、口头的 oral
C、正式的 fully
D、随意的 casual

3、以下关于断言(assertion)的叙述,不正确的是( )。
A、在类的代码中,加入一些断言,不是定义契约,仅仅是测试
B、断言仅仅是一些逻辑表达式
C、断言不影响程序的执行
D、断言可以被评估,或者忽略

4、关于程序正确性的定义: { P} A { Q} ,其中( )的叙述是不正确的。
A、P是前置条件
B、Q是运行结果
C、Q是后置条件
D、A是执行功能

5、若类A仅在其方法Method1中定义并使用了类B的一个对象,类A其他部分的代码都不涉及类B,那么类A与类B的关系应为( )。
A、关联
B、依赖
C、聚合
D、组合

6、判断一个用例是否是一个合适的用例,以下 ( )不是一个好的方法。
A、用例是否描述了应该做什么,而不是如何做
B、用例的描述是否采取了参与者的视点
C、用例的描述是否采取了设计者的视点
D、用例是否对参与者有价值

7、契约式设计(Design by Contract)的核心思想,不包括以下 ( )。
A、软件可靠性需要服务的提供方与客户方都有精确的规格说明
B、契约式设计DbC使用断言作为供/需双方之间的契约
C、类不变量是类实例都有一个自己的固定不变的值
D、断言包括前置条件、后置条件、不变量等

8、针对重要的系统事件定义操作契约,以下 ( )不是操作契约要求的内容。
A、操作契约的名称
B、系统操作的运行时间
C、系统操作的前置条件
D、系统操作的后置条件

9、需求与领域分析阶段的主要工作,不包括 ( )。
A、做正确的事情 “Do the right thing”
B、理解领域问题 Understand the domain
C、澄清并记录约束和需求 Clarify and record the constraints and requirements
D、正确地做事情 Do the thing rihght

第6章单元作业

1、调停课管理系统需求概述 某高校拟开发一款调课管理系统,在该系统中任课教师可以提出调课、停课、补课申请;然后由学院的教学管理人员对这些申请进行审核;审核通过后,系统将审核通过信息通过e-mail发送给任课老师;学期末,学院的教学管理人员可以对所有任课老师的调停课信息进行统计。 请按照自己的理解并合理假设一些情况,完成以下工作: 1、请仔细分析,设计出该系统的UseCase图(用例图) 2、 根据用例图,设计系统的实体类模型(类图) 3、请设计申请停课用例的时序图。

第7章 设计原则GRASP(一)

第7章单元测试

1、由谁(某个类)来负责创建另一个类的新实例(对象)?可以根据如下( )的GRASP原则来处理。
A、控制器
B、高内聚
C、创建者
D、设计师

2、通用职责分配软件原则GRASP,不包含以下( )所列的原则。
A、多态 polymorphism
B、控制器 Controller
C、间接性 Indirection
D、可靠性 Reliability

3、GRASP原则是面向对象设计中可以应用的原则,GoF设计模式是一些解决特定软件问题的最佳实践。这两者之间的关系是 ( )。
A、GRASP 是比 GOF设计模式更一般的原理
B、GOF设计模式是比GRASP更抽象的原理
C、GOF设计模式与GRASP是各种独立的两套原则
D、GOF设计模式与GRASP是同一层面的概念

4、如图所示的领域模型,由( )类来创建Square对象会比较合适。
A、MonopolyGame
B、Piece
C、Board
D、Player

5、在下列( )情况下,可以不考虑采用创建者模式。
A、设计师有自己的经验
B、程序员有自己的经验
C、需要使用GOF的工厂模式
D、需要使用控制器模式

6、在GRASP原则中,为一个对象分配职责的一般原则是( )。
A、多态
B、隔离变化
C、信息专家
D、高内聚

7、如何保证设计方案支持低的依赖性、低的变化影响度、增加可重用性?在GRASP原则中,( )原则可以支持。
A、创建者
B、低耦合
C、高内聚
D、信息专家

8、如图1、图2所示是创建Payment的两种不同的方案。根据GRASP原则,图2所示方案比较好。主要因为( )。 图1 图2
A、符合创建者模式
B、符合信息专家模式
C、符合低耦合
D、符合高内聚

9、GRASP原则之低耦合的精神,以下( )是正确的描述。
A、模块之间没有耦合时最佳
B、模块之间很强耦合使得系统的可靠性很强
C、模块之间保持适度的耦合时合适的
D、模块与开发框架如J2EE等,也不应该有很多的耦合

第7章单元作业

1、有一根300 厘米的细木杆,在第30 厘米、80 厘米、110 厘米、160 厘米、250厘米这五个位置上各有一只蚂蚁。木杆很细,不能同时通过两只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝相反方向走。假设蚂蚁们每秒钟可以走5 厘米的距离。 请编写一个程序,计算各种可能情形下所有蚂蚁都离开木杆的最小时间和最大时间。 1)给出概念模型、设计类图、系统交互图 2)在顺序图上 标识出 哪里运用了 控制器、创建者、信息专家? 3) 就这个问题,说明如何考虑了低耦合、高内聚

第8章 设计原则GRASP(二)

第8章单元作业

1、 请用伪代码对上图的设计方案,进行编码。并说明其中的开闭原则。

学习通UML面向对象分析和建模

UML(Unified Modeling Language)是一种用于面向对象分析和设计的标准化建模语言,是软件工程师必须掌握的一项技能。本文将介绍如何在学习通上学习UML面向对象分析和建模。

什么是面向对象分析和建模

面向对象分析和建模是一种软件开发的方法论,其核心思想是将现实世界中的事物抽象成对象,然后通过对象之间的交互来实现系统的功能。面向对象分析和建模的过程包括需求分析、领域建模、系统分析与设计等环节。

为什么要学习UML

UML是一种面向对象分析和设计的标准化建模语言,它可以帮助软件工程师更好地理解和描述系统的结构和行为。在软件开发过程中,UML可以用来描述需求、设计架构、编写代码和测试系统。因此,学习UML是软件工程师必须掌握的一项技能。

在学习通上学习UML

学习通是一种在线学习平台,可以通过它进行UML面向对象分析和建模的学习。以下是在学习通上学习UML的步骤:

  1. 搜索UML课程:在学习通网站上搜索UML课程,选择自己感兴趣的课程。
  2. 学习课程内容:学习课程内容,包括理论知识和实践操作。
  3. 完成作业和项目:课程中可能会布置作业和项目,完成它们可以帮助学生更好地掌握UML。
  4. 与其他学习者交流:学习通提供了社交功能,学生可以与其他学习者交流和讨论UML相关问题。
  5. 参加考试或评测:在学习通上参加考试或评测,检测自己掌握UML的程度。

UML的主要图形

UML有多种图形,主要包括用例图、类图、时序图、活动图、状态图等。以下是这些图形的简单介绍:

用例图

用例图是描述系统需求的图形,可以用来说明系统与外部世界之间的交互。用例图中包括参与者、用例和关系等元素。

类图

类图是描述系统结构的图形,可以用来说明系统中类之间的关系。类图中包括类、接口、关系等元素。

时序图

时序图是描述系统行为的图形,可以用来说明系统中对象之间的交互。时序图中包括对象、生命线、消息等元素。

活动图

活动图是描述系统流程的图形,可以用来说明系统中活动之间的关系。活动图中包括活动、决策、合并等元素。

状态图

状态图是描述系统状态的图形,可以用来说明系统中对象所处的状态。状态图中包括状态、转换、事件等元素。

UML的基本元素

UML中包括多种基本元素,以下是其中几种的简单介绍:

类是UML中的基本元素,用来描述系统中的对象。一个类包括属性和方法等信息。

对象

对象是类的实例,它包括类中定义的属性和方法。

关系

关系是描述类之间的连接关系,包括继承、实现、关联等多种类型。

接口

接口是一种定义类可以实现的方法和属性的方式,它提供了类与类之间的标准化连接。

包是一种将多个类组织在一起的方式,它可以帮助简化系统结构。

UML的应用场景

UML可以应用于多种软件开发场景,以下是几种常见的应用场景:

需求分析

在需求分析阶段,可以使用UML的用例图来描述系统需求。

系统设计

在系统设计阶段,可以使用UML的类图、时序图、活动图和状态图等来描述系统架构和行为。

编写代码

在编写代码阶段,可以使用UML的类图和时序图等来辅助编写程序。

测试系统

在测试系统阶段,可以使用UML的活动图来描述测试流程。

UML的优点和缺点

优点

  1. 可以帮助软件工程师更好地理解和描述系统的结构和行为。
  2. 可以提高软件开发效率和质量。
  3. 可以促进团队合作和交流。

缺点

  1. UML的学习成本较高。
  2. UML的应用范围有限,不能应用于所有软件开发场景。
  3. UML的图形较为复杂,不易理解。

结论

UML是一种用于面向对象分析和设计的标准化建模语言,是软件工程师必须掌握的一项技能。在学习UML时,可以通过学习通等在线学习平台进行学习。UML具有多种图形和基本元素,在不同的软件开发场景中可以应用于多个阶段。虽然UML具有一些缺点,但其优点远大于缺点。因此,学习UML是软件工程师必不可少的一项技能。