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

Leadership Principles for Software Engineers (Coursera) Coursera
Advancing Women in Tech

Leadership Principles for Software Engineers (Coursera)

Learn real-world software engineering management skills to succeed and impress in your first (or next) management role at elite engineering organizations. 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 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 attract and retain world-class engineering talent.

Oct 25th 2026
3 Weeks
Introduction to Object-Oriented Programming with Java II: Object-Oriented Programming and Algorithms (edX) EdX
Georgia Institute of Technology,GTx

Introduction to Object-Oriented Programming with Java II: Object-Oriented Programming and Algorithms (edX)

Learn the basics of object-oriented programming and algorithms. Students will build on the skills learned from “Introduction to Object-Oriented Programming with Java I: Foundations and Syntax Basics” and learn the basics of writing classes that serve as blueprints of concepts or objects that are represented in a programming problem. Students will leverage the concepts of inheritance, interfaces, and polymorphism to program reusability and flexibility in classes. Finally, students will gain experience walking through and analyzing algorithms that are applied on data (including objects) in many object-oriented programs.

Self Paced
Self-Paced
Global Software Development (edX) EdX
Delft University of Technology,DelftX

Global Software Development (edX)

Develop the technical and organizational skills you need to practice software engineering in a globally distributed environment. Software engineering operates ever more frequently in globally distributed settings, in a practice that is known as Globally Distributed Software Engineering (GDSE). In this course, you will obtain a practical overview of the organization and operation of software engineering of this practice. As such, it is aimed at professionals in distributed software development teams, and executives setting up and leading such teams who would like to develop the required technical and organizational skills.

Self Paced
Self-Paced
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.

Nov 2nd 2026
4 Weeks
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 Essentials (edX) EdX
Technische Universität München - TUM,TUMx

Software Engineering Essentials (edX)

Learn agile methods, object-oriented programing and best practices for analysis, design, testing and management in software engineering. The world of software engineering requires high flexibility, an influx of new ideas, and the courage to challenge traditional approaches. As a software engineer, you need to know the methods, workflows and tools to handle continuously growing complexity and shortened development cycles. You must be able to work in teams to build high-quality software.

This course is archived
5-12 Weeks
Introduction to Embedded Systems Software and Development Environments (Coursera) Coursera
University of Colorado Boulder

Introduction to Embedded Systems Software and Development Environments (Coursera)

Welcome to the Introduction to Embedded Systems Software and Development Environments. This course is focused on giving you real world coding experience and hands on project work with ARM based Microcontrollers. You will learn how to implement software configuration management and develop embedded software applications. Course assignments include creating a build system using the GNU Toolchain GCC, using Git version control, and developing software in Linux on a Virtual Machine.

Nov 9th 2026
4 Weeks
Visual Basic Programming: Classes and Collections (Coursera) Coursera
LearnQuest

Visual Basic Programming: Classes and Collections (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.

Nov 2nd 2026
4 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