Home 2022 SA am2 -01-08
Post
Cancel

2022 SA am2 -01-08

引言

这专门试卷难度倒是还行,不过还是会有我学过的东西,相必经过一定的学习后我应该可以通过客观题,希望早点做完后看看下午题,这才是我合格的关键

说到这里,我觉得共通一我的做法很有问题,完全看不懂的情况进行做题完全没有意义,还是慢慢一题一题做比较好,之前我做完后在写文章解析的时候倒是想着快点完成,从而使得那一张试卷几乎相当于白做,毕竟只是刚开始一题一题做也没关系

碎碎念

最近突然觉得学习仿佛是一种连接,灵感来源于语言的学习就是一种将事物与语言的连接,而学习的东西是一种抽象的连接,针对于某种输入,产生某种输出,通过不断地重复加深这种链接。比较直观的就是知识点的关联,从某一点推出另一点,仿佛就是两个知识之间的连接,以见过或者自己推出这个连接后将这种连接加深,这就类似事物与语言词汇的连接,从而让人掌握了这个事物,或者说这种连接后,也就掌握了此知识。(当然只是随便一想而已,无相应证明。事实上我听到的多数观点或论据也可能是基于不大严谨的证明,自己的一段经历推出的。人基于自己的经历来形成自己的观点,没有见过的事物是无法想象的。不过有一个例外,可能就是梦吧,梦确实可能是自己到了某个世界游历,当然并不严谨,这还是最近我看到一个小说是进入某世界随机出现在那个世界的某处,然后经历一番后如有完成特殊条件可以保留那个世界的部分记忆有所收获,对于自己做的梦倒也是如此从而让我有了这个推断。但事后仔细回想后,倒是可能因为睡着后大脑可以专注于想象,此时想象力达到顶峰,从而完成自己醒着时候无法想象到的。比如 DNA 双螺旋结构的发现人也是从梦中得到的灵感)

1

アジャイル開発の初期段階において、プロジェクトの目的、スコープなどに対する共通認識を得るために、あらかじめ設定されている設問と課題について関係者が集まって確認し合い、その成果を共有する手法はどれか。

ア アジャイルモデリング

イ インセプションデッキ

ウ プランニングポーカ

エ ユーザストーリマッピング

题目翻译:在敏捷开发的初期阶段,为了在项目的目的、范围等方面达成共识,相关人员会聚集在一起确认预先设定的问题和课题,并共享成果。这种方法是哪一种

ア agile modeling

イ Inception Deck

ウ planning poker

エ user story mapping

Inception Deck 是一种重要的方法,尤其在项目的初始阶段使用,以确保团队对项目的目的和范围形成共识。团队会事先确定并探讨一些关键性的问题 (如项目的目标、潜在风险、成功标准等),这能够帮助所有团队成员对项目的整体方向和边界有清晰的理解并达成一致。因此,正确答案是 イ

2

ソフトウェアパターンのうち、GoFのデザインパターンの説明はどれか。

ア Javaのパターンとして、引数オブジェクト、オブジェクトの可変性などで構成される。

イ オブジェクト指向開発のためのパターンであって、生成、構造、振る舞いの三つのカテゴリに分類される。

ウ 構造、分散システム、対話型システム及び適合型システムの四つのカテゴリに分類される。

エ 抽象度が異なる要素を分割して階層化するためのLayers、コンポーネント分割のためのBrokerなどで構成される。

题目翻译:在软件模式中,GoF (Gang of Four) 设计模式的描述是哪一个

ア Java 模式,由参数对象和对象的可变性等构成。

イ 面向对象开发的模式,分为创建、结构和行为三类。

ウ 分为结构、分布式系统、交互式系统及适应性系统四类。

エ 为了将不同抽象层次的元素分离并层次化,包含 Layers、Broker 等。

GoF 的设计模式是由四位软件工程师提出的经典设计模式,专门用于面向对象编程。它将设计模式分为三大类:生成 (创建) 、结构、行为,用于解决常见的面向对象设计问题。因此,正确答案是 イ

我去搜了下相关介绍,貌似就是我之前写的设计模式的由来吧

3

Pattern-Oriented Software Architecture (POSA) のアーキテクチャパターンのうち、ソフトウェアをメタレベルとベースレベルの二つのレベルに分割し、ソフトウェアの構造と振る舞いとを動的に変更できる仕組みを提供しているものはどれか。

ア Broker

イ Microkernel

ウ Model-View-Controller

エ Reflection

题目翻译:在面向模式的软件架构 (POSA) 中的架构模式中,将软件分为元层和基础层两个层级,并提供一种能够动态改变软件结构和行为的机制的是哪一种

ア 代理

イ 微内核

ウ 模型-视图-控制器

エ 反射

Broker 模式是一种分布式系统架构模式,旨在将系统的不同组件(如客户端和服务器)解耦合,通过 Broker 进行通信。Broker 充当中介的角色,负责传递消息并管理远程服务的调用。

Microkernel 模式通常用于操作系统设计,将核心功能 (如内存管理、进程管理) 保留在微内核中,而将其他可选功能作为独立模块来实现,能够动态加载或卸载。

Model-View-Controller (MVC) 模式是一种常见的交互式系统架构模式,用于分离应用程序的业务逻辑 (Model) 、用户界面 (View) 和用户输入控制 (Controller) 。MVC 主要目的是解耦显示逻辑和业务逻辑,并没有提供动态改变软件结构和行为的机制。

Reflection 模式是一种将软件分为“元层”和“基础层”两层的架构模式,元层包含描述系统结构和行为的元数据,而基础层负责执行实际的业务逻辑。通过反射模式,软件可以动态修改其结构和行为,以适应不同的需求和场景。这种模式常用于需要高扩展性和灵活性的系统。因此,正确答案是 エ

4

組込みシステムでDBMSを用いるときには、通信のオーバヘッド、通信負荷の発生を防ぐこと、必要なメモリ容量をリソース制限内に抑えることなどを目的として、インプロセスデータベースを用いることがある。このインプロセスデータベースの説明として、適切なものはどれか。

ア クライアントサーバ形式のクライアントとなるアプリケーションプログラムとソケットを介して通信し、SQLを用いて処理を記述する。

イ データベースエンジンはライブラリ形式で提供され、アプリケーションプログラムとリンクされて同一メモリ空間で動作する。

ウ データベースの全体をメモリ上に配置して、データベース処理を高速化する。

エ 一つのテーブルを一つのファイルで管理し、アプリケーションプログラムからはファイル入出力のAPIで操作する。

题目翻译:在嵌入式系统中使用DBMS时,常常为了防止通信开销、通信负荷的产生,并将必要的内存容量控制在资源限制范围内,使用进程内数据库。关于这种进程内数据库的描述,正确的是哪一个

ア 通过套接字与作为客户端的应用程序进行通信,并使用 SQL 进行处理。

イ 数据库引擎以库的形式提供,与应用程序链接,在同一内存空间中运行。

ウ 将整个数据库加载到内存中,以加快数据库处理速度。

エ 将一个表管理为一个文件,并通过文件 I/O API 从应用程序进行操作。

进程内数据库 (インプロセスデータベース) 是指数据库引擎作为库文件与应用程序链接,共享同一内存空间。这种设计避免了客户端-服务器模式带来的通信开销和负载,适合资源受限的嵌入式系统。

ア 选项描述了客户端-服务器架构的数据库,通常通过网络套接字通信;ウ 选项描述了“内存数据库”,即将数据库全部加载至内存以提高性能;エ 选项描述了一种基于文件的数据库管理方法,通常用于文件数据库。因此,正确答案是 イ

5

デザインパターンのなかのストラテジパターンを用いて、帳票出力のクラス図のとおりに設計した。適切な説明はどれか。

ア クライアントは、使用したいフォーマットに対応する、帳票出力ストラテジクラスのサブクラスを意識せずに利用できる。

イ 新規フォーマット用のアルゴリズムの追加が容易である。

ウ 帳票出力ストラテジクラスの中で、どのフォーマットで帳票を出力するかの振り分けを行っている。

エ 帳票出力のアルゴリズムは、コンテキストクラスの中に記述する。

题目翻译:使用策略模式设计了账单输出的类图。下列哪项描述是正确的

ア 客户端可以在不关注具体策略子类的情况下使用相应的账单输出格式。

イ 可以轻松添加用于新格式的算法。

ウ 账单输出策略类负责选择使用哪种格式输出账单。

エ 账单输出的算法应写在上下文类中。

题目是使用策略模式实现了一个多格式账单的分发。策略模式的设计原则是将算法的实现和使用分离,使得可以在不修改客户端代码的情况下切换或增加不同的算法。同时我写过策略模式的文章来着: https://blog.yexca.net/archives/137

策略模式的设计使得新算法的增加非常方便,只需实现新的具体策略类并与现有结构集成即可。因此,正确答案是 イ

6

モジュール間のデータの受渡し方法のうち、最も低いモジュール結合度となるものはどれか。

ア 単一のデータ項目を大域的データで受け渡す。

イ 単一のデータ項目を引数で受け渡す。

ウ データ構造を大域的データで受け渡す。

エ データ構造を引数で受け渡す。

题目翻译:以下关于模块之间的数据传递方法,哪一种方式的模块耦合度最低

ア 使用全局数据传递单个数据项。

イ 使用参数传递单个数据项。

ウ 使用全局数据传递数据结构。

エ 使用参数传递数据结构。

这题就是讲程序的耦合度的,我也写过一个文章来着: https://blog.yexca.net/archives/145#%E8%80%A6%E5%90%88

传递单个数据值为数据耦合,传递数据结构为标记耦合,全局参数应该属于公共耦合,其中数据耦合的耦合度最低。因此,正确答案是 イ

7

既存システムを基に、新システムのモデル化を行う場合のDFD作成の手順として、適切なものはどれか。

ア 現物理モデル -> 現論理モデル -> 新物理モデル -> 新論理モデル

イ 現物理モデル -> 現論理モデル -> 新論理モデル -> 新物理モデル

ウ 現論理モデル -> 現物理モデル -> 新物理モデル -> 新論理モデル

エ 現論理モデル -> 現物理モデル -> 新論理モデル -> 新物理モデル

题目翻译:基于现有系统进行新系统建模时,创建数据流图(DFD)的步骤顺序应如何

ア 现物理模型 -> 现逻辑模型 -> 新物理模型 -> 新逻辑模型

イ 现物理模型 -> 现逻辑模型 -> 新逻辑模型 -> 新物理模型

ウ 现逻辑模型 -> 现物理模型 -> 新物理模型 -> 新逻辑模型

エ 现逻辑模型 -> 现物理模型 -> 新逻辑模型 -> 新物理模型

这题盲猜选 イ。一般创造数据流图需要从现有系统的具体实现抽象出业务需求,然后再基于现有业务需求改进出逻辑模型,最后实现新的逻辑需求

8

ある購買システムの開発において、開発者が行った探索的テストの例として、適切なものはどれか。

ア 過去に購買システムを開発した経験に基づいて、入力項目間の関連チェックの不備を検出できそうなデータパターンを推測し、テストケースを事前に作成してテストした。

イ 数量の範囲に応じて適用する商品価格が正しいかどうかを確認するために、各範囲の数量の中央の値を用いたテストケースを作成してテストした。

ウ 組織変更の前後で組織名が正しく印刷されるかどうかを確認するために、新組織の有効開始日とその前日とを発注日とするテストケースを事前に作成してテストした。

エ 入力値の組合せが無効なときは伝票を作成しないことを確認するために、幾つかの代表的な入力値の組合せをテストし、その結果に基づいて次のテストケースを作成してテストしを繰り返した。

题目翻译:在一个采购系统的开发中,作为开发者进行的探索性测试的合适例子是哪一个

ア 根据过去开发采购系统的经验,推测出可能检测到输入项之间关系不完善的测试数据模式,预先创建测试用例并进行了测试。

イ 为了确认根据数量范围应用的商品价格是否正确,使用每个范围中间值的测试用例并进行了测试。

ウ 为了确认组织变更前后的组织名称是否正确打印,预先创建了使用新组织有效开始日和前一日作为下单日的测试用例并进行了测试。

エ 为了确认当输入值组合无效时不生成单据,测试了几个具有代表性的输入值组合,并根据结果反复创建新的测试用例进行测试。

探索性测试是一种在测试过程中动态设计和执行测试的方式,不依赖事先确定的测试用例,而是基于对系统的理解和观察结果实时调整测试方案。探索性测试的特点在于测试用例并非完全预设,而是根据测试结果不断调整和补充。

ア、イ、ウ 选项中测试用例都是事先创建好的,符合传统的事前设计测试,不符合探索性测试的特点。所以正确答案是 エ

This post is licensed under CC BY 4.0 by the author.

2022 SA am1 -16-30

2022 SA am2 -09-15