segunda-feira, 23 de outubro de 2017

Some info about RUP (Rational Unified Process)

The Short Story

A summary on RUP (an iterative software development process) can be found here (FFR):
The typical summary image can be found in the site above:

The Long Story - The Rational Unified Process
Quoting the "Object Oriented Analysis and Design with Applications" book :
"In its simplest form, RUP consists of some fundamental workflows:
1. Business Engineering. Understanding the needs of the business.
2. Requirements. Translating business need into the behaviours of an automated system.
3. Analysis and Design. Translating requirements into a software architecture.
4. Implementation. Creating software that fits within the architecture and has the required behaviours.
5. Test. Ensuring that the required behaviours are correct, and that all required behaviours are present.
6. Configuration and change management. Keeping track of all the different versions of all the work products.
7. Project Management. Managing schedules and resources.
8. Environment. Setting up and maintaining the development environment.
9. Deployment. Everything needed to roll out the project.
These activities are not separated in time. Rather, they are executed concurrently throughout the lifetime of the project. As we see in [the RUP typical image process representation], not much code gets written early in the project lifecycle; but the amount is not zero. Late in the project, most of the requirements are known, but some new ones are still identified.
(…)
Iteration
A project governed by a RUP process moves forward in increments called iterations.
The goal of each iteration is to develop some working software that can be demonstrated to all the stakeholders, and that the stakeholders will find meaningful. The software developed by an iteration should cut through all or most of the major subsystems of the project.
(…)"
Source: [Object Oriented Analysis and Design with Applications, 2d. ed., Grady Booch, Robert C, Martin, James Newkirk]

RUP defends iterations and additional mandatory workflows (management ones for instance): Configuration and change management. Project Management. Environment is also an important issue (deployment deals with the change to production environment). There is an evident overlapping of Requirements and Design in the Elaboration phase (identification of architectural requirements).