The BRADLEY DEPARTMENT of ELECTRICAL and COMPUTER ENGINEERING

ECE 5576 Object-Oriented Software Development II | ECE | Virginia Tech

Graduate PROGRAMS

Course Information

Description

Object-oriented design, including both logical and physical design. In logical design, rules related to class interfaces, containment, inheritance, and associations are covered along with design patterns. Physical design addresses components, levelized designs, and the application of generic programming concepts in design. Students develop design documentation for an engineering software project.

Why take this course?

Object-oriented software principles are being applied in all engineering disciplines. This course provides an introduction to fundamental and advanced object-oriented analysis and design topics.

Prerequisites

4574

Experience with dynamic polymorphism, operator overloading, generic progamming and working with frameworks at the level of 4574, Large-Scale Software Development for Engineers, is required.

Major Measurable Learning Objectives

  • Design levelized systems that have a natural order for construction and testing.
  • Apply patterns in object-oriented design.
  • Apply generic programming in object-oriented design.
  • Design systems in terms of components.

Course Topics

Topic

Percentage of Course

Design rules for class interfaces 5%
Design rules for moving from procedural programs 5%
Design rules for containment 10%
Design rules for single-inheritance 10%
Design rules for multiple-inheritance 5%
Design rules for association relationships 5%
Ground rules for physical design 5%
Designing with components 10%
Creating levelized designs 15%
Application of design patterns 15%
Generic programming fundamentals 5%
Generic programming in design of algorithms 10%