CSE584: Software EngineeringLecture 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
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
Email: notkin@cs.washington.edu
Home Page: http://www.cs.washington.edu/education/courses/584
Download presentation source