Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Design Project Phase 2 Team 1: Lisa Anthony Luiza da Silva Erik Hayes Diana Tetelman.

Similar presentations


Presentation on theme: "Software Design Project Phase 2 Team 1: Lisa Anthony Luiza da Silva Erik Hayes Diana Tetelman."— Presentation transcript:

1 Software Design Project Phase 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 For Implicit 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 KWICRow extends contains ObjectCollection

5 Changes Needed For Noise 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 extends contains ObjectCollection KWICRow SentenceCollection

6 Implicit Invocation KWIC Uses Diagram extends Sorter Main KWICBroadcaster OutputShifter KWICListener SentenceCollection KWICRow ObjectCollection extends contains KWICEvent receives/ sends receives createsmanipulatesiterates implements Input instantiates

7 II Modules Affected by Data Representation Changes Shifter extends Sorter Main KWICBroadcaster Output Shifter KWICListener SentenceCollection KWICRow ObjectCollection extends contains KWICEvent receives/ sends receives createsmanipulatesiterates implements Input instantiates affected by index based storage affected by filter addition

8 Sorter Main OutputShifterInput instantiates extends SentenceCollection KWICRow ObjectCollection contains manipulatesiterates fills manipulates instantiates Pipe and Filter KWIC Uses Diagram

9 PNF Modules Affected by Data Representation Changes Sorter Main Output Shifter Input instantiates extends SentenceCollection KWICRow ObjectCollection contains manipulatesiterates fills manipulates instantiates Noise sets noise filter affected by index based storage affected by filter addition

10 Object Oriented KWIC Uses Diagram Main SorterOutputShifterInput SentenceCollection KWICRow ObjectCollection instantiates extends contains manipulates

11 OO Modules Affected by Data Representation Changes Sorter Main Output Shifter Input instantiates extends KWICRow ObjectCollection contains manipulatesinstantiates affected by index based storage affected by filter addition SentenceCollection

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 StyleNoise Words Filter Implicit Shift Storage Implicit Invocation 42 Pipe-and- Filter 32 Object Oriented 22 Number of modules changed in each style

13 Analysis of Designs & Styles StylePlusesMinuses 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 weren’t seriously considered in our predictions in Phase 1 May have made some changes easier if we had.


Download ppt "Software Design Project Phase 2 Team 1: Lisa Anthony Luiza da Silva Erik Hayes Diana Tetelman."

Similar presentations


Ads by Google