SWE 316: Software Design And Architecture

SWE 316: Software Design And Architecture

 
Course Information
Class/Laboratory Schedule: 

3 lectures per week, 50 minutes each (3-0-3)

Designation: 
 Required Course
Course Level: 
 Undergraduate
Prerequisites
Catalog Description: 

Study of design concepts and notations. Architecture, middleware architectures, design patterns, frameworks and components. Designing for qualities such as performance, security, reusability, reliability. Metrics and measurement. Basics of software evolution, re-engineering, and reverse engineering. Students participate in a group project on software design.

Textbook(s): 

“Software Design: From Programming to Architecture” by Eric J. Braude, John Wiley & Sons, 2004, ISBN: 0 – 471- 42920 -1.

Course Outcomes: 

Upon completion of this course, students will have the ability to:

  • Apply a wide variety of design patterns, frameworks, components,and architectures in designing a wide variety of software.
  • Develop different design solutions taking into considerationconflicting design principals.
  • Use sound software metrics to measure and assess the quality of thesoftware.
  • Restructure existing design in order to improve its quality.
  • Work effectively as leader/member of a development team to deliverquality software design.
  • Express and effectively present a developed software design in asoftware design document (SDD) for a software project of significantsize.
  • Employ appropriate methods and tools for developing designspecifications.
Topics Covered: 
  • Introduction to Software Design
  • Design Principals
  • Software Architecture
  • Middleware architecture & CORBA
  • Frameworks
  • Design Patterns
  • Software components
  • JavaBeans
  • Refactoring
  • Software Measurement and Software Metrics
  • Software Evolution
  • Reengineering and Reverse Engineering
  • Jackson Structured Development​