Skip to main content

The software architecture systems course examines the principles and techniques for the architectural design of complex systems using well-founded architectural paradigms. It considers commonly-used software system structures, techniques for designing and implementing these structures, models and formal notations for characterizing and reasoning about architectures, tools for generating specific instances of an architecture, and case studies of actual system architectures. Topics include overview of software architecture, architectural drivers, structures and views, data flow systems, data flow styles, call-return systems, client-server and tiered architecture, middleware, event based systems, shared information systems, techniques and methods for the architecture, design by selection, architecture evaluation, product lines, using UML for design representation, formal specification and analysis, architecture conformance, performance, availability, service oriented architecture and web services, security, usability, organizational alignment, global distributed development, platforms, and research directions in software architecture systems.

3
CPEN 686