第10章エンタープライズアーキテクチャーとソリューションアーキテクチャーの管理
10.3 Solution Architecture Management10.3 ソリューションアーキテクチャの管理
Learning Objectives学習目標
By the end of this section, you will be able to:
この節を終えると、次のことができるようになる。
• Identify software engineering process patterns
• ソフトウェア工学のプロセスパターンを特定する
• Describe the progression from software models to software implementation
• ソフトウェアモデルから実装へと進む流れを説明する
The process of managing, designing, and describing the solution engineering in relation to specific business problems is called solution architecture management. A solutions architect manager is responsible for building teams, establishing relationships, setting strategy, and measuring and delivering results for any problem or opportunity the enterprise may face.
英語のヒント
特定の事業上の問題に対して、仕組みを作る工学的な取り組みを管理、設計、記述するプロセスを、ソリューションアーキテクチャ管理という。ソリューションアーキテクトのマネージャーは、企業が直面しうるあらゆる問題や機会について、チームを作り、関係を築き、戦略を定め、結果を測定して提供する責任を持つ。
INDUSTRY SPOTLIGHT産業界に注目
Solution Architecture Managementソリューションアーキテクチャの管理
Solution architecture management is important in every industry today. It plays an especially crucial role in the health-care industry. Solution architecture is used to maintain electronic health records and ensure patient data privacy and security. As health-care systems become more complex and data becomes more sensitive, solution architecture can be used to engineer secure, scalable, and efficient systems. These frameworks allow providers to access reliable information while maintaining compliance with data regulations.
英語のヒント
現在、ソリューションアーキテクチャ管理は、あらゆる産業で重要であり、とりわけ医療で極めて重要な役割を果たす。電子診療記録を維持し、患者データのプライバシーとセキュリティを確保するために使われる。医療システムが複雑になり、データの機密性が高まるにつれて、安全で拡張可能かつ効率的なシステムを設計・構築するために使える。こうした枠組みによって、医療提供者はデータ規制を守りながら、信頼できる情報にアクセスできる。
Software Engineering Process Patternsソフトウェア工学のプロセスパターン
As we learned in Chapter 9 Software Engineering, 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 is a detailed study of engineering to design, develop, and maintain software. Software engineering process patterns establish collaborative communication between customers and software engineers to guarantee the successful completion of task patterns within the project requirements and the project scope.
英語のヒント
第9章「ソフトウェア工学」で学んだように、ソフトウェアプロセスは、コンピューターソフトウェアの開発に必要な活動、アクション、タスクの集合を定める、パターンの集まりとして定義できる。ソフトウェア工学は、設計、開発、保守のための工学を詳しく研究する分野である。ソフトウェア工学のプロセスパターンは、顧客とエンジニアの協調的な意思疎通を確立し、プロジェクトの要求と範囲の中で、タスクパターンを確実に完了できるようにする。
As you may recall, various processes and related process patterns were discussed in Chapter 9 Software Engineering to explain how software solutions may be developed by refining an architecture model into a fully coded ready-to-deploy solution.
英語のヒント
第9章「ソフトウェア工学」では、アーキテクチャモデルを詳細化して、コードがすべて書かれ、すぐに配備できる仕組みにする方法を説明するために、さまざまなプロセスと、それに関わるプロセスパターンを扱ったことを思い出そう。
TECHNOLOGY IN EVERYDAY LIFE日常生活の中の技術
Architecture Management in Real Life実生活でのアーキテクチャ管理
Solution architecture management may not directly impact individuals in their everyday lives, but it indirectly influences their experiences through the development and management of various technological solutions. It ensures that systems like banking apps, online shopping platforms, and smart home devices function efficiently by managing how the different components of technology work together. When well-implemented, it improves the reliability and performance of these tools, making daily tasks more seamless.
英語のヒント
ソリューションアーキテクチャ管理は、人々の日常生活に直接は影響しないかもしれない。しかし、さまざまな技術的な仕組みの開発と管理を通じて、体験に間接的な影響を与える。技術の異なる構成要素がどう連携するかを管理し、銀行アプリ、オンラインショッピング、スマートホーム機器などが効率的に機能するようにする。適切に実施されれば、こうしたツールの信頼性と性能が高まり、日々の作業をより円滑に進められる。
LINK TO LEARNING学習へのリンク
To learn more about enterprise architecture and how it is used in modern business and tech, explore the websites of industry publications like CIO Magazine for current insights and trends (https://openstax.org/r/ 76EntArch) in technology management.
英語のヒント
エンタープライズアーキテクチャと、現代の事業や技術での利用についてさらに学ぶには、CIO Magazineのような業界誌のWebサイトを調べ、技術管理に関する最新の知見と動向(https://openstax.org/r/76EntArch)を読んでみよう。
From Software Models to Software Implementationソフトウェアモデルから実装へ
Recall that a subsystem is a set of collaborating components that perform a given task included in software systems; it is considered a separate entity within a software architecture. A component is an encapsulated part of a software system, which has an interface and serves as a building block for the structure of a subsystem. Subsystems interact with other subsystems and components to perform their designated tasks. At a programming language level, components may be represented as modules, classes, objects, or as a set of related functions.
英語のヒント
サブシステムは、ソフトウェアシステム内の所定のタスクを実行する、協力する部品の集合であり、アーキテクチャの中で独立した存在と見なされることを思い出そう。部品は、インターフェースを持ち、サブシステムの構造の構成要素となる、カプセル化されたソフトウェアシステムの一部である。サブシステムは、ほかのサブシステムや部品とやり取りし、割り当てられたタスクを実行する。プログラミング言語の水準では、部品をモジュール、クラス、オブジェクト、または関連する関数の集合として表せる。
When designing architectures for software systems, software designers typically start with a requirements model (either explicit or implied) that presents an abstract representation of the system. The requirements model is a model that describes the problem set, establishes the context, and identifies the system of forces that hold sway, such as design quality attributes. The method of hiding background details (i.e., unnecessary implementation) about the data so that users only see the required information is called abstract representation.
英語のヒント
ソフトウェアシステムのアーキテクチャを設計するとき、設計者は通常、システムの抽象的な表現を示す、明示的または暗黙の要求モデルから始める。要求モデルは、問題の集合を記述し、状況を定め、設計の品質特性など、その状況で支配的に働く要因の体系を特定するモデルである。データの背後の詳細、すなわち不要な実装情報を隠し、ユーザーには必要な情報だけが見えるようにする方法を、抽象的表現という。
In a traditional architecture design approach that does not leverage patterns, software designers gather the “big picture” from the requirements model and proceed with defining external entities such as other systems, devices, and people. The software system interacts with the external entities and defines the nature of the interaction. Software designers then need to identify a set of architectural archetypes and specify the structure of the system by defining and refining software components that implement each archetype. An archetype is an abstraction (similar to a class) that represents one element of system behavior.
英語のヒント
パターンを活用しない従来のアーキテクチャ設計の手法では、設計者は要求モデルから「全体像」を把握し、ほかのシステム、機器、人などの外部実体を定義する。ソフトウェアシステムは、これらの外部実体とやり取りし、そのやり取りの性質を定める。次に設計者は、一連のアーキテクチャの原型を特定し、各原型を実装するソフトウェア部品を定義・詳細化して、システムの構造を指定する必要がある。原型とは、システムの振る舞いの一要素を表す、クラスに似た抽象化である。