Apr 18, 2024  
2020-2021 Undergraduate Academic Catalog 
    
2020-2021 Undergraduate Academic Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

SE 3810 - Software Architecture

3 lecture hours 2 lab hours 4 credits


Course Description
This course provides an introduction to software architecture, the high-level design and structure of a software system, the discipline of creating such structures to satisfy quality requirements, and the documentation of these structures. Topics covered include quality attribute driven design; quality attribute design tactics; architectural styles and patterns; architecture tradeoff and cost-benefit analysis; skeletal system design, evaluation, and analysis; and coverage of contemporary topics in distributed, highly saleable software architectures. Laboratory assignments permit students to develop, evaluate, and implement their designs. (prereq: SE 2811 , SE 3821 )
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
  • Demonstrate an understanding of the principles of software architecture and the discipline of designing system structures to satisfy quality requirements.
  • Understand how to document software architectures
  • Understand and apply quality attribute driven design
  • Understand design tactics for satisfying quality attribute responses
  • Understand and apply architectural styles and patterns to satisfy design tactics
  • Understand basic architecture tradeoff and cost-benefit analysis
  • Understand skeletal system design to facilitate architecture evaluation and analysis; and coverage of contemporary topics in distributed, highly saleable software architectures.
  • Work collaboratively as a member of a small design team

Prerequisites by Topic
  • Software requirements, including non-functional (quality) requirements
  • Software development process tools and methods

Course Topics
  • Introduction to course and software architecture
  • Quality attributes, architectural styles, and architectural design patterns
  • The role of architecture in software development
  • Designing the architecture
  • Architectural design patterns and styles
  • Architecture analysis and reviews
  • Team project work
  • Software architecture case studies

 


Laboratory Topics
  • Functional and non-functional requirements, business drivers, mapping requirements to architecture
  • Architecture design, prototyping, analysis, and review
  • Project presentations

Coordinator
Dr. Jonathan Magaña



Add to Portfolio (opens a new window)