Categories
Sin categoría

Mastery 02 – Unified Software Process

What is it?

The Unified Software Development Process is a very popular standard software development proccess based in UML. It is a use-case and risk driven proccess. It is iterative and incremental. In each iteration various processes are made.

The Iterations

Every single iteration is like a mini-project. It contains different steps. These steps are the lyfe cycles that we covered in the Mastery 01. Planning, Design, , implementation, Test and deploy. The final result is reached through a sequence of iterations.

Every iteration may contain all of those steps, in each iteration the emphasis of each step varies.


© Zuehlke Enginereing, http://www.zuehlke.com

Increments

When an iteration ends, the result of said iteration is called an increment. An increment is the difference between the result of the previous iteration, with the next iteration.

Phases

USDP consist of 4 phases. The number of iterations within each phase varies and is dependant of the size of the project. The 4 phases are the following: Inception, Elaboration, Construction and Transition.

Workflow

As we’ve discussed, in each phase the emphasis of work varies. In the following graph we can see this.


© Zuehlke Enginereing, http://www.zuehlke.com

On the right we have the steps of the life cycle of software development that we’ve already talked about. At the top there are the phases of the Unified Software Process. The line represent the amount of work that is put on each phase. As we can see, in the inception phase, the requirements and the analysis is the most important aspect. These steps become more important in the Elaboration phase. At the end of this phase the importance of design peaks. In the construction phase the implementation is the focus of the work. At the end of this phase testing peaks. In the transition phase, testing is the most important thing.

Inception

In this phase the feasibility of the project is established. The key requirements are laid out. In this phase the critical risks of the project are defined.

Elaboration

In this stage the risks are heavily scrutinized. The quality attributes are defined. The use-cases are written. A very detailed plan for the construction phase is worked on. Another important goal of this phase is the formulation of the resources, time, staff and cost.

Construction

This is probable one of the most time consuming phases. In this phase the use-cases should be completed. Here, most of the time is spent on the implementation.

Transition

As we’ve mentioned erlier. This stage is all about refinement and getting ready for deployment. Bugs are fixed. Defects are corrected. Another imporant thing is the user manuals and the documentation.

References

This information was retrieved from The UCL Department of Computer Science http://www0.cs.ucl.ac.uk/staff/ucacwxe/lectures/3C05-01-02/aswe5.pdf

Leave a comment