header trireme
telephone   UK: 01625 850 839    International: +44 1625 850 839 email us: clive@trireme.com

architect a model-based enterprise with UML

course overview

This course is aimed at the software developer or architect who wants to take a model-based approach to developing enterprise components. The purpose could be to integrate an enterprise or develop kits of components to develop families of applications. Software development is a team effort, and it is equally important that developers have a language for talking about analyses and designs: a language that is less ambiguous than English, but able to deal in requirements and high level design without being cluttered by the fine detail of program code. This course separates and makes explicit the decisions that make up the architecting of component systems. We show how to use the UML notation most effectively both to discuss designs with colleagues, and in documents.

Duration: 5 days

objectives

target audience

The course is suitable for analysts and designers wishing to develop skills in modelling component architectures in UML; and managers and architects wishing to learn a development process focused around enterprise components.

prerequisites

Some knowledge of an OO language (such as C++, Java, Smalltalk, or Eiffel) is an advantage.

course syllabus

Model-based architecture overview

The model-based approach to developing enterprise components and integrating systems, has become the de facto standard.

UML

This section introduces the relevant parts of UML.

Requirements and component specification

This section deals with the specification of requirements of a software component, application, or complete system. More modelling patterns and techniques are investigated.

Component design

This section covers the key design stages of assigning responsibilities and collaborations, and decoupling roles and components.

Design patterns

In this section, the usefulness of design patterns as a way of thinking about and describing designs is investigated. Several patterns are discussed, and then a problem is presented which participants model and then sketch a solution for, using the patterns.

Domain coupling

The linkage of the 'core(s)' to presentation, persistence, and other layers.

Frameworks

Partial models (views) as reusable artefacts.

Reuse and adaptability

Reuse does not come automatically, and requires not only appropriate technology, but also management and motivation at the corporate level.

Component technology

Enterprise components

Process patterns

There is no one process that fits all development requirements. Instead, we will look at a basic set of process patterns — that is, patterns that help you plan a component-based development project.

Process review

This section reviews the tasks and deliverables involved in a typical project to develop a model-based component architecture.

Please note, when taught at your site, this course is customisable; modules can be adapted, removed, added from other courses, or even created.

further information

timetable

Day 1

  • model-based architecture
  • UML
  • requirements and component specification

Day 2

  • component design
  • design patterns
  • domain coupling

Day 3

  • frameworks
  • reuse and adaptability
  • component technology
  • enterprise components

Day 4

  • re-engineering existing systems
  • process patterns
  • process review

Day 5

  • a workshop to put architecture modelling theory into practice on a realistic case study

course exercises

Each section of the course uses numerous small examples and exercises. Two major examples are followed through the course: one discussed in class as each point is introduced, and one developed by participants in groups. Depending on the background of the participants, the exercises can be chosen from commercial or process control areas, and can also be based on one of your own projects.

This is a pencil-and-paper course, with group exercises. We can demonstrate a variety of support tools (such as Enterprise Architect). However, we do not recommend using tools for the exercises, as the details of driving them distracts from the main issues of the language and techniques; in addition they do not promote team working in the class. At the detailed design level, we will use sketch examples in a pseudo-code that can easily be translated into Java, C#, or VB-.net.

course instructor

The course is presented by one of our senior consultants, each of whom has had at least ten years experience in object oriented analysis, design and software development, and at least three years' experience as a trainer and consultant in a diverse range of application areas.

telephone   UK: 01625 850 839    International: +44 1625 850 839 email us: clive@trireme.com