要件エンジニアリングとは何ですか?
宇宙船などの大きなハードウェアまたはソフトウェアシステムには、複雑な要件があります。要件とは、構築するもの、システムの動作方法、またはシステムの構築プロセスの制約の仕様です。要件エンジニアリングとは、システムが構築される前に要件を理解するための優れたエンジニアリングプラクティスを使用することです。システムの利害関係者自体が自分のニーズについて明確ではなく、異なるニーズを持っているため、重要性を想定しています。
複雑なシステムには、システムを委託する人々、システムの1つ以上の側面を使用するユーザー、およびシステムの恩恵を受ける人々など、多くの利害関係者を持つことができます。また、利害関係者には、システムの特定の特性の影響を受ける一般のメンバーが含まれる可能性もあります。利害関係者には独自の特別なニーズがあります。一方、システムを開発する人は技術的に有能かもしれませんが、利害関係者の視点を完全に理解していない場合があります。要件エンジニアリングこれらの側面をつなぐ重要な機能です。
正式に、要件エンジニアリング活動は要件開発と要件管理に分けられます。要件開発は、誘発、分析、仕様、および検証で構成されています。要件管理は、要件プロセス全体の制御、特に要件の変更を処理することです。対照的に、一部の開業医は、要件分析として活動全体を呼び出すだけです。
利害関係者はしばしば自分のニーズを完全に指定せず、新しいシステムの意味を理解していないため、利害関係者からの要件の誘発が必要になります。 利害関係者は、現在の仕事への影響を恐れる可能性があるため、開かれないかもしれません。したがって、誘発は慎重であり、おそらく、共感と微妙な心理学が必要な長いプロセスです。その文化に注意する必要がありますさまざまな利害関係者と開発者の違いは橋渡しされています。
要件を引き出すためにいくつかの手法が使用されています。個々のインタビュー、グループミーティング、およびタスクで人々を観察することにより、要件を引き出すことができます。要件を生み出すことができる手法には、フォーカスグループ、優先順位付けされたリストの作成、プロトタイピング、および動作中の他のシステムとの比較が含まれます。引き出す必要の要件には、システムのビジネスニーズ、システムを使用するユーザーのビジネスプロセス、およびシステムの機能的機能が含まれます。さらに、応答時間、システムの可用性、使いやすさなどの非機能要件を引き出す必要があります。
要件の分析ステップは、元の高レベルの要件を満たす低レベルの要件を形成します。これには、要件の完全性を確認するための概念モデルとプロトタイプの作成が含まれます。異なる利害関係のニーズに対立します所有者は、要件の単なるリストからよりもモデルやプロトタイプで発見されることがよくあります。セキュリティ、柔軟性、保守性などの望ましいシステム特性を、アナリストによる要件に追加する必要があります。
要件は、すべての利害関係者を理解しやすくするために文書に指定されています。ソフトウェアフィールドでは、ドキュメントはSRSと呼ばれ、ソフトウェア要件の仕様を表します。要件は、主要な利害関係者によって検証されています。これは主にプレゼンテーションと仕様文書を介して行われますが、要件に対応するテストケースも使用されます。
要件エンジニアリングは、主に技術的なものではなく、コミュニケーション、アクティビティです。学際的なスキルが必要です。要件エンジニアリングは、利害関係者と開発者が紛争を解決し、目標に統合するのに役立ちます。これにより、堅牢なシステムが発生します。