In this course, we will introduce the need and process of factoring systems into architectures and layers. We will learn how to design classes for object-oriented systems, how to use a Statechart to define object and class behavior, and how to develop PERT and GANNT charts. We will also explain the organizational issues surrounding project management.