SE 4550 : Software Architecture and Design

SE 4550: Software Architecture and Design

Semester Hours:   3.0
Contact Hours:   3
Coordinator:   Michael Decker
Text:   Pattern-Oriented Software Architecture, A System of Patterns: Vol 1
Author(s):   Frank Buschmann
Year:   2000

SPECIFIC COURSE INFORMATION

Catalog Description

Principles and concepts of analyzing and designing large software systems. Analysis of software systems. Designing software systems using design patterns and object-oriented techniques. Prerequisites: Grade of C or better in SE 3540. Credits cannot be received for both SE 4550 and SE 5550. Approved for distance learning.

Course type: ELECTIVE

SPECIFIC COURSE GOALS

  • I can select and use appropriate design patterns.
  • I can specify a software system's architecture using UML.
  • I can understand separation of concerns and its impact on software design.
  • I can architect a software system based on the given requirements.
  • I can perform a design review on a software system.

SOFTWARE ENGINEERING STUDENT OUTCOMES ADDRESSED BY THIS COURSE

  • SE 1 An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
  • SE 2 An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
  • SE 6 An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions

LIST OF TOPICS COVERED

  • Introduction and Importance of Design
  • Software Architecture
    • Components and connectors
    • Constraints
    • Composition
  • Unified Modeling Language
  • Software Design
    • Design reviews
    • Inter-operability
    • Separation of concerns
  • Object-oriented Design
    • Design patterns
    • Information hiding
    • Interfaces
    • Inheritance and polymorphism

Updated: 12/15/2025 04:47PM