【吉林大学计算机学院《软件工程》章节测验】十、面向对象建模基础

一.单选题(共10题,50.0分)

【单选题】在使用用例进行需求建模时,可以将常规动作放在一个用例中,将非常规动作放在另一个用例中,那么这两个用例之间的关系是( )。
A、关联关系
B、扩展关系
C、包含关系
D、泛化关系
答案:B

【单选题】在使用用例描述一个图书租售系统的需求时,以下( )不能作为参与者。
A、张三
B、顾客
C、信用卡支付系统
D、图书管理员
答案:A

【单选题】UML的设计视图包含了类、接口和协作。其中,设计视图的静态方面由类图和对象图表现,而动态方面由交互图、(  )表现。
A、类图和顺序图
B、对象图和状态图
C、状态图和活动图
D、状态图和类图
答案:C

【单选题】UML中关联的多重度是指(  )。
A、一个类的实例能够与另一个类的多少个实例相链接
B、一个类的某个方法被另一个类调用的次数
C、一个类中被另一个类调用的方法的个数
D、两个类所具有的相同的方法和属性
答案:A

【单选题】以下关于分析类的叙述中,错误的是( )。
A、按照职责可以将分析类划分为:实体类、边界类和控制类。
B、“分析类”相当粗略,并且不要往其中添加技术细节。
C、边界类描述系统外部环境与内部运作之间的交互,为此要确定系统对用户的响应或消息,并要对界面的可视方面建模。
D、“分析类”是概念层的内容,从它们可捕获系统对象模型的雏形。
答案:C

【单选题】UML中的4种基本关系包括( )。
A、包含关系、扩展关系、泛化关系、关联关系
B、继承关系、多态关系、重载关系、关联关系
C、关联关系、依赖关系、泛化关系、实现关系
D、调用关系、泛化关系、实现关系、重载关系
答案:C

【单选题】当一个对象具有特征( )时,应该将其建模为属性,而不是类。
A、除了非常简单的取/赋值操作(set,get等),不具备更多其他行为。
B、有可能被多类对象共享或传递。
C、具有比较复杂的自身行为。
D、具有独立标识。
答案:A

【单选题】在一个“订单输入子系统”中,创建新订单和更新订单都必须核查用户帐号是否正确。那么,用例“创建新订单”、“更新订单”与用例“核查用户帐号”之间是( )关系。
A、泛化关系
B、等价关系
C、扩展关系
D、包含关系
答案:D

【单选题】在进行面向对象分析的过程中可以把“分析类”划分成几类,其中用( )描述系统必须存储的信息以及与这些信息直接相关的操作。
A、实体类
B、控制类
C、边界类
D、参与类
答案:A

【单选题】在UML中,(  )用于描述系统与外部系统及用户之间的交互。
A、类图
B、用例图
C、对象图
D、协作图
答案:B


二.判断题(共10题,50.0分)

【判断题】在UML用例图中,参与者之间可以有泛化关系,表示子参与者的实例可以与其父参与者对应的用例实例进行交互。
答案:√

【判断题】用例是捕获需求的好方法,对于功能性需求和非功能性需求都可以准确获取和刻画。
答案:×

【判断题】聚合关系(aggregation)是一种特殊的组合关系(composition),聚合关系具有很强的归属性,而且整体与部分的对象生存周期是必须一致的。
答案:×

【判断题】部署图是描述一个系统运行时的硬件节点、在这些节点上运行的软件构件将在何处物理运行以及它们将如何彼此通信的动态视图。
答案:×

【判断题】在面向对象分析与设计中,控制类是应用领域中的核心类,一般是系统内对象和系统外参与者的联系媒介;边界类用于保存系统中的信息以及提供针对这些信息的相关处理行为;实体类主要是协调上述两种类或对象之间的交互。
答案:×

【判断题】一个类与其自身不可以存在关联关系,两个不同的类之间也不可以存在多条同向的关联。
答案:×

【判断题】在面向对象分析中仅仅关注把概念组织成分析类之间的泛化关系,而不能用复用的形式来解释。
答案:√

【判断题】现拟要求开发一个企业信息管理系统,要求与原来已有的一商品库存系统相连接。在用用例图刻画该目标系统功能时,商品库存系统应该表示成为一个用例。
答案:×

【判断题】从用例图中的每一对参与者和用例,可以确定一个边界类,从每一个用例可以确定一个(或多个)控制类。
答案:√

【判断题】状态图详细说明了由事件序列引起的状态序列。在面向对象分析中要针对每个类创建状态图,以刻画每一个类的动态行为特性。
答案:×

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 优点和特点? 面向对象和结构化程序设计都是软件工程常用的编程范式,它们有以下优点和特点: 1. 面向对象编程具有封装、继承和多态等特性,能够更好地实现代码的重用和扩展性,提高代码的可维护性和可读性。 2. 结构化程序设计强调模块化和层次化的程序设计,能够更好地控制程序的复杂度,提高代码的可靠性和可测试性。 3. 面向对象和结构化程序设计都能够提高程序的可重用性和可维护性,减少代码的冗余和错误,提高程序的效率和性能。 4. 面向对象和结构化程序设计都能够更好地实现软件工程的基本原则,如模块化、抽象化、信息隐藏、接口规范等,提高软件的质量和可靠性。 总之,面向对象和结构化程序设计都是软件工程重要的编程范式,它们的优点和特点都能够更好地实现软件工程的基本原则,提高软件的质量和可靠性。 ### 回答2: 面向对象编程(Object-Oriented Programming,简称OOP)和结构化程序设计(Structured Programming)是软件工程领域常用的两种编程范式。 面向对象编程是一种以对象为心的编程方法。它的核心思想是将系统看作一组相互交互的对象,每个对象都有自己的属性和方法。相比于其他编程方法,面向对象编程具有以下特点: 1. 封装性:面向对象编程将对象的数据和操作封装在一起,通过对外提供接口来实现数据的访问和操作。这种封装性使得代码更加模块化和可复用。 2. 继承性:面向对象编程支持继承机制,即一个可以继承另一个的属性和方法。通过继承,可以实现代码的复用和扩展。 3. 多态性:面向对象编程支持多态机制,即同一种操作可以有不同的实现方式。这种多态性提高了代码的灵活性和可扩展性。 相比于面向对象编程,结构化程序设计是一种基于自顶向下的设计方法。它的核心思想是将程序的逻辑分解为一系列的模块,并通过顺序、选择和循环等结构来组织模块之间的执行流程。相比于面向对象编程,结构化程序设计具有以下特点: 1. 模块化:结构化程序设计将程序分解为多个相互独立的模块,每个模块具有明确的功能和输入输出。这种模块化使得程序更易于理解、测试和维护。 2. 自顶向下设计:结构化程序设计采用自顶向下的设计方法,即先定义高层次的程序框架,再逐步细化到具体的模块实现。这种设计方法使得程序的设计过程更加有条理和可控。 3. 顺序、选择和循环结构:结构化程序设计使用顺序、选择和循环等结构来组织程序的执行流程。这种结构化的执行流程使得程序更加逻辑清晰和易于调试。 总而言之,面向对象编程和结构化程序设计是软件工程两种重要的编程范式。面向对象编程强调对象的封装、继承和多态,提高了代码的模块化、复用和扩展性;而结构化程序设计则通过模块化和结构化的执行流程,使得程序更易于理解、测试和维护。 ### 回答3: 面向对象和结构化程序设计都是软件工程基础方法。 面向对象是一种以对象为基础进行软件设计和开发的方法。它将系统看作是一组相互协作的对象,每个对象都有自己的属性和行为,并且能够通过消息传递进行交互。面向对象的设计思想强调了模块化、封装、继承和多态等概念,使得系统具有可维护、扩展性强、可重用性高等特点。面向对象的设计方法能够更好地反映现实世界的问题和关系,使得软件开发更加灵活和易于理解。 结构化程序设计是一种在软件开发过程采用自上而下的分解和模块化方法的设计思想。它强调程序结构的合理设计,将复杂的问题分解较小的部分,并使用层次化和模块化的方式进行组织。结构化程序设计的目标是使得程序结构清晰、易于理解和修改,以提高软件的可维护性和可读性。结构化程序设计通常采用顺序、选择和循环等基本控制结构,使得程序逻辑更加清晰和可控。 在软件工程面向对象和结构化程序设计相互补充和互相影响。面向对象方法能够提供更好的抽象和封装能力,使得软件设计更加灵活和易于扩展。结构化程序设计则能够提供更好的程序组织能力,使得软件结构更加清晰和易于维护。综合运用这两种方法,能够在软件开发过程保持既有的灵活性又不失结构性,提高软件的可维护性和可扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值