
Learn why UML is the standard for software modeling, how to read and create use cases, class diagrams, sequence diagrams, and activity diagrams, and improve team communication and productivity.
Meet Maged Koshty, managing director of ExpertWave, who leads a Cairo-based training and consulting company with global branches in Dubai and Ottawa, offering project management and software engineering expertise.
Learn UML diagrams by example, mastering notations, variations, and how to read and build diagrams with guidelines. Explore use case diagrams through ATM system and air tickets reservation system.
Define a use case as a goal-driven interaction between the user and system that yields an observable result, guiding design through UML diagrams and specifications.
Use cases define features and scope, reveal missing requirements, and guide priority and risk to reduce costs. They drive assignments, tracking, and test-case construction based on tangible user value.
Explore use case diagram notations with an ATM withdrawal scenario, including ellipses, actors, classifiers, and system boundaries. Understand how associations depict initiators and results.
Explore how stereotypes extend UML diagrams by labeling elements with roles, icons, or names, including multiple stereotypes, standard predefined sets, and custom definitions.
Explore generalization in UML, showing actor and use case generalization, and how include and extend use cases enable reuse and extended functionality in a banking ATM example.
Explore how to read a use case diagram in UML, with a practical activity and a downloadable document.
Learn to build a quality use case diagram by naming with strong verbs and domain terminology, ordering use cases by importance, and placing primary actors for clear associations.
Use case specification adds a narrative to the UML use case diagram by detailing name, actors, preconditions, trigger, main flow, alternatives, and post-conditions, typically in a table.
Examine the withdraw money use case in UML, detailing the main flow, preconditions, postconditions, and numerous alternative paths to document expected and alternate scenarios.
Explore enhanced use case specification for the withdraw money use case, detailing include and extension relationships, display error message flows, preconditions, postconditions, and updates to account and transactions.
Explore how use case specifications vary by template, illustrating a main flow as a system–actor dialogue and detailing extensions, numbering, and essential sections like user interface requirements and business rules.
Learn guidelines for building a quality use case specification by using active voice and present tense, detailing alternate paths, failures, and writing from the actor's point of view.
Learn to model use cases in UML by writing plain-English software goals, naming use cases, diagramming actors and flows, and detailing preconditions, postconditions, and alternatives.
Discover the UMLet tool as a practical entry point to Unified Modeling Language, within the complete guide and examples course.
Preview upcoming UML case studies and problem analysis as part of the complete guide and examples course.
Explore a case study and draft use case diagram in UML to understand modeling requirements and system interactions.
Explore a case study on use case descriptions within the UML framework, offering a complete guide and practical examples for modeling.
Explore another case study on the final use case diagram within UML, as part of the Unified Modeling Language complete guide and examples.
Explore how activity diagrams extend use cases to model complex processes with actions, decisions, and merges, illustrated by an ATM login example.
Explore uml activity diagrams: actions as indivisible units in rounded rectangles, with activities as sequences, and preconditions, postconditions, notes, initial and final nodes, and guards shaping flow.
Explore advanced activity diagram notations, including forks and joins for parallel flows, swim lanes for responsibilities, signals for external interactions, time events, exception handling, and interruptibility regions.
Learn practical guidelines for building a quality UML activity diagram, including initial and final nodes, transitions, decision point guards, forks and joins, and concise swim lane layouts.
Learn how to read an activity diagram in UML, guided by a practical task to download the document and analyze the diagram's flow.
Explore class diagrams, the core UML tools that model the static view of an application, showing classes, interfaces, attributes, operations, relationships, and constraints for analysts and designers.
Model a UML class as a rectangle with a mandatory name, and optional attributes or operations, choosing what to display for readers, illustrated by a bank account.
Examine how class diagrams represent attributes with inline and relationship notation, including public, private, protected, and package visibility, multiplicity, and derived or static properties.
Explore how operations in class diagrams specify behavior, with a signature including visibility, name, parameters, and an optional return type; learn parameter directions, properties, and static underlined operations.
Explore UML class diagram relationships, including dependency, association, aggregation, and composition, and learn how to map them to object oriented models with navigability, naming, and multiplicity.
Explore generalization, inheritance, and associations in UML, including abstract classes, interfaces, association classes, qualifiers, and templates, with practical examples like depositTransaction and transaction.
Learn essential class diagram guidelines for UML, including single responsibility, appropriate visibility in design models, consistent terminology, strong verb naming, and best practices for attributes, operations, and diagram structure.
Master UML class diagrams by aligning relationships horizontally and inheritance vertically, using tree configurations to reduce clutter; show multiplicity, concise association names in active voice, and clear directionality.
Download the document and engage with a UML class diagram reading activity, guided by the complete UML guide and examples.
Learn how object diagrams snapshot runtime instances, like Tom with two accounts, showing name, attributes, and one-to-one links; explore runtime binding versus explicit binding.
Engage in an activity to read an object diagram, reinforcing UML object diagram interpretation within the unified modeling language and its practical examples.
Organize software elements into logically related groups using UML packages, like folders with unique names and a shared namespace. View dependencies between packages to maintain stability as teams grow.
Explore UML package diagrams by showing contained elements inside a package or via a containment line, with public visibility expressed by a plus sign and dependencies via dotted arrows.
Explore importing and accessing elements across packages, using import and access dependencies, then merge packages to combine elements, and organize use cases with package diagrams for clear meta-modeling.
Explore how UML sequence diagrams model interactions among participants in a use case, using messages, life lines, and activation bars to show ordering and method calls.
Learn how sequence diagrams model interactions among participants, showing lifelines, messages (synchronous and asynchronous), creation and destruction of objects, and optional return arrows.
Explore how sequence fragments in UML 2.0 organize complex interactions with operators like opt, alt, ref, break, par, and loop, including guard conditions and nested fragments.
Explore state transition diagrams and state machines, and learn how states and transitions model software behavior. See how activities fit inside states and analyze an ATM example.
Explore state transition diagrams by identifying state notation, distinguishing passive and active states, and applying entry, exit, do behaviors, internal transitions, and triggers with guards to model transitions.
Explore advanced state transition diagrams, mastering composite states with regions and parallel execution, and using pseudostates—initial, choice, fork, join—and signals.
Last updated: 14-Oct-2017 Added a new lecture "Guidelines for building quality Class Diagrams"
Currently The course contains The Use Case diagram, Use case description, activity diagram, class diagram, object diagram, package diagram, sequence diagram and state transition diagram.
"Outstanding explanations and examples. Taught in an insightful and practical manner. The teacher is an obvious expert in the field."---Sean ODonnell
"Nice and easy to follow. The instructor engages effectively and reinforces the topics."---Ishaq Aslam
Software practitioners have used modeling languages for decades to specify, visualize, construct, and document systems. UML which stands for The Unified Modeling Language (UML) is one of those languages and today UML is the most used standard modeling language for software and systems development. Even though not everyone need to write UML diagrams , Most software practitioners, if not all of them, need to interpret and read diagrams written by others.
UML is used to express software or system requirements, architecture, and design. After taking this course. UML will make it easy for you to communicate technical matters with other developers, analysts, designers, testers and even your clients. So it improve your ability to communicate with others and will also improve your team productivity as it will be easier to use UML to express complicated technical matters with others in much less time.
In this course, I talk about all the different UML diagrams Use cases, class diagrams, sequence diagrams, activity diagram and more. I will talk about each of them in detail. You will learn how to read and comprehend any UML diagram and you also learn the important guidelines to build them provided by subject matter experts. We will have workshops to read and build diagrams together. All these can be achieved with little effort just by watching this course.
In this course, we will learn by example, starting by quickly demonstrate some the notations of a diagram then explain in detail the variations of each of those notations. Then will introduce more notations and then discuss them and so on.
When done learning how to read any diagram, We will explain how to build diagrams using those notations and the guidelines that we should follow to use each notations.
Join this course now and I promise that you will be able to read any UML diagram and build neat , quality UML diagrams in no time