Presentation is loading. Please wait.

Presentation is loading. Please wait.

Feb. 20, 2001CSci 250 - Clark University1 CSci 250 Software Design & Development Lecture #11 Tuesday, Feb. 20, 2001.

Similar presentations


Presentation on theme: "Feb. 20, 2001CSci 250 - Clark University1 CSci 250 Software Design & Development Lecture #11 Tuesday, Feb. 20, 2001."— Presentation transcript:

1 Feb. 20, 2001CSci 250 - Clark University1 CSci 250 Software Design & Development Lecture #11 Tuesday, Feb. 20, 2001

2 Feb. 20, 2001CSci 250 - Clark University2 Class Format for Today §Announcements §Questions §Lecture on Chapter 6 §Design Exercise

3 Feb. 20, 2001CSci 250 - Clark University3 Announcements §EMC Career Fair @ Museum of Science in Boston: Weds., Feb. 28th, 4-7pm §Technology Research: l JNI l File system change notification l Filtering - see link on course web page §Reminder: Functional Specs due Thursday

4 Feb. 20, 2001CSci 250 - Clark University4 Questions? §From last week: l Analysis l Rational Rose - How did installation go? §About Content Index §Anything else?

5 Feb. 20, 2001CSci 250 - Clark University5 Chapter 6 System Design

6 Feb. 20, 2001CSci 250 - Clark University6 System Design Terminology §Decomposition §Subsystem (Vs. Class) §Control Flow §Access Control §Services Vs. Interfaces §Coupling Vs. Coherence / Cohesion §Layers & Partitions

7 Feb. 20, 2001CSci 250 - Clark University7 System Design §Focus: l Processes l Data Structures l Components §Challenges: l Managing conflicting criteria l Managing constraints

8 Feb. 20, 2001CSci 250 - Clark University8 Impact on Implementation §Coding complexity of subsystems §Cost of rework if design changes §Design of individual components should be delayed - Why?

9 Feb. 20, 2001CSci 250 - Clark University9 Software Architecture §Subsystem decomposition in terms of responsibilities §Dependencies among subsystems §Subsystem mapping to hardware §Policy decisions §Read & understand bullet list on page 171

10 Feb. 20, 2001CSci 250 - Clark University10 Subsystems Vs. Classes §Decompose system into simpler parts §Subsystems are composed of some number of classes §Complex subsystems may be further decomposed into smaller subsystems §How do you know when to stop?

11 Feb. 20, 2001CSci 250 - Clark University11 Services Vs. Interfaces §Service is a set of related operations that share a common purpose (Example?) §Interface is a specification (API) that includes: l Names of operations l Parameter names & types l Return values

12 Feb. 20, 2001CSci 250 - Clark University12 Focus of System Design §System Design focuses on defining services §Object Design focuses on defining interfaces §During System Design, keep it high level - focus on services rather than implementation. §Why?

13 Feb. 20, 2001CSci 250 - Clark University13 Trade-off of conflicting goals §Sometimes increasing coherence also increases coupling - why? §Want a balance between high coherence and low coupling - how can we do both?

14 Feb. 20, 2001CSci 250 - Clark University14 Layers Vs. Partitions §Both are ways to manage complexity §Layers are hierarchical; Partitions are not §Each layer uses services provided by which other layer(s)? §Define: Closed Architecture Vs. Open l See diagrams on pages 180, 181 §Layers have no knowledge of which other layer(s)?

15 Feb. 20, 2001CSci 250 - Clark University15 Layers & Partitions Cont’d §Partitions are responsible for different classes of services §Which to use: Layers or Partitions? l Usually both l How do we know which to use when? §How much is too much? “Excessive partitioning or layering can lead to increased complexity.” Explain.

16 Feb. 20, 2001CSci 250 - Clark University16 System Design Exercise Another look at The Car That Drives Itself

17 Feb. 20, 2001CSci 250 - Clark University17 For Next Time: Object Design Chapter 7


Download ppt "Feb. 20, 2001CSci 250 - Clark University1 CSci 250 Software Design & Development Lecture #11 Tuesday, Feb. 20, 2001."

Similar presentations


Ads by Google