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).
Этот курс входит в специализацию ''Специализация Software Design and Architecture'
от партнера
Об этом курсе
Приобретаемые навыки
- Object-Oriented Design
- Object-Oriented Analysis And Design
- Unified Modeling Language (UML)
от партнера

Альбертский университет
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.
Программа курса: что вы изучите
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.
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.
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.
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.
Рецензии
- 5 stars76,11 %
- 4 stars18,92 %
- 3 stars3,46 %
- 2 stars0,64 %
- 1 star0,84 %
Лучшие отзывы о курсе ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОЕКТИРОВАНИЕ
Wonderful course. I have learned the concept of OOP and design process in this course. I recommend this course to students or professional who need some basic theory for their work.
there are some errors in assignment and material in general the assignments are very labor-intensive and do not seem to add too much value for real-world projects
The course is easy to follow and exciting to pass. My special thanks to Sam, she is really nice host of this one) Tasks is pretty easy to complete if you have an software engineering experience
Tying the assignments to an Android Studio project was overkill; the same principles could have been demonstrated with a SIMPLE java application.
Специализация 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.

Часто задаваемые вопросы
Когда я получу доступ к лекциям и заданиям?
Что я получу, оформив подписку на специализацию?
Можно ли получить финансовую помощь?
Остались вопросы? Посетите Центр поддержки учащихся.