Apr 18, 2024  
2017-2018 Undergraduate Academic Catalog 
    
2017-2018 Undergraduate Academic Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

SE 380 - Principles of Software Architecture

3 lecture hours 2 lab hours 4 credits
Course Description
This course provides an introduction to the architecture and design of complete software systems, building on components and patterns. Topics covered include architectural principles and alternatives, design documentation and the relationship between levels of abstraction. Laboratory assignments permit students to develop, evaluate and implement their designs. (prereq: SE 3821 , SE 2811 )
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
  • Understand principles of software architecture and their application to the software development process
  • Understand and be able to apply a variety of architectural styles and patterns
  • Review and evaluate software architectures
  • Specify a software architecture and implement a software system embodying it
  • Use computer-aided software engineering (CASE) tools in an architecture-driven design process
  • Work effectively as a member of a small team
  • Communicate architecture and design issues in an oral presentation

Prerequisites by Topic
  • Proficiency in object-oriented design
  • Proficiency in the application of software design patterns
  • Proficiency in the use of an individual software process

Course Topics
  • Introduction to course and software architecture (3 classes)
  • Quality attributes, architectural styles, and architectural design patterns (6 classes)
  • The role of architecture in software development (3 classes)
  • Designing the architecture (2 classes)
  • Architectural design patterns and styles (4 classes)
  • Architecture analysis and reviews (3 classes)
  • Team project work (3 classes)
  • Software architecture case studies (2 classes)
  • Reviews and exam (3 classes)

Laboratory Topics
  • Design project 1: functional and non-functional requirements, business drivers, mapping requirements to architecture (4 sessions)
  • Design project 2: architecture design, prototyping, analysis, and review (5 sessions)
  • Project presentations (1 session)

Coordinator
Jay Urbain



Add to Portfolio (opens a new window)