ソフトウェア設計 SWDN
指定された要件を満たすようにソフトウェアを設計および設計し、確立された標準と原則を確実に遵守します。
ガイダンスノート
アクティビティには次のものが含まれますが、これらに限定されません。
- ソフトウェアアプリケーション、コンポーネント、インターフェイス、および関連する特性(セキュリティを含む)の設計
- クラウドコンピューティング、分散システム、データ保護と連携したスケーラビリティ、パフォーマンス、レジリエンス、セキュリティ、プライバシーを最初から考慮した設計
- 設計コンセプト、パターン、モデリング技法、マイクロサービス、サーバーレス、ドメイン駆動設計などのアーキテクチャスタイルを適用して、ソフトウェアの構築と検証の基盤となるソフトウェア設計とアーキテクチャを開発します
- 設計上の決定を容易にするための代替ソリューションとトレードオフの評価
- ターゲット環境、パフォーマンス、セキュリティ、スケーラビリティ、既存システムとの統合など、機能要件と非機能要件の検討
- クラウドネイティブアーキテクチャ、エッジコンピューティング、サイバーフィジカルシステム、アジャイルで反復的な設計手法などの現代的な手法を含む、作業のコンテキストに基づいたソフトウェア設計モデル、ツール、および手法の採用と適応
- 情報に基づいた意思決定を可能にするプロトタイプ/シミュレーションの開発
コードレベルでのプログラミングや設計とは異なり、このスキルはアーキテクチャやシステム全体の考慮事項に対応した高レベルの設計に重点を置いています。
このスキルの責任レベルを理解する
下位レベルが定義されていない場合...
- 特定のタスクと責任は、スキルが意思決定において、これらのレベルで通常期待されるよりも高いレベルの自律性、影響力、および複雑さを必要とするため、定義されていません。エッセンス・ステートメントを使用して、これらのレベルに関連する一般的な責任を理解できます。
上位レベルが定義されていない場合...
- 責任と説明責任は、これらのより高いレベルには、この特定のスキルの範囲を超えた戦略的リーダーシップとより広範な組織的影響力が含まれるため、定義されていません。エッセンスステートメントを参照してください。
スキルを開発し、このスキルに関連する責任を示す
定義されたレベルは、スキルと責任の段階的な進歩を示します。
下位レベルが定義されていない場合...
次の方法で、知識を深め、この分野で責任を持つ他の人をサポートすることができます。
- このスキルに関連する重要な概念と原則、およびそれが自分の役割に与える影響を学ぶ
- 関連スキルの実行(関連するSFIAスキルを参照)
- より高いレベルのタスクや活動を行っている他の人を支援する
上位レベルが定義されていない場合...
- より高いレベルの組織のリーダーシップにより適した関連スキルを開発することで進歩することができます。
SFIAスキルが7つのレベルすべてで定義されていない理由については、クリックしてください。
追加の説明とレベルを表示/非表示にします。
このスキルに対する責任レベル
2 | 3 | 4 | 5 | 6 |
ソフトウェア設計: レベル 2
単純なソフトウェアアプリケーションまたはコンポーネントの詳細な設計を作成して文書化します。 合意されたモデリング手法、標準、パターン、およびツールを適用します。 大規模なソフトウェアシステムのコンポーネントの設計に貢献します。 自分の作業をレビューします。
ソフトウェア設計: レベル 3
適度に複雑なソフトウェアアプリケーションまたはコンポーネントの完全な設計を行います。 合意された標準、ガイドライン、パターン、およびツールを適用します。 大規模なソフトウェアシステムのコンポーネントの設計において、チームの一員として支援します。 ユーザーおよび/またはシステムインターフェイスを指定します。 さまざまなステークホルダの関心事項に対処し、機能要件と非機能要件を処理するために、複数の設計ビューを作成します。 オプションとトレードオフの評価を支援します。 必要に応じて、他の人との作業のレビューに協力します。
ソフトウェア設計: レベル 4
複雑なソフトウェアアプリケーション、コンポーネント、およびモジュールを設計および設計します。合意されたソフトウェア設計基準、ガイドライン、パターン、および方法論に沿った適切なモデリング手法を使用する。利害関係者の懸念に対処し、セキュリティを含む機能的要件と非機能的要件の両方を満たすために、複数の設計ビューを作成して伝達することができる。設計代替案とトレードオフを特定、評価、推奨することができる。利害関係者の承認を得て、効果的なソフトウェア構築を促進するために、提案されたソフトウェア動作をモデル化、シミュレーション、またはプロトタイプ化する。自社の設計を仕様と照らし合わせてレビュー、検証、強化し、他者の設計のレビューを主導する。
ソフトウェア設計: レベル 5
大規模または複雑なソフトウェアアプリケーション、コンポーネント、およびモジュールを指定および設計します。 ソフトウェアの設計方法、ツール、および技法を採用および適応します。 主要な設計オプションの影響分析を実施し、推奨事項を作成し、関連するリスクをアセスおよび管理します。 十分な情報に基づいて意思決定を可能にするプロトタイプ/シミュレーションを指定します。 ソフトウェア設計を評価して、標準への準拠を確認し、是正措置を特定します。 ソフトウェア設計が機能、品質、セキュリティ、およびシステム管理の要件のバランスをとることを保証します。 組織のソフトウェア設計およびアーキテクチャのポリシーと標準の開発に貢献します。
ソフトウェア設計: レベル 6
ソフトウェア設計とアーキテクチャの方法、ツール、および技術の選択と開発を主導します。組織全体のソフトウェア設計と開発の指針となるアーキテクチャの原則、パターン、フレームワークを定義、維持する。技術戦略とシステムアーキテクチャ (セキュリティを含む) の遵守を保証する。