An applied analysis and design class that addresses the use of object-oriented techniques. Topics include domain modeling, use cases, architectural design and modeling notations. Students apply techniques in analysis and design projects. Focus is on key object-oriented practices and architectural design.



Object-Oriented Analysis and Design: Practice & Architecture

Instructor: Bruce Montgomery, PhD, PMP
Included with
Recommended experience
What you'll learn
Consider practices and philosophies of creating resilient and responsive software designs
Apply practices for increasing object-oriented code quality and maintainability
Design architectures to effectively integrate object-oriented and other system components
Details to know

Add to your LinkedIn profile
March 2025
4 assignments
See how employees at top companies are mastering in-demand skills


Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review

There are 5 modules in this course
This module introduces core object-oriented (OO) design principles and modeling techniques to establish a strong foundation for designing robust and maintainable software systems. Learners will explore how UML can be used to represent OO concepts, analyze real-world applications through design patterns, and evaluate best practices for developing resilient OO-based solutions.
What's included
9 videos3 readings1 assignment1 peer review2 discussion prompts
This module builds on foundational object-oriented (OO) principles by applying advanced design patterns, refactoring techniques, and best practices in OO development. You will explore how to integrate UML modeling with OO design, improve software resilience through refactoring, and implement design principles in Java-based applications. Additionally, the module introduces advanced OO frameworks, including dependency injection (DI) and inversion of control (IoC), to enhance modularity and maintainability in complex software systems.
What's included
6 videos1 reading1 assignment1 peer review1 ungraded lab
This module explores the intersection of object-oriented (OO) design with software architecture, user experience (UX/UI), database integration, and API design. You will refine your ability to model applications using UML, implement OO design patterns in Java, and consider the broader implications of OO design in software engineering projects. The module also examines how OO principles relate to high-level software architecture and project management, ensuring that students gain a holistic understanding of software design and development.
What's included
6 videos1 reading1 assignment1 peer review1 ungraded lab
This module delves into advanced object-oriented (OO) design concepts, focusing on best practices, design patterns, and language-specific implementations. You will explore UML modeling, Java-based OO development, and interface design while analyzing pattern libraries and anti-patterns. Additionally, this module introduces the role of AI in software development and compares OO implementations across various programming languages, preparing students to adapt your skills to evolving industry trends.
What's included
6 videos1 reading1 assignment1 peer review1 ungraded lab
In this final module, you will demonstrate mastery of object-oriented (OO) design and development through a comprehensive capstone project. This module reinforces key concepts covered throughout the course, including UML modeling, OO design principles, software architecture, and best practices in Java-based development.
What's included
4 videos2 readings1 peer review1 ungraded lab
Instructor

Offered by
Build toward a degree
This course is part of the following degree program(s) offered by University of Colorado Boulder. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.¹
Why people choose Coursera for their career




New to Software Development? Start here.

Open new doors with Coursera Plus
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Join over 3,400 global companies that choose Coursera for Business
Upskill your employees to excel in the digital economy
Frequently asked questions
Access to lectures and assignments depends on your type of enrollment. If you take a course in audit mode, you will be able to see most course materials for free. To access graded assignments and to earn a Certificate, you will need to purchase the Certificate experience, during or after your audit. If you don't see the audit option:
The course may not offer an audit option. You can try a Free Trial instead, or apply for Financial Aid.
The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, 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.
You will be eligible for a full refund until two weeks after your payment date, or (for courses that have just launched) until two weeks after the first session of the course begins, whichever is later. You cannot receive a refund once you’ve earned a Course Certificate, even if you complete the course within the two-week refund period. See our full refund policy.