Title

Author

Date of Award

Degree Type

Degree Name

Department

Computer Information Systems

First Advisor

William N. Robinson - Chair

Second Advisor

Sandeep Purao

Third Advisor

Peter Meso

Fourth Advisor

Detmar Straub

Fifth Advisor

Balasubramaniam Ramesh

Abstract

Software specification by scenarios has grown with the popularity of object-oriented software engineering. Scenarios such as use cases provide a bridge from the informal descriptions gathered from user interviews toward the more formal software model. Yet, practitioners still request more explicit methodological guidance and more adequate tool support for authoring quality scenarios. Researchers have been seeking a means to overcome the limitations of use cases such as partialness and incompleteness. One of such research streams is an extension of scenarios with more formal representation schemes. This approach may reduce incompleteness of scenarios; however, applicability of the approach to practice remains open to discussion, considering that the current usage of formal scenario representations is very low. This research takes software reuse approach to assist scenario-building process. In the proposed approach, a software analyst defines an initial description of a scenario. An automated tool support then presents a set of similar use cases retrieved from a database of use cases. The analyst adapts a retrieved use case to the current purpose. This dissertation research is expected to have unique contributions to research and practice. The proposed automated scenario reuse provides a viable solution to guide scenario-authoring process without imposing an additional burden of adding formal annotations to system specifications on system analysts. By adopting a machinelearning algorithm based on relational structure matching, the scenario reuse places more focus on UML semantics, relational information among UML elements rather than syntactic attributes of scenarios or natural language descriptions. In addition, the proposed scenario reuse can be augmented with other approaches and design artifacts, depending on customized needs in a given context of problem domains. In terms of research methodology, this dissertation research takes four steps. First, I develop prototype software for the automated tool support. It can be incorporated into a CASE tool as an add-in program. Second, preliminary case studies are taken to evaluate the feasibility of the proposed approach. Third, expert opinions are collected regarding the effectiveness and efficiency of the tool support. Finally, a lab experiment and a free simulation experiment are conducted for more rigorous empirical validation.