recent success story


BE-12 - Fundamentals of Software Engineering

'The lecturer was very detailed in his explanations and ensured relevant subjects were covered in sufficient detail. Top stuff.'

- BAE Systems

BE-30 - Managing MBSE projects

'New method of looking at systemised design, designing from ground up - very interesting! Well presented, answers to questions always given with thought and consideration. An excellent course, thank you'


BE-10 - Use Case Analysis using UML

'The Use Cases exercise was directly applied to the problems we are having in the current projectso we learnt a lot from this course. '

- BAE Systems

SY-02 - System Modelling using SysML

'We really appreciate that Objektum Solutions didn’t limit the discussion to the training material and were able to draft a project specific process which has enabled us to continue our development effort.'

- Brembo

SY-02 - System Modelling using SysML

'The training support provided by Objektum Solutions certainly met our requirements 100% and we appreciated the the professionalism of lecturers, as well as their clear and detailed presentation of the material.'

- Brembo

RE-01 - Expressing Requirements in CoRE

'Everything about this course was spot on.'

- RAF - Conningsby

PG-02 - Programming in Ada95

'The professionalism and quality of training provided by Objektum never ceases to amaze me!'

- RAF - Boscombe Down

PG-10 - Programming in C++

'Really well organised, informative and provided me with enough detail to begin coding immediately. I would highly recommend Objektum Solutions. '

- BAE Systems

PG-02 - Programming in Ada95

'The course was excellent, the lecturers' depth of Ada95 knowledge was amazing.'

- Lockheed Martin

C++ Software Design using UML

Make an enquiry Print

Reference: DE-22
Duration: 3 Day(s)


C++ has become one of the most widely used programming languages in the software industry and is now gaining popularity in the aerospace and defence sector. In addition, the Unified Modeling Language (UML) has become the defacto language for describing software. When used together, within an environment such as Artisan Studio, they provide engineers with the tools to produce well structured, maintainable software. The step from a UML design model to an C++ implementation however is not always an obvious one.

This course has been designed to teach delegates how a software design, represented in UML, can be annotated, using stereotypes and tag values, to show the intended implementation for C++. Delegates are introduced to concept of code generation templates and mapping rules as well as the syntax and semantics of existing profiles. They are taught how each profile element is applied the through a series of hands-on workshops. The advantages and drawbacks of developing project specific profiles is also discussed.

The course is strongly supported by a rich set of practical exercises, allowing delegates to produce exectuable C++ programs from the outset.

The techniques discussed on this course will promote software reuse and help reduce the costs of developing software projects.


  • A recap of class modelling
  • An overview of code generation
  • What profiles are and how they are used
  • Explicit vs Implicit code generation
  • The profile metamodel
  • The pros and cons of developing project specific profiles
  • The Artisan C++ profile
  • Using code generation templates
  • How to apply the C++ profile

Who should attend

Software engineers who wish to understand how to generate and maintain C++ code from a UML design.


A good working knowledge of C++ and an understanding of class modelling is recommended to attend this course.
Make an enquiry

Related courses