Object-Oriented Design

2.4 rating

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.

4 hours to complete
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.
6 videos (Total 59 min) 9 readings 4 quizzes

4 hours to complete
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.
11 videos (Total 70 min) 4 readings 3 quizzes

7 hours to complete
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.
8 videos (Total 63 min) 6 readings 5 quizzes

2 hours to complete
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.
4 readings

Tham gia đánh giá khóa học

Nếu bạn đã học qua khóa học này thì mời bạn tham gia đóng góp ý kiến và đánh giá để cộng đồng bạn học có thêm thông tin tham khảo.

Cung cấp bởi: Coursera /  University of Alberta

Thời lượng: 17 giờ
Ngôn ngữ giảng dạy: Tiếng Anh
Chi phí: Miễn phí / 0
Đối tượng: Intermediate

Thông tin về nhà cung cấp

Coursera (/ kərˈsɛrə /) là một nền tảng học tập trực tuyến toàn cầu được thành lập vào năm 2012 bởi 2 giáo sư khoa học máy tính của đại học Stanford là Andrew NgDaphne Koller, nền tảng này cung cấp các khóa học trực tuyến (MOOC) cho cộng đồng người học online.

Coursera hợp tác với các trường đại học danh tiếng tại Bắc Mỹ và trên khắp thế giới, cùng với nhiều tổ chức khác để cung cấp các khóa học trực tuyến chất lượng, theo chuyên ngành và được cấp chứng chỉ trong nhiều lĩnh vực như kỹ thuật, khoa học dữ liệu, học máy, toán học, kinh doanh, khoa học máy tính, tiếp thị kỹ thuật số, nhân văn, y học, sinh học, khoa học xã hội , và nhiều ngành khác.

Các khóa học cùng chủ đề

Visual Perception for Self-Driving Cars

This course will introduce you to the main perception tasks in autonomous driving, static and dynamic object detection, and will survey common computer vision methods for robotic perception. By the...

Motion Planning for Self-Driving Cars

This course will introduce you to the main planning tasks in autonomous driving, including mission planning, behavior planning and local planning. By the end of this course, you will be...

Capstone: Autonomous Runway Detection for IoT

This capstone project course ties together the knowledge from three previous courses in IoT though embedded systems: Development of Real-Time Systems Web Connectivity & Security and Embedded Hardware and Operating...

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to Top