要件エンジニアリングとは

宇宙船などの大きなハードウェアまたはソフトウェアシステムには、複雑な要件があります。 要件は、何を構築する必要があるか、システムがどのように動作するか、またはシステム構築プロセスの制約の仕様です。 要件エンジニアリングとは、優れたエンジニアリング手法を使用して、システムを構築する前に要件を理解することです。 システムの利害関係者自身がニーズを明確に把握しておらず、ニーズが異なるため、重要性を帯びています。

複雑なシステムには、システムを委託する人、システムの1つ以上の側面を使用するユーザー、システムから利益を得る人など、多くの利害関係者がいる可能性があります。 また、利害関係者には、システムの特定の特性の影響を受ける一般のメンバーが含まれることもあります。 利害関係者には独自の特別なニーズがあります。 一方、システムを開発する人々は技術的には能力があるかもしれませんが、利害関係者の視点を完全に理解していないかもしれません。 要件エンジニアリングは、これらの側面をつなぐ重要な機能です。

正式には、要件エンジニアリング活動は、要件開発と要件管理に分けられます。 要件の開発は、誘発、分析、仕様、および検証で構成されます。 要件管理は、要件プロセス全体の制御であり、特に要件の変更を処理します。 対照的に、一部の開業医は、アクティビティ全体を要件分析と呼んでいます。

多くの場合、利害関係者は自分のニーズを完全に特定せず、新しいシステムの意味を理解していないため、利害関係者からの要件の抽出が必要になります。 利害関係者は、現在の仕事への影響を恐れる可能性があるため、開かないかもしれません。 したがって、誘発は慎重であり、おそらく共感と微妙な心理学が必要な長いプロセスです。 開発者だけでなく、さまざまな利害関係者の間の文化的な違いが橋渡しされることに注意する必要があります。

要件を引き出すためにいくつかの手法が使用されます。 要件は、個々のインタビュー、グループ会議、およびタスクでの人々の観察を通じて導き出すことができます。 要件をもたらすことができる技術には、フォーカスグループ、優先リストの作成、プロトタイピング、および稼働中の他のシステムとの比較が含まれます。 引き出すための要件には、システムのビジネスニーズ、システムを使用するユーザーのビジネスプロセス、およびシステムの機能的特徴が含まれます。 さらに、応答時間、システムの可用性、使いやすさなどの非機能要件を引き出す必要があります。

要件エンジニアリングの分析ステップは、元の高レベル要件を満たす低レベル要件を形成します。 これには、要件の完全性を確認するための概念モデルとプロトタイプの作成が含まれます。 さまざまな利害関係者のニーズの対立は、単なる要件のリストからではなく、モデルやプロトタイプによって発見されることが多くあります。 アナリストは、セキュリティ、柔軟性、保守性などの望ましいシステム特性を要件に追加する必要があります。

要件は、すべての利害関係者の理解を容易にするために文書で指定されています。 ソフトウェア分野では、このドキュメントはSRSと呼ばれ、Software Requirements Specificationの略です。 要件は主要な利害関係者によって検証されます。 これは、主にプレゼンテーションと仕様書を介して行われますが、要件に対応するテストケースを使用することもあります。

要件エンジニアリングは、技術的なものではなく、主にコミュニケーションとアクティビティです。 学際的なスキルが必要です。 要件エンジニアリングは、利害関係者と開発者が競合を解決し、それらを目標に統合するのに役立ちます。 これにより、堅牢なシステムが実現します。

他の言語

この記事は参考になりましたか? フィードバックをお寄せいただきありがとうございます フィードバックをお寄せいただきありがとうございます

どのように我々は助けることができます? どのように我々は助けることができます?