Software Design and Architecture: Course Outline
The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships between them.
Topics
Introduction to Software Design
- Introduction to Software Architecture
- Introduction to Software Design
- Design Vs. Architecture
Software Architecture Core Concepts
- Define Software Architecture
- Architecture Address NFR
- Architectures and Technologies
Software Architecture Business Cycle
- Where do architecture comes from
- Software process and architecture business cycle
- What makes a good architecture
Software Architecture Business Cycle
- Activities in software process and architecture business cycle
- Architectural Structures and views
Quality Attributes in Software Architecture
- Motivation
- What are the different Quantity attributes
- Performance, Scalability, Modifiability, Security, Availability, Robustness
- How to Achieve quality attributes at architectural level
Software Architecture Process
- Process Outline
- Architecture Design
- Validation
Case Study (solution)
- Architecture Patterns
- Structural View
- Behavioural View
- Implementation Issues
Topics
Documenting Software Architecture
- Architecture Requirements
- Solution
- Architecture Analysis
Introduction to design
- Introduction to Unified modelling language (UML)
- Structural and behavioural diagrams
Introduction to design
- Introduction to Unified modelling language (UML)
- Structural and behavioural diagrams
Activity
- Modeling structural (class diagram) and behavioral diagram (use case, sequence diagram and state machine diagram) of online shopping application
Introduction to Software Product Line engineering
- Overview
- What makes SPL works
- Architectures for Product Lines
Aspect Oriented Architecture
- Introduction to Aspect-Oriented Programming (basic concepts)
- Aspect oriented architecture
- Aspect oriented Modelling using UML
- Aspect Oriented Modelling tools
Model-Driven Architecture
- What is MDA?
- Why MDA?
- State of the Art Practices and Tools
Text Books
E-Books (Full Text)
-
by McCabe, James D.
Date Published June 2007
Pages 495 -
by Hanmer, Robert
Date Published December 2012
Pages 386 -
by Oussalah, Mourad Chabane
Date Published May 2014
Pages 258 -
by De La Rosa, Jose
Date Published February 2013
Pages 428