350 likes | 662 Views
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. RUP. Some History Behind.
E N D
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
RUP. Some History Behind • The need in software development process • What is a software development process • History of RUP • RUP and UP
Summary of RUP • Use-case driven • Architecture-oriented • Iterative and Incremental
Requirements Analysis Design Implementation Testing Use-case driven • What is a use-case? • Use-case driven principle:
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
Iterative and Incremental • Big project is split in many mini-projects called iterations • Each iteration increments the overall project result
Guidelines for Planning Iterations • Iteration should deal with the group of use-caseswhich increases the usefulness of theproduct over time. • The most serious risks are handled by earlieriterations
Advantages of Iterative Process • Financial risks are limited to one iterationonly • The risks of late product delivery are reduced. • Iterations speeds up the overall developmentprocess as short and clear plan is morepreferable for efficient work • Facilitates requirements elicitation
Project Life-Cycle in RUP • All iterations are organized into 4 phases: • Inception • Elaboration • Construction • Transition • Milestones are used to evaluate the project progress
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
RUP Elements - workers • Responsibilities of: • Individual or • Number of individuals • Behavior determined by activities • Responsible for artifacts
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
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)
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
RUP Elements – additional • Guidelines • Templates • Tool mentors • Concepts
Roles in RUP • Each artifact has worker assigned to it • All workers are defined (fixed) • Behavior determied by workflow the artifact belongs to
Roles in RUP - examples • Project management workflow • Project manager • Project reviewer • Requirements workflow • System analyst • Use-case specifier • User-interface designer • Requirements reviewer
Project Management Systems and Procedures in RUP • Project planning • Project control • Risk management • Project evaluation
RUP project planning • Phase plan • Iteration plan • Planning supporting tool
RUP project control • Project indicators • Change control management (CCM)
RUP risk management • Risk-driven approach : • Risk List • Use-case Survey • Development Case
RUP project evaluation • Iteration close-out • Phase close-out • Transition phase close-out
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
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
RUP for In-house Software • Very close to waterfall model • Small number of iteration • Good testing is preferred
Conclusion - Advantages of RUP • architecture brings us overall understandingof the big and complex system • early risk handling • easier requirements change management • high level of reuse • project teams learn easier because theproject is broken down into small manageableparts • better quality assurance • Extensive CASE tool support
Conclusion – Disadvantages of RUP • Very broad and complex • You have to customize it to start really using it • Demands big initial efforts and investments