Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Unified ProcessIntroduction to Rational Unified processMartin Terreni
Agenda• What is a software engineering process?• Waterfall model• What is RUP?• Why RUP?• RUP workflows and phases• RUP BK...
What is a software engineeringprocess?• First –what is not?– It is not UML! (it is not any modeling or codinglanguage at a...
What is a software engineeringprocess?• Then what IS IT?– Who is doing what, when and how (andWHY!!)
Waterfall modelCompletely understand requirements, finishdesign, code, testand only then implement.
Waterfall Process Assumptions• Requirements are known up front beforedesign• Requirements rarely change• Users know what t...
What is RUP?“a web-enabled software engineeringprocess that enhances team productivityand delivers software best practices...
What is RUP?• RUP is a method of managing OO SoftwareDevelopment• It can be viewed as a Software DevelopmentFramework whic...
What is RUP?The Spirit of RUP:• Attack major risks early and continuously…orthey will attack you.• Ensure that you deliver...
Why RUP?1. It accommodates changing requirements2. Integration is not one "big bang" at the end of aproject3. Risks are us...
Workflows and phasesManagementEnvironmentBusiness ModelingImplementationTestAnalysis & DesignPreliminaryIteration(s)Iter.#...
Workflows and phasesMajor Milestones
Workflows and phasesPhases and iterations
Workflows and phasesThree Types of Projects• Project Ganymede, a green-field development of a smallapplication. The initia...
Our projectLets take an existing project that needs anew improved version.We have a simulation system for logiccircuits an...
The Inception Phase• In this phase a business case which includes: Businesscontext, Success factors such as (expected reve...
The Inception PhaseObjectives of the Inception Phase:1. Understand what to build. Determine the vision, the scope of thesy...
The Inception PhaseLifecycle Objective Milestone• Stakeholder concurrence on scope definition and aninitial cost/schedule ...
The Elaboration Phase• Elaboration is the second of the four phases in the RUPapproach. The goal of the Elaboration phase ...
The Elaboration PhaseObjectives of the Elaboration Phase:1. Get a more detailed understanding of therequirements.2. Design...
The Elaboration PhaseLifecycle Architecture Milestone• Are the product Vision and requirements stable?• Is the architectur...
The Construction PhaseIn this phase the main focus goes to the development ofcomponents and other features of the system t...
The Construction PhaseObjectives of the Construction Phase1. Minimize development costs and achievesome degree of parallel...
The Construction PhaseInitial Operational Capability Milestone:1. Is this product release stable and matureenough to be de...
The Transition PhaseThe focus of the Transition phase is to ensurethat the software fully addresses the needs of itsusers....
The Transition PhaseObjectives of the Transition Phase1. Beta test to validate that user expectations are met.2. Train use...
The Transition PhaseProduct Release Milestone• Are the users satisfied?• Are actual resource expenditures versusplanned ex...
RUP BKP1. Develop software iteratively2. Manage requirements3. Use component based architecture4. Visually model software5...
SummaryThe RUP is a software development approachthat is iterative, architecture-centric, and use-case-driven.It is actual...
Summary
Questions?
BibliographyThe Rational Unified Process MadeEasy: A Practitioners Guide to theRUP.By Per Kroll, Philippe Kruchten
Upcoming SlideShare
Loading in …5
×

Unified process

4,596 views

Published on

Published in: Design, Technology
  • Follow the link, new dating source: ♥♥♥ http://bit.ly/2F4cEJi ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating direct: ❤❤❤ http://bit.ly/2F4cEJi ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Unified process

  1. 1. Unified ProcessIntroduction to Rational Unified processMartin Terreni
  2. 2. Agenda• What is a software engineering process?• Waterfall model• What is RUP?• Why RUP?• RUP workflows and phases• RUP BKP• Summary• Bibliography
  3. 3. What is a software engineeringprocess?• First –what is not?– It is not UML! (it is not any modeling or codinglanguage at all!)– It is not planning MPOR Items and thereschedule (though it is related…).– It is not writing lot of IPS, EPS and other overhead docs (and if it is all you are doingsomething wrong).
  4. 4. What is a software engineeringprocess?• Then what IS IT?– Who is doing what, when and how (andWHY!!)
  5. 5. Waterfall modelCompletely understand requirements, finishdesign, code, testand only then implement.
  6. 6. Waterfall Process Assumptions• Requirements are known up front beforedesign• Requirements rarely change• Users know what they want, and rarely needvisualization• Design can be conducted in a purely abstractspace, or trial rarely leads to error• The technology will all fit nicely into place whenthe time comes (the apocalypse)• The system is not so complex. (Drawings arefor wimps)
  7. 7. What is RUP?“a web-enabled software engineeringprocess that enhances team productivityand delivers software best practices to allteam members”The Rational Unified Process, 2nd Edition
  8. 8. What is RUP?• RUP is a method of managing OO SoftwareDevelopment• It can be viewed as a Software DevelopmentFramework which is extensible .
  9. 9. What is RUP?The Spirit of RUP:• Attack major risks early and continuously…orthey will attack you.• Ensure that you deliver value to yourcustomer.• Stay focused on executable software.• Accommodate change early in the project.• Baseline an executable architecture early on.• Build your system with components.• Work together as one team.• Make quality a way of life, not anafterthought.
  10. 10. Why RUP?1. It accommodates changing requirements2. Integration is not one "big bang" at the end of aproject3. Risks are usually discovered or addressedduring early integrations4. Reuse is facilitated5. Defects can be found and corrected overseveral iterations6. The development process itself is improvedand refined along the way
  11. 11. Workflows and phasesManagementEnvironmentBusiness ModelingImplementationTestAnalysis & DesignPreliminaryIteration(s)Iter.#1PhasesProcess WorkflowsIterationsSupporting WorkflowsIter.#2Iter.#nIter.#n+1Iter.#n+2Iter.#mIter.#m+1DeploymentConfiguration MgmtRequirementsElaboration TransitionInception Constructiontimecontent
  12. 12. Workflows and phasesMajor Milestones
  13. 13. Workflows and phasesPhases and iterations
  14. 14. Workflows and phasesThree Types of Projects• Project Ganymede, a green-field development of a smallapplication. The initial development cycle of a brand-newapplication where everything, including the requirements,have to be designed from scratch.• Project Mars, a green-field development of a largersystem so that we can articulate the major difference withthe first example.• Project Jupiter, an evolution cycle of an existing largeapplication (the "version 2.0"); this is more representative ofa large number of RUP projects, which only evolve existingsystems and do not create them from scratch.
  15. 15. Our projectLets take an existing project that needs anew improved version.We have a simulation system for logiccircuits and a test plan DB.The customer wants them to communicateand work atumaticaly.
  16. 16. The Inception Phase• In this phase a business case which includes: Businesscontext, Success factors such as (expected revenue,market recognition, etc), and Financial forecast areestablished. Besides a business case a basic use casemodel, project plan, initial risk assessment and adocument that generally describes the project (the coreproject requirements, constraints and key features) arerealized.
  17. 17. The Inception PhaseObjectives of the Inception Phase:1. Understand what to build. Determine the vision, the scope of thesystem, and its boundaries, that is, what is inside the system andwhat is outside. Identify who wants this system and what it is worthto them.2. Identify key system functionality. Decide which use cases (whichways of using the system) are most critical.3. Determine at least one possible solution. Identify at least onecandidate architecture.4. Understand the costs, schedule, and risks associated with theproject.5. Decide what process to follow and what tools to use.
  18. 18. The Inception PhaseLifecycle Objective Milestone• Stakeholder concurrence on scope definition and aninitial cost/schedule estimate (which will be refined inlater phases)• Agreement that the right set of requirements has beencaptured and that there is a shared understanding ofthese requirements• Agreement that the cost/schedule estimate, priorities,risks, and development process are appropriate• Agreement that initial risks have been identified and amitigation strategy exists for each
  19. 19. The Elaboration Phase• Elaboration is the second of the four phases in the RUPapproach. The goal of the Elaboration phase is to define andbaseline the architecture of the system in order to provide astable basis for the bulk of the design and implementationeffort in the Construction phase. The architecture evolves outof a consideration of the most significant requirements (thosethat have a great impact on the architecture of the system) andan assessment of risks.
  20. 20. The Elaboration PhaseObjectives of the Elaboration Phase:1. Get a more detailed understanding of therequirements.2. Design, implement, validate, and baselinethe architecture.3. Mitigate essential risks, and produce moreaccurate schedule and cost estimates.4. Refine the development case and put thedevelopment environment in place.
  21. 21. The Elaboration PhaseLifecycle Architecture Milestone• Are the product Vision and requirements stable?• Is the architecture stable?• Are the key approaches to be used in testing and evaluationproven?• Have testing and evaluation of executable prototypes demonstratedthat the major risk elements have been addressed and resolved?• Are the iteration plans for Construction of sufficient detail andfidelity to allow the work to proceed?• Are the iteration plans for the Construction phase supported bycredible estimates?• Do all stakeholders agree that the current Vision, as defined in theVision Document, can be met if the current plan is executed todevelop the complete system in the context of the currentarchitecture?• Are actual resource expenditures versus planned expendituresacceptable?
  22. 22. The Construction PhaseIn this phase the main focus goes to the development ofcomponents and other features of the system that isbeing developed. This is the phase when coding takesplace.At the end of this phase the first release of the softwareproduct is expected and this is a major criterion of itsmilestone.
  23. 23. The Construction PhaseObjectives of the Construction Phase1. Minimize development costs and achievesome degree of parallelism.2. Iteratively develop a complete product thatis ready to transition to its user community.
  24. 24. The Construction PhaseInitial Operational Capability Milestone:1. Is this product release stable and matureenough to be deployed in the usercommunity?2. Are all the stakeholders ready for thetransition into the user community?3. Are actual resource expenditures versusplanned expenditures still acceptable?
  25. 25. The Transition PhaseThe focus of the Transition phase is to ensurethat the software fully addresses the needs of itsusers. The Transition phase normally spans oneor two iterations that include testing the productin preparation for release and making minoradjustments based on user feedback.
  26. 26. The Transition PhaseObjectives of the Transition Phase1. Beta test to validate that user expectations are met.2. Train users and maintainers to achieve user self-reliability.3. Prepare deployment site and convert operationaldatabases.4. Achieve stakeholder concurrence that deploymentbaselines are complete and consistent with theevaluation criteria of the vision.5. Improve future project performance through lessonslearned.
  27. 27. The Transition PhaseProduct Release Milestone• Are the users satisfied?• Are actual resource expenditures versusplanned expenditures acceptable, and, ifnot, what actions can be taken in futureprojects to address this issue?
  28. 28. RUP BKP1. Develop software iteratively2. Manage requirements3. Use component based architecture4. Visually model software5. Verify software quality6. Control changes to software
  29. 29. SummaryThe RUP is a software development approachthat is iterative, architecture-centric, and use-case-driven.It is actually a framework to be tailored to createa suitable process for a specific project.The transition between phases is done by milestones reached during iterations.It has 6 main BKPs to follow.
  30. 30. Summary
  31. 31. Questions?
  32. 32. BibliographyThe Rational Unified Process MadeEasy: A Practitioners Guide to theRUP.By Per Kroll, Philippe Kruchten

×