Principles and concepts of analyzing and designing large software systems. Analysis of software systems. Designing software systems using design patterns and object-oriented techniques. Prerequisite: Grade of C or better in CS 3540 or Admission to MS in Computer Science program. Credit cannot be earned for both CS 4550 and CS 5550. Approved for distance education.