Skip to main content
QUICK REVIEW

[論文レビュー] Pre-Requirement Specification Traceability: Bridging the Complexity Gap through Capabilities

Ramya Ravichandar, James D. Arthur|ArXiv.org|Mar 2, 2007
Software Engineering Techniques and Practices参考文献 26被引用数 15
ひとこと要約

本稿では、非形式的なユーザー要件(問題空間)と形式的なシステム要件(解決空間)の間の複雑さのギャップを埋める手法として、Capabilties Engineeringを提案する。この手法では、移行空間に位置する高結合性・低結合性の機能的抽象化(Capabilties)を導入し、要件へのトレーサビリティを自動的かつ低コストで実現する。これにより、大規模システムにおけるトレーサビリティ、変更耐性、保守性が向上する。

ABSTRACT

Pre-Requirement Specification traceability is the activity of capturing relations between requirements and their sources, in particular user needs. Requirements are formal technical specifications in the solution space; needs are natural language expressions codifying user expectations in the problem space. Current traceability techniques are challenged by the complexity gap that results from the disparity between the spaces, and thereby, often neglect traceability to and from requirements. We identify the existence of an intermediary region -- the transition space -- which structures the progression from needs to requirements. More specifically, our approach to developing change-tolerant systems, termed Capabilities Engineering, identifies highly cohesive, minimally coupled, optimized functional abstractions called Capabilities in the transition space. These Capabilities link the problem and solution spaces through directives (entities derived from user needs). Directives connect the problem and transition spaces; Capabilities link the transition and solution spaces. Furthermore, the process of Capabilities Engineering addresses specific traceability challenges. It supports the evolution of traces, provides semantic and structural information about dependencies, incorporates human factors, generates traceability relations with negligible overhead, and thereby, fosters pre-Requirement Specification traceability.

研究の動機と目的

  • システム成功において極めて重要であるにもかかわらず、しばしば軽視される前段階要件仕様(pre-RS)トレーサビリティの重要な課題に取り組む。
  • 非構造的なユーザー要件(問題空間)と形式的な要件(解決空間)の間の複雑さのギャップを克服し、効果的なトレーサビリティを妨げる要因を解消する。
  • 要件への移行過程において、ドメイン情報と意味的関係を保持する体系的なアプローチを開発する。
  • トレーサビリティを開発プロセスの第一の関心事として統合し、人的負荷を低減するとともに保守性を向上させる。
  • 初期段階からアーキテクチャ的抽象化にトレーサビリティを埋め込むことで、スケーラブルで変更に強いシステムを実現する。

提案手法

  • 問題空間(ユーザー要件)と解決空間(要件)の間の仲介領域として「移行空間」を導入し、そこでのCapabiltiesの定式化を実施する。
  • ユーザー要件から導出される「ディレクティブ」を定義し、ドメインの意味論を移行空間に持ち込む。
  • 移行空間に位置する高結合性・低結合性の機能的抽象化(Capabilties)を定式化し、ディレクティブとシステム要件を結びつける。
  • 関数的分解(FD)グラフを用いて、ディレクティブとCapabilties間の関係をモデル化し、トレーサビリティリンクをグラフの辺として表現する。
  • トレーサビリティリンクをCapabiltiesとディレクティブの構造に組み込むことで、開発プロセスにトレーサビリティを埋め込み、人的作業を最小限に抑える。
  • Capabiltiesのアーキテクチャ的特性(高結合性・低結合性)を活用し、変更の影響を局所化し、スケーラブルで保守性の高いシステムを実現する。

実験結果

リサーチクエスチョン

  • RQ1非形式的なユーザー要件と形式的な要件の間の複雑さのギャップを、信頼性の高い前段階要件仕様トレーサビリティを可能にする形で効果的に埋めることは可能か?
  • RQ2問題空間から解決空間への移行過程で意味的・構造的関係を保持するための、どのようなアーキテクチャ的抽象化が仲介者として機能できるか?
  • RQ3大規模ソフトウェア開発において、体系的かつ低コストでスケーラブルなトレーサビリティを実現する方法は何か?
  • RQ4Capabilties Engineeringは、システムの進化過程において変更耐性をどのように向上させ、トレーサビリティをどのように支援するか?
  • RQ5人的または計算的負荷を著しく増加させることなく、トレーサビリティを開発プロセスに自然に埋め込むことは可能か?

主な発見

  • 移行空間にCapabiltiesを導入することで、ユーザー要件とシステム要件の間で本質的で低コストのトレーサビリティが実現され、人的なトレース管理への依存が軽減される。
  • ユーザー要件から導出されたディレクティブはドメインの意味論を保持し、問題空間と移行空間の間の意味的ブリッジとして機能する。
  • 高結合性と低結合性のおかげで、Capabiltiesに基づくシステムは変更耐性が向上し、変更の波及効果が局所化され、堅牢なトレーサビリティが実現される。
  • FDグラフモデルはトレーサビリティリンクの構造的基盤を提供し、辺が自然にディレクティブ、Capabilties、要件間のトレース関係を表現する。
  • 前段階要件仕様トレーサビリティが顕著に向上し、トレースリンクが開発プロセスの設計段階の副産物として生成されるため、後から追加するのではなく、当初から組み込まれる。
  • トレーサビリティをコア開発プロセスに埋め込むことで、大規模・小規模の両方のシステムにおいて、スケーラブルで持続可能なトレーサビリティコスト削減が実現される。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。