Unified Process (UP).

Slides:



Advertisements
Similar presentations
September 2008Mike Woodard Rational Unified Process Key Concepts Mike Woodard.
Advertisements

Chapter 7: Software production process Refers to the activities that are used for building, delivering, deploying, and evolving a software product, from.
Iterative, Evolutionary, and Agile You should use iterative developmen only on projects that you want to succeed. - Martin Fowler.
Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Arlow and Neustadt ch.21 What is the unified process? People are more important than any process. Good people with a good process will outperform good.
Chapter 4: Inception is Not the Requirements Phase
Rational Unified Process
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
Development Processes UML just is a modeling technique, yet for using it we need to know: »what do we model in an analysis model? »what do we model in.
OO Development Process. UML and Process UML standardizes notation, not process –Increase likelihood of widespread acceptance There is significant variability.
Object-oriented Analysis and Design
Slide 9.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Iterative development and The Unified process
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
COMP 350: Object Oriented Analysis and Design Lecture 2
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
NJIT Inception is not the Requirements Phase Chapter 4 Applying UML and Patterns Craig Larman.
UML - Development Process 1 Software Development Process Using UML (2)
Object-Oriented Analysis and Design Iterative Development and the Unified Process.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Unified Software Development Process (UP) Also known as software engineering process SEP describes how requirements are turned into software Defines who,
RUP Fundamentals - Instructor Notes
Software Development *Life-Cycle Phases* Compiled by: Dharya Dharya Daisy Daisy
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Object Oriented Design and Analysis Rational Unified Process.
Iterative development and The Unified process Chapter 2 Applying UML and Patterns -Craig Larman.
EVS Product Development Life Cycle Charles Griffin 9/19/2007
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Jan 7, A UP project organizes the work and iterations across four major phases: – Inception -- approximate vision, business case, scope, vague estimates.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
THE UNIFIED PROCESS UP Programming. What is the unified process  The Unified Process is a programming methodology that emphasizes the right blend of.
Inception Chapter 4 Applying UML and Patterns -Craig Larman.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Chapter 8 Workflows of the Process Taken from Walker Royce’s textbook – Software Project Management plus a number of Personal Comments.
The Rational Unified Process 1 EECS810: Software Engineering.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Inception is not Requirement phasee Chapter 3 and 4 Applying UML and Patterns -Craig Larman.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Chapter 8: Iteration 1 - Basics.  We review here the requirements for first iteration of our case studies. They are a subset of the requirements as described.
Chapter 8. Iteration 1, Elaboration: book view differs from reality for pedagogical reasons not doing “risk-driven” up front uses many OOA/D skills should.
PART II INCEPTION Chapter 4 Inception is Not The Requirements Phase.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 Rational Unified Process – Part 2 Original slides modified.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
Software Development Framework
Iterative development and The Unified process
TK2023 Object-Oriented Software Engineering
Object-oriented Analysis and Design
Process 4 Hours.
Elaboration popo.
Applying UML and Patterns
Unified Process Source & Courtesy: Jing Zou.
UNIFIED PROCESS.
Requirements and the Software Lifecycle
COMP 350: Object Oriented Analysis and Design Lecture 2
Object Oriented Analysis and Design
Rational Unified Process (RUP)
Chapter 2 – Software Processes
Software engineering -1
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
Chapter 4 Inception CS John Cole.
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
Other System Requirements
CSCI 360: Software Architecture & Design
Presentation transcript:

Unified Process (UP)

Unified Process (UP) The Unified Process (UP) combines commonly accepted best practices, such as an iterative lifecycle and risk-driven development, into a cohesive and well-documented description. The UP is used as an example process within which to explore requirements analysis and OOA/D.

Unified Process (UP) The UP promotes several best practices, but one stands above the others: iterative development. In this approach, development is organized into a series of short, fixed-length (for example, four week) mini-projects called iterations; The outcome of each is a tested, integrated, and executable system. Each iteration includes its own requirements analysis, design, implementation, and testing activities.

Unified Process (UP) The iterative lifecycle is based on the successive enlargement and refinement of a system through multiple iterations, with cyclic feedback and adaptation as core drivers. The system grows incrementally over time, iteration by iteration, and thus this approach is also known as iterative and incremental development

The output of an iteration is not an experimental or throw-away prototype, and iterative development is not prototyping. Rather, the output is a production-grade subset of the final system. each iteration tackles new requirements and incrementally extends the system, an iteration may occasionally revisit existing software and improve it; for example, one iteration may focus on improving the performance of a subsystem, rather than extending it with new features.

Phases of UP Inception Elaboration Construction Transition

Inception Most projects require a short initial step in which the following kinds of questions are explored: • What is the vision and business case for this project? • Feasible? • Buy and/or build? • Rough estimate of cost: Is it $10K-100K or in the millions? • Should we proceed or stop?

Inception Defining the vision and obtaining an order-of-magnitude (unreliable) estimate necessitates doing some requirements exploration. However, the purpose of the inception step is not to define all the requirements, or generate a believable estimate or project plan. the idea is to do just enough investigation to form a rational, justifiable opinion of the overall purpose and feasibility. decide if it is worthwhile to invest in deeper exploration (the purpose of the elaboration phase).

Inception Thus, the inception phase should be relatively short. on many projects, if it is more than a week long, then the point of inception has been missed. It is to decide if the project is worth a serious investigation (during elaboration), not to do that investigation.

Inception Inception in one sentence: Envision the product scope, vision, and business case. The main problem solved in one sentence: Do the stakeholders have basic agreement on the vision of the project, and is it worth investing in serious investigation?

Inception: An Analogy In the oil business, when a new field is being considered, some of the steps include: 1. Decide if there is enough evidence or a business case to even justify exploratory drilling. 2. If so, do measurements and exploratory drilling. 3. Provide scope and estimate information. 4. Further steps...

Inception: An Analogy In step one people do not predict how much oil there is, or the cost or effort to extract it. It is premature— there is insufficient information. Although it would be nice to be able to answer "how much" and "when" questions without the cost and effort of the exploration, in the oil business it is understood to not be realistic.

Inception artifacts and the issues they address

Inception artifacts and the issues they address

Elaboration Elaboration is the initial series of iterations during which: . the majority of requirements are discovered and stabilized . the major risks are mitigated . the core architectural elements are implemented and proven

Elaboration Elaboration is the initial series of iterations during which the team does serious investigation, implements (programs and tests) the core architecture, Clarifies most requirements, and tackles the high-risk issues.

Elaboration Elaboration often consists of between two and four iterations; each iteration is recommended to be between two and six weeks, Elaboration is not a design phase or a phase when the models are fully developed in preparation for implementation in the construction step. During this phase, one is not creating throw-away prototypes; rather, the code and design are production-quality portions of the final system. More commonly it is called the executable architecture or architectural baseline.

In iterative development and the UP it is understood that no matter how much due diligence is given to requirements specification, some change is inevitable, and should be acceptable. It does not benefit stakeholders to "wash their hands" of attentive engagement by signing off on a frozen set of requirements and waiting for the finished product, because they will seldom get what they really needed.

Construction By construction, the major requirements both functional and otherwise should be stabilized not finalized, but settled down to minor pertubation. Therefore, the SS and Vision are unlikely to experience much change in this phase.

Elaboration is followed by the construction phase, whose purpose is essentially to finish building the application, alpha testing, prepare for beta testing (in the transition phase), and prepare for deployment, through activities such as writing the user guides and online help

Transition Construction ends when the system is deemed ready for operational deployment, and all supporting materials are complete, such as user guides, training materials, and so on. It is followed by the transition phase, whose purpose is to put the system into production use.

Transition This may include activities such as beta testing, reacting to beta test feedback, fine-tuning, data conversion, training, marketing roll-out, parallel operation of the old and new system, and the like.