Академический Документы
Профессиональный Документы
Культура Документы
Business Actor:
To fully understand the purpose of a business, you must know who the
business interacts with; that is, who puts demands on it, or is interested
in its output. The different types of "interactors" are represented as
business actors.
The term actor means the role someone or something plays while
interacting with the business. The following types of business users are
examples of potential business actors:
• Customers
• Suppliers
• Partners
• Potential customers (the "market place")
• Local authorities
• Colleagues in parts of the business not modeled.
Hence, an actor normally corresponds to a human user. However, there
are situations where, for instance, an information system plays the role
of an actor. If your bank’s online services are so good that your
business can manage most of its bank transactions from a PC on your
own premises, your use cases interacting with the "money supplier"
actor, the bank, will in fact interact with an information system.
An actor represents a particular type of business user rather than a real
physical user. Several physical users of a business can play the same
role in relation to it; that is, they act as instances of one and the same
actor. Also, the same user can act as several different actors. This
means that one and the same person can embody instances of different
actors.
When determining suitable actors, first try to name at least two or three
different people who could perform as the actor in question, then
critically evaluate the support each individual requires. For example,
suppose you initially identify an actor called "customer." Later, as you
look deeper into the support each individual customer requires, you
might find three rather different customers: the normal "user" of the
product, the "purchaser" and the "evaluator," who are competent to
compare the product with its competitors. Each of these may require a
separate business use case, because they represent different roles that
can be played toward the business.
A result of observable value – This expression is very important in
determining the correct extent of a business use case, which should
be neither too small nor too big. Stating that the business use case
should give a result of observable value, that is, both perceived and
measurable, helps you to find a complete flow, and avoid business
use cases that are too small.
A good business use case helps an actor perform a task that has an
identifiable value. It may be possible to put a price on a successfully
performed business use case. A too-small business use case will have
a limited scope, thus also little re-engineering potential.
In a business – The words "actions performed in a business," mean
both that the business provides the business use case to the actor,
and that the business use case only covers what is actually done
within the business. Supporting work done elsewhere is not included.
Action – The actions are invoked either on request from an actor to
the business or at a certain point in time. Actions include internal
activities and decisions, as well as requests to either the invoked actor
or other actors.
Attributes
An attribute of a class represents a piece of information about an object
of the class that is kept with the object. An attribute has an attribute
type.
Each attribute and attribute type, respectively, has a name.
An object normally holds different pieces of information that describe
some of its characteristics. Such pieces of information can either be
described implicitly in the textual description of the object’s class, or
modeled explicitly as an attribute of the class.
An attribute is of a certain type. An attribute has a name, preferably a
noun that describes the attribute’s role in relation to the class. An
attribute type can be more or less primitive, starting from a simple
number or string. Different classes can have attributes with identical
structures. Those attributes should share a description; that is, they
should share attribute type.
Note: You should only model attributes to make a class more
understandable!
Responsibilities
An operation defines the tool with which a business entity is
manipulated. The access is initiated by a message. A tool that can be
used to manipulate a business entity object is represented as an
operation of the business entity class, with a name and, optionally,
parameters. The access of a business entity unit is shown as a
message being sent to the business entity object.
To perform its responsibilities, the person acting as a business worker
uses one or several tools to manipulate the business entities. You can
either define these tools generally, or explicitly, with the help of
Each operation is defined by a name, which should tell its purpose, and
optionally, a number of parameters. The parameters specify what an
object of the class should expect to receive from an object that is
requesting support or making an access, and what the object will
provide when the operation has been performed. As an example, you
can give parameters that reflect when a business worker should take a
step in the worker operation, or when he should access a certain
business entity by initiating one of the business entity’s operations.
Parameters can also represent more or less tangible things that are
handed over.
Operations can be defined informally, or in more detail, depending on
the importance or required level of detail in a use case. A "more
detailed" description might describe a behavior sequence that tells
which attributes and relationships are dealt with during its performance,
how objects of other classes are contacted, and how it is terminated.
Characteristics of a Good Business Entity
• Its name and description are clear and understandable.
• Business entity relationships do not depend on each other.
• Each relationship is used in the workflow of at least one business
use case.
• All "things" in the business, such as products, documents,
contracts, and so on, are modeled as business entities.
• It participates in at least one business use case.
• It has an owner; that is a business worker or business actor
responsible for the business entity.
Operations
An operation of a business worker class represents a specific activity to
be performed by an individual of that class. The operation of a business
worker is initiated by a message from another worker individual or from
an actor. An operation has a name and, optionally, parameters.
An operation describes a task a worker may be asked to perform. It is
initiated by a message. A business worker represents a role played by
an employee. To perform the job in a use case, the person acting as a
business worker performs one, or several activities.
When designing a business worker—that is, when defining what a
business worker must be able to do in order to produce the desired
results of a business use case—you have two alternatives. You can
either:
• Write a general textual description of the work, or
• Explicitly define each activity in the form of an operation, which in
turn should be described textually. For each operation, you define
what message initiates its execution.
Each operation is defined by a name, which should tell its purpose, and
optionally, a number of parameters. The parameters specify what an
object of the class should expect to receive from an object that is
requesting support or making an access, and what the object will
provide when the operation has been performed. As an example, you
can give parameters that reflect when a business worker should take a
step in the worker operation, or when he should access a certain
business entity by initiating one of the business entity’s operations.
Parameters can also represent more or less tangible things that are
handed over.
Attributes
An object normally holds different pieces of information that describe
some of its characteristics. Such pieces of information can either be
described implicitly in the textual description of the object’s class, or
modeled explicitly as an attribute of the class.
An attribute is of a certain type. An attribute has a name, preferably a
noun that describes the attribute’s role in relation to the class. An
attribute type can be more or less primitive, starting from a simple
number or string. Different classes can have attributes with identical
structures. Those attributes should share a description; that is, they
should share attribute type.
An attribute may be more or less tangible. For instance, you might
model as an attribute the information that a certain business worker
must keep in mind as he executes a business use case. Another
example of a potential attribute is a checklist that a business worker
should follow.
Note: You should only model attributes to make a class more
understandable!
Responsibility
A Responsibility of a business worker class represents a specific activity
to be performed by an individual of that class. The operation of a
business worker is initiated by a message from another worker
individual or from an actor. An operation has a name and, optionally,
parameters.
An operation describes a task a worker may be asked to perform. It is
initiated by a message. A business worker represents a role played by
an employee. To perform the job in a use case, the person acting as a
business worker performs one, or several activities.
When designing a business worker—that is, when defining what a
business worker must be able to do in order to produce the desired
results of a business use case—you have two alternatives. You can
either:
• Write a general textual description of the work, or
• Explicitly define each activity in the form of an operation, which in
turn should be described textually. For each operation, you define
what message initiates its execution.
Each operation is defined by a name, which should tell its purpose, and
optionally, a number of parameters. The parameters specify what an
object of the class should expect to receive from an object that is
requesting support or making an access, and what the object will
provide when the operation has been performed. As an example, you
can give parameters that reflect when a business worker should take a
step in the worker operation, or when he should access a certain
business entity by initiating one of the business entity’s operations.
Parameters can also represent more or less tangible things that are
handed over.
Many things in real life have common properties. For example, both
dogs and cats are animals. Classes can have common properties as
well. Relationships of this type between classes can be clarified by
means of a generalization. By extracting common properties into
classes of their own, the business model will be easier to change in the
future.
A class that inherits general characteristics from another class is called
a descendant. The class from which the descendant has inherited is
called the ancestor. A generalization shows that one class inherits from
another. This means that the definition of the ancestor, including any
attributes or operations, is also valid for the descendant. The ancestor’s
relationships are also inherited.
Generalization can take place in several stages, which makes it possible
to model complex, multi-leveled inheritance hierarchies, although the
number of levels should be restricted for easier understanding. General
properties are placed in the upper part of the inheritance hierarchy, and
special properties lower down in the hierarchy. In other words, the
generalization-relationship can be used to model specializations of a
more general concept.
Example:
Passengers arriving at the airport check-in bring different kinds of
baggage, Normal Baggage, Hand Baggage and Special Baggage. From
the airline's viewpoint, they have a few common properties, besides
being baggage—each bag has an owner and a weight, for example.
These common properties can be modeled by attributes and operations
in a separate class called Baggage. Normal Baggage, Hand Baggage
and Special Baggage will inherit from this class.
There are three main reasons for structuring the business use-case
model:
• To make the business use cases easier to understand.
• To reuse parts of workflows that are shared among many business
use cases.
• To make the business use-case model easier to maintain.
To structure the business use cases, we have three kinds of
relationships. You will use these relationships to factor out pieces of
business use cases that can be reused in other business use cases, or
that are specializations or options to the business use case. The
business use case that represents the modification we call the addition
use case. The business use case that is modified we call the base use
case.