《软件方法》强化自测题-分析(7)

2024-01-11 00:52

本文主要是介绍《软件方法》强化自测题-分析(7),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

DDD领域驱动设计批评文集

做强化自测题获得“软件方法建模师”称号

《软件方法》各章合集

按照业务建模、需求、分析、设计工作流考察,答案不直接给出,可访问自测链接或扫二维码自测,做到全对才能知道答案。

知识点见《软件方法》(http://www.umlchina.com/url/softmeth.html)、

“软件需求设计方法学全程实例剖析”幻灯片(http://www.umlchina.com/training/slide.html)以及UMLChina公众号文章。

自测链接:https://www.101test.com/cand/index?paperId=E2RL7N


1. [单选]

一名精读《软件方法》的建模人员,在使用类图整理素材中的领域知识。他阅读到文字“缺货的商品”,此时最合理的整理是:

 A) 

 

图片

 B) 

图片

 C) 

图片

 D) 

图片

2. [多选]

你是一名精读《软件方法》的建模人员,在使用类图整理素材中的领域知识。

这天,你在整理一张类似下面的出库单: 

图片

你按照《软件方法》中的建模指南,把领域知识分成了无冗余的、通过关系连接起来的很多个类。

这时,有同事看到后反应激烈,唧唧歪歪“会影响性能”、“我们之前不是这样做的”等等。

针对这种情况,以下符合《软件方法》推荐的应对有:

 A) 甩给他另外一个素材,让他像你这样做一个无冗余的模型看看。如果他做得出来,可以和他认真研讨,如果他做不出来,就让他闭嘴。

 B) 虚怀若谷,兼容并包,考虑他的意见,折衷修改。

 C) 意识到这位可能是一个脓包,平时多留心收集资料,为必要时亮剑做准备。

 D) 引用鲁迅的“从来如此,便对么?”来反驳他。

3. [单选]

很久以来,我们会对很多东西赋予惟一的编号,而且这些编号后面隐藏着领域知识。例如,房间号“405”暗示这可能是4楼第5个房间,人员身份证号“1100************”暗示这可能是一个北京人。

这样编号的目的是:

 A) 方便计算机记忆和检索

 B) 方便人类记忆和检索

 C) 方便计算机解析隐藏的领域知识

 D) 方便在关系数据库中作为主键使用

4. [单选]

我们观察用中文来命名模型元素的类模型或关系数据库模型,可能会发现有很多名字最后有“单”、“记录”、“信息”、“事件”、“历史”等后缀,例如“采购单”、“支付记录”、“出库信息”——当然,这是不好的。

如果观察用英文来命名模型元素的类模型或关系数据库模型,会发现这样的情况相对较少,原因是:

 A) 汉语更精炼,加上这些后缀使得含义更加丰富,不同的后缀有微妙的不同。

 B) 汉语没有单复数。

 C) 面向对象建模或关系数据库建模起源于英语国家,所以从业人员整体素质更高。

 D) 英语的动词转化为名词时往往会有变化。

5. [多选]

下图是“Domain-Driven Design: Tackling Complexity in the Heart of Software”中的一张类图,请问类的名称中没有带来有价值的额外信息可以删掉的文字有: 

图片

 A) History

 B) Movement

 C) Event

 D) Specification

6. [单选]

下图源自某本软件开发书籍,用EA原样复刻。

抛开其他方面的问题不谈,只谈类名和属性名。

如果在不修改类个数的情况下,删除冗余属性、类名和属性名中的冗余内容,大概有多少比例的内容可以删除?计算方法:(被删除的类名和属性名字数/图中原有的类名和属性名字数)×100%,2个英文字符算一个字。

图片

 A) 36%

 B) 46%

 C) 56%

 D) 66%

7. [单选]

建模人员小帅在研究物流领域的素材时,为了更好理解领域知识,他画了一张UML类图来整理各种领域概念,如仓库、库存、出库、入库、配送、配送员、地址等。

小帅还想用序列图来整理素材,帮助理解领域知识。以下说法正确的是:

 A) 用序列图来整理素材会带来帮助,但序列图上生命线对应的类大概率不是之前所画类图上的类。

 B) 用序列图来整理素材会带来帮助,但序列图上应该保持纯领域内容,不能出现任何与计算机、网络相关的概念,之前所画类图上的类如果涉及到这些内容,尽量不要在序列图中使用。

 C) 序列图是很多年前的方法,已经过时了,可以使用革命性创新和划时代洞见的领域驱动设计连续流程业务领域用户需求架构分析风暴敏捷画布。

 D) 更合适的图是活动图,因为序列图是面向对象的思想,而此时并没有对象。

8. [多选]

很多革命性划时代领域驱动设计创新有投资少、见效快、产量高等特点。

以下选项的图形中,有一些也向领域驱动设计学习,它们是:

 A)  

图片

 B)  

图片

 C)  

图片

 D)  

图片

9. [单选]

近日有专家称“养娃难,可求助亲戚”。如果这位专家按照他自己这句话的味道来做类建模,最有可能会发生什么情况? 

图片

 A) 泛化和关联不分

 B) 类和角色不分

 C) 属性和状态不分

 D) 聚合和组合不分

10. [单选]

下图源自某本软件开发书籍,用EA原样复刻。

 

图片

近日有专家称“养娃难,可求助亲戚”。

 

图片

抛开其他方面的问题不谈,类图中哪个类和专家这句话的韵味相似?

 A) 商品信息

 B) 子订单信息

 C) 支付流水

 D) 收货人

UMLChina公众号精选(20240108更新)

这篇关于《软件方法》强化自测题-分析(7)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/592630

相关文章

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Java中Map.Entry()含义及方法使用代码

《Java中Map.Entry()含义及方法使用代码》:本文主要介绍Java中Map.Entry()含义及方法使用的相关资料,Map.Entry是Java中Map的静态内部接口,用于表示键值对,其... 目录前言 Map.Entry作用核心方法常见使用场景1. 遍历 Map 的所有键值对2. 直接修改 Ma

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Mybatis Plus Join使用方法示例详解

《MybatisPlusJoin使用方法示例详解》:本文主要介绍MybatisPlusJoin使用方法示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录1、pom文件2、yaml配置文件3、分页插件4、示例代码:5、测试代码6、和PageHelper结合6

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

Java中实现线程的创建和启动的方法

《Java中实现线程的创建和启动的方法》在Java中,实现线程的创建和启动是两个不同但紧密相关的概念,理解为什么要启动线程(调用start()方法)而非直接调用run()方法,是掌握多线程编程的关键,... 目录1. 线程的生命周期2. start() vs run() 的本质区别3. 为什么必须通过 st

C#之List集合去重复对象的实现方法

《C#之List集合去重复对象的实现方法》:本文主要介绍C#之List集合去重复对象的实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C# List集合去重复对象方法1、测试数据2、测试数据3、知识点补充总结C# List集合去重复对象方法1、测试数据