 |
 |
 |
 |
|
Home
|
| |
|
Managers
|
|
|
| |
|
Architects, Developers
|
|
|
| |
|
Organisation
|
|
|
|
 |
 |
 |
 |
|
|
Model Driven Development with MagicDraw and AndroMDA
Model-Driven Development with MagicDraw and AndroMDA is a
5-day course highlighting the approach for going from
generic software modeling to model-driven code generation
using two award-wining tools - modeling environment
MagicDraw UML and the open source MDA environment AndroMDA.
The course is offered in collaboration between No Magic and
Matthias Bohlen, the founder and leader of AndroMDA
project. The course objective is to provide a strong
background in UML 2 modeling with MagicDraw and then
demonstrate how you can use models for building working
solutions with AndroMDA.
THE COURSE
- Gives a strong background in applying MagicDraw UML and
AndroMDA tools;
- Is based on a concise software system case study;
- Introduces software modeling with UML 2 diagrams;
- Shows how to facilitate modeling with analysis,
visualization, validation, and teamwork features;
- Guides through AndroMDA environment configuration;
- Contains mentored hands-on assignments for preparing
AndroMDA models and generating working code;
- Explains how to extend AndroMDA capabilities by
customizing the standard cartridges and implementing
brand-new ones for custom code generation from UML 2
models;
- Results in a working prototype solution for explored
case study!
This practical course will give you a jump-start in using
MagicDraw UML and AndroMDA in industrial projects with
model-driven approach.
The course is given in English!
| Day#1 |
Modeling: Introduction and Analysis
|
|
Overview of UML 2
- Modeling with UML
- 4+1 Architectural Views
- UML 2 Diagrams
- What's New in UML 2
- Software Development Process
- Modeling Process
Introduction to MagicDraw
- Features Overview
- Managing Projects
- Drawing Diagrams
- Customizing the Environment
- Tips & Tricks
- New and Noteworthy
Analyzing the User's Needs
- Requirements Analysis
- Use Case Diagram
- Identifying Actors
- Identifying Use Cases
- Use Case Relationships
- Grouping Use Cases Into Packages
- Modeling Use Case Scenarios
- Activity Diagram
- Documenting Use Cases
Architectural Decomposition
- Architectural Patterns
- Layered Architecture
- Robustness Diagram
- Identifying Boundaries, Controllers, and Entities
- Package Diagram
- Decomposing System Into Packages
- Modeling Package Dependencies
|
|
| Day#2 |
Modeling: Design, Implementation, and MagicDraw Features
|
|
Designing Object Interactions
- Modeling Interactions with UML
- Sequence Diagram
- Modeling Sequence Diagrams for Use Case Scenarios
- Finding Out New Classes and Methods
- Communication Diagram
Designing Layer Details
- Designing Data Entities
- Specifying Attributes and Relationships
- Designing Business Logic Services
- Specifying Operations
- Designing the User Interface
- Modeling the UI Navigation Schemas
- Defining the UI Structure
Defining Implementation Architecture
- Component Diagram
- Identifying Components
- Defining Provided/Required Interfaces
- Deployment Diagram
- Defining Hardware Nodes and Links
- Specifying Artifacts Manifesting Components
- Modeling Artifact Deployments
Extending UML with Profiles
- OMG Meta-layer Architecture
- Defining Meta-models
- Creating Profiles and Stereotypes
- Creating Custom Diagrams
Code Engineering
- Code Engineering in MagicDraw
- From UML to Code: Code Generation
- From Code to UML: Reverse Engineering
- Model Visualization
- Roundtrip Engineering
- Eclipse Integration
MagicDraw Features
- Model Analysis
- Model Validation
- Reports
- Teamwork
- Model Decomposition
|
|
| Day#3 |
AndroMDA: Introduction and Configuration
|
|
The Basics
- Model-Driven Architecture (MDA)
- Target Technologies
- AndroMDA from the Inside
- How a UML Tool Works
Working with AndroMDA
- Installing
- Creating a Project
- Modeling
- Code Generation
|
|
| Day#4 |
AndroMDA: Workshop on a Sample Project
|
|
Developing Sample Project
- Revisiting the Sample Project: the AndroMDA
Perspective
- Designing Entities
- Designing Services
- Defining Use Cases
- Modeling Action Flows
- Generating Code
- Implementing Business Methods
- Implementing Test Cases
|
|
| Day#5 |
AndroMDA: Implementing Your Own Cartridges
|
|
AndroMDA Plug-ins
- Cartridge
- Translation Library
- Metafacade
- Repository
- Template Engine
- Platform Mappings
Cartridge Building Blocks
- Metafacades
- PSM Classes
- Templates
- Descriptors
- Mergepoints
- Namespace Properties
Implementing a Cartridge
- Standard Project Structure
- Analyzing the Target Technology
- Identifying the PSM Classes
- Creating Metafacades
- Creating Templates
- Creating Cartridge Descriptors
- Using Profiles properly
- Testing a Cartridge
Wrap Up
- Course Review
- Feedback Session
- Questions & Answers
|
| Duration: |
5 days |
| Prerequisites: |
Java/J2EE programming skills, UML modeling
background |
| Style: |
Lectures, discussions, practical assignments, and case
study-based workshop (English language!) |
| Price per person: |
EUR 1750 + MWSt. (special introductionary
pricing) |
| Next date: |
upon request |
|