CSE584: Software Engineering Lecture 2 (April 8, 1997)

4/9/97


Click here to start


Table of Contents

CSE584: Software Engineering Lecture 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