Tanager: a case study of iterative development in object-oriented analysis and design - PowerPoint PPT Presentation

Tanager a case study of iterative development in object oriented analysis and design
Download
1 / 40

Tanager: a case study of iterative development in object-oriented analysis and design. Robert J. Lavey. Overview. Goals Motivation for Tanager project Waterfall Methodology Iterative Methodology Tanager Project Overview Tanager Inception Phase Tanager Elaboration Phases

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Download Presentation

Tanager: a case study of iterative development in object-oriented analysis and design

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Tanager a case study of iterative development in object oriented analysis and design

Tanager: a case study of iterative development in object-oriented analysis and design

Robert J. Lavey


Overview

Overview

  • Goals

  • Motivation for Tanager project

  • Waterfall Methodology

  • Iterative Methodology

  • Tanager Project Overview

  • Tanager Inception Phase

  • Tanager Elaboration Phases

  • Tanager Demonstration

  • Iterative Process Advantages and Disadvantages

  • Conclusions

  • Questions


Goals

Goals

  • Example iterative OOAD process

    • Business case

    • User requirements

    • Break down requirements

    • Schedule

    • Iteratively design, implement, and test

  • Use familiar domain

    • Aids understanding

  • Provide artifacts from each phase


Motivation

Motivation

  • Additional example aids learning

  • ComS 362 students have examples

    • NextGen Point-of-Sale system

    • Monopoly simulation

    • Curtis Clifton’s StickSync project

  • Example from familiar domain will be helpful


Waterfall methodology

Waterfall Methodology

  • Complete each phase before moving to next


Waterfall methodology1

Waterfall Methodology

  • Advantages

    • Understand all user requirements and how they interact

    • Results of each phase satisfy entire set of requirements

  • Disadvantages

    • Difficult for users to verify progress

    • Changes to requirements restart process


Iterative methodology

Iterative Methodology

  • Analyze at high level during inception phase

  • Break down problem

  • Perform analysis, design, implementation, and test in elaboration phases

  • Implement risky use cases early


Iterative methodology1

Iterative Methodology

  • Advantages

    • Misunderstandings are caught early

    • Focus on subset of the problem

  • Disadvantages

    • Simple early designs may be inadequate


Tanager project

Tanager Project

  • Digital music player

  • Open source software-based player

    • Build user base

    • Build on existing design

  • Project definition

    • Download songs

    • View downloaded songs

    • Play songs

    • Manipulate playing songs


Tanager project inception phase

Tanager ProjectInception Phase

  • Studied competitive products

    • Apple iPod/iTunes

    • Creative Muvo/MediaSource

    • Microsoft Zune/Windows Media Player

  • Product differentiators

    • Common look-and-feel

    • Play variety of formats

  • Define stakeholders

    • Music Player

    • Playlist Administrator


Tanager project inception phase1

Tanager ProjectInception Phase

  • Defined use cases

    • Power On

    • Power Off

    • Download a Song

    • View Playlist

    • Delete a Song

    • Select Playlist Order

    • Play Music

    • Pause Music

    • Volume Adjustments

    • Skip to the Next Song

    • Restart the Current Song

    • Skip to the Previous Song


Tanager project inception phase2

Tanager ProjectInception Phase

  • Wrote Brief Format for all use cases


Tanager project inception phase3

Tanager ProjectInception Phase

  • Generated rough schedule

  • Four elaboration phases of 4 weeks in length

    • Elaboration Phase 1: Power On, Power Off, and Download a Song

    • Elaboration Phase 2: Download a Song, Play Music, and Pause Music

    • Elaboration Phase 3: View Playlist, Delete a Song, and Volume Adjustments

    • Elaboration Phase 4: Select Playlist Order, Skip to Next Song, Restart Current Song, and Skip to Previous Song


Tanager project inception phase4

Tanager ProjectInception Phase

  • Determine “go” or “no-go” for project

    • Functional and non-functional requirements

    • User requirements are well-understood

    • Schedule shows a reasonable time

    • Decision was made to proceed

  • Prepare for elaboration phases

    • Refine elaboration phase 1 & 2 use cases

    • Prepare development environment

    • Obtain required training


Tanager project inception phase5

Tanager ProjectInception Phase

  • Refine use cases


Tanager project inception phase6

Tanager ProjectInception Phase


Tanager project inception phase7

Tanager ProjectInception Phase


Tanager project elaboration phase 1

Tanager ProjectElaboration Phase 1

  • Goals

    • Power On

    • Power Off

    • Download a Song

    • Fully-dressed format for elaboration phase 2 use cases

    • Casual format for elaboration phase 3 use cases


Tanager project elaboration phase 1 analysis

Tanager ProjectElaboration Phase 1-Analysis

  • Determine domain objects and associations


Tanager project elaboration phase 1 analysis1

Tanager ProjectElaboration Phase 1-Analysis

  • Domain Model


Tanager project elaboration phase 1 analysis2

Tanager ProjectElaboration Phase 1-Analysis

  • System Sequence Diagrams


Tanager project elaboration phase 1 analysis design

Tanager ProjectElaboration Phase 1–Analysis/Design

  • Operation Contracts


Tanager project elaboration phase 1 design

Tanager ProjectElaboration Phase 1-Design


Tanager project elaboration phase 1 design1

Tanager ProjectElaboration Phase 1-Design


Tanager project elaboration phase 11

Tanager ProjectElaboration Phase 1

  • Implementation

  • Unit Tests

    • power-on

    • download a single song

    • download multiple songs

  • System Tests

    Exploratory tests

  • Demonstrate results


Tanager project elaboration phase 1 demonstration

Tanager ProjectElaboration Phase 1 Demonstration

TanagerJava.jar

  • Power On

  • Download a Song

  • Power Off


Tanager project elaboration phase 2

Tanager ProjectElaboration Phase 2

  • Goals

    • Download a Song

    • Play Music

    • Pause Music

    • Fully-dressed format for elaboration phase 3 use cases

    • Casual format for elaboration phase 4 use cases


Tanager project elaboration phase 21

Tanager ProjectElaboration Phase 2

  • Analysis

    • Determine domain objects and associations

    • Update Domain Model

    • System Sequence Diagrams

    • Operation Contracts

  • Design

    • Sequence Diagrams

    • Class Model


Tanager project elaboration phase 22

Tanager ProjectElaboration Phase 2

  • Implementation

  • Unit Tests

    • Play downloaded song

    • Regression unit tests

  • System Tests

    • Exploratory tests

  • Demonstrate results for stakeholders

    • Discovered missing use case: Stop Playing Music

    • Wrote brief, casual, and fully-dressed use case formats

    • Implement in elaboration phase 3


Tanager project elaboration phase 3

Tanager ProjectElaboration Phase 3

  • Goals

    • Stop Music

    • View Playlist

    • Delete a Song

    • Volume Adjustments

    • Fully-dressed format for elaboration phase 4 use cases


Tanager project elaboration phase 31

Tanager ProjectElaboration Phase 3

  • Analysis/design

  • Refactor menu system

    • User feedback showed menu should be in main display rather than popup

  • Refactor state machine

    • Addition of Stop Music use case

    • Implemented as switch/case statements

    • Re-implemented as State Pattern


Tanager project elaboration phase 32

Tanager ProjectElaboration Phase 3

  • Implementation

  • Unit Tests

    • Delete downloaded songs

    • Regression unit tests

  • System Tests

    • Exploratory tests

  • Demonstrated results for stakeholders


Tanager project elaboration phase 4

Tanager ProjectElaboration Phase 4

  • Goals

    • Select Playlist Order

    • Restart Current Song

    • Skip to Next Song

    • Skip to Previous Song


Tanager project elaboration phase 41

Tanager ProjectElaboration Phase 4

  • Analysis/design

    • Lots of reuse

  • Implementation

  • Unit Tests

    • Regression unit tests

  • System Tests

    • Exploratory tests

  • Demonstrated results for stakeholders


Tanager demonstration

TanagerJava.jar

Power On

Download Songs

View Playlist

Delete a Song

Select Playlist Order

Play Music

Pause/Restart Music

Volume Adjustments

Skip to Next Song

Restart Current Song

Skip to Previous Song

Power Off

Tanager Demonstration


Advantages and disadvantages of an iterative ooad process

Advantages and Disadvantages of an Iterative OOAD Process

  • Disadvantages

    • Training

    • Documentation

    • Switching from waterfall methodology


Advantages and disadvantages of an iterative ooad process1

Advantages and Disadvantages of an Iterative OOAD Process

  • Advantages

    • Production-ready code implemented early

    • Stakeholders involved early

    • Concentrate on subset of problem

    • Less likely to miss details


Conclusions

Conclusions

  • Meets user requirements

  • Robust design

  • Design and implementation reuse

  • Easily-learned process


Conclusions1

Conclusions

  • Analysis, design, implementation, and testing artifacts for each phase available online athttp://www.cs.iastate.edu/~rjlavey/Tanager/


Questions

Questions?


  • Login