Business or Process Modeling

Abstract

Discussion on the RUP forum has had some threads of discussion about business modeling and more particularly on how to model the actors on business processes of a software development process. Examples were asked for and so we try and give some likely diagrams and discuss the merits of each approach.

Introduction

Leslie wrote: "Concerning business use cases. I have a series of business activities to model that are aimed at taking a project through a series of gates (or review points). These are gates are not occurring in sequence and activities will be performed by different groups, often in parallel. Each activity has a stakeholder - the person that validates the artifacts passing through the gate, an owner - the person responsible for those artifacts, developers - the people building the artifacts inputs - the things that are used to drive the activity and outputs - the artifacts that are output from the activity.

My question is, which of these things are shown on the business use case diagram as actors:

  1. The stakeholder of the use case?
  2. The owner of the use case artifacts?
  3. The workers in the use case?
  4. The inputs to the use case?
  5. The outputs from the use case?"

Reading between the lines, we want to be able to generate our own RUP like diagrams, using UML and Rose doing Business Modeling.

Example cited

1) Analysis:

2) High level design:

3) Detailed design:

4) etc.

At the end of each development phase there will be a review where the QA manager will recommend a pass or fail. Pass means to go to the next phase and fail means rework followed by another review.

Leslie then asked "Now the question is, how would the business process described above be modelled with a UML business model?

Where do you show workers? How do you indicate inputs and outputs? Who are the initiators? Are there physical systems that you would include in the model?"

Solutions given

Glen Tattersall replied "The answer in theory is straight forward but sorting out the criteria is not always.

Business Actors are those people, organisations etc that are outside of the Business Boundary under investigation. This boundary can take many forms and here are some examples of some boundaries and possible business actors.

So from your list, I would say at best the stakeholder may be shown on the Business UC Diagram but given your definition, they are more of a Business Model Reviewer. If the stakeholder is within the boundary then they are a worker. The question to ask is "Who gets the value outside of the boundary?" It is these folks that are the actors."

Simon Bennett added; "It seems to me that there are two things getting mixed up here. Business use cases and business process modelling using use cases.

My understanding is that business use case modelling is something akin to context diagrams or top-level data flow diagrams (without the data flows or data stores). The actors here are people, organisations and systems outside the scope of the business system being modelled; the use cases deliver something of value to them. So actors are things like Customer, Supplier, Bank Automated Clearing System etc. The people who do the work inside the business are hidden away inside the use cases that represent business processes. When you model the internal system and the use cases are provided by an information system, then the actors are the people who work with that system. Of course some actors will be the same in both types of diagrams (particularly public information systems with business actors who interact directly with the system).

In 'The Object Advantage' (Jacobson, Eriksson and Jacobson, 1995) use cases are used as part of a business process reengineering process, and it sounds to me as though that is closer to what you want, Leslie. I read the book a while back and haven't got it with me here at work, so can't check this out. In this approach use cases are used to model the business processes within the organisation rather than viewed from the outside, but they include processes that are not necessarily part of some information system. (In the days of data flow diagrams, we used to draw logical DFDs that included processes that weren't necessarily going to be computerised, and part of the design process was determining the boundary of the computer system.)

Regardless of the above, I'd say (4) Inputs and (5) Outputs are not shown as actors in a use case diagram.

It seems to me that what you want, Leslie, is to be modelling your business processes in more graphical detail than is provided by use cases. Why not use stereotyped activity diagrams, as are used in the RUP, to model the various participants, the activities and the inputs and outputs?

Hüseyin Angay also replied: "If all these workers are playing some role in the use case, they are all workers. It sounds like you need to make them all business workers, but then stereotype them as 'Stakeholder', 'Owner' and 'Developer' to differentiate them.


Now, from your description, I would consider a second strategy of documenting this: Write one or more general use cases that describe how a general activity is performed and the interaction between Stakeholder, Owner and Developer. Use some placeholder keywords where activity-specific actions happen. Document the activities separately in a table, say, describing the specifics for each keyword from the use case.

Simple contrived example:

Use Case:

Review:

Specifics
~Use case review:~
Document: Describe the use case template here.
Review document: Describe the use case review template here.

~Code review:~
Document: Describe source file here.
Review document: Describe the code review template here.

Richard Howlett added; "Not all stakeholders interact directly with the business. Those that do, such as customers (i.e. those with goals your business helps to realize) and business partners should of course be included. I would consider the owner of the use case artifacts as the Process Owner. No need to show him or her in the model, apart from as a note. I suggest including business workers in Activity Diagrams, equivalent to Alistair Cockburn's White Box Business Use Case concept. The input and outputs can also be shown in the Activity model, as object flows coming in and going out of activities.

Now in the use case description you can have a section that describes how each business use case 'protects the interests' of stakeholders."

Formal Way

Normally one would use the Business Use Cases to model the context and goals of the organisation (in this case the "business of how the IT Process works") See Diagram 1 below.

One could then use the Static models to show the classes of things involved in the process, such as People, Artifacts, etc. See Diagram 2 below

One could then make use of dynamic model diagrams such as Business sequence Diagram 3, Business collaboration Diagram 4 or Business activity diagrams (High level) Diagram 5 and (detailed) Diagram 6 to show the interaction between the various classes.

In the above 'example cited' we have just taken the first bit called "1) Analysis" which was stated as

"1) Analysis:

Tools for diagramming

Tools can be frustrating. Short of creating all the Icons in something like Visio which would be very time consuming for this purpose, we've tried to just pick some of the features in each tool to show a concept.

In most of the diagrams in this essay, we used Rational Rose, but it does not have the ability to draw in boundaries. So the diagram below, we used a tool called Enterprise Architect from Sparxystems to diagram a sample Use Case to highlight the Boundaries one can use. We used this tool because it does boundaries nicely, but it didn't allow us to change the visual icon according to the stereotype of Business Worker. It also did not have the concept of a business Use Case Versus a Systems Use Case.

So apologies for any confusion, but the concept we are trying to show here are the different levels of boundary with which you could choose to model your diagram. We have;

We are not suggesting you use all these boundaries in your model, pick only one set and make your actor stereotypes relative to that set. Inside the boundary use a Business Worker Icon and out side the Boundary use a Business Actor Icon.

Diagram 0. Here we try and show the alternative sets of boundaries one could choose between for your business model.

Assumptions for this Model

In this example, the assumption is that the Business Actors are external to the whole IT department of the business. So the context is inside the IT department we have Business workers and outside the IT department we have Business Actors such as Customer (they could come from some other department within our company or from some other company outside our company.)

We could have had the context line being drawn around each It Department Team, so that each Actor in the team would be a Business Worker and each Actor outside the team would be an Actor. This may be a better way to model the process, just to define the boundaries a little tighter. We haven't chosen to do so here.

Business Use Case View

Diagram 1 above. This diagram shows the goals of the "IT Analysis" process, which is ultimately to create an Analysis Model. It shows the Customer from out side the context boundary (which one cannot draw in Rose like some other tools, unfortunately.)

The Business Use case goal of "Creating an Analysis Model" is derived by two sub-goals of a set of Workshops and a series of Detailing the Analysis Model. We just added this to show the relevance of which Actors and Business Workers are involved with each more detailed part of the process.

The Architects and Systems Analysts are involved in the overall Business Use Case, while the Testers and Customers are only involved in the Workshop Analysis Model included use case. 

 

Business Class Diagram

Diagram 2 above. This diagram shows a class model closest to the RUP type example below. However this is a static diagram and cannot denote the behaviour of the process. For this we need any one of the next three diagrams. This diagram also relates quite closely to Diagram 5 below

Business Dynamic Sequence Diagram

Diagram 3 above. The sequence diagram above shows one view on the dynamic behaviour of the process. These diagrams tend to get rather large (wide) and are not always practical but are nice and easy to read and see chronological sequence of events. Some people don't like using these at a Business Modeling Level but we find them quite useful. Please note this example only includes the one business Use case for doing the Workshop, and not the high level "Create Analysis Model" Business Use Case or second part of the "Detail Analysis Model" Business Use Case.

Business Dynamic Collaboration Diagram

Diagram 4 above. This diagram is the Business Collaboration Diagram and shows another way of modeling the behaviour of the process. Please note this example only includes the one business Use case for doing the Workshop, and not the high level "Create Analysis Model" Business Use Case or second part of the "Detail Analysis Model" Business Use Case.

Business Dynamic High Level Activity Diagram

Diagram 5 above. This simple model represents the high level Process which would relate it to other processes (if we had done any in our example), modeled using an Activity diagram, .

Business Dynamic Detail Activity Diagram

Diagram 6 above. This diagram is probably the most useful after the Business use Case. But while this diagram above does not have the Icons for Business Actors (External) or Business Worker (Internal) on it like a typical RUP diagram below has, it does have the swim lanes attached to Actors which denote who does what:

Diagram 7. A typical example of a RUP view.

This diagram appears to be a mix between Use Case Goals and Activity diagrams that contain Actors / Swim lanes and Input outputs on it.

Restated, this diagram appears to be an activity diagram without start, state transition arrows or end points. Nor and synchronisation or decision diamonds?

Agile way

All of the above diagrams take quite some time to produce. There must be an easier more agile way?

If you look at the RUP definition of a Business use-case instance is:

"A sequence of actions performed by a business that yields an observable result of value to a particular business actor."

And bearing in mind the Agile Modeling values state Communication, simplicity while principles state Model with a purpose, Assume simplicity, etc.

If the business use case instance defines a sequence of actions a business performs, then surely this model below, would be simpler and easier to understand than two separate diagrams (Bus Use Case and High level Activity)?

The assumption here is that you show the Business Use Case goals on the same level as what the rose stereotypes as a Workflow detail as opposed to Activity .

This would give you a diagram which looks like this:

Diagram 8 - Agile hybrid. While it is not generally good practise to show input and outputs graphically on any Use Case diagram, we feel in this particular case it is probably acceptable, because it conveys in a very simple diagram the essence of what we are trying to express. It is not a process diagram, rather the Goal diagram we are showing. In text one could read this diagram as:

"The Systems Analysts and the Architects have a goal to create an Analysis Model, with Textual requirements as input and an Analysis Model as output. This Goal is made up of two sub goals each of which contribute towards the main goal. The Customer and Testers are involved with the goal to Workshop the Analysis Model while the Detail Analysis Model is done as a separate goal (by the same actors involved in the overall Goal)"

Conclusion

If one takes the formal route using standard UML diagrams, they do not seem to be as expressive and easily understood as the way RUP has implemented their diagrams.

Rational Process Workbench as an add on to Rose is out there but it probably needs a few more iterations before it will be easy enough to diagram in UML and look like RUP. (More about RPW) (More on SPEM)

Please send feedback if you disagree with any of the content, diagrams, assumptions, etc. This seems to be a dynamic art which we all enhance as we go along. Alternatively refer us to the definitive guide on Business or Process Modeling, we haven't found it yet!

[Please also note this article was developed on the 17th April 2002, and if any further comments have come in on this topic they will not have been included. it will be updated as feedback and comments are raised.]

 

 

Home

References

Rational Corporation. Rational Unified Process. Version 2002.05.00.25.

Leslie - Asked the original question. April 2002.

Richard Howlett - email contribution to the RUP forum. April 2002.

Hüseyin Angay - email contribution to the RUP forum. April 2002.

Simon Bennett - email contribution to the RUP forum. April 2002.

Glen Tattersall - email contribution to the RUP forum. April 2002.

Edwards, Charles. www.ProcessWave.com April 2002.