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.

Slides:



Advertisements
Similar presentations
FROM INCEPTION TO ELABORATION Use Cases, Domain Models & SSDs Oh My!
Advertisements

ניתוח ועיצוב מערכות תוכנה אביב 2012
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Chapter 05: Evolutionary Requirements Definition : Requirements  “Requirements are capabilities and conditions to which the system, and more broadly.
Chapter 2. Iteration The most import aspect of OOA/D An agile practice vs waterfall – early and repeated programming, feedback, adaptation waterfall is.
Chapter 2 Iterative , Evolutionary, and Agile. 2.1 What is the UP? Are Other Methods Complementary? 2.2 What is Iterative and Evolutionary Development?
RUP/UP Software Development Method Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
Chapter 4: Inception is Not the Requirements Phase
Chapter 22 UML Tooks and UML as Blueprint Model-Driven Architecture (MDA) Object-Constraint Language (OCL)
PRJ566: Project Planning and Management Choosing Iterations in terms the importance of use cases.
Object-Oriented Analysis and Design
Waterfall Development Process
September Ron McFadyen1 design analysis implementation testing maintenance Waterfall Development Process Linear one phase is completed before.
Design analysis implementation testing maintenance Waterfall Development Process Linear one phase is completed before the next begins in practice, must.
COMP 350: Object Oriented Analysis and Design Lecture 3 Case Studies, Inception & Use Cases References: Craig Larman Chapters 3-6.
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
Understanding Requirements
NJIT 1 Iteration 2 Requirements and More GRASP Chapter 24.
Slide 9.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Dr. Kivanc DincerCS319 Week 1 - Sept.12,20051 Chapter 4 INCEPTION IS NOT THE REQUIREMENTS PHASE Objectives Define the inception step. Motivate the following.
Jan 8, Ron McFadyen1 Waterfall Spiral UP Case study UML Use Cases.
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
COMP 350: Object Oriented Analysis and Design Lecture 2
Week 3 Iteration 1 Domain Models System Sequence Diagrams.
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.
Iterative development and The Unified process Chapter 2 Applying UML and Patterns -Craig Larman.
Chapter 6 Use Case –The interaction between an actor and the system.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Chapter 7 Applying UML and Patterns Craig Larman
Jan 7, A UP project organizes the work and iterations across four major phases: – Inception -- approximate vision, business case, scope, vague estimates.
 Development is organized in a series of short, fixed-length mini-projects called iterations  Iterations are also incremental  Successive enlargement.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
THE UNIFIED PROCESS UP Programming. What is the unified process  The Unified Process is a programming methodology that emphasizes the right blend of.
Sept Ron McFadyen1 Today Sept 16: Chapters 1, 2, 3 Introductory material Next Tuesday Sept 21: Rational Rose and Use Cases Chapter 6 - Use.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
Inception Chapter 4 Applying UML and Patterns -Craig Larman.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Chapter 4. Inception is NOT Requirements: Inception is a short, initial stage. Its purpose is a common vision and scope measurement. needed to do: –analyze.
Software Engineering 1 Object-oriented Analysis and Design Chap 24 Iteration 2 More Patterns.
Object-Oriented Analysis and Design Jan 26, 2009.
Week 2. Topics Inception phase Evolutionary requirements Use cases.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
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.
1/2/12 Chapt 2 Iterative Evolutionary Agile. 1/2/12 (Rational) Unified Process A software development process – Flexible and open Other processes – XP.
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.
Larman chapter 41 Inception Larman chapter 4 and 7.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XIV. From Requirements to Design in the UP.
TK2023 Object-Oriented Software Engineering
Software Development.
Elaboration popo.
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Unified Process (UP).
Requirements and the Software Lifecycle
COMP 350: Object Oriented Analysis and Design Lecture 2
Week 2.
Chapter 6 Use Case The interaction between an actor and the system.
Chapt 2 Iterative Evolutionary Agile.
Chapter 23 Iteration 2.
Week 3 Iteration 1 Domain Models System Sequence Diagrams.
Week 3 Iteration 1 Domain Models System Sequence Diagrams.
Other System Requirements
CSCI 360: Software Architecture & Design
Presentation transcript:

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 be architecture-centric (big picture) and risk- driven early iterations don't do the whole Use Case. more Requirements Analysis to come; helped by feedback

NextGen POS 1 st Iteration Requirements Implement a basic, key scenario from the Process Sale use case: enter item, receive cash Implement start up use case Nothing fancy or complex, “happy” scenario only; not the whole Use Case No collaboration with external services like tax No complex pricing rules. Subsequent iterations grow on this foundation

What we do in this Iteration: Iteration 1 requirements are subsets of complete requirements; eg, cash sales only We build production-quality, tested code for a subset of requirements We start development without a complete requirements analysis

Fig. 8.1 complete incomplete

Inception and Elaboration: At Inception we used only a week and determined basic feasibility, risk and scope. Activities were –short requirements workshop –most actors, goals and use cases named –most use cases in brief format; 10% fully dressed –risks identified and listed –UI prototypes looked at –what to buy, what to build –plan for 1st iteration –tools list

Inception and Elaboration: At Elaboration we move on to a series of iterations. Activities are: –core, risky software is coded and tested –majority of requirements are discovered –major risks mitigated –short time-boxed iterations –program early –adaptively design, code and test the core –test early –adapt based on feedback –write most of the use cases NOTE: “Risk” includes business value

Sample Elaboration Artifacts:

You know you are making a mistake when… Elaboration lasts a long time only has one iteration most requirements already specified risks are not tackled nothing executable comes out of it considered primarily a design phase attempt to do full and careful design minimal feedback and adaptation no early testing architecture is speculatively finalized before programming considered as “proof-of-concept” Even though you don’t admit it you are really doing waterfall.

Planning the Next Iteration: Project planning is a big topic in standard software engineering courses. It is less important in this course. For us, we will try to organize ourselves around the three topics – risk, coverage and criticality –risk: complexity, unknown effort or usability –coverage: are all major parts at least touched on? Should be “wide and shallow”. –criticality: things of high business value these issues revisited at the end of each iteration; perhaps they need adaptive thinking too