A `use-case' is a collection of possible sequences of interactions between the system under discussion and its users (or actors), relating to a particular goal. Use-cases were initially designed for the object-oriented software development world, but they can be applied to any project that follows the development approach, as the user is least bothered as to how the software is developed. In this paper we conduct a comparative study of three use-case-based software engineering approaches and analyze the strengths and weaknesses of the use-cases being used in the different phases of software life cycle. This paper provides guidelines and scope for improvement of the modeling approaches on the basis of their comparative weaknesses.
A
collection of use-cases defines all system behavior relevant to the actors to
ensure them that their goals will be carried out properly. Any system behavior
that is irrelevant to the actors is included in the use-cases (Cockburn Alistair,
1998). Use-cases are typically offered as a way to capture and model known functional
requirements. They actually understand what the system is supposed to do (Cockburn
Alistair, 2000). Use-cases provide the needed linkage between the requirements,
development, testing and final customer acceptance. They provide a concrete representation
of software requirements which allow them to be both, formally expressed and systematically
tested. Changes in requirements map directly onto the changes in the set of use-cases.
Although use-cases are not object-oriented in nature, they fit well with both
non-object-oriented modeling approaches and object-oriented approaches.
In
the early 1990s, many object-oriented methodologies were proposed, the significant
ones being Object-oriented Systems Analysis by Shlaer and Mellor in 1988, Hierarchical
Object-oriented Design (HOOD) by the European Space Agency in 1989, Object-oriented
Design by Wasserman et al., in 1989-1990, Responsibility-driven Design
by Wirfs-Brock et al., in 1990, Object-oriented Design (OOD) by Grady Booch
in 1991, Object Modeling Technique by Rumbaugh et al., in 1991 and Object-oriented
Analysis (OOA) by Coad and Yourdon in 1991.
In
1992, Ivar Jacobson proposed the concept of use-cases, and since then, they have
been highly admired and widely incorporated in many software engineering modeling
approaches. The three important modeling approaches which emphasize on using the
use-cases are: Object-oriented Software Engineering (a use-case-driven approach)(Ivar
Jacobson, 2003), Unified Modeling Language (UML) (Booch Grady et al., 1999)
and the Cockburn's Use-cased-based Software Engineering (Cockburn Alistair, 2000). |