ソフトウェア要件

システムのソフトウェア要件[1]は、システムが実行すべきこと、システムが提供するサービス、およびその動作に対する制約を記述したものです。ソフトウェア エンジニアリング用語の IEEE 標準用語集では、要件を次のように定義しています。[2]

  1. ユーザーが問題を解決したり、目的を達成したりするために必要な条件や能力
  2. 契約、標準、仕様、またはその他の正式に課された文書を満たすために、システムまたはシステムコンポーネントが満たさなければならない、または所有しなければならない条件または機能。
  3. 1 または 2 のような条件または機能の文書化された表現

ソフトウェア要件の処理に関連するアクティビティは、抽出、分析、仕様、および管理に大別できます。[3]

ソフトウェア要件という用語は、特定のソフトウェアを構築/インストール/使用するためにどの依存ソフトウェア パッケージが必要であるかを説明するために、ソフトウェアリリースノートでも追加で使用されていることに注意してください。[1]

誘導

引き出しとは、利害関係者やその他の情報源から要件を収集および発見することです。共同アプリケーション設計(JAD) セッション、インタビュー、文書分析、フォーカス グループなど、さまざまな手法を使用できます。抽出は要件開発の最初のステップです。

分析

分析は、引き出しから始まる論理的な分解です。分析には、各要件をより深く正確に理解し、複数の補完的な方法で一連の要件を表現することが含まれます。

要件のトリアージまたは要件の優先順位付けは、分析に続くもう 1 つのアクティビティです。[4]これは、プランニング ポーカーなどの計画段階でのアジャイル ソフトウェア開発に関連していますが、プロジェクトのコンテキストや性質、要件、ビルドされる製品/サービスによっては同じではない可能性があります。

仕様

仕様には、効果的なコミュニケーションと変更管理を容易にする、収集された要件の知識を永続的かつよく組織された方法で表現および保存することが含まれます。ユースケース、ユーザーストーリー、機能要件、視覚分析モデルは、要件仕様の一般的な選択肢です。

検証

検証には、プロジェクトのビジネス目標を満たすソリューションを構築するために、正しい一連の要件が指定されていることを確認する手法が含まれます。

管理

要件はプロジェクト中に変化し、多くの場合、要件は変化します。この変更の管理は、関係者向けに適切なソフトウェアが確実に構築されるようにするために最も重要になります。

要件エンジニアリングのためのツールのサポート

要件の抽出、分析、検証のためのツール

これらのアクティビティには、観察レポート(ユーザー 観察)、アンケート(インタビュー、調査、投票)、ユースケースユーザー ストーリーなどの成果物が含まれる可能性があることを考慮します要件ワークショップ( charrettes )、ブレーンストーミングマインド マッピングロールプレイングなどのアクティビティ。さらにはプロトタイピングも可能です。[5]これらの機能の一部またはすべてを提供するソフトウェア製品を使用して、これらのタスクを達成できます。

FreeMindなどのマインド マッピング ツールを明確に提唱している著者が少なくとも 1 人いますあるいは、Concordionなどのサンプル ツールによる仕様の使用。[6] さらに、これらの活動から得られたアイデアや発言は、WikiTrelloなどの他のコラボレーション ツールを使用して収集および整理される場合があります。実際に実装されている機能や規格への準拠は製品ごとに異なります。

要件仕様のためのツール

ソフトウェア要件仕様(SRS) 文書は、ワード プロセッサなどの汎用ソフトウェアまたはいくつかの特殊なツールの 1 つを使用して作成される場合があります。これらのツールの中には、SRS ドキュメントをインポート、編集、エクスポート、公開できるものがあります。ISO/IEC/IEEE 29148:2018 などの標準化された構造と方法論に従って SRS ドキュメントを作成すると役立つ場合があります。同様に、ソフトウェアは要件 ( ReqIFなど) をインポートまたはエクスポートするために何らかの標準を使用することも使用しないことも、これらの交換をまったく許可しないこともあります。

要件文書検証用ツール

この種のツールは、予想される構造または標準に従って要件文書にエラーがあるかどうかを検証します。

要件比較のためのツール

この種のツールは、予想されるドキュメント構造と標準に従って 2 つの要件セットを比較します。

要件のマージと更新のためのツール

この種のツールを使用すると、要件ドキュメントのマージと更新が可能になります。

要件トレーサビリティのためのツール

この種のツールを使用すると、モデルやソース コードなどの他の成果物まで要件を追跡したり (前方トレーサビリティ)、ビジネス ルールや制約などの前のものまで要件を追跡したり (後方トレーサビリティ) できます。

モデルベースのソフトウェアまたはシステム要件エンジニアリング用のツール

モデルベース システム エンジニアリング (MBSE) は、概念設計フェーズから始まり、開発およびその後のライフサイクル フェーズ全体にわたって継続する、システム要件、設計、分析、検証、検証活動をサポートするためのモデリングの形式化されたアプリケーションです。要件エンジニアリングの一部の段階ではモデルベースのアプローチを採用し、他の段階ではより伝統的なアプローチを採用することも可能です。非常に多くの組み合わせが可能です。

形式性と複雑さのレベルは、関係する基礎となる方法論によって異なります (たとえば、i* はSysMLよりも形式的でありUMLよりもさらに形式的です)。

一般的な要件エンジニアリングのためのツール

このカテゴリのツールは、前述の機能と、要件構成管理やコラボレーションなどの他の機能を組み合わせて提供する場合があります。実際に実装されている機能や規格への準拠は製品ごとに異なります。

他のステージやアクティビティをサポートする、さらに高機能または一般的なツールがあります。これらはALMツールとして分類されます

こちらも参照

参考文献

  1. ^ ab "Linux カーネル リリース 5.x — Linux カーネルのドキュメント". www.kernel.org 2021年3月25日閲覧
  2. ^ IEEE コンピュータ協会 (1990)。「ソフトウェアエンジニアリング用語のIEEE標準用語集」。IEEE 規格2018-06-15 のオリジナルからアーカイブ2013 年 1 月 11 日に取得
  3. ^ 「ソフトウェア エンジニアリング知識体系ガイド」。IEEE コンピュータ協会。2014 年 12 月 7 日のオリジナルからアーカイブ2013 年1 月 11 日に取得
  4. ^ デイビス、アラン・マーク。(2005)。要件管理だけで十分: ソフトウェア開発とマーケティングが融合します。ニューヨーク:ドーセットハウスパブ。ISBN 0-932633-64-1OCLC  57211148。
  5. ^ 「より良いソフトウェア要件を収集するための 7 つのツール」. 2015 年 7 月 22 日。
  6. ^ ラプランテ、フィリップ A. (2009)。「ソフトウェアとシステムの要求エンジニアリング」。CRCプレス。 {{cite web}}:欠落しているか空です|url=(ヘルプ)

参考文献

「https://en.wikipedia.org/w/index.php?title=ソフトウェア要件&oldid=1192667004」から取得