Now that we've discussed the inception phase, let's move
on to the second phase of RUP, which is
the elaboration phase. And there are four main goals
and activities for the elaboration phase. Analyzing the problem domain
to get a better understanding of the domain. Establishing
a solid architectural foundation for the project. Eliminating the highest
risk elements which basically means addressing the most critical
use cases. And finally, refine the plan of activities and estimates
of resources to complete the project. The outcome
of the elaboration phase reflects these activities and also
in this case produces several artifacts. The first one
is an almost complete use case model with all use cases
and actors identified and most use case descriptions developed.
As part of this phase we also identify a
set of what we called supplementary requirements. So these
are basically all the requirements that are not associated
with a use case. And these sets includes in particular all
non-functional requirements such as security,
reliability, maintainability and so on. So
all the ones that are relevant for the system that
you're developing. We mentioned before
that the software architecture is developed
in an incremental way, so it's not created at once.
And this is exactly what happens in the elaboration phase, that
we take the initial architecture that was defined in the inception
phase and we refine it until we get to a software
architecture which is complete. And that is part of the
deliverables for this phase. And the list continues, so let
me make some room. In addition to producing a complete
architecture for our system, in the elaboration phase we also
define the lower-level design for the system. And, therefore, as
part of this phase, we produce as deliverables a design
model, and together with that, a complete set of test
cases, and an executable prototype. We also produce a revised
project plan. Now that we have more information about the
project we can refine the various estimates and the various
pieces of information in the project plan. And also an
updated risk assessment document. Finally, in this phase we also generate
a preliminary user manual that describes to the users how
the system can be used and should be used. So now
let's see what are the evaluation criteria for the elaboration
phase which is our second milestone. So I'm just going to list
them here. The first one is whether the vision
and the architecture are stable or they're still changing so
did we converge into a final complete vision for the
system? Does the prototype show that the major risks that
we have identified have been resolved or at least addressed
in this phase? Is the project plan sufficiently detailed and
accurate? Do all stakeholders agree that the vision can be
achieved with the current plan? Is the actual resource expenditure
versus the planned expenditure acceptable? So now we study consumer
resources and therefore we can check whether our estimates were
correct. And also in this case the project might be
cancelled or considerably reshaped if it fails to pass this milestone.