3 lectures per week, 50 minutes each (3-0-3)
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.
“Software Design: From Programming to Architecture” by Eric J. Braude, John Wiley & Sons, 2004, ISBN: 0 – 471- 42920 -1.
Upon completion of this course, students will have the ability to: