An Essential Use Case (EUC) is a simplified, abstract, generalized use
case that captures the intentions of a user in a technology and
implementation-independent manner. A problem that often occurs when
expressing requirements is that the client embeds what are really
implementation-specific details to the requirements. E.g. "The user
should select the choice of (something) from a drop-down menu" specifies
the use of a drop-down menu, when another user-interface element may
result in a more usable interface (e.g. radio buttons). Really such
details should not appear in the requirements specification at all. The
EUC equivalent for the above example would be "User makes choice of
(something)".
EUCs tend to be much shorter than standard use cases, and consequently
there are typically many more EUCs that need to be described than
standard use cases (40-50 for even a small system). This means
specifying requirements using EUCs requires quite a lot of effort.
Furthermore, many EUCs for the a system are similar, meaning their
development can quite tedious. EUCs have not been widely accepted,
possibly because of the amount of tedious effort required, and also the
need to manage such a large number. Having tool support for capturing
EUCs may mean they get used more. However it is not obvious what such a
tool might look like, nor whether it is efficient enough to making EUCs
manageable.
Recently a research paper was published describing a set of patterns
that could be used to generate a large proportion of EUCs for a system.
If these patterns are in fact useful, then they could be used as the
basis for a tool that can semi-automatically generate many of the
necessary EUCS.
The research goal of this project is determine whether tool support for
EUC is feasible, that it can be made usable enough to reduce to effort
required to describe requirements using EUCs. In particular, this
project will address the question as to whether the proposed patterns
can be used to semi-automatically generate EUCs.
Undergraduate
Development of a web-based tool and studies demonstrating its value.
Must be a SOFTENG student (ie completed SOFTENG306, and ideally SOFTENG325).
Lab allocations have not been finalised