Go to the Datasim Education BV homepage Datasim Education BV Datasim Education BV Datasim Education BV Datasim Education BV Datasim Education BV
Information request

Follow datasim on Twitter

Share this page


Course Category: 

Component and Service Oriented Analysis  - (code CSOA)

The goal of this course is to analyse a software system (called the System Under Discussion, or SUD) and its requirements by decomposing them into loosely coupled subsystems (logical components). We analyse and design each subsystem independently of the other subsystems by ensuring that each one has well-defined responsibilities and its functionality is orthogonal to that of the other subsystems. We integrate these subsystems to realise all system requirements.
The process has a step-by-step character and it entails both behavioural and structural aspects that will be integrated into one set of products, namely a collection of logical components, their internal structure and their dependencies on other components:

  • A1: Create context diagram (SUD and its external systems)
  • A2: Find and describe system services
  • A3: System decomposition
  • A4: Realising functional and non-functional requirements
  • A5: System and sub-system interfaces
  • A6: Documenting logical components in UML 2.0

This unique course defines a defined and proven process to map system requirements to independent logical components. As a special case, we can use the process to model less complex systems using OOA (object-oriented analysis). The percentage theory/practice is 70/30.

What do you learn?

  • Create logical components for input to design
  • Analyse requirements documents to define system boundaries
  • Decompose a system into simpler subsystems
  • A defined and proven process to analyse systems
  • Integrate UML artefacts into the analysis process

What previous Delegates have said about the Course

  • "Very clear and educational"
  • "I liked the steps in the COA process"
  • "Great, very interesting and useful"

This course is based on application and training experience that your trainer Dr. Daniel Duffy.


Course contents updated May 2008

Course contents

Part 1: System Scoping

Review of Requirements Determination

  • Stakeholders, actors and viewpoints
  • Functional and non-functional requirements
  • An Introduction to Use Cases
  • Documenting Use Cases

System Scoping and Discovery

  • Goals and core processes in system
  • Visualising flow in the system using UML activity diagrams
  • Object and data discovery

System Context

  • Key and satellite systems
  • System responsibilities
  • Inter-system interaction (client-server relationships)
  • Initial top-level component diagram

Where does OOA fit in?

  • Components are not objects
  • When OOA works and when it does not work
  • Integration of OOA into COA
  • Class and component diagrams

Part 2: Service Identification and Elaboration

Service-based Architectures

  • What is a service?
  • Discovering services from system actors and their viewpoints
  • Service types and categories
  • The relationship between services and system

Documenting Services

  • Choosing a standard template
  • Preconditions and postconditions
  • Describing a service: its capability
  • Dependencies on other services


  • What is an interface?
  • Using services to find interfaces
  • Documenting interfaces
  • Interfaces, reusability and standardisation

Part 3: Defining and Structuring System Components

High-level Components

  • What is a component?
  • Component decomposition and aggregation
  • Component specialization
  • Top-level component diagram

Standarised Components

  • Introduction to Domain Architectures (DA)
  • Using DA to "generate" subsystems and interfaces
  • How does my system relate to DA?
  • Examples and guidelines

Documenting Components in UML 2.0

  • Basic and composite components
  • Packaging components
  • UML stereotypes
  • Connectors

Component Decomposition Techniques

  • 'Divide and conquer' (whole-part pattern)
  • Mediators and loosely coupled systems
  • Layered systems Model-View-Controller (MVC)
  • Presentation-Abstraction-Control (PAC)

Discovering Internal Components and Classes

  • Internal communication
  • Sequence diagrams in UML 2.0 and their application
  • Classes, data, operations and components
  • Ports and connectors

An Introduction to Architectural Description Languages (ADL)

  • Architectural styles
  • Event-based systems
  • Repositories
  • Pipes and Filters
  • OO systems

Part 4: Appendix: UML 2.0 Essentials for COA

The topics in this part are uses as support for the COA topics. We introduce them as needed in the course.

Use Cases

  • Actors and roles
  • Discovering use cases
  • Template structure for use case documentation
  • Advantages and disadvantages of use cases

Activity Modelling

  • What is an activity?
  • Data flow and control flow
  • Input and output pins
  • Activity nesting and invocation hierarchies
  • Activity partitioning and swimlanes

Interactions: Overview

  • Why do we need interaction diagrams in COA?
  • Level of detail Interaction building blocks
  • Kinds of diagrams

Deployment in UML 2.0

  • Component diagrams
  • Interfaces
  • Composite structure diagrams
  • Deployment diagrams

A good knowledge of at least one object-oriented language and some project experience with technical or business systems.

Who should attend?
Software analysts, designers and developers who wish to take system and user requirements and map them into a network of loosely coupled generic components that communicate via 'provided' and 'required' interfaces. The products of COA will now be used as input to the Component Oriented Design (COD) course.

Course form

Duration, price, date, locations
Course duration 3 days
Price Euro 1425.-- ex. VAT
Euro 1724.25 inc. 21% VAT
Date and location Dates available on request

It is also possible to organize this course at your company premises (the in-company option). If you have any question, please contact our Datasim office.

Share this page

Contact and Profile
Registration form
Course Dates