120 likes | 250 Views
The Rational Unified Process. By: David Williams. Software Engineering Goals. Software engineers strive to find a way to produce a software product in such a way as to remain productive, generate revenue, and produce a high quality software product.
E N D
The Rational Unified Process By: David Williams
Software Engineering Goals • Software engineers strive to find a way to produce a software product in such a way as to remain productive, generate revenue, and produce a high quality software product. • Quality refers to the customer’s satisfaction that a software product meets its specified requirements and that the software product is secure, stable, and usable.
Rational Unified Process (RUP) • Developed by the Rational Software Corporation in the 1980’s and 1990’s. • Heavily utilizes the Unified Modeling Language (UML). • An iterative and flexible software development methodology.
Flexible Software Development • Flexibility in software development refers to the ability of a software developer to move easily from one software development activity to another.
Benefits to Flexibility • A flexible software development process allows the software engineer to deviate from the prescribed software development path and pursue, or repeat as necessary, previously completed activities. • Example: If necessary, a software engineer can contact a customer regarding the customer’s requirements after the requirements analysis phase has already been completed.
Phases of the RUP • Inception • Includes the development of the business case. • Provides an idea as to the scope of a project and a vague cost estimate. • Used to determine the feasibility of a new software product and to decide if the software product is worth pursuing.
Phases of the RUP • Elaboration • The vision is refined. • The majority of the system requirements are elicited from the customer. • High risks to the software project are identified. • A more realistic cost estimate is determined.
Phases of the RUP • Construction • The majority of the software product is coded. • Components and features of the software product are developed. • During the latter part of this phase, the software engineer begins to prepare for deployment to the customer.
Phases of the RUP • Transition • The majority of the software product has been developed. • The software product is validated against the customer’s requirements. • Testing verifies that the software operates correctly. • Finally, this phase includes deployment of the software product to the customer.
Benefits of the RUP • As this software development methodology is iterative and flexible, each phase can be repeated as many times as necessary. • Furthermore, the software developer can return to any previously completed phase if they find that the requirements change, they need to make a design change, or for any other reason.
Conclusion • With the flexibility that the RUP allows, I believe that it will consistently yield a high quality software product for any software developer that decides to implement this methodology.
Additional Information • http://www-306.ibm.com/software/rational/