Mar 28, 2023  
Loyola Marymount University Bulletin 2018-2019 
Loyola Marymount University Bulletin 2018-2019 [ARCHIVED CATALOG]

SELP 651 Software Architecture

3 semester hours

This course will provide an understanding of what software architecture is, why we need it and common architectural patterns used in software-intensive systems. It examines architecture from different viewpoints to develop understanding of the factors that matter in practice, not just in theory. It examines two aspects that are specific to the issue of evolving software intensive eco-systems: design of domain appropriate architectures and what it means to be an evolvable architecture. Upon completion of this course, the student will understand:

  • How architecture fits into specification of systems and, more specifically, software intensive systems. HINT: Architecture is not a development phase!
  • Common techniques used to visualize software-intensive architectures.
  • Common techniques used to analyze how well an architecture will support non-functional requirements (i.e., quality attributes) such as safety, security, maintainability, evolvability, usability, etc. of the system.
  • An overview of common software architectural patterns and the problems they are designed to address, including:
    • Service, Object and Data Oriented design principles.
    • Commonly used Embedded and Enterprise architectural solutions.
    • Centralized and Distributed architectural paradigms and the resultant impact on complexity and sustainability.
    • Cloud Computing architectures (software as a service, data as a service, infrastructure as a service) and why they are used.
  • How architectural strategies have evolved over time and the prevailing theories regarding design for evolutionary growth of software eco-systems.

Knowledge of computer programming is recommended.