Object-Oriented Analysis and Design Iterative Development and the Unified Process.

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.
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
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.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Ch 3: Unified Process CSCI 4320: Software Engineering.
CS487 Software Engineering Omar Aldawud
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.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
$100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300.
Object-oriented Analysis and Design
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
1 CS 691z/791z Topics on Software Engineering CS 691z/791z Topics on Software Engineering Software Processes Based on Chapter 4 of the book [SE-8] Ian.
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.
© 2005 Prentice Hall14-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Principles of Object Technology Module 1: Principles of Modeling.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
RUP Fundamentals - Instructor Notes
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Satzinger Chp. 2 Part Part 4 of 4 2 Object-Oriented Analysis and Design with the Unified Process Testing Testing is critical discipline Testing activities.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Identify steps for understanding and solving the
Object Oriented Design and Analysis Rational Unified Process.
Iterative development and The Unified process Chapter 2 Applying UML and Patterns -Craig Larman.
Eighth Hour Lecture 7:30 – 8:20 pm, Thursday, September 13 Workflows of the Process (from Chapter 8 of Royce’ book)
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
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.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
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.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Architecture Architecture represents different things from use cases –Use cases deal primarily with functional properties –Architecture deals.
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.
The Unified Software Development Process
Methodologies and Algorithms
Unified Process Source & Courtesy: Jing Zou.
UNIFIED PROCESS.
Unified Process (UP).
Requirements and the Software Lifecycle
Introduction to Software Engineering
COMP 350: Object Oriented Analysis and Design Lecture 2
Rational Unified Process
Other System Requirements
CSCI 360: Software Architecture & Design
Presentation transcript:

Object-Oriented Analysis and Design Iterative Development and the Unified Process

The Unified Process (UP) A software development process is an approach to building, deploying and maintaining software Unified Process (UP) is a process for building object-oriented systems UP is a set of partially ordered steps intended to reach a goal. That goal is to enable the efficient production of high quality software that meets users needs within predictable schedules and budgets.

Why Use the UP? For simple systems, it might be feasible to sequentially define the whole problem, design the entire solution, build the software, and then test the product. For complex and sophisticated systems, this linear approach is not realistic. The UP promotes iterative development: The life of a system stretches over a series of cycles, each resulting in a product release.

Iterative Development Development is organized into a series of short fixed-length mini-projects called iterations. The outcome of each iteration is a tested, integrated and executable system. a phased-build An iteration represents a complete development cycle: includes requirements, analysis, design, implementation and testing activities.

Characteristics of Iterative Lifecycle Iterative lifecycle is based on successive enlargement and refinement of a system Uses multiple iterations with feedback and adaptation The system grows incrementally over time, iteration by iteration. Each iteration is a phased build The system may not be eligible for production deployment until after many iterations.

Iterations and System Size [iteration N] Requirements – Analysis - Design- Implementation - Testing [iteration N+1] Requirements – Analysis - Design- Implementation - Testing System SizeIterations Feedback from iteration N leads to refinement and adaptation of the requirements and design in iteration N+1.

Timeboxing Iteration Length The UP recommends short iteration lengths to allow for rapid feedback and adaptation. Long iterations increase project risk. Iterations are fixed in length (timeboxed). If meeting deadline seems to be difficult, then remove tasks or requirements from the iteration and include them in a future iteration. The UP recommends that an iteration should be between two and six weeks in duration.

Phases of the Unified Process A UP project organizes the work and iterations across four major phases: 1. Inception - Define the scope of project. 2. Elaboration - Plan project, specify features, baseline architecture. 3. Construction - Build the product 4. Transition - Transition the product into end user community

Iterations and Milestones Each phase and iteration has some risk mitigation focus, and concludes with a well- defined milestone. The milestone review provides a point in time to assess: how well key goals have been met whether the project needs to be restructured The end of each iteration is a minor release, a stable executable subset of the final product.

Advantages of an Iterative Process Reduce risks Risks are identified early, progress is easier to see. Get a robust architecture Architecture can be assessed and improve early. Handle evolving requirements Users provide feedback to operational systems. Responding to feedback is an incremental change. Allow for changes System can adapt to problems Attain early learning Everyone obtains an understanding of the different workflows early on

Iterations and the UP Disciplines (for reference only – not on exam)