Knowledge base for working with our services

En.605.704 May 2026

Applying formal constraints to models to ensure data integrity and logic.

Focusing on finding candidate classes and defining the static structure of a system.

Using sequence and state diagrams to map out how objects interact over time. en.605.704

Whether you are pursuing a Master of Science in Computer Science, Cybersecurity, or Systems Engineering, understanding the principles of Object-Oriented Analysis and Design (OOAD) is essential for bridging the gap between abstract requirements and technical implementation.

Students are expected to have experience in an object-oriented language like Java or C++ . Applying formal constraints to models to ensure data

EN.605.704 is designed to equip students with a disciplined approach to software development. Rather than focusing on a specific syntax, the course emphasizes . The primary goal is to teach students how to identify software components from business requirements and design them using standardized notations, specifically the Unified Modeling Language (UML) . Key learning outcomes include: Developing and refining software requirements.

Identifying candidate classes and establishing their relationships. Whether you are pursuing a Master of Science

For Computer Science students, it is often taken after completing core foundation courses such as Foundations of Software Engineering (EN.605.601).

Learning to capture functional requirements through Use Case Diagrams and detailed scenarios.

Applying static and dynamic analysis to model system behavior.