À propos de ce cours
4.6
338 ratings
69 reviews
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....
Globe

Cours en ligne à 100 %

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.
Calendar

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.
Intermediate Level

Niveau intermédiaire

Clock

Recommandé : Four weeks of study, 5-8 hours/week

Approx. 20 heures pour terminer
Comment Dots

English

Sous-titres : English

Compétences que vous acquerrez

Object-Oriented DesignObject-Oriented Analysis And DesignUnified Modeling Language (UML)
Globe

Cours en ligne à 100 %

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.
Calendar

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.
Intermediate Level

Niveau intermédiaire

Clock

Recommandé : Four weeks of study, 5-8 hours/week

Approx. 20 heures pour terminer
Comment Dots

English

Sous-titres : English

Programme du cours : ce que vous apprendrez dans ce cours

1

Section
Clock
3 heures pour terminer

Object-Oriented Analysis and Design

Good software design begins before coding. After establishing the initial software requirements, design practices involve two main activities: conceptual design and technical design. In this module, you will realize the importance of design and object-oriented thinking, and learn how to design software using techniques like CRC cards....
Reading
6 vidéos (Total 59 min), 9 lectures, 4 quiz
Video6 vidéos
1.1.2 – Software Architect and Design Roles in Industry20 min
1.1.3 – Object-Oriented Modeling3 min
1.1.4 – Software Requirements, Conceptual and Technical Designs9 min
1.1.5 – Competing Qualities and Trade-offs8 min
1.1.6 – Record, Organize, and Refine Components7 min
Reading9 lectures
Meet Your Presenter – Sam Jeffery10 min
Meet Your Facilitators10 min
Java Knowledge10 min
Object Oriented Design Course Notes10 min
Course Glossary10 min
Discussion: Introduce Yourself10 min
Expressing Requirements with User Stories10 min
Categories of Objects in Design10 min
Discussion: Modeling CRC10 min
Quiz4 exercices pour s'entraîner
Java Proficiency Quiz 18 min
Java Proficiency Quiz 28 min
Java Proficiency Quiz 38 min
Module 1 Review24 min

2

Section
Clock
6 heures pour terminer

Object-Oriented Modeling

Best software design practices have evolved alongside programming languages. Today, all developers should be familiar with abstraction, encapsulation, decomposition, and generalization, which are fundamental principles in object-oriented design. You will learn all of these principles and how they are expressed in Java and communicated visually in Unified Modelling Language....
Reading
11 vidéos (Total 70 min), 3 lectures, 3 quiz
Video11 vidéos
1.2.2 – Languages Evolution6 min
1.2.3 – Abstraction5 min
1.2.4 – Encapsulation6 min
1.2.5 – Decomposition5 min
1.2.6 – Generalization5 min
1.2.7 – Abstraction in Java and UML6 min
1.2.8 – Encapsulation in Java and UML4 min
1.2.9 – Decomposition in Java and UML8 min
1.2.10 – Generalization with Inheritance in Java and UML7 min
1.2.11 – Generalization with Interfaces in Java and UML8 min
Reading3 lectures
Discussion: Design Principles and Language Evolution10 min
Ungraded Assignment - UML Class Diagram (Solution)10 min
Capstone Assignment 1.1 - UML Class Diagram (Solution)10 min
Quiz1 exercice pour s'entraîner
Module 2 Review24 min

3

Section
Clock
10 heures pour terminer

Design Principles

Additional design principles will help you to create code that is flexible, reusable, and maintainable. In this module you will learn about coupling and cohesion, separation of concerns, information hiding, and conceptual integrity. You will also learn to avoid common pitfalls with inheritance, and ways to express software behavior in UML....
Reading
8 vidéos (Total 63 min), 6 lectures, 5 quiz
Video8 vidéos
1.3.2 – Separation of Concerns9 min
1.3.3 – Information Hiding6 min
1.3.4 – Conceptual Integrity5 min
1.3.5 – Inheritance Issues5 min
1.3.6 – UML Sequence Diagram7 min
1.3.7 – UML State Diagram7 min
1.3.8 – Model Checking14 min
Reading6 lectures
Discussion: Coupling and Cohesion10 min
Discussion: Design Principles10 min
Ungraded Assignment - UML Sequence Diagram (Solution)10 min
Capstone Assignment 1.2 - UML Sequence Diagram (Solution)10 min
Ungraded Assignment - UML State Diagram (Solution)10 min
Capstone Assignment 1.3 - UML State Diagram (Solution)10 min
Quiz1 exercice pour s'entraîner
Module 3 Review24 min

4

Section
Clock
4 heures pour terminer

Capstone Challenge

In the previous modules you were introduced to object-oriented analysis and design, object-oriented modeling, and design principles. To cement your understanding of this material, you created a UML class diagram from an example Android code base, and used your understanding of the code base to make sequence and state diagrams to model its behavior. Now, in the final module of the course, given a description of new functionality and an updated UML class diagram, you will implement the updated design into the Android code base. After completing this development task, you will be ready to complete the final exam. ...
Reading
4 lectures, 2 quiz
Reading4 lectures
Capstone Assignment 1.4 - Update the Application (Solution)10 min
Discussion: Last Word – Object-Oriented Design10 min
Acknowledgements10 min
Credits10 min
Quiz1 exercice pour s'entraîner
Final Exam min
4.6
Direction Signs

14%

a commencé une nouvelle carrière après avoir terminé ces cours
Briefcase

83%

a bénéficié d'un avantage concret dans sa carrière grâce à ce cours
Money

10%

a obtenu une augmentation de salaire ou une promotion

Meilleurs avis

par SAOct 13th 2018

Awesome course! Well structured, great course notes and nice assignments. Helps me already in my daily work as a Salesforce platform developer :)

par APJul 1st 2018

Beautifully crafted and delivered very well.Well explained throughout however a lot more example are needed to understood the concept in depth.

Enseignant

Kenny Wong

Associate Professor
Computing Science, Faculty of Science

À propos de University of Alberta

UAlberta is considered among the world’s leading public research- and teaching-intensive universities. As one of Canada’s top universities, we’re known for excellence across the humanities, sciences, creative arts, business, engineering and health sciences....

À propos de la Spécialisation Software Design and Architecture

In the Software Design and Architecture Specialization, you will learn how to apply design principles, patterns, and architectures to create reusable and flexible software applications and systems. You will learn how to express and document the design and architecture of a software system using a visual notation. Practical examples and opportunities to apply your knowledge will help you develop employable skills and relevant expertise in the software industry....
Software Design and Architecture

Foire Aux Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

D'autres questions ? Visitez le Centre d'Aide pour les Etudiants.