140 likes | 531 Views
The Rational Unified Process. A modern generic process derived from the work on the UML and associated process. Brings together aspects of the 3 generic process models discussed previously. Normally described from 3 perspectives A dynamic perspective that shows phases over time;
E N D
The Rational Unified Process • A modern generic process derived from the work on the UML and associated process. • Brings together aspects of the 3 generic process models discussed previously. • Normally described from 3 perspectives • A dynamic perspective that shows phases over time; • A static perspective that shows process activities; • A practive perspective that suggests good practice. Chapter 2 Software Processes
Phases in the Rational Unified Process Chapter 2 Software Processes
RUP phases • Inception • Establish the business case for the system. You should identify all external entities (people and systems) that will interact with the system and define these interactions. • Elaboration • Develop an understanding of the problem domain and the system architecture. The goals of the elaboration phase are to develop an understanding of the problem domain, establish an architectural framework for the system, develop the project plan, and identify key project risks. On completion of this phase you should have a requirements model for the system, which may be a set of UML use-cases, an architectural description, and a development plan for the software. Chapter 2 Software Processes
RUP phases • Construction • System design, programming and testing. The construction phase involves system design, programming, and testing. Parts of the system are developed in parallel and integrated during this phase. On completion of this phase, you should have a working software system and associated documentation that is ready for delivery to users. • Transition • Deploy the system in its operating environment. he final phase of the RUP is concerned with moving the system from the development community to the user community and making it work in a real environment. This is something that is ignored in most software process models but is, in fact, an expensive and sometimes problematic activity. On completion of this phase, you should have a documented software system that is working correctly in its operational environment. Chapter 2 Software Processes
RUP iteration • In-phase iteration • Each phase is iterative with results developed incrementally. • Cross-phase iteration • As shown by the loop in the RUP model, the whole set of phases may be enacted incrementally. Chapter 2 Software Processes
Static workflows in the Rational Unified Process Chapter 2 Software Processes
Static workflows in the Rational Unified Process Chapter 2 Software Processes
RUP good practice • Develop software iteratively • Plan increments based on customer priorities and deliver highest priority increments first. • Manage requirements • Explicitly document customer requirements and keep track of changes to these requirements. • Use component-based architectures • Organize the system architecture as a set of reusable components. Chapter 2 Software Processes
RUP good practice • Visually model software • Use graphical UML models to present static and dynamic views of the software. • Verify software quality • Ensure that the software meet’s organizational quality standards. • Control changes to software • Manage software changes using a change management system and configuration management tools. Chapter 2 Software Processes
Conclusion • In principle at least, all of the RUP workflows may be active at all stages of the process. In the early phases of the process, most effort will probably be spent on workflows such as business modelling and requirements and, in the later phases, in testing and deployment. • The most important innovations in the RUP are the separation of phases and workflows, and the recognition that deploying software in a user’s environment is part of the process. Phases are dynamic and have goals. • Workflows are static and are technical activities that are not associated with a single phase but may be used throughout the development to achieve the goals of each phase. Chapter 2 Software Processes
Key points • Processes should include activities to cope with change. This may involve a prototyping phase that helps avoid poor decisions on requirements and design. • Processes may be structured for iterative development and delivery so that changes may be made without disrupting the system as a whole. • The Rational Unified Process is a modern generic process model that is organized into phases (inception, elaboration, construction and transition) but separates activities (requirements, analysis and design, etc.) from these phases. Chapter 2 Software Processes