tanager a case study of iterative development in object oriented analysis and design
Download
Skip this Video
Download Presentation
Tanager: a case study of iterative development in object-oriented analysis and design

Loading in 2 Seconds...

play fullscreen
1 / 40

TanagerSlide Set - PowerPoint PPT Presentation


  • 248 Views
  • Uploaded on

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

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

PowerPoint Slideshow about 'TanagerSlide Set' - paul2


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 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 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/
ad