arXiv · cs/0611071
Capabilities Engineering: Constructing Change-Tolerant Systems
Abstract
We propose a Capabilities-based approach for building long-lived, complex systems that have lengthy development cycles. User needs and technology evolve during these extended development periods, and thereby, inhibit a fixed requirements-oriented solution specification. In effect, for complex emergent systems, the traditional approach of baselining requirements results in an unsatisfactory system. Therefore, we present an alternative approach, Capabilities Engineering, which mathematically exploits the structural semantics of the Function Decomposition graph - a representation of user needs - to formulate Capabilities. For any given software system, the set of derived Capabilities embodies change-tolerant characteristics. More specifically, each individual Capability is a functional abstraction constructed to be highly cohesive and to be minimally coupled with its neighbors. Moreover, the Capability set is chosen to accommodate an incremental development approach, and to reflect the constraints of technology feasibility and implementation schedules. We discuss our validation activities to empirically prove that the Capabilities-based approach results in change-tolerant systems.
Explore related subjects
Keep this discovery
Ramya Ravichandar, James D. Arthur, Shawn A. Bohner. 2006-11-15. Capabilities Engineering: Constructing Change-Tolerant Systems. https://arxiv.org/abs/cs/0611071
Cite the original work for its findings. Save a collection to share your selection of sources.