Unified Software Development Process
Subsequent development methodologists refined
Boehm's cyclic approach. Perhaps the most notable is Jacobson, who
specified the Unified Software Development Process (USDP) in 1999. It closely relates to the Rational Unified
Process, which is supported through wizard and mentor facilities in a number of Rational's products. The USDP
method is also iterative, but formally recognises other aspects of good
software development practice:
- The need to develop models of systems, which explore a number of
aspects of the system's behaviour, structure and implementation.
- The use of the developed models in experiments with the system's
behaviour to explore their correctness at an early stage. This leads to
the use of incremental development, in which one implements aspects of
a system's functionality in different phases of its construction. The
experimental system components may be tested and reviewed as they are
developed. The risks of the development failing may thus be assessed at
the earliest opportunity.
- The architecture of the system is described at an early stage,
in order to provide the framework around which the system shall be
developed. This means that development activity has a clear model for
its subsequent construction.
- Possibly most crucially, the process employs "Use Case"
specification.
We have used the USDP since its publication for
system development both as a process for the successful development of
commercial software and in training in systems development.
Our paper on Development Process, which considers this topic in more detail
is available on request.