En.605.704 May 2026

EN.605.704: Mastering Object-Oriented Analysis and Design

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.

  • Lab 1: Implementing a periodic task set using POSIX timers (clock_nanosleep). Measuring scheduler jitter.
  • Lab 2: Simulating priority inversion and fixing it with pthread_mutexattr_setprotocol.
  • Lab 3: Building a watchdog system that monitors task deadlines and escalates missed deadlines.
  • Final Project: Students choose a domain (e.g., drone flight controller, patient vital-sign monitor) and implement a fully schedulable system with documentation.

6. Advanced Topics (Time Permitting)

Johns Hopkins University’s EN.605.704 course, Object-Oriented Analysis and Design, focuses on modeling, requirements development, and software design using object-oriented techniques. The graduate-level curriculum covers Unified Modeling Language (UML), design patterns, and system architecture to ensure software scalability and maintainability. For more details, visit Johns Hopkins University Object-Oriented Analysis and Design - 605.704 en.605.704

Completing EN.605.704 differentiates you in the job market. Real-time expertise is critical in: Lab 1: Implementing a periodic task set using

Students are expected to have prior experience in an OO programming language like Java or C++, although the course itself does not require active programming assignments. Johns Hopkins Engineering Online Core Concepts Explored Object-Oriented Analysis and Design

Deliverable:

Jupyter notebook with analysis of 3 real benchmarks (e.g., from SPEC).