Software Design Project Phase 2 - PowerPoint PPT Presentation

About This Presentation
Title:

Software Design Project Phase 2

Description:

Conclusions about our designs, styles in general ... Data structure modifications confined to ObjectCollection. Most changes internal ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 15
Provided by: dianate
Learn more at: http://www.cs.cmu.edu
Category:

less

Transcript and Presenter's Notes

Title: Software Design Project Phase 2


1
Software Design ProjectPhase 2
  • Team 1
  • Lisa Anthony
  • Luiza da Silva
  • Erik Hayes
  • Diana Tetelman

2
Outline of Discussion
  • Overview
  • Review predictions from Phase 1
  • Data Structure changes
  • Implicit Shift Storage
  • Input Filter (as a VM concept)
  • Style Updates New Structure Diagrams
  • Implicit Invocation
  • Pipe-and-Filter
  • Object Oriented
  • Comparison of changeability
  • Conclusions about our designs, styles in general

3
Phase 1 Predictions Extensibility
Contractability
  • Object-Oriented easiest to extend/subset
  • 2nd level of uses hierarchy are all independent
  • Promotes reuse
  • Pipe-and-Filter
  • Contraction easy
  • Extension not so easy
  • Implicit Invocation
  • Not at all easy
  • Difficult to coordinate new threads and redefine
    pipes

4
Changes Needed ForImplicit Shift Storage
  • Data structure modifications confined to
    ObjectCollection
  • Most changes internal
  • Two additional methods
  • Change in interface
  • Required slight modifications to the Shifter
    classes in each style
  • Original design flexible enough to allow this
    modification with little exterior impact

SentenceCollection
extends
ObjectCollection
contains
KWICRow
5
Changes Needed ForNoise Words Filter
  • Data structure modifications confined to
    SentenceCollection
  • Most changes internal
  • One additional method
  • Change in interface
  • External modification only needed to take
    advantage of filter
  • Layering of data structure provided easy and
    transparent modification

SentenceCollection
extends
ObjectCollection
contains
KWICRow
6
Implicit Invocation KWIC Uses Diagram
7
II Modules Affected by Data Representation Changes
Main
instantiates
Shifter
Shifter
Input
Sorter
Output
extends
implements
creates
manipulates
iterates
SentenceCollection
KWICBroadcaster
KWICListener
extends
receives/sends
receives
ObjectCollection
contains
KWICEvent
KWICRow
8
Pipe and Filter KWIC Uses Diagram
instantiates
Main
Sorter
Output
Shifter
Input
fills
instantiates
manipulates
iterates
manipulates
SentenceCollection
extends
ObjectCollection
contains
KWICRow
9
PNF Modules Affected by Data Representation
Changes
instantiates
Main
Shifter
Noise
Sorter
Output
Input
fills
instantiates
sets noise filter
manipulates
iterates
manipulates
SentenceCollection
extends
ObjectCollection
contains
KWICRow
10
Object Oriented KWIC Uses Diagram
instantiates
Main
Sorter
Output
Shifter
Input
instantiates
manipulates
SentenceCollection
extends
ObjectCollection
contains
KWICRow
11
OO Modules Affected by Data Representation Changes
instantiates
Main
Shifter
Sorter
Output
Input
manipulates
instantiates
SentenceCollection
extends
ObjectCollection
contains
KWICRow
12
Which was easiest to change?
  • OO easiest to change
  • Fewer modules affected by each change
  • Reuse of original Input module for input of noise
    words to filter
  • Implicit Storage addition affected each the same
    due to centralized data structure

Style Noise Words Filter Implicit Shift Storage
Implicit Invocation 4 2
Pipe-and-Filter 3 2
Object Oriented 2 2
Number of modules changed in each style
13
Analysis of Designs Styles
Style Pluses Minuses
Implicit Invocation None of mid-level modules communicate Central point of control Mechanism for adding new events requires new handlers for messages
Pipe-and-Filter Did not have to change any original modules True PNF using streams would have been a little different Would have needed to change Shifter (as in II)
Object Oriented Very generic Least effort involved in changes ??
14
Conclusions
  • We like OO.
  • Robust.
  • Reusable.
  • Changeable.
  • Maintainable.
  • Generic and flexible.
  • Specific Phase 2 werent seriously considered in
    our predictions in Phase 1
  • May have made some changes easier if we had.
Write a Comment
User Comments (0)
About PowerShow.com