EdX

UML Class Diagrams for Software Engineering (edX)

UML Class Diagrams for Software Engineering (edX)

Learn how unified modeling language (UML) class diagrams are created and used to visualize and conceptualize the design of a system. Have you ever wondered how software architects, requirements engineers and business analysts sketch and draw out their plans for a software system? In this computer science course, you will gain an in-depth understanding of Unified Modeling Language (UML) class diagrams, which are used to visually represent the conceptual design of a system.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

You will learn about UML class diagrams and how they This course will focus on how UML class diagrams are used to map out the structure of a business domain by showing business objects, their attributes, and associations.
Taught by an instructor with decades of experience in requirements engineering and domain modelling, this course will equip you with the skill of in-depth understanding of a UML class diagram and will enable you to judge the functional fit of a UML class diagram as blueprint for the development of an enterprise information system.
The Unified Modeling Language (UML) has become an in-demand skill in software development and engineering. In fact, some of today’s top jobs, i.e. business analysts, enterprise architects, but also developers, technical consultants and solutions architects, require UML knowledge. Enroll today and gain knowledge in an in-demand skill that will help set you apart from the competition.

What you'll learn:

  • In-depth understanding of a UML class diagram
  • Basics of domain modeling and its importance
  • The basic building blocks of a class diagram: the concepts of "class", "attribute" and "association"
  • Advanced concepts of "inheritance" and "AssociationClass"

Syllabus

Week 1: Introduction and UML Class Diagram Basics (part1)
Introduction as to what a data model is, why data modelling matters, and the concepts of modelling languages and notations. Introduction to the notions of "Class" and "Attribute."

Week 2: UML Class Diagram Basics (parts 2 and 3)
Introduction to the concept of "Association" and its different variants: "unary" and "ternary associations," and "aggregation." Learning to navigate a larger UML diagram.

Week 3: UML Class Diagrams Advanced Topics
Introduction to the concept of "inheritance" and learning to read a model with inheritance. Introduction to the concept of "AssociationClass" and learning to reify an association.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Object-Oriented Programming Concepts (Coursera) Coursera
LearnQuest

Object-Oriented Programming Concepts (Coursera)

In Object-Oriented Concepts, we will introduce the core concepts behind modern, object-oriented, programming. We will discuss objects, classes, messaging, inheritance, polymorphism, and more. As with Fundamentals of Programming, we will illustrate the concepts using the Python language, but they will be portable to other object-oriented programming languages.

Jun 15th 2026
3 Weeks
Unix Tools: Data, Software and Production Engineering (edX) EdX
Delft University of Technology,DelftX

Unix Tools: Data, Software and Production Engineering (edX)

Grow from being a Unix novice to Unix wizard status! Process big data, analyze software code, run DevOps tasks and excel in your everyday job through the amazing power of the Unix shell and command-line tools. Processing information is the hallmark of all modern organizations, which are increasingly digital: absorbing, processing and generating information is a key element of their business.

Self Paced
Self-Paced
Visual Basic Programming: Inheritance and Polymorphism (Coursera) Coursera
LearnQuest

Visual Basic Programming: Inheritance and Polymorphism (Coursera)

This course is the third course in a series that aims to prepare you for a role working as a programmer. In this course, you will be introduced to the four main concepts in programming: Advanced String Operations and Dates, Modeling Classes, Development of Classes and Collections. Labs will allow the students to apply the material in the lectures in simple computer programs designed to re-enforce the material in the lesson.

Jun 15th 2026
4 Weeks
CS50's Introduction to Computer Science (edX) EdX
HarvardX,Harvard University

CS50's Introduction to Computer Science (edX)

An introduction to the intellectual enterprises of computer science and the art of programming. This is CS50, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50 teaches students how to think algorithmically and solve problems efficiently.

Self Paced
Self-Paced
Version Control with Git (Udacity) Udacity
Udacity

Version Control with Git (Udacity)

Learn to track and manage changes. This course covers the essentials of using the version control system Git. You'll be able to create a new Git repo, commit changes, and review the commit history of an existing repo. You'll also learn how to keep your commits organized using tags and branches and you'll master the art of merging changes by crushing those pesky merge conflicts.

Self Paced
Self-Paced
Software Engineering: Modeling Software Systems using UML (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Software Engineering: Modeling Software Systems using UML (Coursera)

Software Development Life Cycle (SDLC) is the process of developing software through planning, requirement analysis, design, implementation, testing, and maintenance. This course focuses on the requirement analysis phase of SDLC, and you will learn how to use UML models to capture the system requirements and to facilitate communication between client/users and developers.

Jun 22nd 2026
5-12 Weeks
Software Architecture (Coursera) Coursera
University of Alberta

Software Architecture (Coursera)

The way that software components — subroutines, classes, functions, etc. — are arranged, and the interactions between them, is called architecture. In this course you will study the ways these architectures are represented, both in UML and other visual tools. We will introduce the most common architectures, their qualities, and tradeoffs. We will talk about how architectures are evaluated, what makes a good architecture, and an architecture can be improved. We'll also talk about how the architecture touches on the process of software development.

Jun 15th 2026
4 Weeks
Inspiring Peak Performance on Technical Teams (Coursera) Coursera
Advancing Women in Tech

Inspiring Peak Performance on Technical Teams (Coursera)

In the previous course, Leadership Principles for Software Engineers, you learned about how to hire your team and set its goals. Now, learn how to lead each individual team member, increasing their personal best performance, and your team's overall performance, day after day. NANCY WANG, Director of Engineering and General Manager of AWS Data Protection Services and Founder, Advancing Women in Tech (AWIT), shares with you the engineering management skills cultivated at AMAZON (the #2-ranked company in the Fortune 500), with supplemental practices from GOOGLE and MICROSOFT. Develop the skills and mental models that the world's best engineering managers apply to turn their new hires into world-class engineers.

Jun 8th 2026
3 Weeks
Software Design Methods and Tools (Coursera) Coursera
University of Colorado System

Software Design Methods and Tools (Coursera)

Since many software developers are compulsive coders, they have created software over the years to help them do their job. There are tools which make design and its associated tasks easier. The course introduces some basic tools and techniques to help you with design. Tools aren’t always tangible, however. The last two lessons of this course discuss questions of Ethics in software development. The purpose here is, as with tools, to equip you to better carry our your responsibilities as a designer. Students will be required to have a prior knowledge of writing and delivering software and some programming knowledge in java.

Jun 22nd 2026
5-12 Weeks