This ground-breaking book describes the Visual Modelling Technique (VMT), a comprehensive methodology that integrates visual programming into the object-oriented application development life cycle. VMT expands the life cycle significantly by adding to it the re-engineering of corporate business processes; in addition, the methodology captures the enterprise's business rules and uses them to augment the use-case construct in a very powerful way.
The book shows how the visual programming paradigm, when supported by effective tools, becomes central to the productivity of object developers. The authors explain in a clear and systematic way how to use visual programming to efficiently perform real-world modelling and application construction from reusable software parts.
VMT is a proven methodology that is used by many corporations in North America, Europe, Latin America, and Asia. The IBM Software Solutions Laboratories have selected VMT as the methodology of choice for the VisualAge for Smalltalk and C++ Developer Certification programs.
Highlights of Visual Modelling Technique:
(Each chapter concludes with "Summary".)
I. VISUAL MODELING TECHNIQUE.1. Introduction: Why VMT?
Contents of an Object Methodology.
Application Development Phases.
The Application Development Process.
Process Models and Methodologies.
VMT: A Complementary Approach.
Summary.2. The VMT Analysis Phase.
Building an Object Model.
The Model Dictionary.
Analyzing Object Responsibilities.
Validating and Refining Analysis Models.
Summary.3. Case Study: The Foreign Currency Exchange System - Analysis Phase.
Initial CRC Cards.
Summary.4. Object Persistence Using Relational Databases.
Basic Concepts of Relational Databases.
Mapping Objects to Relational Schemas.
Mapping Object Classes to Tables.
Mapping Associations and Aggregations to Tables.
Mapping Generalizations to Tables.
Summary.5. The VMT Design Phase.
Object Persistence Design.
Database Access Design.
Summary.6. Implementation with VMT: From Model to Code.
The VisualAge Development Environment.
The Mapping Process.
Programming by Contract: Building Software from Parts.
Developing a GUI with Visual Components.
Summary.7. Case Study: Designing the Foreign Currency Exchange System.
Design Decisions and Implementation Strategies.
Designing for Object Persistence Using a Relational Database.
Refining the Object Model Using Design Patterns.
II. VMT AND DISTRIBUTED OBJECTS.8. Object Technology and Distributed Systems.
Approaches to Building Distributed Systems.
Challenges in Building Distributed Systems.
Data and Function Placement.
Distributed Object Computing.
Distributed Object Applications.
Summary.9. Designing Distributed Object Applications with VMT.
Object Persistence Design.
Summary.10. Case Study: Extending the FCE System with Distributed Objects.
Distributed FCE Application Scenarios.
Application Development Iterations.
Case Study: The FCE Application in a Distributed Object Environment.
Designing the Customer Management Application Using DSOM.
Designing the Currency Management Application Using the VisualAge Distributed Feature.
III. MANAGEMENT ASPECTS.11. Managing Object-Oriented Development Projects.
VMT and Development Process Models.
Rapid Application Development.
Supportive Development Environments.
Development Approaches for Object-Oriented Projects.
Staffing and Training.
Estimating Project Cost and Duration.
The Transition to Object-Oriented Technology.
Summary.12. Testing and Documentation.
Testing in Object-Oriented Development.
IV. BUSINESS PROCESS REENGINEERING AND OBJECT TECHNOLOGY.13. Business Process Reengineering.
The LOVEM Approach for Process Mapping.
Line of Visibility Charts.
The Family of Line of Visibility Charts.
Process Path Management.
Levels of Complexity and Levels of Detail.
Comparison of Logical and Physical Representations.
Views of a Business.
Summary.14. Integrating Business Process Reengineering with Object-Oriented Modelling.
Object-Oriented Modeling in the BPR Cycle.
An Integrated Approach Using LOVEM and VMT.
Use Cases and JLOVCs.
Business Engineering Enabled by Process Visualization.
Forward Reengineering Methods with PLOVCs, JLOVCs, and Use Cases.
Identifying Business Objects.
Components of Industry and Implementation Models.
Charting Industry Architectures Using Objects.
Further Trends in Integration.
Summary.15. Augmenting VMT Requirements Modeling with Business Rules.
Business Rules in Reengineering.
Visual Modeling of Requirements with Business Rules.
Business Rules and Reuse.
Summary.16. Conclusion: Trends And Perspectives.
The IBM Almaden Research Center, south of San Jose, CA, is in an area of great natural beauty. Considering the process of Object Technology development in this setting brings to mind a simple analogy. Taming the West was an incremental process. First, the pioneers opened trails into the wilderness and marked the way to go. They mapped the mountain peaks and the waterholes, the peaceful meadows and the treacherous quicksands. And once the territory was open, safe, and growing, immigrants came from everywhere, attracted by the new opportunities.
Now, everyone wants to live in the new territory. New vehicles cruise the region faster, but the pioneer trails are narrow; some must be expanded, some combined, and some replaced with streets with pavements, sidewalks, and stores, so the dwellers can travel efficiently as well as shop. It is time for highway builders as well as for masons and plumbers to go to work resolving some of these problems.
Object-oriented technology and its applications went through a process very much like that new territory. First came the programmers, the language definers, and the compiler builders for Simula, Smalltalk, C++, Clos, Eiffel - too many to name. Hackers played with messages, discussed encapsulation, and dreamed about "software integrated circuits." Everyone agreed that the new approach offered a lot of potential to enforce well-known principles of software engineering that most were too lazy to apply, but nobody was sure how to realize the potential in a systematic way.
The designers then showed how object-oriented code had to be planned and built. Approaches such as those described in the first Grady Booch book, Object-Oriented Analysis and Design with Applications, the CRC technique, and Responsibility-Driven Design, became popular. In the meantime, the theorists established a framework of respectability for object technology through discussion of issues such as the implications of inheritance and polymorphism, relationships with formal language theory, and the differences between classes and types.
The last to arrive on the scene were the analysts, who reminded everyone that, in the end, it was all about solving real-world business problems. Object modelling transformed approaches into methodologies and gave object technology the respectability it needed to attract the MIS crowd. Starting from data modelling, the new methods evolved by including the dynamic aspects of the real world that data modelling ignored. OMT, OOSE, and the Booch Method provided a pathway between business requirements and the resulting application code. Meanwhile, theory and design evolved accordingly, with Design by Contract and Syntropy leading the way toward formality in object-oriented design.
All these efforts notwithstanding, there is a long way to go from attraction to acceptance, and an even longer one from acceptance to embracing. Languages and methodologies are not enough; the corporate world demands productivity, which translated to application development means that tools are needed to support every aspect of development. For instance, modelling can be successful only if the proper modelling tool is used, especially when iterations are encouraged. Also, application development from components entails the use of tools to construct, store, browse, retrieve, and assemble components with others from a components repository.
In 1991, when IBM started to build what is now known as IBM VisualAge for Smalltalk, it became obvious to the authors that existing object-oriented methodologies were inadequate to harness the power of visual programming. The dominant view at the time was that visual programming was to be used mainly for GUI building. We saw an opportunity to enhance the productivity of the development of the whole application, but we also saw a need to integrate visual development into the application development life cycle, from requirements to code. To that end we developed Visual Modelling Technique (VMT), the methodology we describe in this book.
When we developed VMT, we decided not to reinvent the wheel but to take from existing methodologies the elements proven to be successful, combine them to meet our needs, and add components to address the specific needs of visual programming. We were strongly influenced by a memorable panel session at OOPSLA 93 called "Shootout at the OO Corral," where the pioneers in object-oriented methodologies explained clearly the weak and strong points of their methodologies, and what each would like to adopt from the work of their fellows and why. We decided to build into VMT the enhancements that were pointed out at that session.
VMT covers a larger span in the application development life cycle than most methodologies. The statement that "object technology models the real world" was immediately challenged by the question "which real world?" We adhered to Hammer's thoughts about business process reengineering in "Reengineering the Corporation," Ham 95 but we needed a visual way to express the processes of an enterprise and the changes the reengineering activity would produce. We postulated that the real world we want to model resides in the reengineered enterprise, described through its processes rather than through its organization; the VMT methodology should thus be applied to support a process architecture that adds value to the corporation and enhances customer satisfaction.
Fortunately, the Line of Visibility Enterprise Modelling (LoVEM) that IBM Canada (reengineering consulting practice) has developed provides an excellent reengineering approach based on graphical descriptions of the enterprise processes as they are today ("as-is" processes), and as they will be after the reengineering effort ("to-be" processes). This graphical description is supported by a flexible tool developed by IBM Boeblingen Lab called Business Process Modeler (BPM), which makes process charting easy and allowed us to integrate business process reengineering with object application development to build automation support for the reengineered ("to-be") real world.
Once the relationships were established among the processes and the objects used by the supporting automation systems, we were able to define and build a blueprint for creating very rich and descriptive enterprise architectures based on the enterprise processes and objects. This architecture can be customized to a particular corporation or abstracted to an industry level, describing the fundamental processes and objects of a given industry.
The work on business process reengineering led us to the need for capturing the business rules that govern both the essence and the details of a business. To that end, we augmented the use case paradigm by splitting each use case into its component input and output transactions, and making explicit the business rules that govern the outcome of each transaction. This powerful approach would have been very difficult to handle in any practical way without the support of a good development tool. We found an excellent visual tool for handling business requirements, including transactions and rules, at the IBM Santa Teresa Laboratory in San Jose, California. This tool facilitates our use case decomposition and augmenting approach.
This book is directed to people who are already familiar with object-oriented technology and want to put the technology in place so it can live up to its promises. The content of this book will appeal to MIS managers, object architects, modelers, designers, programmers, and anyone who is involved in developing real-life object-oriented applications. It will also be useful to business process engineers and consultants involved in business process modelling and automation.
Chapter 4 introduces the use of relational databases to store persistent objects. Chapter 5 looks at the VMT design phase. Chapter 6 describes the transition from the model step by step and shows how designing by contract can be used to leverage object-oriented visual programming. Chapter 7 applies the design techniques to the FCE application modeled in Chapter 4.
Part 2 of the book extends VMT to the design of distributed object-oriented systems. Chapter 8 introduces the subject. Chapter 9 explains designing distributed object applications with VMT. Chapter 10 returns to the case study of Chapter 4, looking at distributed objects.
Part 3 of the book examines the project management aspects of using VMT in developing applications to meet business needs resulting from reengineering. Chapter 11 discusses the various project management issues, such as staffing and training, project estimation, etc. Chapter 12 discusses testing and documentation considerations.
Part 4 of the book discusses the integration of VMT with business processing engineering. Chapter 13 describes business processing engineering and the Line of Visibility Enterprise Modelling (LOVEM) method. Chapter 14 discusses integrating VMT with business process reengineering based on LOVEM. Chapter 15 discusses augmenting VMT requirements modelling with business rules and transactions. Chapter 16 provides perspectives in object technology development trends and concluding remarks.
We thank the many specialists who came from IBM locations worldwide to ITSO San Jose, California to work on the projects that documented, tested, and enhanced aspects of the methodology - their contributions to the IBM redbooks: GG24-4227, SG24-4390, SG24-4521 have been valuable to our task in developing VMT and this book.
Paul Webb of the IBM Canada LoVEM Business Process Reengineering practice helped us to understand the nature of business processes and discussed with us their relationship to the object technology concepts, allowing us to integrate in both a clear and logical way. Dr. Paul Luker, Head of the Computer Science Department at De Montfort University in Leicester, UK, encouraged us to continue our work and provided us with academic feedback about the validity and correctness of our approaches. Dr. Carlos Goti, creator of IBM VisualAge Requirements Tool, discussed the world of business rules with us, provided us with beta versions of the tool, helped us in developing the enhanced VMT requirement modelling approach by augmenting the use cases with business rules and transactions, and implemented some of our requests in the VisualAge Requirements Tool.
No methodology is really sound unless it has been used productively in real business environments. We are thankful to the CIOs, development managers, and developers in businesses worldwide, who have used this methodology in their projects and given us highly useful feedback. In IBM, Skip McGaughey championed our VMT initiative. IBM Software Solutions has chosen VMT for the IBM VisualAge Developer Certification program in Smalltalk, C++, and object-oriented COBOL, and we are grateful to Michael Ha and Oma Sewhdat for their support of that choice, to Marc Carrel (IBM ITSO-San Jose) and Peter Jakab (IBM Toronto Lab) who used VMT in C++ environments, and Joe DeCarlo (IBM ITSO-San Jose) who ran projects using VMT with object-oriented COBOL.
This book would not have been possible without the support of Jens Tiedemann, IBM ITSO-San Jose Center Manager, who provided us with the needed resources. Barbara Isa, at the IBM Santa Teresa Lab, gave us invaluable support to overcome the unavoidable legal and contractual hurdles involved in publishing.Books are written by the authors, but are made legible by editors. We want to recognize Maggie Cutler, ITSO-San Jose Center editor, and Barbara Conway, copyeditor, for helping us to express our thoughts in a clear and concise style. And thanks to Carter Shanklin, Senior Acquisitions Editor and Teri Hyde, Senior Production Editor, and the rest of the Addison-Wesley staff for their key roles in the success of this book.
California, April, 1996
D. S. T
F. W. F