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 - 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 'Tanager: a case study of iterative development in object-oriented analysis and design' - 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 object-oriented analysis and design

  • 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 object-oriented analysis and design

  • 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 object-oriented analysis and design

  • 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 object-oriented analysis and design

  • Complete each phase before moving to next


Waterfall methodology1
Waterfall Methodology object-oriented analysis and design

  • 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 object-oriented analysis and design

  • 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 object-oriented analysis and design

  • Advantages

    • Misunderstandings are caught early

    • Focus on subset of the problem

  • Disadvantages

    • Simple early designs may be inadequate


Tanager project
Tanager Project object-oriented analysis and design

  • 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 Project object-oriented analysis and designInception 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 Project object-oriented analysis and designInception 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 Project object-oriented analysis and designInception Phase

  • Wrote Brief Format for all use cases


Tanager project inception phase3
Tanager Project object-oriented analysis and designInception 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 Project object-oriented analysis and designInception 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 Project object-oriented analysis and designInception Phase

  • Refine use cases


Tanager project inception phase6
Tanager Project object-oriented analysis and designInception Phase


Tanager project inception phase7
Tanager Project object-oriented analysis and designInception Phase


Tanager project elaboration phase 1
Tanager Project object-oriented analysis and designElaboration 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 Project object-oriented analysis and designElaboration Phase 1-Analysis

  • Determine domain objects and associations


Tanager project elaboration phase 1 analysis1
Tanager Project object-oriented analysis and designElaboration Phase 1-Analysis

  • Domain Model


Tanager project elaboration phase 1 analysis2
Tanager Project object-oriented analysis and designElaboration Phase 1-Analysis

  • System Sequence Diagrams


Tanager project elaboration phase 1 analysis design
Tanager Project object-oriented analysis and designElaboration Phase 1–Analysis/Design

  • Operation Contracts


Tanager project elaboration phase 1 design
Tanager Project object-oriented analysis and designElaboration Phase 1-Design


Tanager project elaboration phase 1 design1
Tanager Project object-oriented analysis and designElaboration Phase 1-Design


Tanager project elaboration phase 11
Tanager Project object-oriented analysis and designElaboration 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 Project object-oriented analysis and designElaboration Phase 1 Demonstration

TanagerJava.jar

  • Power On

  • Download a Song

  • Power Off


Tanager project elaboration phase 2
Tanager Project object-oriented analysis and designElaboration 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 Project object-oriented analysis and designElaboration 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 Project object-oriented analysis and designElaboration 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 Project object-oriented analysis and designElaboration 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 Project object-oriented analysis and designElaboration 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 Project object-oriented analysis and designElaboration 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 Project object-oriented analysis and designElaboration Phase 4

  • Goals

    • Select Playlist Order

    • Restart Current Song

    • Skip to Next Song

    • Skip to Previous Song


Tanager project elaboration phase 41
Tanager Project object-oriented analysis and designElaboration 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 object-oriented analysis and design

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 object-oriented analysis and design

  • Disadvantages

    • Training

    • Documentation

    • Switching from waterfall methodology


Advantages and disadvantages of an iterative ooad process1
Advantages and Disadvantages of an Iterative OOAD Process object-oriented analysis and design

  • Advantages

    • Production-ready code implemented early

    • Stakeholders involved early

    • Concentrate on subset of problem

    • Less likely to miss details


Conclusions
Conclusions object-oriented analysis and design

  • Meets user requirements

  • Robust design

  • Design and implementation reuse

  • Easily-learned process


Conclusions1
Conclusions object-oriented analysis and design

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


Questions

Questions? object-oriented analysis and design


ad