A simple approach to business modelling
 
Now you know the UML. So what?
Learning the techniques and applying those techniques in the business and systems environment are not always as simple as it seems in the classroom or in the latest UML book you have bought. With this in mind we have designed a very simple approach to modelling business using the UML techniques.
But before we begin, we need to understand a few concepts first.  A business model typically is described from the point of view of the business. With that we mean that the business model should be described in the words and thoughts of the persons that execute it and those that participate in it.
When modelling a business process, or system, the business process/system (= business problem) becomes the subject of the model. In order to properly describe the business problem in simple and easy-to- understand terms, and yet not lose the complexity, we look at the business problem from different perspectives, or views. Within each of these views, different UML diagrams may be used in order to properly describe the view.
For a simple business model we will consider the following views, or dimensions:
  • Functional - The functional view describes the functions that are performed in the business. Functions(drawn as use cases) are typically executed by an actor, who takes responsibility for the successful execution of the function. Use case diagrams may be organized within package structures. Package diagrams may also be used to describe dependencies between the parts of the business. Functions defined in the functional view typically refers to the "What" that is being done in the business and the "Who" who performs it.
  • Structural - The structural view identifies all of the business entities that come into play and how these entities are related to each other. The business entities typically represents the "With what" entities that are used by, or is affected by the functions described in the functional view.
  • Behavioural - The behavioural view is used to describe the flow of activities that are executed in order to successfully achieve the function's outcome, or workflow across the functions. The behavioural view describes "How" things are done. The behavioural view often also describes how the business entities are referenced, or used, as part of the activities.
graphic
Figure 1. Model views

Taking a use case centric approach to business modelling means that the use cases drive the other dimensions. This implies that the functional view will determine and drive the structural and behavioural views as can be seen in Figure 2.

graphic
Figure 2. Use case centric approach

The use case centric approach consists of a few simple steps:
 
Step 1: Model the Functional View
The functional view is described by taking the business problem and subdividing it into smaller domains. Each domain will contain related areas of work, or related functions. The dependencies between these domains may be modelled by using package diagrams. a very high level example can be seen in Figure 3:

graphic
Figure 3: High level business domains

Once the model is properly segmented by package structures the use cases may be modelled. It is always a good idea to model use cases according to a definition in order to avoid confusion around abstraction. We break down the model using more and more detailed package diagrams and once the next level decomposition satisfies the use case definition we use use cases. Our definition of an elementary use case is:
An elementary use case is a self contained interaction that is executed by one primary actor, in one place, with no intervening time delays. A use case is named with a verb and a noun that describes the functional interaction.
This leads to use case diagrams as described in the following figure:
graphic
Figure 4. Use case diagram

The verb-noun requirement in the naming of the use cases helps us when we identify the classes in the structural view, since the nouns becomes the business entities in the class diagrams. Describing and documenting the use cases are important and as much detail should be described against the individual use cases and actors.
 
Step 2: Model the Structural View
Once the business functions are properly documented and described in the functional view, we can document the structural view. The first pass would be to create class diagrams using the use case nouns as the business entities (classes).
A business entity represents a significant and persistent piece of information that is manipulated by business actors. They are passive; that is, they do not initiate interactions on their own but may be used in many different business use-case realizations and usually outlives any single interaction. Business entities provide the basis for sharing information (document flow) among business actors.
This is illustrated by the following figure:
graphic
Figure 5. Class diagram
 
It is important to note that more business entities will appear from the use case detailed descriptions and that the nouns from the use cases may not be the only business entities. Operations against the business entities may be derived from the use case verbs and the detailed use case descriptions.
 
Step 3: Model the Behavioural View
In the behavioural view there are two flows of behaviour we are interested in.
The first is internal behaviour that describes what happens if a use case interaction is executed. This typically describes the workflow from when the use case interaction is initiated to when it logically concludes.
The second describes behaviour as it flows across use case interactions and typically may describe entire end to end process work flows.
Both types of work flows are described using activity diagrams.
Figure 6 shows the internal behaviour of a use case and describes how the object in the workflow is derived from an existing class:
graphic
Figure 6. Internal behaviour workflow

The internal behaviour workflow of a business use case describes what the business must do to provide the value the primary actor requires. The business use case consists of a sequence of activities that, together, produce something for the business actor. This is described using the activity diagram that explores the ordering of tasks or activities that accomplish the business goals. An activity may be a manual or an automated task that completes a unit of work. 
To model workflow across use cases the following may be done:
graphic
Figure 7. End to end workflow across use cases
 
External events will typically initiate workflow across enterprise. An activity = Execution of business function. If the business function does not exist, you may have missed functions in your functional decomposition.
 
Conclusion
Creating business models that are easy to understand are invaluable tools for understanding the inner workings of the organization, its functions, its role players and the business entities it uses, creates and consumes. It is a critical foundation for the system models that describe the supporting software architecture and allows for easy trace ability and impact assessments of business to system and system to business. Using the simple approach described here will allow the business modeller to rapidly create accurate business models.
Making life easy!
Google
 
Web xpdian.com