UML Training: UML Basics and Introduction to Model-Based Software Development
You are able to efficiently use analysis and design processes as well as the modeling techniques of the Unified Modeling Language (UML).
Software developers, software architects, software development managers, system architects
Programming experience (e.g. C, C++, Java, C#).
Introduction: Object-Oriented Development
- Basic terminology in the context of object-oriented development
- Reasons for using object-oriented methods
- Advantages of using object-oriented development
Requirements and Use Cases in UML
- Working with use case diagrams
- Set-up of use case diagrams
- Elements and relations in use case diagrams
- Use case specification
- Practical tips: Handling of use cases
- Exercise: Creating a use case diagram for a small software project
Classes and Objects
- What are objects?
- What are classes?
- How are objects and classes related?
- How are objects identified and classes generated?
- UML syntax of class and object
- Practical tips: Finding objects
- Exercise: Modeling a class
Class Diagram as a Central UML Structure Diagram
- Purpose and content of the class diagram
- Relations between classes
- Detailed specification of relations
- Generalization (inheritance) and polymorphism
- Abstract classes and interfaces
- Stereotypes and constraints
- Exercise: Finding objects and abstractions for classes, establishing relations
Other UML Structure Diagrams
- Composite structure diagram
- Parts and ports
- Component diagram
- Deployment diagram
- Using the package diagram to describe the program architecture and software design
- Practical tips: Efficient use of different structure diagrams
- Exercise: Structuring the project and dividing the classes into different packages
- Structure and content of the sequence diagram
- Modeling the interaction between objects
- Timing information
- Overview of the different fragments
- Practical tips: Useful structure of a sequence diagram
- Exercise: Modeling timing sequences in the sequence diagram
- Structure and content of the communication diagram
- Modeling the interaction of objects
- Practical tips: Efficient use of the communication diagram
- Exercise: Creating a communication diagram
- Modeling of program and data flows
- Overview of the elements of an activity diagram
- Nested actions
- Interaction overview diagram as an option for abstraction
- Practical tips: Efficient use of the activity diagram
- Exercise: Modeling the program flow in the activity diagram
- Modeling state machines in the state chart
- Structure of the state chart
- Nested state charts
- History state
- Practical tips: Efficient use of state machines
- Exercise: Identifying active classes and modeling their behavior in the state chart
- Purpose and content of the timing diagram
- Timing information
Implementation Examples for Classes, Interfaces and Relations
- Object-oriented concepts in procedural programming languages
- Examples in C, C++, C# and Java
Exercises in the UML Training
- Creating a use case diagram for a small software project
- Modeling a class
- Finding objects and abstractions for classes, establishing relations
- Structuring the project and dividing the classes into different packages
- Modeling timing sequences in the sequence diagram
- Creating a communication diagram
- Modeling the program flow in the activity diagram
- Identifying active classes and modeling their behavior in the state chart
- The exercises are performed after finalizing the related topics during the training
- All participants have the following options to further use their exercises and the solutions developed by MicroConsult from this workshop:
- You take the files with you on a free USB stick provided by MicroConsult, or
- You e-mail the files to your account, or
- You get access to file download on request.
Our customized workshops integrate your specific project tasks in our training content and accommodate your requirements on content, time, location, duration, technical environment and knowledge transfer methodology.
Please contact us for further information or an individual quotation.
Our coaching services offer a major advantage: our specialists introduce their expertise and experience directly in your solution process, thus contributing to the success of your projects.