column

post data

システムズエンジニアリングとは?~開発全体を牽引するキーパーソン

システムズエンジニアリングとは、大規模・複雑なシステムを実現するための「体系的な考え方」です。

システムズエンジニアは、コンピューターシステムだけではなく、電気、機械、制御、通信、ヒューマンマシンインターフェースなど幅広い分野を横断し、

モノゴトを「システムとして捉えデザイン」するキーパーソンだと言えるでしょう。

今回は、たびたび誤解されがちなシステムズエンジニアリングとはどのようなものなのか、説明していきましょう。

○システムズエンジニアリングとは?

  1. 「体系化された考え⽅」~⼤規模・複雑なシステムを実現する
  2. 「分析的な理解」~ライフサイクル、コンテキストなど
  3. 「アーキテクチャの設計」~機能設計(ふるまい)・物理設計(実現⼿段)
  4. 「戦略性を持って計画、実施」~ V&V(検証と妥当性確認)
  5. システムズエンジニアは「開発全体を牽引するキーパーソン」である

システムズエンジニアリングの特徴として、上記の通りまとめることができます。

それぞれの特徴を有しているのか、順番に解説していきましょう。

1.⼤規模・複雑なシステムを実現するための「体系化された考え⽅」

  • もともと⽶国の航空宇宙や防衛の分野における大規模・複雑システムの開発経験を踏まえて、共通する考え方を体系化された背景を持つ
  • 電気、機械、制御、通信、ヒューマンインターフェースなど複数の分野や専⾨性を統括、統合して、目的を達成するシステムを実現することが⽬的

システムズエンジニアリングは「体系化された考え⽅」です。具体的なやり方を示したHow-to集とは異なります。

日本語では「システム」とはITシステムを指すことが多く、IT開発における「SE」と呼ばれるソフトウェアやネットワークの全体構想や設計と理解されることがありますが、本来システムズエンジニアリングは技術分野を限定せずにあらゆるモノゴトをシステムとして捉え、デザインすることが特徴です。

電気、機械、通信、制御、ヒューマンマシンインターフェースなど、多くの専門分野や専門性をスコープとして、それらを統括・統合し、大規模・複雑なシステムの実現を成功させていきます。

2.ライフサイクル、コンテキストなどの「分析的な理解」

  • Requirement Definition、要求分析とも呼ばれる
  • ⽬的、背景を明確化し⾏われる

「システムの目的や背景を明確化する」ことから始め、ライフサイクルやコンテキストなどの複数の視点でシステムが何をどの様に果たす必要があるのかを分析的に理解することを「要求分析(Requirement Definition)」と呼びます。

特に時間的な制約が厳しい開発やプロジェクトにおいては、早々に「何を作るか、どう作るか」という議論になりがちです。

その結果残念なことに、大きな工数やリソースをすでに割いてしまった開発やプロジェクトの後半になって、本来何を目指すべきだったのか関係者間で齟齬が生じることがあります。こうした事態はシステムが大規模で複雑になる程起き易い傾向にあります。

このような事態を避け、システムの実現を成功させるためには、目的や背景の「分析的な理解」が求められます。

これは目的や背景を経験や直感に頼って「一生懸命考える」だけでは達成できません。系統的なアプローチを用いて、複数の視点から段階的に検討していくことが必要です。

例えば、時間軸で捉えた場合、ライフサイクル全体を適切にMECEに場合分けして(ステージに分けて)考えることで、システムがどの様な生涯を送るのかを系統的に俯瞰することができます。

また、意味軸や空間軸などで捉える場合には、ライフサイクルの場合分けごとにコンテキストを分析することで、場合分けごとの目的や狙い、システムが外部から受ける影響、あるいは外部に与える影響を系統的に把握することができます。

3.機能設計(ふるまい)・物理設計(実現⼿段)を含む「アーキテクチャの設計」

  • アーキテクチャを作り出す⾏為はアーキテクティングとも呼ばれる
  • 機能を要素に割り当て、要素間の関係性(インタフェース)を明確化すること

システムをデザインするために、「アーキテクチャの設計」が行われます。

「アーキテクチャの設計」とは、コンテキストとシステムの関係性およびシステムを構成している要素とその関係性を設計するもので、機能設計(ふるまい)や物理設計(実現⼿段)を含んでいます。

これはすなわち、目的を達成するために必要な機能の連鎖を検討し、それら機能を実現するための基本的な構成要素とその構造について考えるということです。

この際、機能を構成要素に「割り当てる」という考え方をします。これによって構成要素間の関係性(インタフェース)を導出していきます。

規模が小さく既知のシステムでは経験に頼って物理設計(実現⼿段)から考えることもできますが、大規模で複雑な新しいシステムの場合は機能と物理を分けて系統的に検討することによってより合理的なアーキテクチャ設計を実施する事ができます。

また、機能と物理を分けて考えることで、過去の物理設計結果にとらわれず、目的を達成するために柔軟な発想でのアーキテクチャの設計も可能になります。

4.V&V(検証と妥当性確認)についても「戦略性を持って計画、実施」

  • ⽬的を明確にし、それに伴うコンテキストを正確に理解し、アーキテクチャを十分に把握しているからこそ、戦略的なVerification & Validation(V&V、検証と妥当性の確認)、インテグレーションを計画できる

システムズエンジニアリングにおいては「Verification & Validation」と呼ばれる検証と妥当性の確認についても、戦略性を持って計画、実施していきます。

⽬的を明確にし、ライフサイクル全体を見渡してコンテキストを正確に理解し、アーキテクチャをデザインすることが出来ているからこそ、必要十分な検証と妥当性の確認を計画、実施する事ができます。

多くの場合、大規模なシステムの構成要素の動作や性能の検証を一つひとつ積み上げていくアプローチでは限られた時間の中でシステム全体の効果的な検証を行う事はできません。

アーキテクチャに基づきシステムの肝となる機能の連鎖やリスク制御などを見極め、構成要素の効率的な単位での検証と、部分や全体のインテグレーションでのみ可能になる検証を適切に計画することが必要になります。

通常開発においては過去の検証計画を再利用しながら効果的かつ効率的な検証を実施していきます。

しかし、新規のシステム開発の場合や新しい機能が加わったり外部とのインターフェースが更新されたりしたことでシステムのアーキテクチャが大きく変わった場合には、過去の検証計画の再利用や修正で十分に対応出来るかどうかの判断が非常に難しくなります。

この様な場合においてシステムズエンジニアは戦略的なV&V計画を立案することが求められます。

また、システムが「モノ」として正しく動くか、性能が出るかの確認がVerification(検証)であるとすると、システムが目的である「コト」を達成できるかを確認するのがValidation(妥当性の確認)であると言えます。

Validationを行うためには、実ユーザーや実環境(またはそれに等しい状況)を用意し、実時間(または相当)の元でシステムの総合的な試験などを行う事が必要になります。

場合によってはシステムが実際に用いられるシーンの前後の様子や、自社の責任区分ではない外部要素についても再現する必要があります。

当然ながらこうした確認を完全に果たそうとすると大きなコストや労力がかかることになりますので、対象システムや開発の成熟度に合わせて適切な程度を決める必要があります。

システムが実際に販売や実装され、使われ始めてから目的を十分に果たすことが出来ないという事実が判明し、大きな市場問題または業績不振となって開発現場に戻ってくることを防ぐ方策の1つであると考えると、適度なValidationにかけるコストや労力は妥当であるという見方ができると言えるでしょう。

特に近年多く見られるような、システムの目的が多角的かつ複雑で、外部要素との相互作用が大きく、新規要素の多いシステムの開発の場合には、開発の初期から少しずつでもValidationを行うことを画策し、開発の終盤にはシステム全体がインテグレーションされた状態でのValidationとその結果に基づく修正の時間や労力が必要になるということを開発計画に十分に盛り込んでおく必要があります。

5.システムズエンジニアは「開発全体を牽引するキーパーソン」

  • システムズエンジニアリングは複数の専⾨分野を統合的に扱うアプローチである
  • システムズエンジニアには、広く、汎⽤的な各種分野の知見・経験が求められる
  • システムズエンジニアには、多くのエンジニア、関係者とのコミュニケーションを効果的に⾏うソフトスキルも求められる

「システムとして捉えデザイン」することは、さまざまな複数の専⾨分野を統合的に扱うアプローチであると言えます。

これを実践するシステムズエンジニアは、システム開発全体を牽引するキーパーソンであり、広く汎⽤的な各種分野の知見や経験が求められます。

しかし大規模複雑なシステム開発や実現は、システムズエンジニア一人だけで完遂できるものではなく、多くのエンジニア、専門チーム、関係者の協力が必要です。

従ってシステムズエンジニアには多くのプロフェッショナルをまとめあげる人間力やコミュニケーション能力も大いに求められているのです。

目的に向かって複数の分野のバランスを取りながら、多くの専門家や専門部署を統括し、システムを確実に実現することが『システムズエンジニアリング』であると言えるでしょう。

アイキャッチ画像:Image by xresch from Pixabay
本文画像1:Photo by SpaceX on Unsplash
本文画像2:Image by RAEng_Publications from Pixabay

innovative DESIGN innovative DESIGNinnovative DESIGN innovative DESIGN

news