Software Architecture Concepts
To learn why, how and when to apply various software architectural techniques. This includes understanding the difference between software design and software architecture. To learn and understand how software architecture is envisioned, evaluated and communicated and thereby, to understand the characteristics of a software architect. To understand how and when to apply the latest architectural styles, patterns and techniques by being aware of the trade-offs and pros & cons in applying them to address the requirements of various application system scenarios.
Course outline
- Architecture in Context & Architectural Concepts
- Application Types and Categories
- Information Domains
- Ownership & Flow Architecture Design Process
- Software Engineering Tools & Governance
- Architectural Styles and Patterns
- Enterprise application Integration (EAI) Patterns and SOA
- Documenting Architectures
- Quality Attributes and Quality Attribute Scenarios
- Cross-Cutting Architectural Concerns
- Architectural Evolution and Application Refactoring
- Architecture Analysis (ATAM, CBAM etc.)
- People, Role & Terms
- Architectural Case Studies
Eligibility requirements
Degree in Computer Science, IT, Engineering, Science, or a related area
OR
Recognized professional qualification in Computing, IT, Engineering or management
OR
Minimum standards at GCE A-Level as prescribed by faculty and approved by senate and a recognized certification in a related area and at least 3 years relevant experience.
Target group
Engineers and Professionals working on information systems
Duration
14 2-hour lectures and on-line instruction
Start date
May 2016
Resource Personnel
Dr. Indika Perera PhD (St Andrews), MBS (Colombo), MSc (Moratuwa), BSc Eng. (Hons) (Moratuwa), PGDBM (Colombo), AMIE (SL) indika@cse.mrt.ac.lk |