Capabilities Engineering:Promoting Change-Reduction and Constructing Change-Tolerant Systems

dc.contributor.authorRavichandar, Ramyaen
dc.contributor.committeechairArthur, James D.en
dc.contributor.committeememberBohner, Shawn A.en
dc.contributor.committeememberBroadwater, Robert P.en
dc.contributor.committeememberPérez-Quiñones, Manuel A.en
dc.contributor.committeememberTegarden, David P.en
dc.contributor.departmentComputer Scienceen
dc.date.accessioned2014-03-14T20:12:05Zen
dc.date.adate2008-06-05en
dc.date.available2014-03-14T20:12:05Zen
dc.date.issued2008-05-07en
dc.date.rdate2008-06-05en
dc.date.sdate2008-05-15en
dc.description.abstractWe 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.en
dc.description.degreePh. D.en
dc.identifier.otheretd-05152008-153657en
dc.identifier.sourceurlhttp://scholar.lib.vt.edu/theses/available/etd-05152008-153657/en
dc.identifier.urihttp://hdl.handle.net/10919/27732en
dc.publisherVirginia Techen
dc.relation.haspartETD-Submission-Dissertation.pdfen
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subjectChange Toleranceen
dc.subjectRequirements Engineeringen
dc.subjectComplex Emergent Systemsen
dc.subjectCapabilities Engineeringen
dc.subjectCapabilitiesen
dc.subjectSoftware Evolutionen
dc.titleCapabilities Engineering:Promoting Change-Reduction and Constructing Change-Tolerant Systemsen
dc.typeDissertationen
thesis.degree.disciplineComputer Scienceen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.leveldoctoralen
thesis.degree.namePh. D.en

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
ETD-Submission-Dissertation.pdf
Size:
1.32 MB
Format:
Adobe Portable Document Format