Object-Oriented Design

This course is part of Software Design and Architecture Specialization

Instructor: Kenny Wong

Skills you'll gain

  •   Software Architecture
  •   Android Development
  •   Software Design
  •   Maintainability
  •   Java
  •   Conceptual Design
  •   Object Oriented Programming (OOP)
  •   Object Oriented Design
  •   Technical Design
  •   Unified Modeling Language
  • There are 4 modules in this course

    You will be challenged in the Capstone Project to apply your knowledge of object-oriented design by evolving and documenting the Java codebase for an Android application with corresponding UML documentation. After completing this course, you will be able to: • Apply the Class Responsibility Collaborator (CRC) technique to analyze and design the object-oriented model for a problem. • Explain and apply object-oriented modeling principles and their purpose (e.g., abstraction, encapsulation, decomposition, generalization). • Explain and apply different types of inheritance • Explain the difference between association, aggregation, and composition dependencies. • Express object-oriented models as Unified Modeling Language (UML) class diagrams. • Translate between UML class diagrams and equivalent Java code. • Apply design guidelines for modularity, separation of concerns, information hiding, and conceptual integrity to create a flexible, reusable, maintainable design. • Explain the tradeoff between cohesion and coupling.

    Object-Oriented Modeling

    Design Principles

    Capstone Challenge

    Explore more from Software Development

    ©2025  ementorhub.com. All rights reserved