Вы находитесь на странице: 1из 36

UML Tutorial

UML Tutorial - part 1


Product Info
Enterprise Architect (EA)
EA Download

The Unified Modelling Language has quickly become the de-facto


standard for building Object-Oriented software. This short tutorial
provides a very high level introduction to UML, and suggests some
further reading.

EA Pricing
But first... What is UML?
ExyBar
The OMG specification states:
Related Info
Links
UML Tutorial
Tech Support
Support
Report a Bug (HTML)
Report a Bug (user forum)
Request-A-Feature (HTML)
Request-A-Feature (forum)

"The Unified Modeling Language (UML) is a graphical language


for visualizing,
specifying, constructing, and documenting the artifacts of a
software-intensive system.
The UML offers a standard way to write a system's blueprints,
including conceptual
things such as business processes and system functions as well as
concrete things such
as programming language statements, database schemas, and
reusable software
components."
The important point to note here is that UML is a 'language' for
specifying and not a method or procedure. The UML is used to
define a software system; to detail the artifacts in the system, to
document and construct - it is the language that the blueprint is
written in. The UML may be used in a variety of ways to support a
software development methodology (such as the Rational Unified
Process) - but in itself it does not specify that methodology or
process.
UML defines the notation and semantics for the following domains:
The User Interaction or Use Case Model - describes the
boundary and interaction between the system and users.
Corresponds in some respects to a requirements model. (see

http://www.sparxsystems.com.au/UML_Tutorial.htm (1 of 2) [10/9/2001 11:08:37 AM]

UML Tutorial

The Use Case Model)

The Interaction or Collaboration Model - describes how


objects in the system will interact with each other to get work
done.
The Dynamic Model - State charts describe the states or
conditions that classes assume over time. Activity graphs
describe the workflows the system will implement. (see The
Dynamic Model)

The Logical or Class Model - describes the classes and


objects that will make up the system. (see The Class Model)

The Physical Component Model - describes the software (and


sometimes hardware components) that make up the system.
(see The Component Model)

The Physical Deployment Model - describes the physical


architecture and the deployment of components on that
hardware architecture. (see The Physical Model)

The UML also defines extension mechanisms for extending the


UML to meet specialised needs (for example Business Process
Modeling extensions)
Part 2 of this tutorial expands on how you use the UML to define
and build actual systems.

For some further reading see the following white papers (in PDF
format):
Business Process Modelling

The Use Case Model

The Logical Model

Component Model

Dynamic Model

If you have any suggestions or comments on the material here,


please forward your thoughts to sparks@sparxsystems.com.au.

2000-2001 Sparx Systems Pty Ltd, All rights reserved.


Please direct your comments to sparks@sparxsystems.com.au

http://www.sparxsystems.com.au/UML_Tutorial.htm (2 of 2) [10/9/2001 11:08:37 AM]

Use Case Model

Use Case Model


Product Info
Enterprise Architect (EA)
EA Download
EA Pricing
ExyBar

The Use Case Model describes the proposed functionality of the new system. A Use Case represents a discrete unit of
interaction between a user (human or machine) and the system. A Use Case is a single unit of meaningful work; for example
login to system, register with system and create order are all Use Cases. Each Use Case has a description which describes the
functionality that will be built in the proposed system. A Use Case may 'include' another Use Case's functionality or 'extend'
another Use Case with its own behaviour.
Use Cases are typically related to 'actors'. An actor is a human or machine entity that interacts with the system to perform
meaningful work.

Related Info
Links
UML Tutorial
Tech Support
Support
Report a Bug (HTML)
Report a Bug (user forum)
Request-A-Feature (HTML)
Request-A-Feature (forum)

A Use Case description will generally include:


1. General comments and notes describing the use case;
2. Requirements - Things that the use case must allow the user to do, such as <ability to update order>, <ability to modify
http://www.sparxsystems.com.au/use_case_model.htm (1 of 5) [10/9/2001 11:09:05 AM]

Use Case Model

3.

4.
5.
6.

order> & etc.


Constraints- Rules about what can and can't be done. Includes i) pre-conditions that must be true before the use case is run
- e.g. <create order> must precede <modify order>; ii) post-conditions that must be true once the use case is run e.g.
<order is modified and consistent>; iii) invariants: these are always true - e.g. an order must always have a customer
number
Scenarios - Sequential descriptions of the steps taken to carry out the use case. May include multiple scenarios, to cater
for exceptional circumstances and alternate processing paths;
Scenario diagrams -Sequence diagrams to depict the workflow - similar to (4) but graphically portrayed
Additional attributes such as implementation phase, version number, complexity rating, stereotype and status

Actors
An Actor is a user of the system. This includes both human users and other computer systems. An Actor uses a Use Case to
perform some piece of work which is of value to the business. The set of Use Cases an actor has access to defines their overall
role in the system and the scope of their action.

Constraints, Requirements and Scenarios


The formal specification of a Use Case includes:
1. Requirements. These are the formal functional requirements that a Use Case must provide to the end user. They
correspond to the functional specifications found in structured methodologies. A requirement is a contract that the Use
Case will perform some action or provide some value to the system.
2. Constraints. These are the formal rules and limitations that a Use Case operates under, and includes pre- post- and
invariant conditions. A pre-condition specifies what must have already occurred or be in place before the Use Case may
start. A post-condition documents what will be true once the Use Case is complete. An invariant specifies what will be
true throughout the time the Use Case operates.
3. Scenarios. Scenarios are formal descriptions of the flow of events that occurs during a Use Case instance. These are
usually described in text and correspond to a textual representation of the Sequence Diagram.

Includes and Extends relationships between Use Cases


One Use Case may include the functionality of another as part of its normal processing. Generally, it is assumed that the
http://www.sparxsystems.com.au/use_case_model.htm (2 of 5) [10/9/2001 11:09:05 AM]

Use Case Model

included Use Case will be called every time the basic path is run. An example may be to list a set of customer orders to choose
from before modifying a selected order - in this case the <list orders> Use Case may be included every time the <modify order>
Use Case is run.
A Use Case may be included by one or more Use Cases, so it helps to reduce duplication of functionality by factoring out
common behaviour into Use Cases that are re-used many times.
One Use Case may extend the behaviour of another - typically when exceptional circumstances are encountered. For example, if
before modifying a particular type of customer order, a user must get approval from some higher authority, then the <get
approval> Use Case may optionally extend the regular <modify order> Use Case.
Sequence Diagrams
UML provides a graphical means of depicting object interactions over time in Sequence Diagrams. These typically show a user
or actor, and the objects and components they interact with in the execution of a use case. One sequence diagram typically
represents a single Use Case 'scenario' or flow of events.
Sequence diagrams are an excellent way to document usage scenarios and to both capture required objects early in analysis and
to verify object usage later in design. Sequence diagrams show the flow of messages from one object to another, and as such
correspond to the methods and events supported by a class/object.
The diagram illustrated below shows an example of a sequence diagram, with the user or actor on the left initiating a flow of
events and messages that correspond to the Use Case scenario. The messages that pass between objects will become class
operations in the final model.

http://www.sparxsystems.com.au/use_case_model.htm (3 of 5) [10/9/2001 11:09:05 AM]

Use Case Model

Implementation Diagram
A Use Case is a formal description of functionality the system will have when constructed. An implementation diagram is
typically associated with a Use Case to document what design elements (eg. components and classes) will implement the Use
Case functionality in the new system. This provides a high level of traceability for the system designer, the customer and the
team that will actually build the system. The list of Use Cases that a component or class is linked to documents the minimum
functionality that must be implemented by the component.

http://www.sparxsystems.com.au/use_case_model.htm (4 of 5) [10/9/2001 11:09:05 AM]

Use Case Model

The example above shows that the Use Case "Login" implements the formal requirement "1.01 Log on to the website". It also
states that the Business Logic component and ASP Pages component implement some or all of the Login functionality. A further
refinement is to show the Login screen (a web page) as implementing the Login interface. These implementation or realisation
links define the traceability from the formal requirements, through Use Cases on to Components and Screens.

2000-2001 Sparx Systems Pty Ltd, All rights reserved.


Please direct your comments to sparks@sparxsystems.com.au

http://www.sparxsystems.com.au/use_case_model.htm (5 of 5) [10/9/2001 11:09:05 AM]

Dynamic Model Overview

Dynamic Model
Product Info
Enterprise Architect (EA)
EA Download

The dynamic model is used to express and model the behaviour of the system over time. It includes support for activity diagrams, state
diagrams, sequence diagrams and extensions including business process modelling.

Sequence Diagrams

EA Pricing
ExyBar
Related Info

Sequence diagrams are used to display theinteraction between users, screens, objects and entities within the system. It provides a sequential map
of message passing between objects over time. Frequently these diagrams are placed under Use Cases in the model to illustrate the use case
scenario - how a user will interact with the system and what happens internally to get the work done. Often, the objects are represented using
special stereotyped icons, as in the example below. The object labelled Login Screen is shown using the User Interface icon. The object labelled
SecurityManager is shown using the Controller icon. The Object labelled users is shown using the Entity icon.

Links
UML Tutorial
Tech Support
Support
Report a Bug (HTML)
Report a Bug (user forum)
Request-A-Feature (HTML)
Request-A-Feature (forum)

http://www.sparxsystems.com.au/dynamic_model.htm (1 of 5) [10/9/2001 11:10:24 AM]

Dynamic Model Overview

Activity Diagrams
Activity diagrams are used to show how different workflows in the system are constructed, how they start and the possibly many decision paths
that can be taken from start to finish. They may also illustrate the where parallel processing may occur in the execution of some activities.

http://www.sparxsystems.com.au/dynamic_model.htm (2 of 5) [10/9/2001 11:10:24 AM]

Dynamic Model Overview

http://www.sparxsystems.com.au/dynamic_model.htm (3 of 5) [10/9/2001 11:10:24 AM]

Dynamic Model Overview

State Charts
State charts are used to detail the transitions or changes of state an object can go through in the system. They show how an object moves from
one state to another and the rules that govern that change. State charts typically have a start and end condition.

Process Model
A process model is a UML extension of an activity diagram used to model a business process - this diagram shows what goal the process has,
the inputs, outputs, events and information that are involved in the process.

http://www.sparxsystems.com.au/dynamic_model.htm (4 of 5) [10/9/2001 11:10:24 AM]

Dynamic Model Overview

2000-2001 Sparx Systems Pty Ltd, All rights reserved.


Please direct your comments to sparks@sparxsystems.com.au

http://www.sparxsystems.com.au/dynamic_model.htm (5 of 5) [10/9/2001 11:10:24 AM]

UML Logical Model

Logical Model
Product Info
Enterprise Architect (EA)
EA Download

A logical model is a static view of the objects and classes that make up the design/analysis space. Typically, a Domain Model is
a looser, high level view of Business Objects and entities, while the Class Model is a more rigorous and design focused model.
This discussion relates mainly to the Class Model

EA Pricing

The Class Model

ExyBar

A Class is a standard UML construct used to detail the pattern from which objects will be produced at run-time. A class is a
specification - an object an instance of a class. Classes may be inherited from other classes (that is they inherit all the behaviour
and state of their parent and add new functionality of their own), have other classes as attributes, delegate responsibilities to
other classes and implement abstract interfaces.

Related Info
Links
UML Tutorial
Tech Support
Support
Report a Bug (HTML)

The Class Model is at the core of object-oriented development and design - it expresses both the peristent state of the system and
the behaviour of the system. A class encapsulates state (attributes) and offers services to manipulate that state (behaviour). Good
object-oriented design limits direct access to class attributes and offers services which manipulate attributes on behalf of the
caller. This hiding of data and exposing of services ensures data updates are only done in one place and according to specific
rules - for large systems the maintenance burden of code which has direct access to data elements in many places is extremely
high.
The class is represented as below:

Report a Bug (user forum)


Request-A-Feature (HTML)
Request-A-Feature (forum)

http://www.sparxsystems.com.au/logical_model.htm (1 of 4) [10/9/2001 11:10:50 AM]

UML Logical Model

Note that the class has three distinct areas:


1. The class name (and stereotype if applied)
2. The class attributes area (that is internal data elements)
3. The behaviour - both private and public
Attributes and methods may be marked as
Private, indicating they are not visible to callers outside the class
Protected, they are only visible to children of the class
Public, they are visible to all
Class inheritance is shown as below: an abstract class in this case, is the parent of two children, each of which inherits the base
class features and extends it with their own behaviour

http://www.sparxsystems.com.au/logical_model.htm (2 of 4) [10/9/2001 11:10:50 AM]

UML Logical Model

Class models may be collected into packagesof related behaviour


and state. The diagram below illustrates this

http://www.sparxsystems.com.au/logical_model.htm (3 of 4) [10/9/2001 11:10:50 AM]

UML Logical Model

2000-2001 Sparx Systems Pty Ltd, All rights reserved.


Please direct your comments to sparks@sparxsystems.com.au

http://www.sparxsystems.com.au/logical_model.htm (4 of 4) [10/9/2001 11:10:50 AM]

UML Component Model

Component Model
Product Info
Enterprise Architect (EA)
EA Download

The component model illustrates the software components that will be used to build the system. These may be built up from the
class model and written from scratch for the new system, or may be brought in from other projects and 3rd party vendors.
Components are high level aggregations of smaller software pieces, and provide a 'black box' building block approach to
software construction.

EA Pricing
Component Notation
ExyBar

A component may be something like an ActiveX control - either a user interface control or a business rules server. Components
are drawn as the following diagram shows:

Related Info
Links
UML Tutorial
Tech Support
Support
Report a Bug (HTML)
Report a Bug (user forum)
Request-A-Feature (HTML)
Request-A-Feature (forum)

The Component Diagram


http://www.sparxsystems.com.au/component_model.htm (1 of 6) [10/9/2001 11:11:52 AM]

UML Component Model

The component diagram shows the relationship between software components, their dependencies, communication, location and
other conditions.
Interfaces
Components may also expose interfaces. These are the visible entry points or services that a component is advertising and
making available to other software components and classes. Typically a component is made up of many internal classes and
packages of classes. It may even be assembled from a collection of smaller components.

Components and Nodes


A deployment diagram illustrates the physical deployment of the system into a production (or test) environment. It shows where
components will be located, on what servers, machines or hardware. It may illustrate network links, LAN bandwidth & etc.

http://www.sparxsystems.com.au/component_model.htm (2 of 6) [10/9/2001 11:11:52 AM]

UML Component Model

Requirements
Components may have requirements attached to indicate their contractual obligations - that is, what service they will provide in
the model. Requirements help document the functional behaviour of software elements.
Constraints
Components may have constraints attached which indicate the environment in which they operate. Pre-conditions specify what
must be true before a component can perform some function; post-conditions indicate what will be true after a component has
done some work and Invariants specify what must remain true for the duration of the components lifetime.
Scenarios
Scenarios are textual/procedural descriptions of an objects actions over time and describe the way in which a component works.
Multiple scenarios may be created to describe the basic path (a perfect run through) as well as exceptions, errors and other
conditions.
Traceability
You may indicate traceability through realisation links. A component may implement another model element (eg. a use case) or
http://www.sparxsystems.com.au/component_model.htm (3 of 6) [10/9/2001 11:11:52 AM]

UML Component Model

a component may be implemented by another element (eg. a package of classes). By providing realisation links to and from
components you can map the dependencies amongst model elements and the traceability from the initial requirements to the
final implementation.
An Example
The following example shows how components may be linked to provide a conceptual/logical view of a systems construction.
This example is concerned with the server and security elements of an on-line book store. It includes such elements as the web
server, firewall, ASP pages & etc.
Server Components
This diagram illustrates the layout of the main server side components that will require building for an on-line book store. These
components are a mixture of custom built and purchased items which will be assembled to provide the required functionality.

http://www.sparxsystems.com.au/component_model.htm (4 of 6) [10/9/2001 11:11:52 AM]

UML Component Model

Security Components
The security components diagram shows how security software such as the Certificate Authority, Browser, Web server and
other model elements work together to assure security provisions in the proposed system.

http://www.sparxsystems.com.au/component_model.htm (5 of 6) [10/9/2001 11:11:52 AM]

UML Component Model

2000-2001 Sparx Systems Pty Ltd, All rights reserved.


Please direct your comments to sparks@sparxsystems.com.au

http://www.sparxsystems.com.au/component_model.htm (6 of 6) [10/9/2001 11:11:52 AM]

Physical Model

Physical Model
Product Info
Enterprise Architect (EA)
EA Download
EA Pricing

The Physical/Deployment Model provides a detailed model of the way components will be deployed across the system
infrastructure. It details network capabilities, server specifications, hardware requirements and other information related to
deploying the proposed system.
Deployment View

ExyBar
Related Info
Links
UML Tutorial
Tech Support
Support
Report a Bug (HTML)
Report a Bug (user forum)
Request-A-Feature (HTML)
Request-A-Feature (forum)

http://www.sparxsystems.com.au/physical_models.htm (1 of 3) [10/9/2001 11:13:58 AM]

Physical Model

PM01: Physical Model


The physical model shows where and how system components will be deployed. It is a specific map of the physical layout of the
system. A deployment diagram illustrates the physical deployment of the system into a production (or test) environment. It
shows where components will be located, on what servers, machines or hardware. It may illustrate network links, LAN
bandwidth & etc.

http://www.sparxsystems.com.au/physical_models.htm (2 of 3) [10/9/2001 11:13:58 AM]

Physical Model

A node is used to depict any server, workstation or other host hardware used to deploy components into the production
environment. You may also specify the links between nodes and assign stereotypes (such as TCP/IP) and requirements to them.
Nodes may also have performance characteristics, minimum hardware standards, operating system levels & etc. documented.
The screen below illustrates the common properties you can set for a node.

2000-2001 Sparx Systems Pty Ltd, All rights reserved.


Please direct your comments to sparks@sparxsystems.com.au

http://www.sparxsystems.com.au/physical_models.htm (3 of 3) [10/9/2001 11:13:58 AM]

UML Component Model

UML Tutorial - part 2


Product Info
Enterprise Architect (EA)
EA Download
EA Pricing

We have established in Part 1 that the UML is a language for


specifying the artifacts and interactions of a software system. We
have also seen that it deals with 6 major domains - from Use Case
models, through dynamic and logical models to the final physical
deployment model - and that extension mechanisms have been
included to allow for specialised additions to the model notation.

ExyBar
So... How do you use the UML?
Related Info
Links
UML Tutorial
Tech Support
Support
Report a Bug (HTML)
Report a Bug (user forum)
Request-A-Feature (HTML)
Request-A-Feature (forum)

The UML is typically used as a part of a software development


process, with the support of a suitable CASE tool, to define the
requirements, the interactions and the elements of the proposed
software system. The exact nature of the process depends on the
development methodology used. An example process might look
something like the following:
1. Capture a Business Process Model. This will be used to
define the high level business activities and processes that
occur in an organization and to provide a foundation for the
Use Case model. The Business Process Model will typically
capture more than a software system will implement (ie. it
includes manual and other processes).
2. Map a Use Case Model to the Business Process Model to
define exactly what functionality you are intending to provide
from the business user perspective. As each Use Case is
added, create a traceable link from the appropriate business
processes to the Use Case (ie. a realisation connection). This
mapping clearly states what functionality the new system will
provide to meet the business requirements outlined in the
process model. It also ensures no Use Cases exist without a
purpose.
3. Refine the Use Cases - include requirements, constraints,
complexity rating, notes and scenarios. This information

http://www.sparxsystems.com.au/UML_Tutorial2.htm (1 of 3) [10/9/2001 11:14:42 AM]

UML Component Model

4.

5.

6.

7.

8.

unambiguously describes what the Use Case does, how it is


executed and the constraints on its execution. Make sure the
Use Case still meets the business process requirements.
Include the definition of system tests for each use case to
define the aceptance criteria for each use case. Also include
some user acceptance test scripts to define how the user will
test this functionality and what the acceptance criteria are.
From the inputs and outputs of the Business Process Model
and the details of the use cases, begin to construct a domain
model (high level business objects), sequence diagrams,
collaboration diagrams and user interface models. These
describe the 'things' in the new system, the way those things
interact and the interface a user will use to execute use case
scenarios.
From the domain model, the user interface model and the
scenario diagrams create the Class Model. This is a precise
specification of the objects in the system, their data or
attributes and their behaviour or operations. Domain objects
may be abstracted into class hierarchies using inheritance.
Scenario diagram messages will typically map to class
operations. If an existing framework or design pattern is to be
used, it may be possible to import existing model elements
for use in the new system. For each class define unit tests and
integration tests to thoroughly test i) that the class functions
as specified internally and that ii) the class interacts with
other related classes and components as expected.
As the Class Model develops it may be broken into discrete
packages and components. A component represents a
deployable chunk of software that collects the behaviour and
data of one or more classes and exposes a strict interface to
other consumers of its services. So from the Class Model a
Component Model is built to define the logical packaging of
classes. For each component define integration tests to
confirm that the component's interface meets the specifcation
given it in relation to other software elements.
Concurrent with the work you have already done, additional
requirements should have been captured and documented.
For example - Non Functional requirements, Performance
requirements, Security requirements, responsibilities, release
plans & etc. Collect these within the model and keep up to
date as the model matures.
The Deployment model defines the physical architecture of
the system. This work can be begun early to capture the
physical deployment characteristics - what hardware,

http://www.sparxsystems.com.au/UML_Tutorial2.htm (2 of 3) [10/9/2001 11:14:42 AM]

UML Component Model

operating systems, network capabilities, interfaces and


support software will make up the new system, where it will
be deployed and what parameters apply to disaster recovery,
reliability, back-ups and support. As the model develops the
physical architecture will be updated to reflect the actual
system being proposed.
9. Build the system: Take discrete pieces of the model and
assign to one or more developers. In a Use Case driven build
this will mean assigning a Use Case to the development team,
having them build the screens, business objects, database
tables, and related components necessary to execute that Use
Case. As each Use Case is built it should be accompanied by
completed unit, integration and system tests. A Component
driven build may see discrete software components assigned
to development teams for construction.
10. Track defects that emerge in the testing phases against the
related model elements - eg. System test defects against Use
Cases, Unit Test defects against classes & etc. Track any
changes against the related model elements to manage 'scope
creep'.
11. Update and refine the model as work proceeds - always
assessing the impact of changes and model refinements on
later work. Use an iterative approach to work through the
design in discrete chunks, always assessing the current build,
the forward requirements and any discoveries that come to
light during development.
12. Deliver the complete and tested software into a test then
production environment. If a phased delivery is being
undertaken, then this migration of built sofware from test to
production may occur several times over the life of the
project
Note that the above process is necessarily brief in description,
leaves much unsaid and may not be how you work or follow the
process you have adopted. It is given as an example of how the
UML may be used to support a software development project.

2000-2001 Sparx Systems Pty Ltd, All rights reserved.


Please direct your comments to sparks@sparxsystems.com.au

http://www.sparxsystems.com.au/UML_Tutorial2.htm (3 of 3) [10/9/2001 11:14:42 AM]

Business Process Model

Business Process Model


Product Info
Enterprise Architect (EA)

An introduction to the terminology and icons used in the Business Process Model. Provides a quick introduction to some
Unified Modelling Language (UML) concepts and how they are applied in Enterprise Architect's Business Process Model.

EA Download

A business process:

EA Pricing

1. Has a Goal

ExyBar

2. Has specific inputs


3. Has specific outputs

Related Info
Links
UML Tutorial
Tech Support

4. Uses resources
5. Has a number of activities that are performed in some order
6. May affect more than one organizational unit. Horizontal organizational impact
7. Creates value of some kind for the customer. The customer may be internal or external

Support
Report a Bug (HTML)
Report a Bug (user forum)
Request-A-Feature (HTML)
Request-A-Feature (forum)

http://www.sparxsystems.com.au/business_process_model.htm (1 of 4) [10/9/2001 11:15:14 AM]

Business Process Model

Process Models

Business Process
Process:
A business process is a collection of activities designed to produce a specific output for a particular customer or market. It
implies a strong emphasis on how the work is done within and organization, in contrast to a product's focus on what. A process
is thus a specific ordering of work activities across time and place, with a beginning, an end, and clearly defined inputs and
http://www.sparxsystems.com.au/business_process_model.htm (2 of 4) [10/9/2001 11:15:14 AM]

Business Process Model

outputs: a structure for action.


Connections
Supply link from object Information. A supply link indicates that the information or object linked to the process is not
used up in the processing phase. For example, order templates may be used over and over to provide new orders of a
certain style - the templates are not altered or exhausted as part of this activity.
Supply link from object Resource. An input link indicates that the attached object or resource is consumed in the
processing procedure. As an example, as customer orders are processed they are completed and signed off, and typically
are used only once per unique resource (order).
Goal link to object Goal. A goal link indicates the attached object to the business process describes the goal of the
process. A goal is the business justification for performing the activity.
Stateflow link to object Output
Stateflow link from event Event. A stateflow link indicates some object is passed into a business process. It captures the
passing of control to another entity or process, with the implied passing of state or information from activity to activity.

Figure 1 : Workflow

Goal
Object:
A business process has some well defined goal. This is the reason the organization does this work, and should be defined in terms of the benefits this
process has for the organization as a whole and in satisfying the business needs.
Connections
http://www.sparxsystems.com.au/business_process_model.htm (3 of 4) [10/9/2001 11:15:14 AM]

Business Process Model

Goal link from activity Business Process. A goal link indicates the attached object to the business process describes the goal of the process. A
goal is the business justification for performing the activity.

Information
Object:
Business processes use information to tailor or complete their activities. Information, unlike resources, is not consumed in the process - rather it is
used as part of the transformation process. In formation may come from external sources, from customers, from internal organizational units and may
even be the product of other processes.
Connections
Supply link to activity Business Process. A supply link indicates that the information or object linked to the process is not used up in the
processing phase. For example, order templates may be used over and over to provide new orders of a certain style - the templates are not
altered or exhausted as part of this activity.

Output
Object:
A business process will typically produce one or more outputs of value to the business, either for internal use of to satisfy external requirements. An
output may be a physical object (such as a report or invoice), a transformation of raw resources into a new arrangement (a daily schedule or roster) or
an overall business result such as completing a customer order.
An output of one business process may feed into another process, either as a requested item or a trigger to initiate new activities.
Connections
Stateflow link from activity Business Process

Resource
Object:
A resource is an input to a business process, and, unlike information, is typically consumed during the processing. For example, as each daily train
service is run and actuals recorded, the service resource is 'used up' as far as the process of recording actual train times is concerned.
Connections
Supply link to activity Business Process. An input link indicates that the attached object or resource is consumed in the processing procedure.
As an example, as customer orders are processed they are completed and signed off, and typically are used only once per unique resource
(order).

2000-2001 Sparx Systems Pty Ltd, All rights reserved.


Please direct your comments to sparks@sparxsystems.com.au

http://www.sparxsystems.com.au/business_process_model.htm (4 of 4) [10/9/2001 11:15:14 AM]

Sparx Systems UML Tutorials

The Business Process Model

UML TUTORIALS

THE BUSINESS PROCESS MODEL

www.sparxsystems.com.au

Sparx Systems 2004

Page 1/4

Sparx Systems UML Tutorials

The Business Process Model

The Business Process Model


An introduction to the terminology and icons used in the Business Process Model. Provides a quick
introduction to some Unified Modelling Language (UML) concepts and how they are applied in
Enterprise Architect's Business Process Model.
A business process:
1.
2.
3.
4.
5.
6.
7.

Has a Goal
Has specific inputs
Has specific outputs
Uses resources
Has a number of activities that are performed in some order
May affect more than one organizational unit. Horizontal organizational impact
Creates value of some kind for the customer. The customer may be internal or external.

Process Models

Business Process
A business process is a collection of activities designed to produce a specific output for a particular
customer or market. It implies a strong emphasis on how the work is done within and organization,
in contrast to a product's focus on what. A process is thus a specific ordering of work activities
across time and place, with a beginning, an end, and clearly defined inputs and outputs: a structure
for action.

Sparx Systems 2004

Page 2/4

Sparx Systems UML Tutorials

The Business Process Model

Connections
Supply link from object Information. A supply link indicates that the information or object linked
to the process is not used up in the processing phase. For example, order templates may be
used over and over to provide new orders of a certain style - the templates are not altered or
exhausted as part of this activity.
Supply link from object Resource. An input link indicates that the attached object or resource is
consumed in the processing procedure. As an example, as customer orders are processed they
are completed and signed off, and typically are used only once per unique resource (order).
Goal link to object Goal. A goal link indicates the attached object to the business process
describes the goal of the process. A goal is the business justification for performing the activity.
Stateflow link to object Output
Stateflow link from event Event. A stateflow link indicates some object is passed into a business
process. It captures the passing of control to another entity or process, with the implied passing
of state or information from activity to activity.

Figure 1 : Workflow
Goal
Object:
A business process has some well defined goal. This is the reason the organization does this work,
and should be defined in terms of the benefits this process has for the organization as a whole and
in satisfying the business needs.
Connections
Goal link from activity Business Process. A goal link indicates the attached object to the business
process describes the goal of the process. A goal is the business justification for performing the
activity.
Information
Object:
Business processes use information to tailor or complete their activities. Information, unlike
resources, is not consumed in the process - rather it is used as part of the transformation process.
In formation may come from external sources, from customers, from internal organizational units
and may even be the product of other processes.

Sparx Systems 2004

Page 3/4

Sparx Systems UML Tutorials

The Business Process Model

Connections
Supply link to activity Business Process. A supply link indicates that the information or object linked
to the process is not used up in the processing phase. For example, order templates may be used
over and over to provide new orders of a certain style - the templates are not altered or exhausted
as part of this activity.
Output
Object:
A business process will typically produce one or more outputs of value to the business, either for
internal use of to satisfy external requirements. An output may be a physical obje ct (such as a
report or invoice), a transformation of raw resources into a new arrangement (a daily schedule or
roster) or an overall business result such as completing a customer order.
An output of one business process may feed into another process, either as a requested item or a
trigger to initiate new activities.
Connections
Stateflow link from activity Business Process
Resource
Object:
A resource is an input to a business process, and, unlike information, is typically consumed during
the processing. For example, as each daily train service is run and actuals recorded, the service
resource is 'used up' as far as the process of recording actual train times is concerned.
Connections
Supply link to activity Business Process. An input link indicates that the attached object or resource
is consumed in the processing procedure. As an example, as customer orders are processed they
are completed and signed off, and typically are used only once per unique resource (order).

Sparx Systems 2004

Page 4/4

Вам также может понравиться