Report Generation - 2.5 Day Course Curriculum

Pre-requisites

  1. Programming/Coding background REQUIRED. This course will not teach anyone how to be a programmer.

  2. Prerequisite courses on UML, SysML, or UPDM/UAF used our tool prior to this class.

  3. Comfortable with CATIA Magic, Cameo/MagicDraw and basic features.

Course Overview

  • This course will teach fundamental concepts of report generation (Report Wizard).

  • Covers Velocity Template Language (VTL), select extensions, and general concepts required to understand report generation.

  • Includes a hands-on practical exercise after each module, followed by a course final Lab.

  • This course is intended for students with strong programming background that are already knowledgeable about the tool and the domain that is modeled (UML, SysML, or UPDM / UAF, etc.).

 

Course Curriculum

Day 1

Module 01 - Introduction to Report Generation (the Report Wizard)

  • What is a report

  • Velocity Templates and Report Wizard

  • Presentation of the UI and overview of the kinds of example reports that come with the tool.

  • Demo using the report wizard windows to export an existing demo report.


Module 02 – Introduction to Velocity Template Language (VTL)

  • Understand the Velocity Template Language

  • Basic concepts of Templating

  • Basic Constructs

  • Comments

  • References

  • Directives

  • Generating Warnings and exceptions

  • Accessing the Model

  • Best Practices

  • Lab


Module 03 – MagicDraw’s Implementation of VTL

  • Extensions to VTL

  • Helper Tools

  • Dissecting MagicDraw Specification

  • Logging to the console

  • Lab


Module 04 – Reporting and Metamodels

  • Metamodel basics

  • Examples of MOF and UML Specifications

  • Beyond the Metamodel

  • Stereotypes

 

 

Day 2

Module 05 - Macros Development

  • Why use macros

  • How to Use Macros

  • Recursion

  • Labs

 

Module 06 – Working with Tables

  • Tabular Export Background

  • Accessing all Elements contained on a diagram

  • Dynamic Row Creation

  • Dynamic Column Creation

  • Issues with tables

  • Labs


Module 07 – Excel and Power Point

  • How to export data into Excel

  • How to export data into PowerPoint

  • #forpage directive

  • 2 labs

 

Module 08 –  Built-in Templates

  • Model Difference Report

  • Oracle DDL, Code Engineerin

  • Other Templates

 

Module 09 –  Report Diagram

  • Overview of Report diagrams

 

 

Day 3

Module 10 - Report Patterns

  • About Patterns

  • Pattern: Filter-based Section

  • Pattern: Tables to Select Report Content

  • Pattern: ReoportWizard Selected Elements

  • Pattern: Smart Package for Report Content Data

  • Pattern: Report Model

  • Pattern: Use Tables to Drive Reports

  • Pattern: Preprocess complex data

  • Pattern: Reading Writing JSON

  • Anti-pattern: Monolithic Template

  • Anti-pattern: Too Many Macros

  • Anti-pattern: Hard-coded references

 

Module 11 – Template Development Process

  • Documentation Useful for Template Development

  • Template Development Process

  • Reviewing the Target Template

  • What is in the Model?

  • What is the Model’s Metadata?

  • Using VTL and model API to write the data

  • Cameo Collaborator Custom Templates

  • Template Development Best Practices

 

Module 12 - Intro to Collaborator

  • Overview of Collaborator (note this is only an intro and not a tutorial