CIS501 Lectures: Software Architecture

Week 1

Reference material: Using C# with Visual Studio and Nclass
Lecture 1: Introduction to software architecture; using Visual Studio | VS exercise | Exercise postmortem

Week 2

Lecture 2: Classes model reality; unit testing | VS exercise
Lecture 3: Storage and object diagrams; using a debugger | VS exercises | sample solution

Week 3

Lecture 4: Class diagrams | VS exercise | sample solution to exercise

Week 4

Lecture 5: Interfaces and Delegates | VS exercise | Class-diagram solution to exercise

Week 5

Lecture 6: Coupling and the MVC software architecture
| Tuesday VS exercise | Thursday VS exercise

Week 6

Lecture 7: Use cases and realizations via communication and sequence diagrams
Lecture 8: State diagrams and controllers | VS Exercise

Week 7

state diagram(s) for Assignment 3
Lecture 9: Multi-threaded execution and locks
| Tuesday VS Exercise | Thursday VS Exercise

Week 9

Design-patterns prelude: Review of interfaces and delegates
Design Patterns I: Factories and Iterators
| Factory Method VS Exercise

Week 10

Design Patterns II: Proxies | Virtual Proxy VS Exercise
Design Patterns IV: Composite Pattern | Composite VS Exercise | Sample solution

Week 11

Remote Proxies
| Remote Proxy VS Exercise | communication diagrams for exercises | the same diagrams as a jpg image
Design Patterns III: Wrappers

Week 12

Wrapup on design patterns and introduction to version control

Week 13

Software architecture concepts: component/connector configuration, standard architectures, architecture-description languages, domain-specific design, product lines, middleware, aspect-oriented programming.
Review from Tuesday, preview of Thursday

David Schmidt   das at

Creative Commons License This work is licensed under a Creative Commons License.