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.
Utilizing to solve recurring architectural problems. The Core Curriculum
Using sequence and state diagrams to map out how objects interact over time. en.605.704
In the world of high-level software engineering, the ability to write code is only half the battle. The other half—and arguably the more complex part—is the structural planning that ensures software is scalable, maintainable, and robust. This is the focus of EN.605.704: Object-Oriented Analysis and Design , a pivotal graduate-level course offered by the Johns Hopkins University Engineering for Professionals (EP) program.
For Computer Science students, it is often taken after completing core foundation courses such as Foundations of Software Engineering (EN.605.601). In the world of high-level software engineering, the
Focusing on finding candidate classes and defining the static structure of a system.
Applying static and dynamic analysis to model system behavior. For Computer Science students
Applying formal constraints to models to ensure data integrity and logic.