Artifact: Business Activity
UAM Home Page
A Business Activity produces and consumes business entities to yield a business benefit. Business Actors may or may not interact with a business activity.
Work Product Kinds: Business Level Elements
Purpose

A Business Activity provides value-added business benefit while producing and consuming business entities. Business roles may interact with these processes/tasks. At the highest level (i.e. Business Scope) a Business Activity equates to one or more Business Use Cases (e.g. "HR") however there is no notion of "process", but interactions with Business Roles may be identified; whereas at the Business Model or System Model level Business Activities equate to individual steps in a business process that are defined and implemented by an aggregation of classes (e.g. Manage Employee Leave). A Business Activity is identical to the definition with the Business Process Modeling Notation, see: Whitepaper: BPMN - an Introductory Tutorial .

A set of Business Activities, will completely define the business or portion of the business in question. They cut across organization boundaries, but external (to the business) interactions or defined as Business Roles. A Business Activity is a specification of business behavior in response to the following:

  • Interaction between the business (function) and business actors;
  • Significant business events (internal or external);
  • Interaction between business activities.

What the business directly and explicitly provides to its environment are business services (the business from this perspective is simply the top level Business System (or business "Service") and should therefore encapsulate its resources and provide well-defined services to its environment, and the interaction between the Business Role and the Business Activity will take place through the invocation of one or more of those (lower level) business services. 

Business Activities are useful for anybody who wants to know the functions the business provides (externally or internally) and how they interact with Business Roles. Stakeholders, business-process analysts, and business designers use Business Activities to describe business processes (in the Artifact: Business Perspective, and specifically in the Artifact: Business Process Model) and to understand the effect of any proposed changes (for example, a merger or a first CRM implementation) on the way the business works. Business Activities are also used by system analysts and software architects to understand the way a software system fits into the organization. Test managers use Business Activities to provide context for developing test scenarios for software systems. Project managers use Business Activities for planning the content of business-modeling iterations and tracking progress.

Relationships
Container Artifact
Process Usage
Description
Brief Outline

A template is provided for a Business Activity, which contains its textual properties. This document is used with a requirements management tool (e.g., such as Rational RequisitePro) for specifying and marking the requirements within the Business Activity properties. The diagrams of the Business Activity can be developed in a visual modeling tool, such as Rational System Architect. 

Tailoring
Representation Options

A Business Call Activity captures the work (business services) performed by the system, which usually consume and produce business entities. A Call Activity is either atomic (i.e. it contains no further detail) or compound (i.e. it contains further detail, it is a Subprocess) and is a wrapper for globally defined functionality that is reused within a process. They are often initially defined with no structure applied, the sole objective being their identification and clear and precise definition, with detail being added in further iterations.

UML Representation: «stereotype» BPL_CallActivity

Extends: «metaclass» Activity and «metaclass» StructuredActivityNode

It has the following properties (OMG 2013):

  • description: string - A description of the business activities, task, and functions captured by the activity.
  • owner: string - Defines the owner of the business activity or process—the organizational element that makes decisions about the process.
  • crud: BPL_Entity [0..*] - References to the Entities that are Created, Read, Updated or Deleted by this activity.
  • id: string - This attribute is used to uniquely identify model elements.
  • name: string - A descriptive name for the Activity.
  • isForCompensation: boolean = false - A flag that identifies whether this Activity is intended for the purposes of compensation. If false, then this Activity executes as a result of normal execution flow. If true, this Activity is only activated when a Compensation Event is detected and initiated under Compensation Event visibility scope.
  • loopCharacteristics: LoopCharacteristics [0..1] - An Activity MAY be performed once or MAY be repeated. If repeated, the Activity MUST have loopCharacteristics that define the repetition criteria (if the isExecutable attribute of the Process is set to true).
  • resources: ResourceRole [0..*] - Defines the resource that will perform or will be responsible for the Activity. The resource, e.g., a performer, can be specified in the form of a specific individual, a group, an organization role or position, or an organization.
  • default: SequenceFlow [0..1]  - The Sequence Flow that will receive a token when none of the conditionExpressions on other outgoing Sequence Flows evaluate to true. The default Sequence Flow should not have a conditionExpression. Any such Expression SHALL be ignored.
  • ioSpecification: Input OutputSpecification [0..1]  - The InputOutputSpecification defines the inputs and outputs and the InputSets and OutputSets for the Activity.
  • properties: Property [0..*]  - Modeler-defined properties MAY be added to an Activity. These properties are contained within the Activity.
  • boundaryEventRefs: BoundaryEvent [0..*]  - This references the Intermediate Events that are attached to the boundary of the Activity.
  • dataInputAssociations: DataIn-putAssociation [0..*]  - An optional reference to the DataInputAssociations. A DataInputAssociation defines how the DataInput of the Activity’s InputOutputSpecification will be populated.
  • dataOutputAssociations: DataOutputAssociation [0..*]  - An optional reference to the DataOutputAssociations.
  • startQuantity: integer = 1  - The default value is 1. The value MUST NOT be less than 1. This attribute defines the number of tokens that MUST arrive before the Activity can begin. Note that any value for the attribute that is greater than 1 is an advanced type of modeling and should be used with caution.
  • completionQuantity: integer = 1  - The default value is 1. The value MUST NOT be less than 1. This attribute defines the number of tokens that MUST be generated from the Activity. This number of tokens will be sent done any outgoing Sequence Flow (assuming any Sequence Flow conditions are satisfied). Note that any value for the attribute that is greater than 1 is an advanced type of modeling and should be used with caution.
  • calledElement: CallableElement [0..1] - The element to be called, which will be either a Process or a GlobalTask. Other CallableElements, such as Choreography, GlobalChoreographyTask, Conversation, and GlobalCommunication MUST NOT be called by the Call Conversation element.
    .
Constraints
  • May have relationships (sequence flows) with other flow elements;
  • See BPMN v2.0 (OMG 2013).
More Information
Checklists
Guidelines
Supporting Materials