1111

 

 

Introduction

The Unified Modeling Language (UML) is a design notation. To develop software using UML you must cleave to a process which describes how to use these notation. This course describes a process for designing UML oriented systems using UML 2.X as the notation.

This course uses comprehensive and complete examples and also identifies the areas where UML 2.X improves on design, but also still identifies its weaknesses The course is backed up by a comprehensive CASE study demonstrating how to apply UML 2.x to practical systems.

Download PDF Download the PDF

An embedded awareness & advanced training Group

Course Description

UML FUNDAMENTALS

What is UML?
UML 2 Diagrams
Use Case Diagram, Sequence Diagram, Class Diagram, Object Diagram, Structure Diagram, State Machine Diagram, Activity Diagram, Package Diagram, Communication Diagram, Component Diagram, Deployment Diagram, Timing Diagram, Interaction Overview Diagram

How Does UML Apply to Real-Time?

How Do We Describe Structure Using UML?
What is an Object?
Object Identity, Views, Interface, Attributes,
Operations, Classes
UML Class, UML Object
Multiplicity

Object Discovery Strategies

Identify the Nouns
Services to be Performed
Physical Devices, Key Concepts
Transactions
Persistent Information
Control Elements

How Do We Describe Behavior?

Why Use State Machines?
State Machines Are Executable
States/Transitions/Actions
Basic State Machine Syntax
Types of Events, Time Event
Handling Transitions
Reaction in State
Transitions: Guards
Actions
States
State Machine Syntax — AND States
AND-State Communication
State Machine Syntax — Connectors
Timeouts Revisited
Inherited State Behavior

How Do We Model Communication Using UML?

Object Collaboration
Messages
Relationships
Associations, Multiplicity / Navigation, Aggregation, Composition, Structured Class Example, Template / Generic Classes, Dependencies, Generalization

Interfaces and Ports

Interfaces : Why do we need them?
Interfaces
Ball & Socket Notation
Ports

How Can We Model the Following in UML?

Improved Design with UML 1
UML 2 Ports
Things to Remember About Ports
Ports Can Have Multiplicity

Using UML with C

Before We Start
Creating a Project
The Browser
Drawing a Class
Remove from View/Delete from Model
Basic Example: Hello World
The Test Component
Initial Instance
Settings
Renaming our OMD
Generating Code
Hello World
The Generated Files
Editing the Code
The Generated Code
Profiles
CProfile
Using the Profile
Cash Register
Referenced Profile
Project Description
More Examples: Count Down
Case Study: Dishwasher
Extended Exercises

Using UML with C++

Capturing Requirements
Gateway
Word Requirement Document
Gateway Configuration
Showing Word Requirements in Gateway
Word Coverage Analysis
Adding Requirements to Rhapsody
Requirements in Rhapsody
AnalysisPkg
Principal Uses
Actors
Configure the Products
Secondary Use Cases
The Browser
Manage Special Offers
Navigation
Following the Hyperlinks
Use Case Driven Approach
Getting along with UML and further references

Course Objectives:
· To show how to develop Application software in a rigorous and systematic manner using UML 2.x modeling techniques.
· To enable attendees to develop their own practical design skills.
· To show its capabilities for designing

Delegates will learn:
· How to develop practical designs for embedded systems using UML 2.x modeling techniques.
· How to apply these ideas in the framework of an integrated, traceable and consistent software design process.

Pre-requisites:
· Knowledge of the basics of OO design principles and methods.
· Some understanding of technical software development methods and some knowledge of a high-level programming language.

Who Should Attend:
· Ideal for engineers who have attended vendor tool training but now need to learn practical application of UML
· Designers looking to improve the way they apply UML
· Designers new to the area of real-time software design.
· Developers with notational UML knowledge who are embarking on projects using UML-based techniques for the first time.

Duration: Four days.

Course Workshop:
Approximately 50% of the course involves practical application of the techniques. Delegates work in small groups dealing with problems based on real scenario systems.

Other Workshops related:
* Embedded C
* Embedded C++
* Real-time Programming for Embedded Systems
* OOAD analysis and design using UML
* UML fundamentals
* Rhapsody Tool Workshop
* Embedded Linux and Device Drivers

Copyright ® 2009 eACT Technologies Home