Highlights
This course takes Java beginners to the next level by covering object-oriented analysis and design. You will discover how to create modular, flexible, and reusable software, by applying object-oriented design principles and guidelines. And, you will be able to communicate these designs in a visual notation known as Unified Modelling Language (UML).
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.
About the Course Provider
Coursera provides access to more than 3000+ courses across a wide variety of subjects in parntership with different universities and organizations.