Object-oriented design involves transforming the descriptive analysis models into computational models for coding. During an object-oriented requirements analysis, a descriptive model of the problem domain is developed into system specifications. This course is intended for software engineers and managers who will be involved in the design of an object-oriented system. The course focuses on case studies and carries them through the design phase. Instruction uses the notation specified by the Unified Modeling Language (UML) developed by Booch, Jacobson and Rumbaugh.
Students will learn Agile and Iterative Development methodologies, such as Unified Process and SCRUM, and use case design and requirements driven design, among other important topics. The course covers the principles of object-oriented design as well as practical considerations for applying these principles. The course includes a comprehensive final project for students to practice requirements gathering and documenting design using different UML diagrams. Upon successful completion of this course, students should have an understanding of the principles of object-oriented design and system modeling and experience in applying these principles to real-world projects.
Skills Needed: Programming experience required in an object oriented language. e.g. Java, C++, C#, Python, etc.