RUP/UP Software Development Method Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn Contents Summary of Rational Unified Process RUP Structures and Roles Project Management Systems and Procedures in RUP RUP and different types of software projects 2 RUP. Some History Behind The need in software development process What is a software development process History of RUP RUP and UP 3 Summary of RUP Use-case driven Architecture-oriented Iterative and Incremental 4 Use-case driven What is a use-case? Use-case driven principle: Requirements Analysis Design Implementation Testing 5 Architecture Oriented Architecture Grows from Use-Cases. Steps to build architecture: Draft version not related to use-cases Use-cases that correspond to the system key functionalities The built architecture serves as a base for subsequent development of other use-cases 6 Iterative and Incremental Big project is split in many mini-projects called iterations Each iteration increments the overall project result 7 Guidelines for Planning Iterations Iteration should deal with the group of usecases which increases the usefulness of the product over time. The most serious risks are handled by earlier iterations 8 Advantages of Iterative Process Financial risks are limited to one iteration only The risks of late product delivery are reduced. Iterations speeds up the overall development process as short and clear plan is more preferable for efficient work Facilitates requirements elicitation 9 Project Life-Cycle in RUP All iterations are organized into 4 phases: Inception Elaboration Construction Transition Milestones are used to evaluate the project progress 10 RUP Structures – elements Entities that make up RUP (Kruchten) Worker: the who Activities: the how Artifacts: the what Workflows: the when The above are predefined Relations predefined All together define process framework 11 RUP Elements - workers Responsibilities of: Individual or Number of individuals Behavior determined by activities Responsible for artifacts 12 RUP Elements - activities Create result (artifacts) Take from a few hours to a few days Activity can be applied many times to the same artifact Basic steps of activity Thinking Performing Reviewing 13 RUP Elements - artifacts Main pieces of the project Produced, modified and used during activities Fall into following sets: Management (ex: software development plan) Requirements (ex: specifications) Design (ex: design model) Implementation (ex: source code) Deployment (ex: training material) 14 RUP Elements – workflows “A workflow is a sequence of activities that produces a result of observable value”. Grouped in categories Core Workflow details Iteration plans 15 RUP Elements – workflows cont. 16 RUP Elements – additional Guidelines Templates Tool mentors Concepts 17 Roles in RUP Each artifact has worker assigned to it All workers are defined (fixed) Behavior determied by workflow the artifact belongs to 18 Roles in RUP - examples Project management workflow Project manager Project reviewer Requirements workflow System analyst Use-case specifier User-interface designer Requirements reviewer 19 Project Management Systems and Procedures in RUP Project planning Project control Risk management Project evaluation 20 RUP project planning Phase plan Iteration plan Planning supporting tool 21 RUP project control Project indicators Change control management (CCM) 22 RUP risk management Risk-driven approach : Risk List Use-case Survey Development Case 23 RUP project evaluation Iteration close-out Phase close-out Transition phase close-out 24 RUP and different types of software projects 25 RUP Process for Commercial Software High number of iterations Extensive testing A lot of test-cases Regression testing Remember to keep a balance between quality assurance and time to market 26 RUP for Contract Software High number of iterations Focus more on requirements elicitation in the beginning Active prototyping User involvement Focus more on testing in the end 27 RUP for In-house Software Very close to waterfall model Small number of iteration Good testing is preferred 28 Conclusion - Advantages of RUP architecture brings us overall understanding of the big and complex system early risk handling easier requirements change management high level of reuse project teams learn easier because the project is broken down into small manageable parts better quality assurance Extensive CASE tool support 29 Conclusion – Disadvantages of RUP Very broad and complex You have to customize it to start really using it Demands big initial efforts and investments 30 Waterfall model C o m m u n ic a t io n p ro je c t in it ia t io n re q u ire m e n t g a t h e rin g Planning es tima ting sc he duling track ing M o d e lin g a n a ly s is d e s ig n C o n st r u c t io n c ode t es t D e p lo y m e n t d e liv e ry s u p po rt f eedback 31 Questions? 32