MCS 480 SOFTWARE DESIGN --- TABLE OF CONTENTS Slides by Spiros Mancoridis, Drexel University, Sept 97 Software Architecture Topics Terminology and Motivation Intuition About Architecture Hardware Architecture Network Architecture Building Architecture Architectural Styles of Software Systems Pipe and Filter Object-Oriented Implicit Invocation Client-Server Layered Repository Interpreter Process-Control Case Study The Future of Software Architecture Software Structure Topics Terminology and Motivation Theory of Modularity and Information Hiding Software Modularization ASF Formalism Programming Language Support for Modularity and Information Hiding Styles of Software Structure Behaviour Specification Topics State Transition Diagrams Higraphs and Statecharts Petri Nets Design Patterns Topics Terminology and Motivation Reusable OO Design Patterns: Adapter Facade Iterator Composite Template Observer Master-Slave