CSE584: Software Engineering Lecture 5: Design (B)

1/30/01


Click here to start


Table of Contents

CSE584: Software Engineering Lecture 5: Design (B)

Design lectures

Software architecture

Box-and-arrow diagrams: taken from the web without attribution

These diagrams

An aside: compilers I

An aside: compilers II

Other domains?

Back to software architecture

Another motivation: architectural mismatch

Mismatches included

So what?

Some classic definitions: http://www.sei.cmu.edu/architecture/definitions.html

More definitions

Components and connectors

Architectural style

Not just boxes and arrows

WRIGHT

Defining a connector in WRIGHT: client-server

Pipe connector in WRIGHT

Decoding a little bit

Benefits

Specializations

C2 Architecture: UC Irvine (Taylor et al.)

C2 Composition

C2 Communication

Well, do they help?

Open question I

Open question II

Open question III

Experience

AEGIS

Example benefits in AEGIS

Forcing discussions

On-going research

Design patterns

A weak analogy

Example: flyweight [Gamma et al.]

Flyweight structure

An enlightening experience

This is the real thing

The future

Patterns resources

Do any of you use patterns?

Frameworks

Examples

A commercial example

Open implementation

Central premises III and IV: from last week

These are often false

Examples

Two approaches often taken

The experts say

The OI solution

Allows the client to

Design issues: OI claims

Design issues: meta-interface

It’s not an entirely new idea

More recently

Recap

Next two weeks

Author: David Notkin

Email: notkin@cs.washington.edu

Home Page: http://www.cs.washington.edu/education/courses/584

Download presentation source