第10章エンタープライズアーキテクチャーとソリューションアーキテクチャーの管理
10.3 Solution Architecture Management10.3 ソリューションアーキテクチャの管理
• Solution architecture management is managing, designing, and describing the solution engineering in relation to specific business problems.
• ソリューションアーキテクチャの管理とは、具体的な業務上の問題に関して、解決策を開発する技術的な作業を管理・設計・記述することである。
• The software process can be defined as a collection of patterns that define a set of activities, actions, and tasks required to develop computer software.
• ソフトウェアプロセスは、コンピューターソフトウェアを開発するために必要な活動・行動・タスクの集合を定義する、パターンの集まりとして定義できる。
• Software engineering process patterns establish collaborative communication between customers and software engineers to guarantee a successful completion of task patterns within the project requirements and the project scope.
英語のヒント
• ソフトウェア工学のプロセスパターンは、顧客とソフトウェア技術者の間に協調的な意思疎通を成立させ、プロジェクトの要件と範囲の中でタスクパターンを確実に完遂できるようにする。
• Subsystems are sets of collaborating components performing a given task included in software systems and it is considered a separate entity within a software architecture.
• サブシステムは、ソフトウェアシステムに含まれる特定のタスクを実行する、協働するコンポーネントの集合であり、ソフトウェアアーキテクチャ内で独立した実体とみなされる。
• At a programming language level, components may be represented as modules, classes, objects, or as a set of related functions.
• プログラミング言語のレベルでは、コンポーネントはモジュール・クラス・オブジェクト、または関連する関数の集合として表現できる。
• The requirements model describes the problem set, establishes the context, and identifies the system of forces that hold sway.
英語のヒント
• 要求モデルは、対象となる問題群を記述し、状況を定め、そこで支配的に働く制約や要請の体系を特定する。
• Design patterns are a representation of the previous test solutions in relation to specific problems, which are useful for solving future problems.
• デザインパターンは、特定の問題に対して過去に試された解決策を表現したものであり、将来の問題の解決に役立つ。
• An architectural style corresponds to a coordinated role and allows relationships among the elements within any architecture that conforms to that style.
英語のヒント
• アーキテクチャスタイルは、調整された役割に対応し、そのスタイルに従う任意のアーキテクチャ内の要素間に関係を持たせることができる。
• The framework is an implementation-specific skeletal subsystem for design work.
英語のヒント
• フレームワークは、設計作業のための、実装に固有の骨組みとなるサブシステムである。
• A software stack is a collection of independent components or subsystems such as operating system, protocols, databases, architectural layers, and function calls that work together to support the execution of an application.
• ソフトウェアスタックは、アプリケーションの実行を支えるために連携する、独立したコンポーネントまたはサブシステムの集合である。オペレーティングシステム、プロトコル、データベース、アーキテクチャの層、関数呼び出しなどが含まれる。
• As architectural models get transitioned into implementation architectures, it becomes necessary to specify how architectural and design patterns are realized practically within the solution.
英語のヒント
• アーキテクチャモデルを実装アーキテクチャへ移すときには、アーキテクチャパターンとデザインパターンを、解決策の中で実際にどのように実現するかを明示する必要がある。
Review Questions復習問題
Exercises 1–5練習問題 1–5
1. You are writing a class that has been identified as a key object of the system; therefore, only one can exist in the system. What type of design pattern should you take to design the class? a. singleton pattern b. builder pattern c. abstract factory method pattern d. proxy pattern
1. システムの重要なオブジェクトに指定され、したがってシステム内に1つしか存在できないクラスを作成している。このクラスの設計には、どの種類のデザインパターンを採用すべきか。a. シングルトンパターン
b. ビルダーパターン
c. 抽象ファクトリーメソッドパターン
d. プロキシパターン
2. What do you use for documenting a recurring problem and providing a reusable template in the form of a problem-solution pair within a given context? a. patterns management b. pattern hierarchy c. pattern d. pattern catalog
英語のヒント
2. 繰り返し生じる問題を記録し、特定の状況における問題と解決策の組という形で再利用できるテンプレートを用意するには、何を使うか。a. パターン管理
b. パターン階層
c. パターン
d. パターンカタログ
3. What is the term for abstract patterns located at the top of the pattern hierarchy that capture a set of characteristics and features that make a structure identifiable? a. architectural patterns b. architectural style c. architecture continuum d. enterprise architecture
3. パターン階層の最上位にあり、構造を識別可能にする一連の特性や特徴を捉えた抽象的なパターンを、何というか。a. アーキテクチャパターン
b. アーキテクチャスタイル
c. アーキテクチャ連続体
d. エンタープライズアーキテクチャ
4. What is the difference between architectural pattern and architectural style?
4. アーキテクチャパターンとアーキテクチャスタイルは、どのように異なるか。
5. What is the difference between analysis and design models and implementation patterns?
5. 分析モデルおよび設計モデルと、実装パターンは、どのように異なるか。
Exercises 6–10練習問題 6–10
6. Why are pattern catalogs needed?
6. なぜパターンカタログが必要なのか。
7. What is the current state of patterns management today and are there exhaustive sources of patterns that can be easily consulted? Why or why not?
英語のヒント
7. 現在のパターン管理はどのような状況にあり、容易に参照できる網羅的なパターンの情報源は存在するか。存在する、または存在しない理由を述べなさい。
8. Is TOGAF primarily concerned with enterprise architecture/detailed application architecture? Explain your answer.
8. TOGAFが主に扱うのは、エンタープライズアーキテクチャか、それとも詳細なアプリケーションアーキテクチャか。解答を説明しなさい。
9. In what TOGAF ADM phase is business architecture gap analysis done? a. Phase A b. Phase B c. Phase C d. Phase D
9. TOGAF ADMのどのフェーズで、業務アーキテクチャのギャップ分析を行うか。a. フェーズA
b. フェーズB
c. フェーズC
d. フェーズD
10. How are business and technical architecture assets cataloged within enterprises?
10. 企業内では、業務アーキテクチャと技術アーキテクチャの資産を、どのようにカタログ化するか。
Exercises 11–15練習問題 11–15
11. What is a blueprinting template?
11. 設計図作成のテンプレートとは何か。
12. What is a key benefit of microservices? a. fewer lines of code to be written than in a large monolithic application b. increased agility and improved scalability c. more available design patterns d. specifically align with TOGAF
12. マイクロサービスの主な利点は何か。a. 大規模なモノリシックアプリケーションより、記述するコードの行数が少ない
b. 俊敏性が増し、スケーラビリティが向上する
c. 利用できるデザインパターンが多い
d. 特にTOGAFに整合する
13. What software engineering process follows a linear process flow? a. Waterfall model b. Agile development model c. Scrum d. DevOps
13. 直線的なプロセスの流れに従うソフトウェア工学のプロセスはどれか。a. ウォーターフォールモデル
b. アジャイル開発モデル
c. スクラム
d. DevOps
14. What is an example of a software stack? a. scripting language, object-oriented language, database b. client Android tablet, Windows server c. microservice 1, microservice 2, API gateway d. Windows, Java, Apache Server, Mongo DB, Java Script, React
14. ソフトウェアスタックの例はどれか。a. スクリプト言語、オブジェクト指向言語、データベース
b. クライアントのAndroidタブレット、Windowsサーバー
c. マイクロサービス1、マイクロサービス2、APIゲートウェイ
d. Windows、Java、Apache Server、Mongo DB、Java Script、React
15. What term is defined as a model that describes the problem set, establishes the context, and identifies the system of forces that hold sway, such as design quality attributes? a. architecture model b. requirements model c. business model d. operating model
15. 対象となる問題群を記述し、状況を定め、設計の品質属性など、そこで支配的に働く制約や要請の体系を特定するモデルは、何と呼ばれるか。a. アーキテクチャモデル
b. 要求モデル
c. ビジネスモデル
d. 運営モデル
Exercises 16–17練習問題 16–17
16. What is a solutions architect manager responsible for? a. determining user and system requirements b. writing test cases for verification and validation of user and system requirements c. planning out project schedules, providing cost estimates, and generating invoices d. building teams, establishing relationships, setting strategy, and measuring and delivering results
英語のヒント
16. ソリューションアーキテクトの管理者は、何に責任を持つか。a. 利用者要件とシステム要件の決定
b. 利用者要件とシステム要件の検証と妥当性確認のためのテストケースの作成
c. プロジェクトの日程計画、費用の見積もり、請求書の作成
d. チームの編成、関係の構築、戦略の策定、成果の測定と実現
17. Which two choices should the main drivers of determining what a technology stack should be? a. developer’s experience and knowledge of technologies b. user capability requirements and system requirements c. technologies the organization has already purchased and those it has integrated d. implementation patterns and idioms
17. 技術スタックの構成を決める主な要因とすべきものは、次の選択肢のうちどの2つか。a. 開発者の経験と技術の知識
b. 利用者が求める機能の要件とシステム要件
c. 組織がすでに購入した技術と、すでに統合した技術
d. 実装パターンとイディオム