1 / 31

Rational Unified Process

Rational Unified Process. What is RUP?. RUP is a S oftware E ngineering P rocess RUP is a P rocess P roduct RUP Enhances T eam P roductivity RUP activities creates and maintain M odels RUP is a g uide for how to e ffectively use the Unified Modeling Language

Download Presentation

Rational Unified Process

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rational Unified Process

  2. What is RUP? • RUP is a Software Engineering Process • RUP is a Process Product • RUP Enhances Team Productivity • RUP activities creates and maintain Models • RUP is a guide for how to effectively use the Unified Modeling Language • RUP is supported by Tools • RUP is a Configurable process • RUP captures many of the best practices in modern software development

  3. Effective Deployment of 6 Best Practices RUP describes how to effectively deploy commercially proven approaches to software development for software development teams RUP provide following best practices: 1. Develop software iteratively 2. Manage requirements 3. Use component-based architectures 4. Visually model software 5. Verify software quality 6. Control changes to software

  4. Two Dimensions The process can be described in two dimensions, or along two axis: Organization along time Organization along content

  5. Phases and Iterations RUP divides one development cycle in four consecutive phases • Inception phase • Elaboration phase • Construction phase • Transition phase

  6. INCEPTION PHASE

  7. Inception objectives • Establish software scope and boundary conditions. • operational concept. • acceptance criteria. • descriptions of what is and what is not included. • Discriminate critical Use Cases of the system. • primary scenarios of behaviour. • Exhibit at least one candidate architecture. • Estimate overall cost. • Estimate risks.

  8. Inception activities • Formulate scope of project • Plan and prepare a business case and evaluate alternatives for risk management, staffing, project plan • Synthesise a candidate architecture.

  9. Outcome of inception • A ‘vision’ document, i.e., a general vision of the core projects requirements, key features and main constraints. • A Use-Case model survey – all Use Cases and Actors that can be identified so far. • An initial project glossary. • An initial business case including business context, success criteria and financial forecast. • Initial risk assessment. • Project plan, with phases and iterations.

  10. Other artefacts produced • Initial Use Case model (10%-20% complete) • A domain model static picture of scope. • A business model (if necessary)workflow. • A preliminary development case description to specify the process used. • One or several prototypes. • Behavioural, Structural, Exploratory or Evolutionary.

  11. Evaluation criteria at end • Agreement on scope definition and cost and schedule estimates • Requirements understanding as shown by the correctness of the primary Use Cases. • Credibility of the cost and schedule estimates, priorities, risks and development process. • Depth and breadth of any architectural prototype that was developed. • Actual expenditure v planned expenditure.

  12. ELABORATION PHASE

  13. Elaboration objectives • To analyse the problem domain. • Establish a sound architectural foundation. • Develop the project plan. • Eliminate high-risk elements. • Define, validate and agreethe architecture as quickly as possible. • Agree the vision that came from the inception phase. • Agree a plan for the construction phase. • Demonstrate that the architecture will support this vision for a reasonable cost in a reasonable time.

  14. Elaboration activities • The architecture is elaborated and components are selected. • Potential components are evaluated. • make / buy / reuse decisions determine the construction phase cost and schedule. • Architectural components integrated and assessed against primary scenarios. • This is done iteratively.

  15. Outcome of elaboration • Executable architectural prototype. • Revised risk list and revised business case. • Development plan for overall project. • coarse grained project plan, with iterations and evaluation criteria for each iteration. • Updated development case that specifies process to be used. • Preliminary user manual (optional).

  16. Evaluation criteria at end • Is the vision of the product stable? • Is the architecture stable? • Does the executable demonstration show that major risk elements are addressed? • Is construction phase sufficiently planned? • Do all stakeholders agree that current vision is achievable, using current plan with current architecture? • Is the cost acceptable?

  17. CONSTRUCTION PHASE

  18. Construction • All remaining components and application features are developed and integrated into the product. • All features are tested thoroughly. • Emphasis is placed on managing resources and controlling operations to optimise cost, schedules and quality. • Parallel construction can accelerate the availability of deployable releases.

  19. Construction objectives • Minimise development costs by optimising resources and avoiding unnecessary scrap and rework. • Achieve adequate quality as rapidly as possible. • Achieve useful versions (alpha, beta or other test releases) as rapidly as practical.

  20. Construction activities • Resource management, resource control, process optimisation. • Complete component development and testing against the defined evaluation criteria. • Assessment of product releases against acceptance criteria for the vision.

  21. Outcome of construction • A product ready to put into the hands of end users. • The software product integrated on the adequate platforms. • The user manuals. • A description of the current release.

  22. Evaluation criteria at end • Often called the beta release, is it ready? • Is the product release stable and mature enough to be deployed in the user community? • Are all stakeholders ready for the transition into the use community? • Are the actual resource expenditures v planned expenditures still acceptable? • Transition may have to be postponed by one release if the project fails to reach this milestone.

  23. TRANSITION PHASE

  24. Transition • This moves the software project to the user community. • After release, issues usually arise that require new releases, either to correct problems or finish features that were postponed. • This phase is entered when a baseline is mature enough to be deployed in the end-user domain. • This means that some usable subset of the system has beem completed to an acceptable level of quality and that user documentation is available.

  25. Transition phase includes • Beta testing to validate the new system against use expectations. • Parallel operation with the legacy system that the project is replacing • Conversion of operational databases. • Training of users and maintainers. • Rollout of the product to the marketing, distribution and sales teams. • It concludes when the deployment baseline has achieved the completed vision.

  26. Transition objectives • Achieve user self-supportability. • Achieve stakeholder concurrence that deployment baselines are complete and consistent with the evaluation criteria of the vision. • Achieve final product baseline as rapidly and cost-effectively as practical.

  27. Transition activities • Deployment-specific engineering, i.e. cutover, commercial packaging and production, sales rollout, and field personnel training. • Tuning activities, including bug fixing and enhancement for performance and usability. • Assessing the deployment baselines against the vision and the acceptance criteria for the product. • The activities depend on the goal • For fixing bugs, implementation and testing are usually enough. • For new features, iteration is similar to construction phase.

  28. Evaluation criteria at end • Is user satisfied? • Are the actual resources expenditures v planned expenditures still acceptable?

  29. Iterations Each phase in the Rational Unified Process can be further broken down into iterations. Benefits of an iterative approach Compared to the traditional waterfall process, the iterative process has the following advantages: • Risks are mitigated earlier • Change is more manageable • Higher level of reuse • The project team can learn along the way • Better overall quality

  30. Static Structure of the Process A process describes who is doing what, how, and when. RUP is represented using four primary modeling elements: • Workers, the ‘who’ • Artifacts, the ‘what’ • Activities, the ‘how’ • Workflows, the ‘when’

  31. Reference Rational Unified Process (Best Practices for Software Development Teams) Rational Software White Paper TP026B, Rev 11/01

More Related