システムアーキテクチャ設計・ソフトウェアプロダクトラインにおける高度なスキル

现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。
Now everything is for the future of dream weaving wings, let the dream fly in reality.

クリックしてシリーズ記事ディレクトリに入ります

ここに画像の説明を挿入します

1. 製品ラインの概要

ソフトウェア製品ラインは主に、コア リソース製品コレクションの2 つの部分で構成されます。

コア リソースはドメイン エンジニアリングのすべての結果の集合であり、製品ラインの製品構築の基礎となります。コア リソースには、製品ライン内のすべての製品で共有される製品ライン アーキテクチャと、新たに設計および開発されるか、既存のシステムのリエンジニアリングを通じて取得され、製品ライン全体で体系的に再利用する必要があるソフトウェア コンポーネントが含まれている必要があります。テスト計画、テスト ケース、およびソフトウェア コンポーネント、要件仕様、ドメイン モデル、ドメイン スコープ定義、COTS を使用するコンポーネントに関連するすべての設計文書も、コア リソースです。

製品ラインのアーキテクチャアーティファクトは、ソフトウェア製品ラインの製品を構築するために使用される最も重要なコア リソースです。

ソフトウェア製品ラインの開発には、プロセス主導、ドメイン固有、技術サポート、アーキテクチャ中心という4つの基本的な技術特性があります

他のソフトウェア開発手法と比較して、組織がソフトウェア製品ラインを選択するマクロレベルの理由は次のとおりです。

  • 製品ラインとその実装に必要な専門知識の領域の明確な定義。
  • 製品ラインについて戦略的に計画された長期ビジョン。
    ここに画像の説明を挿入します

2. 製品ラインのプロセスモデル

ソフトウェア製品ラインのプロセス モデルには、主にデュアル ライフ サイクル モデル、SEI モデル、および 3 つのライフ サイクル モデルが含まれます。

2.1 デュアルライフサイクルモデル

デュアル ライフ サイクル モデルは、ドメイン エンジニアリングとアプリケーション エンジニアリングという2 つの重複するライフ サイクルに分割されます

ドメイン エンジニアリングでは DSSA を使用し、その主なタスクにはドメイン分析、ドメイン設計、ドメイン実装が含まれます。

ここに画像の説明を挿入します

ドメインエンジニアリングの主なタスク:

  • ドメイン分析では、既存システムの設計、アーキテクチャ、要件を使用してドメイン モデルを確立します。
  • ドメイン設計: ドメイン モデルを使用してドメイン/製品ラインの共通性と変動性を判断し、製品ラインのアーキテクチャを設計します。
  • ドメインの実装、ドメイン アーキテクチャに基づいたドメインの再利用可能なリソース (コンポーネント、ドキュメント、コード ジェネレーター) の開発。
  • アプリケーションエンジニアリング分野:要件分析、システム設計、システム実装。

アプリケーション エンジニアリングは、ドメイン エンジニアリングの結果に基づいて新しい製品を構築します。

  • 要求分析、一般的なニーズと現場固有のニーズを分けて、システム仕様を取得します。
  • システム設計はドメイン アーキテクチャに基づいており、システム固有の要件を組み合わせてアプリケーションのソフトウェア アーキテクチャを設計します。
  • システム実装 は、アプリケーション アーキテクチャに従って、ドメインの再利用可能なリソースを使用してドメインの公共のニーズを実現し、カスタム開発されたコンポーネントを使用してシステム固有のニーズを満たすとともに、新しいシステムを構築します。

2.2 3 つのライフサイクル モデル

3 ライフサイクル モデルでは、複数の製品ラインを持つ大企業向けのエンタープライズ エンジニアリング プロセスが追加され、企業全体のすべてのリソースの作成、設計、再利用のための合理的な計画が提供されます。
ここに画像の説明を挿入します

2.3 SEI模型

SEI モデルの基本的な活動は、コア リソース開発 (つまり、ドメイン エンジニアリング)、製品開発 (つまり、アプリケーション エンジニアリング)、および管理の 3 つの部分に分かれています。
ここに画像の説明を挿入します

SEIモデルの主な特徴:

  • 反復サイクルは、製品開発プロセス、コア リソースの開発、製品ラインの開発、コア リソースと製品間のコラボレーションを特徴づけます。
  • コアリソースの開発と製品開発の間に優先順位はありません。
  • 管理活動は、製品ライン開発プロセス全体にわたるさまざまな活動を調整し、製品ラインの成功または失敗に責任を負います。
  • コアリソース開発と製品開発は 2 つの対話型プロセスであり、3 つの活動と製品ライン全体の開発の間には双方向の相互作用もあります。

中核的なリソース開発活動の目標は、製品ラインの生産能力を構築することです。製品の制約、フレームワーク、生産の制約、生産戦略、およびインプット側のレガシー資産リストに基づいて、中核となる資産開発アクティビティは 3 つのアウトプットを生成します。

  • 製品ラインの範囲: 製品ラインの範囲は、製品ラインを構成する製品、または製品ラインに含めることができる製品の説明です。この説明では、すべての製品の共通点とそれらの相違点がリストされます。これには、製品が提供する機能や操作も含まれます。製品、製品によって実証されるパフォーマンスおよびその他の製品特性。
  • コア資産: 製品ラインにおける製品生産の基礎となります。これらの資産には、製品によって共有されるアーキテクチャと、製品ライン全体で体系的に再利用するために開発された製品コンポーネントが含まれます。アセット ライブラリに組み込まれるコンポーネント インターフェイス仕様を提供します。
  • 生産計画: コア資産から製品を生産する方法を説明します。

3. 製品ラインの組織構造

ソフトウェア製品ラインの開発プロセスはドメインエンジニアリングとアプリケーションエンジニアリングに分かれており、それに対応するソフトウェア開発組織構造も、コアリソースを担当するグループと製品を担当するグループの2つの基本構成要素を持つ必要があります。これは、製品ライン開発と独立したシステム開発の主な違いでもあります。

組織モデル:開発部門、事業部門、ドメインエンジニアリング部門、階層型ドメインエンジニアリング部門。

動的な組織構造: 製品ラインの確立方法、開発段階、成熟度に応じて、ある組織構造は別の組織構造に進化します。

組織構造のタイプ:

  • 独立したコアリソースグループを確立する
  • 独立したコアリソースグループは確立されません
  • ダイナミックな組織構造

製品ラインの実装が成功するかどうかは、主に次の要因によって決まります。

  • 現場で長く深い経験を持つ
  • 製品を構築するための優れたコアリソースライブラリ
  • 優れた製品ラインアーキテクチャ
  • 適切な管理(ソフトウェアリソース、人材組織、プロセス)サポート

4. 製品ラインの確立方法

分類の根拠: 進化的かつ革新的な方法を使用して、既存の製品に基づいて製品ライン開発プロセスを導入するか、新しい製品ラインを開発します。

4 つの方法の基本的な特徴は次のとおりです。

  • 既存製品を製品ラインに進化させる
  • 既存の製品セットをソフトウェア製品ラインに置き換える
  • 新しいソフトウェア製品の進化
  • 新しいソフトウェア製品ラインの開発
進化的な方法 革命的な方法
既存製品をベースに 既存の製品アーキテクチャに基づいて製品ラインのアーキテクチャを設計し、既存のコンポーネントを進化させ、製品ラインのコンポーネントを開発します コア リソースは、既存の製品セットのニーズと、予測可能な将来のニーズのスーパーセットに基づいて開発されます。
新しい製品ライン 製品ラインの中核となるリソースは、新しい製品メンバーのニーズに応じて進化します 予想されるすべての製品ラインメンバーのニーズを満たすコアリソースを開発する

おすすめ

転載: blog.csdn.net/weixin_30197685/article/details/132785463