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 elements and concepts.
Object-Oriented Analysis and Design: Foundations & Concepts
Instructor: Bruce Montgomery, PhD, PMP
Included with
Recommended experience
What you'll learn
Apply industry-standard languages such as Java to object-oriented software designs.
Design object-oriented solutions with structural, behavioral, and composite graphical UML diagrams
Design test cases appropriate to object-oriented applications using JUnit.
Skills you'll gain
Details to know
Add to your LinkedIn profile
August 2024
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
An introduction to the benefits and challenges in applying Object-Oriented Analysis and Design (OOAD). The overall specialization and the instructor are introduced here. Then the challenges of developing software to support changing requirements are reviewed, and the Object-Oriented (OO) paradigm is presented as a possible approach to better analysis and design. Lectures examine how the OO approach differs from other programming paradigms and how it can provide helpful perspectives in conceptual, specification, and implementation design stages. Students should consider their background in Java and begin appropriate tutorial study at a level needed to allow use of the language in course projects (suggested resources are provided).
What's included
8 videos3 readings1 assignment2 discussion prompts
The module provides a review of core OO foundational concepts, including abstraction, encapsulation, modularity, polymorphism, delegation, inheritance, identity, and more. Key OO terminology for discussing aspects of class and object design are also presented. Finally, Java – our course programming language - is reviewed, not in a full development tutorial, but rather in examining the languages elements that support effective OO design and development. Resources are provided for supporting Java tutorial needs, and an example of Java development is provided as a first foray into OOAD development projects.
What's included
5 videos2 readings1 assignment1 peer review2 ungraded labs
The Unified Modeling Language is a method for performing OOAD using graphical diagramming. The module focuses on UML as an effective tool for our design efforts – class diagrams can easily show major relationships and responsibilities of collaborating class networks; use case diagrams can help with analysis of critical user tasks needed for a successful system analysis; and the behavioral diagrams (sequence, state, and activity) can show details of messaging and command flow through applications. UML is regularly used in both academic and industry settings for designing and describing complex OO systems, and it will also be part of many OOAD course development projects.
What's included
5 videos1 reading1 assignment1 peer review
Testing in any software system is a recognized challenge; in an object-based system where communicating elements hold their own state, data, and functionality it can be even more difficult to find effective test suites. The module looks at the core issues with software test, and at what approaches are typically used in industry for test at each stage and level of a software project. There is a special focus on messaging and serialization, two key elements of connectivity in OO systems that have their own challenges and approaches for thorough test and development. Finally, the module looks at a first-level view of JUnit, a unit testing framework used in industry with Java that will also be used (in a simple fashion) as a tool for grading and verifying course programming work.
What's included
5 videos1 reading1 assignment1 programming assignment1 peer review
The capstone project presented here lets the student confirm their understanding of the three main tools employed in OOAD projects – Java, JUnit, and UML. While the capstone is not an extreme challenge, it does provide a common checkpoint to ensure skills are in place for more challenging OO design and development in the two follow-on courses – and provides the student with an opportunity to review their readiness to continue in the specialization.
What's included
2 videos2 readings1 programming assignment1 peer review
Instructor
Offered by
Recommended if you're interested in Software Development
Northeastern University
University of Colorado Boulder
University of Colorado Boulder
University of Colorado Boulder
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.