
This practical UML fundamentals course guides you through drawing UML diagrams step by step, explaining notation and using an example system to analyze and design with exercises.
Explore Simon Bennett's three decades of IT and training experience, from systems analysis and UML modeling to Java programming and requirements engineering, demonstrated through real-world projects.
Explore the unified modeling language UML: its purpose, history, current version 2.5, not a tool but a standard for modeling software concepts, with extension mechanisms and profiles.
Explore how UML models and diagrams capture a system's purpose as abstractions, distinguishing structural and behavioral views, and how modeling tools keep diagrams synchronized with underlying data.
Explore the Enterprise Architect modeling tool, navigate the project browser, drawing area, and toolbox, and create an empty home automation model while reviewing diagrams, properties, and the options dialog.
Explore common UML features such as frames, classifiers, notes, constraints, dependencies, and stereotypes, and see how attributes, operations, and instances define model elements.
Class diagrams document the business domain concepts, analyze use cases, and identify the classes and interfaces needed to implement each use case, modeling robustness analysis, system structure, and relationships.
Explore the distinction between objects and classes in object oriented programming, showing how objects are runtime instances that collaborate, while classes define common properties and operations as blueprints.
Explore basic UML class notation with rectangles, compartments, and associations. Name classes in Pascal case, model attributes like title and ISBN, and show relations such as belongs to.
Explore how UML represents class attributes and operations, including visibility, types, default values, multiplicity, and derived attributes, with practical diagramming and modeling examples.
Edit and manage class diagram attributes and operations in Enterprise Architect by using in-place edits, properties panes, and dialogs; define multiplicity, derived notes, and parameters.
Explore how associations show direction, navigability, multiplicity, and role names in UML class diagrams. Identify how arrowheads and labels convey reading direction and how multiplicity values define object counts.
Explore composition and aggregation in UML, distinguishing whole-part relationships from weaker ones, with examples like invoices and lines, and schedules with timed events; learn how to model them in diagrams.
Explore generalization and specialization in UML, mastering inheritance, superclass–subclass relationships, and how attributes, operations, and diagrams reflect specialized behavior.
Learn the basic notation for object diagrams, naming objects, and linking them to show associations, aggregation, and composition, including runtime objects and anonymous instances.
Explore how object state is defined by invariant attribute values and links. See state changes modeled with state machines and shown in object diagrams using enabled and state attributes.
Explore advanced class diagrams, including associations, interfaces, enumerations, and composite structure diagrams, and learn to model at different detail levels for business objects and implementations.
Explore advanced notations for class associations, including ordered and unique constraints, ownership via dots and arrows, and the use of association classes to attach attributes to relationships.
Explore interfaces and enumerations in UML, contrasting them with abstract classes, and show how to realize interfaces, use abstract classes, and define enumerations with values like public, private, protected, package.
Learn how to express internal structure of classes using composite structure diagrams, showing parts, collaborations, and inner classes, and organize models with packages and package diagrams.
Use case diagrams provide a high-level view of the system and its scope, document user requirements from the user perspective, and explore alternative paths to guide design and testing.
Explore the basic notation of use case diagrams, including use cases, actors, and associations, and how subjects and subsystems organize behavior.
Analyze use case diagram relationships, including associations and generalizations between use cases and actors, and include and extend relationships with extension points and conditional constraints.
Learn how to specify use cases with actors, triggers, and system interactions, using activity diagrams and use case descriptions to model scenarios.
Explore the purpose of sequence diagrams for modeling interactions between system components and use cases, revealing detailed interactions, alternative scenarios, and UI event modeling.
Explore the basics of sequence diagrams in UML, detailing lifelines, messages, and activations, including how signals differ from messages and how to model interactions.
Model sequence diagrams by linking lifelines and messages, using creation messages to instantiate a device controller and its gui. Show synchronous and asynchronous messages, document constructor initialization and return messages.
Explore lifelines in sequence diagrams by modeling active objects that run on their own thread and depict states on lifelines, including creation and unknown states in an enterprise architect workflow.
Document sequence diagrams with timing and duration constraints, including absolute and relative durations, observations like t equals now, and asynchronous messages with signals between components.
Reuse parts of sequence diagrams through interaction occurrences and gates, reference these occurrences across diagrams, and simplify large diagrams by separating reusable pieces into frames.
Explore combined fragments in sequence diagrams to model loops, decisions, and parallel execution using interaction operands and conditions, including if-then statements and case statements.
Explore alt and opt combined fragments in UML sequence diagrams, covering if-then and if-then-else logic, loops, timing constraints, and device timeout examples.
Explain the purpose of communication diagrams for modeling interactions between components and active objects. Highlight use cases, robustness analysis, and how these diagrams inform logic class diagrams.
Explore the basic notation of communication diagrams and contrast them with sequence diagrams. Identify lifelines, links, and messages that model interactions and how actors and devices participate.
Explore how messages flow in communication diagrams, detailing lifelines, links, and creation, synchronous, asynchronous, and reply messages with numbering to show order and initialization via constructors in add device scenarios.
Explore advanced communication diagrams, detailing loops, conditions, and message numbering options, with square-bracket guards, sequence expressions, and parallel or depth-based numbering examples.
Illustrate the purpose of activity diagrams to model end-to-end business processes, workflows, and algorithms, using swim lanes to show participants and use cases, including alternative paths.
Explore the basics of activity diagrams, modeling workflow with actions and activities connected by control flows, featuring initial and final nodes and structured activities.
Explore how to model decisions in UML activity diagrams using decision and merge nodes, guards, and constraints; learn when to use else, ensure mutual exclusivity, and model looping flows.
Model parallel flows in activity diagrams using fork and join nodes, tokens, and flow final node, while Petri nets underlie token passing and synchronization with merge and decision nodes.
Explore how to partition activities with swim lines to show responsibilities in UML activity diagrams, using user and system roles and practical steps in enterprise architect.
Explore how UML activity diagrams depict objects and their flows, including object creation, state, and how object flows connect activities, actions, and pins to model behaviors.
Decompose an activity into a detailed lower-level diagram, using activity parameters to pass in and out values, and illustrate actions, object flows, and interruptible regions within structured activities.
Learn to model send signal actions and receive event actions in activity diagrams, including time-triggered actions and object nodes representing signals, timers, and message flows.
Explore how UML state machine diagrams model states and transitions to capture state dependent behavior over time, covering behavior and protocol state machines and examples like banking and user interfaces.
Examine the basic notation of state machine diagrams, focusing on states, transitions, initial and final pseudo states, and guards, with examples like room list and device list.
Examine entry, exit, and do behaviors in behavior state machines, and learn how triggers can act without changing state, such as locking, polling, and displaying device info.
Explore choice, junction, and history pseudo states in state machine diagrams, with dynamic guard evaluation at choices, static evaluation at junctions, and how shallow and deep history resume nested states.
Explore nested state machines inside a containing state, including submachines in diagrams and as reusable elements, driven by guards, transitions, and behaviors for on/off and open/close devices.
Explore protocol state machines and contrast them with behavior state machines by modeling the legal message sequence for class instances, including orders and device open/close flows with guards and post-conditions.
In this UML Fundamentals training course, expert author Simon Bennett will teach you about the various diagram types in UML, as well as UML common elements. This course is designed for the absolute beginner, meaning no previous UML experience is required.
You will start by learning about the models and diagrams in UML. Simon will then cover the various diagrams in UML, including class diagrams, object diagrams, advanced class diagrams, interaction sequence diagrams, interaction communication diagrams, and activity diagrams. This video tutorial also covers state machine diagrams, component diagrams, and deployment diagrams. Finally, you will learn about modeling with UML, including how to choose a UML modeling tool.
Once you have completed this computer based training course, you will have gained a practical knowledge of the core of UML, as well as the various diagram types. Working files are included, allowing you to follow along with the author throughout the lessons.