Table of Contents
CSE584: Software EngineeringLecture 2 (April 8, 1997)
Lecture 2, Outline [approximate minutes]
Design: management of complexity
Design, design, design
Which decomposition?
Structure
So what happens?
Properties of design [Bergland]
Cohesion
Coupling
It’s easy to...
Complexity
Correctness
Correspondence
Functional decomposition
Question
Physical structure
Information hiding
Basics of information hiding
Capturing anticipated changes
Claim
Other anticipated changes?
Central premise I
Central premise II
Central premise III
Central premise IV
Central premise V
Information hiding reprise
Information Hiding and OO
Layering [Parnas 79]
The uses relation
uses vs. invokes
Parnas’ observation
Criteria for uses(A,B)
Layering in Dijkstra’s THE OS
Modules and layers interact?
Language support
Implicit invocation
Implicit invocation mechanisms
Not just indirection
Mediators
Experience
Example
ADT design
Hardwiring
Mediators
Change: lazy equivalence
ADT design
Hardwired design
Mediator: with lazy update
Another change: size of S1
ADT design
Mediators
Assessment
|
Acrobat
Author: CSE
Email: notkin@cs.washington.edu
Home Page: http://www.cs.washington.edu/homes/notkin
|