Chapter 6. Business Modeling
In the context of the IS/IT environment, and in the context of ISV applications that work with disparate systems and other applications, the first problem to be
In addition, even when we are focused on a specific application to be implemented, we must continually
In these contexts, it would be helpful to have a technique to determine answers to an even broader set of questions such as the following.
Fortunately, there is a technique that's well suited to addressing this particular problem, and that technique is business modeling .
The Purpose of Business Modeling
Within the context of this book, we can think of the terms
in the broadest possible context. For example, your business may be the business of developing software or manufacturing
In any case, the purpose of business modeling is threefold:
Business modeling gives the team a logical approach to defining where software applications can improve the productivity of the business and helps determine requirements for those applications.
Using Software Engineering Techniques for Business Modeling
Of course, a variety of techniques can be applied to business modeling. However, it's
If we could apply these same techniques to business modeling, we would be speaking the same language in both contexts. For example, a "thing," such as a payroll withholding stub, described in the business domain might relate to a "thing" that appears again in the software domain ”a payroll
Choosing the Right Technique
Historically, we have seen that modeling techniques that were developed and matured in the software domain
The 1980s and 1990s saw a rapid
The Unified Modeling Language
In late 1997, this graphical language "for visualizing, specifying, constructing, and documenting the artifacts of a software intensive system" was adopted as an industry standard [Booch, Jacobson, and Rumbaugh 1999]. The UML provides a set of modeling elements, notations, relationships, and rules for use that could be applied to a software development activity. However, the UML can also be used to model other domains, such as systems modeling and business modeling. A tutorial on the UML is outside the scope of this book. (For this, refer to the three companion books on the UML: Booch, Jacobson, and Rumbaugh ,
The Unified Modeling Language
Business Modeling Using UML Concepts
One of the goals of business models is to develop a model of the business that can be used to drive application development. Two key modeling constructs that can be used for this purpose are a business use-case model and a business object model .
A business use-case model is a model of the intended functions of the business and is used as an essential input to identify roles and deliverables in the organization. As such, the business use-case model consists of the actors (users and systems that interact with the business) and the use cases (sequences of events through which the actors interact with the business elements to get their jobs done). Together, the actors and the use cases describe who is involved in the business activities and how these activities take place. Figure 6-1 shows the business use-case model. Note that the oval icon used to represent the business use case has a slash, indicating a business-level use case rather than a system-level use case. 
Figure 6-1. Business use-case model
A business use-case model, then, consists of business actors and business use cases, with the actors representing roles external to the business (for example,
Examples of business actors are
business object model
describes the entities ”departments,
Figure 6-2. Business object model
A business object model may also include business use-case realizations that show how the business use cases are "performed" in terms of interacting business workers and business entities. To reflect groups or departments in an organization, business workers and business entities may be grouped into organizational units.
Taken together, the two models provide a comprehensive overview of how the business works and allow the development team to focus on the areas in which systems can be provided that will improve the overall efficiency of the business. The models also help the team understand what changes will have to take place within the business processes