Business Modeling with UML_ Business Patterns at Work
Introduction
Since it’s standardization by the OMG (Object Management Group) in November 1997,
the Unified Modeling Language (UML) has had a tremendous impact on how software
systems are developed. The role of modeling in specifying and documenting complex
software systems is being accepted, and an industrial approach to software engineering
is on its way to becoming reality. With the acceptance of UML, a new generation of tools
and processes that use UML have also emerged, and important concepts and
techniques such as the role of architecture, requirements engineering, and tool
integration also have been emphasized.
However, a common problem is that software systems do not properly support the
businesses of which they are an integrated part. There are several reasons for this: a
correct requirement specification is not available, the software team does not have a
proper understanding of the business, or the business changes so frequently that the
software can’t keep up. With the emergence of e-commerce, the solutions of tomorrow
need to be a combination of technology and business—to provide real excellence you
need an understanding of both. Business modeling helps you understand by modeling
the actual business and its goals, processes (activities), resources (such as people,
machines, and material) and rules.
To identify the proper requirements on the software systems is not the only reason to do
business modeling. Business modeling creates an abstraction of a complex business
and establishes a common understanding that can be communicated to the business’s
stakeholders (e.g., owners, management, employees, and customers). A better
understanding of how the business functions facilitates improvements to the business,
and helps to identify new business opportunities (i.e., business improvement or
innovation).
Although UML in its first years has been used mainly for modeling software systems, it is
also a very suitable language for business modeling. It has the ability to describe both
the structural aspects of a business (such as the organization, goal hierarchies, or the
structures of the resources), the behavioral aspects of a business (such as the
processes), and the business rules that affect both structure and behavior. Many
developers are already familiar with UML since they have used it to model software.
Using the same modeling language for both business and software modeling ensures
that the documentation is consistent and facilitates communication between business
modelers and software modelers. In addition, a large amount of tools become available
for use in business modeling when you use UML.
This book shows how to use UML for business modeling, and how to use the business
models to identify the correct requirements for the software that supports the business.
We use standard extension mechanisms, such as stereotypes, to define new model
elements suited for business modeling. This book also presents guidelines for how to
produce a business model and what it should contain. It introduces you to how to define
business rules using the Object Constraint Language (OCL).
To help you get started with business modeling using UML, 26 business patterns are
provided. These patterns are working, reusable, and illustrative examples of how
different aspects of a business can be modeled. In addition, you’ll learn how the
information and knowledge in a business model can be used to identify the proper
requirements on software systems that support the business, as well as how the
information can be reused in the software models.
Finally, you’ll find an example business model. The model applies the concepts, steps,
and patterns described through out the book to an example mail order firm that has to
migrate into the new world of e-business and network economy. This example is based
on our experience modeling these types of projects. The company is fictitious, but the
business structure is based on existing businesses.
附件列表