The convergence of object technology and business systems methodologies has led to a new discipline: business engineering. The goal of business engineering is to improve the performance of an enterprise through formal modeling, the application of appropriate concepts, best practices, and information technology.
Written for practitioners interested in business systems and software applications, this book fuses object technology, workflow, data warehousing, and distributed system concepts into a coherent model that has been successfully implemented worldwide. Enterprises using these concepts are well-positioned to thrive in the emerging global business arena. Enterprise Modeling with UML describes specific methods for modeling large, complex, and adaptable enterprise systems, using the Unified Modeling Language (UML) to illustrate its concepts and components.
Enterprise Modeling with UML addresses in detail the four key elements of an enterprise model: purpose, processes, entities, and organization. Written from a business perspective rather than technical standpoint, the book covers such vital topics as:
(Each chapter concludes with a Summary.)
Structure of the Book.
Conventions Used in Book.
Introduction to Purpose.
What is a Business Process?
Process Design with UML.
Organizations, Systems, and Complexity.
Recent years have seen the convergence of many disciplines, facilitated by extraordinary social, political, economic, and technological change. Not least has been the convergence of business, information, and natural systems thinking into the new discipline of business engineering. This book describes how complex business systems may be designed and implemented using enterprise components and supporting tools. The CD-ROM at the back of the book contains implementations of the components and tools in Java and XML.Business Engineering
The purpose of this book is to describe a specific way in which to model enterprises. The focus is on business rather than technological aspects, with examples describing large, complex, and adaptable systems. The book is intended primarily for practitioners of the emergent discipline of business engineering, and is of use both to business people who are sensitive to the strategic potential of technology, and to technologists who understand that business requirements must drive systems design and deployment.
Recent developments in computers and communications enable global business systems that are as much between as within organizations. There are no universal standards for such business systems, and such standards are unlikely to be established in the near future. However, concepts based on the principles of contract and law that have existed for thousands of years, and new insights from the study of complex adaptive systems, may be applied to disparate enterprise applications to enable them to work as though they were part of a single global business network. This book attempts to describe the main features of such systems.
The promise of software components has been recognized for many years, based mainly on the experience of other industries. Automobiles were handmade by craftsmen from raw materials until Henry Ford assembled cars using interchangeable parts, and electronic hardware was assembled by skilled technicians from discrete components until Robert Noyce developed the integrated circuit--but information systems must still be coded line by line by talented programmers. However, several key developments now make reusable software components not only viable, but essential to any enterprise that wants to survive into the twenty-first century.
Each of these is necessary, but not individually sufficient, to enable widespread adoption of software components for enterprise systems. Together they provide the means to revolutionize the software industry to the same extent that the motor and electronics industries have been transformed.
An enterprise and its systems are too complex to understand from a single perspective, so its model is composed of several components, each representing a different area of concern. A component defines an aspect of the model in a specific frame of reference and at a particular level of abstraction, or from the point of view of an organization role. Each role defines a domain of expertise, terminology, and conventions that influence how a role player perceives the business world. For example, what is needed of a vehicle by a driver, an accountant, a transport manager, and a maintenance engineer, differ according to their respective roles. In the past, this has caused organizations and their systems to be fragmented along functional lines, resulting in divergent purpose, discontinuous processes, and "stovepipe" applications. To prevent this from occurring, an architectural framework is required to link the components of the model into a coherent whole.Structure of the Book
This book describes concepts primarily from the business viewpoint, and assumes that suitable software components can be created if a sufficiently precise business specification exists. The tools and components included in the CD-ROM attempt to illustrate the validity of this assumption. The UML notation and Java and XML languages are used in the design and implementation of these enterprise components.
Chapter 1 is an overview of the management and organization concepts that underpin the models that are described in subsequent chapters. Specific concepts of business purpose, process, entity, and organization are outlined to provide a context for the remainder of the book. The purpose of an organization is described in Chapter 2, with reference to strategy, planning, and contracts. It outlines relationships among data, information, knowledge, understanding, and decision making; which is also needed by an organization to learn and adapt, and to communicate its value to customers and other stakeholders.
Chapter 3 describes business processes as the means by which purpose is achieved. Process design, scheduling, enactment, tracking, improvement, and automation are covered. The concepts, tools, and components are suitable for formal process engineering and for the unstructured activities of ad hoc work. The human, mechanical, material, financial, intellectual, and other entities used and produced by processes are described in Chapter 4. Entities are modeled from various points of view to describe the different aspects of behavior required of them by processes.
Organization concepts are described in Chapter 5 with reference to their roles in adaptive systems, distributed networks, contexts for modeling, and so on. Organizations manage their processes and entities to achieve purpose, and work with others to form value networks. Certain ideas are presented to predict trends in e-commerce. The Appendix illustrates with simple examples how such concepts are used in real applications.Conventions Used in Book
Each chapter introduces its concepts with text and diagrams that are hopefully comprehensible to business people, without the need for detailed knowledge of technology. Object orientation is introduced through business objects--models that are not necessarily implemented in software--described and diagrammed using the UML notation. In most cases, summary diagrams are used in preference to detailed diagrams to illustrate conceptual rather than detailed design. Words that appear in italic type when first used are defined in the Glossary.
The CD-ROM contains Java and XML implementations of the ideas and models described in the Appendix. Java code conventions are used where practical, but code is abbreviated, and many package statements, documentation, and comments are excluded, in order to simplify the listings Sun 1997. No attempt is made to explore the business engineering process, or to describe business and software engineering artifacts and tools. However, the CD-ROM contains copies of a tool that enables round trip engineering of Java business objects using Rational Rose. It also includes detailed HTML documentation, and a tutorial to help readers acquaint themselves with its contents.