testimonials
contact us
about us
partners
site map
courses
clients
home
news
links

 

SOA & UML course in Stockport
(near Manchester)

22nd September 2008


Web Usability Patterns Site


Web Usability Products & Services

A comprehensive tutorial on UML





      
your requirementscustom solutionsexpert helpwhitepapers

  architect component systems with Catalysis™ - syllabus for 5 day course

   
    


objectives
- learn a proven process for creating enterprise components and component architectures
- use UML and OCL, as a common language for talking about requirements, designs, and component interfaces
- practice the main principles of architecting component systems with Catalysis™
- know the major tasks required to develop component models, frameworks, and software
- understand how to leverage reuse and adaptability from component-based development

overview
This course is aimed at the software developer or architect who wants to take a model-based approach to architecting enterprise components.  The purpose could be to integrate an enterprise or develop kits of components to develop families of applications. Catalysis™ is a software development process co-authored by TriReme's Dr Alan Cameron Wills, focused on how to develop component systems. Some of the Catalysis™ techniques for component development, are included in UML 1.3.

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 component systems. We show how to use the UML notation most effectively both to discuss designs with colleagues, and in documents.

details
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.  Some knowledge of an OO language (such as C++, Java, Smalltalk, Eiffel) is an advantage.  This is a pencil-and-paper course, with group exercises. We can demonstrate a variety of support tools (such as Rose, Select, or Rhapsody).  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; and they do not promote team working in the class.  The course is presented by one of our senior consultants, each of whom has at least ten years' experience in software development, and at least three years' experience as a trainer and consultant in a diverse range of application areas.

content

1. What is component based development
In this section the ideas behind component based development are introduced.
- the need for component based development
- encapsulation as a development tool
- how to get flexibility
- component and a reuse culture
-
the development process
- components and their architecture
- the background of UML and Catalysis™.

2. UML- the basis
In this section the basic UML ideas and notation are introduced and an introduction to modelling in UML is given.
- types and instances
- use cases
- statecharts
- Activity diagrams
- documenting who does what when
- the importance of readable documents

3. Business Modelling and UML
This section is concerned with giving an in-depth coverage of all aspects of modelling. Though business modelling is covered in detail, the ideas are applicable at all levels of modelling with UML. Techniques or constructing a Business Model

- static models
- objects, types, attributes, snapshots
- subtypes

- dynamics
- use-cases and tasks
- event charts
- state charts
- finding use-cases
- connecting use-cases and class views
- defining system use-case goals
- modelling patterns
- the dictionary
- context for software requirements
- basis for component interface definition
- modelling business rules
- structuring and packaging the business model
- strategies: who constructs the model

4. Advanced UML concepts
This section completes those aspects of UML concerned with modelling, together with the modelling ideas of Catalysis ™.
- towards frameworks
- another look at reuse
- model templates
- specifying use cases
- specifying by contract
- pre-conditions and guards
- postponing detail

5. The system requirements model
This section looks at the system requirements and how to build system models.
- system requirements model
- system context models
- identifying the system boundary
- specifying the system
- non functional requirements
- relating the level of details

6. Components
This section covers the aspects of component specification, design and implementation. It demonstrates how components can be implemented in a variety of ways using a variety of technical architecture.
- finding components
- reviewing component choice
- component architecture
- components and interfaces
- implementing business rules - pluggability
- assigning responsibilities and collaborations
- decoupling roles and components
- separating core from GUI, persistence, and other layers
- selection of control objects
- designing system operations with messages
- extensibility and reusability
- dependencies and visibilities
- from specification to code
- component testing

7. 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 sketch a solution for, using the patterns.
- interface decoupling
- delegation and frameworks

- Gang of Four patterns:
- two-way link
- changing interfaces
- factories
- the observer pattern
- the model, view, controller pattern
- recursive composite
- state delegation

8. Reuse and adaptability
Reuse does not come automatically, and requires not only appropriate technology, but also management and motivation at the corporate level.
- management and economics of reuse
- component repositories
- what's in the repository
- components, frameworks, patterns, and plans

9. Component technology
This section looks at component technology in general.
- pluggable code and connector protocols
- component kits and building tools
- component architecture
- common models
- common couplings
- wrapping existing assets
- product Vs component building

10. Enterprise components
This section will give an overview of the main commercial technical architectures that are available.
-
Component Architecture
- J2EE, CORBA, DCOM
- 3 and n-tier
- EJBs
- defining interfaces in UML
- distributed system building tools
- patterns for distributed systems

11. A development process
This section reviews the tasks and deliverables involved in a typical Catalysis ™ development project.

- the main tasks and artefacts
- business/ conceptual modelling
- specification/ requirements modelling
- timeboxes
- the planning game
- architecture
- design and implementation
- integration and test
- short-cycle development
- spiral model
- phased development
- role of prototyping

12. Summary
This section reviews the ideas and concepts taught in the course.

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

timings
Day 1
1. What is component based development
2. UML - the basics
3. Business modelling and UML

Day 2
3. Business modelling and UML
4. Advanced UML concepts
5. System Requirements model

Day 3
6. Components
7. Design Patterns

Day 4
8. Reuse and adaptability
9. Component technology
10. Enterprise components
Workshop

Day 5
Workshop
11. A Development Process
12. Review

The Workshop is used to put Catalysis™ theory into practise on a realistic case study.

To book a public or onsite course, please contact Clive Menhinick on +44 (0)161 225 3240, or email: clive@trireme.com.  Alternatively, use the booking form.

© TriReme International Limited 2001-2006. All rights reserved.

 
email us  or  tel  UK:  01625 850 839  international:  +44 1625 850 839