BA32-Unified Modeling Language (UML) for Developers-(1 day)
Credits: 7 CDUs / 1 Day
Course Level: Intermediate
It is recommended that the participants have a working knowledge of object-oriented concepts such as objects, encapsulation, attributes, and operations.
This course will provide developers with an understanding of the UML diagrams which are used to analyze and capture requirements graphically during the Enterprise Analysis phase of the project. Emphasis will be placed on the proper usage of UML notation to correctly convey the meaning of the data, behavior, and interface requirements.
- Requirements Modeling using UML
- Use Cases and Activity Diagrams
- Capturing Non-functional Requirements
- Refining the Use Case diagram with «Includes» and «Extends»
- Capturing the Interface Requirements
- Capturing Data Requirements with a Class Diagram
This course is designed for developers who are interested in learning how to use the UML as a graphical modeling technique for defining, analyzing, and capturing requirements visually.
A hands-on workshop will be used throughout the course to emphasize the concepts learned and allow the students to experience the use of UML diagrams and techniques. A University Registration System will be used as a Case Study for the workshops. These workshops will emphasize the creation of the following five most popular UML models for requirements documentation:
- Context Diagram
- Use Case Diagram
- Activity Diagram
- Class Diagram
- Sequence Diagram
Section 1 – Course Introduction
- Administration and Introductions
- What is the UML?
- Why are modeling languages important?
- Overview of UML diagrams
- Workshop: Ball Toss Challenge
Section 2 – The Context Diagram
- Utilize a context diagram to define system scope
- Identify system actors and distinguish between primary and secondary actors
- Use generalization categorize actors
- Workshop: Draw a System Context Diagram
Section 3 – The Use Case Diagram
- Why Use Cases?
- Identifying and properly naming Use Cases
- Use Case associations… when and how to use «include» and «extend»
- How to represent Use Case packages
- Potential pitfalls
- Workshop: Draw a System Use Case Diagram
Section 4 – The Activity Diagram
- How activity diagrams are used to detail a Use Case
- Basic UML Activity Diagramming notation
- Swimlanes, activities, branches, merges, splits and joins
- Workshop: Draw an Activity Diagram
Section 5 – The Sequence Diagram
- Objects, events, sequence, and lifelines
- Synchronous vs. asynchronous behavior
- Sequence diagramming notation
- Workshop: Draw a Sequence Diagram
Section 6 – The Class Diagram
- Why analyze data and behavior?
- Performing data analysis
- How to define objects, attributes, and operations
- Links, associations, and multiplicity
- Workshop: Draw a Class Diagram
Section 7 – Capturing Non-Functional Requirements
- Use cases as a context for requirements
- Common approaches to documenting non-functional requirements
- Categories of non-functional requirements
- Workshop: Write Non-Functional Requirements
BA32-Unified Modeling Language for Developers – 1 day