

Type of Document Dissertation Author Ravichandar, Ramya Author's Email Address ramyar@vt.edu URN etd-05152008-153657 Title Capabilities Engineering:Promoting Change-Reduction and Constructing Change-Tolerant Systems Degree PhD Department Computer Science Advisory Committee
Advisor Name Title Arthur, James D. Committee Chair Bohner, Shawn A. Committee Member Broadwater, Robert P. Committee Member Pérez-Quiñones, Manuel A. Committee Member Tegarden, David P. Committee Member Keywords
- Change Tolerance
- Requirements Engineering
- Complex Emergent Systems
- Capabilities Engineering
- Capabilities
- Software Evolution
Date of Defense 2008-05-07 Availability unrestricted Abstract We propose a Capabilities-based approach for constructing complex emergent systems such that they are change-tolerant, and the development effort promotes change-reduction. The inherent complexity of software systems increases their susceptibility to change when subjected to the vagaries of user needs, technology advances, market demands and other change inducing factors. Despite the inevitability of change, traditional Requirements Engineering strives to develop systems based on a fixed solution. This is a mostly unsuccessful approach as evidenced by the history of system failures. In contrast, we utilize Capabilities — functional abstractions that are neither as amorphous as user needs nor as rigid as system requirements — to architect systems to accommodate change with minimum impact. These entities are designed to exhibit desirable characteristics of high cohesion, low coupling and balanced abstraction levels.
Capabilities are generated by a two-phased process called Capabilities Engineering. Phase I mathematically exploits the structural semantics of the Function Decomposition graph — a representation of user needs — to formulate change-tolerant Capabilities. Phase II optimizes these Capabilities to conform to schedule and technology constraints. Results from an empirical evaluation of a real-world Course Evaluation System indicate, with statistical significance, that a Capabilities-based design is more change-tolerant than a requirements-based design. In addition, we observe that the use of the CE process inherently reduces change, otherwise generated, during the regular development effort. Empirical analysis on the change-requests of Sakai, a complex emergent system, supports this claim. Finally, we observe that the process of Capabilities Engineering assists in pre-requirement specification traceability by bridging the complexity gap between the problem and solution spaces.
Files
Filename Size Approximate Download Time (Hours:Minutes:Seconds)
28.8 Modem 56K Modem ISDN (64 Kb) ISDN (128 Kb) Higher-speed Access ETD-Submission-Dissertation.pdf 1.39 Mb 00:06:24 00:03:17 00:02:53 00:01:26 00:00:07
If you have questions or technical problems, please Contact DLA.