Why Object Modeling What is Business Object Modeling The world of business is full of objects and associations. Among those objects are Individuals, Goods, Services, Organizations, Projects, and, associations such as ‘Organizations employ Individuals’ or ‘Individuals are assigned to projects’. Each of the Objects and Associations may have properties of Individual Object interest, including: Attributes such as ‘Cost’ <Customer> Role Business Rules such as ‘certain acquisitions require the Acquires Association payment of taxes’ --COST Behaviors such as ‘get excited’ Attribute Characteristics (e.g. quantitative assessments) such Object Vehicle as ‘20 out of 100 Individuals acquire a Vehicle’ Conditions (e.g. qualitative assessments), such as ‘3% of the acquisitions have errors of some sort’. Everything that happens in business involves those Objects, Associations, or their properties. Identifying, understanding and analyzing those objects, associations and properties from the business practitioner, customer’s, or manager’s point of view is often a key to successful solutions to addressing a host of business problems. This is also the key to providing total solutions, especially IT enabled solutions, that are robust and that truly meet the business The Business Object needs. Model is a representation of the natural world of things, their associations with It should be emphasized that in this context, Business Object Modeling aims at identifying ‘functional’ requirements that enable business capabilities, the ‘what’ of the business. Business Object Modeling is not concerned with the mechanism by which the functionality will be delivered, that is the ‘how’ of a possible solution. While a Business Object model can be the input to data modeling, it is not concerned with data. In its purest form, Business Object Modeling does not presume that there will be databases, file cabinets, storage properties of the things shelves (for physical objects), rule engines for expert systems, and the associations. programs or manual procedures for behaviors, etcetera. These are the province of architects, designers and developers. In practice, however, some knowledge of potential solution strategies can help channel the modeling effort, providing insight as to where to put the emphasis if time and budgets are tight, and which type of properties (e.g. attributes, rules or behaviors) are likely to be of greatest impact. each other and their One of several Advanced Strategies’ pioneered extensions is the concept of ‘object role’. The use of the role concept facilitates the development of enterprise business vocabularies for general business communications. In the above example: Customer is a role the Individual object plays in the association. A given object can play different roles in multiple relationships, for example an Individual can also be an Employee in the Organization in another association. As it turns out, different parts of the organization can have different associations with a Copyright 1996-2012 Advanced Strategies, Inc. Atlanta, GA. www.advstr.com Page 1 of 7 Why Object Modeling given object. The emphasis on the object itself first, and then the role can facilitate the development of cross organizational vocabularies, as well as providing a basis for designing robust databases which can serve needs across the enterprise and other benefits described below. Why is Business Object Modeling Important Business Object Modeling can be useful in addressing a number of business (and technology) needs. The following illustration shows some of these. Project Definition: Determine purpose and boundaries of effort Data Model Business Object Model Intentions Values Specify information requirements Complete the data requirement Build the data structure Focus Context ODS, Data Warehouse, etc. (JDA, ...) Convert to business glossary Glossary of Business Terms Capture Business Rules Business Rules Repository Create data integration strategy Data Integration Strategy Create data architecture Data Architecture ... A continuing challenge of modern organizations is capturing and leveraging the information needed to manage and to do the work of the organization. Another is leveraging organizational knowledge and data across the organization. Sharing what is known about the objects in one part of the organization with other parts of the organization, when appropriate, is another use. Likewise, it is often a challenge to develop a common vocabulary, one that facilitates communication and coordinated actions by transcending individual departments or lines of business. An increasingly important need in modern organizations is the capture and organization of business rules that guide or govern business activities and decisions. Each of the preceding requires the identification the business objects of interests, the associations of interest among those objects and attributes of interest for each. Business Object Modeling can also address the technical challenges of building robust databases and applications that meet unanticipated needs and that can be either stable or rapidly adjusted as the business needs change. If the technical solution mirrors the business reality, each of the above benefits is facilitated. Business Object Modeling is one approach to discovering and assessing business reality and to specifying needed business capabilities and suggesting possible morphologies (shapes) of solutions serving the business. Note: generally, Copyright 1996-2012 Advanced Strategies, Inc. Atlanta, GA. www.advstr.com Page 2 of 7 Why Object Modeling the morphology of the solutions that are most flexible and understandable to the business practitioners, reflect the underlying morphology of the business domain. How are Business Object Models Developed In general there are five primary techniques for eliciting functional requirements, including business objects/information requirements: Facilitated workshops with business practitioners, managers & experts Note: Advanced Strategies’ facilitated workshops are called “Joint Development Approach” Workshops, or JDAsm pronounced ”jad” and are a highly refined form of “Joint Application Development” sessions. Interviews with business practitioners, managers & experts Studying documentation about and artifacts of the work and about the domain Direct observation Reverse engineering of existing systems, data structures or solutions While multiple elicitation techniques are generally applied, well structured facilitated workshops tend to be the most effective and quickest. This is especially the case when multiple business perspectives must be served by a potential solution. A typical JDA event for Business Object Modeling, involves: Confirming the Effort Definition, with an emphasis on the Focus portion of the definition, including the scope and the perspectives to be represented; The development of Information Needs -- what the participants would want to know about the objects and associations in the target domain, e.g. “How many customers have bought used cars in the last three months”. o Note: the identification of Information Needs is a common Business Object Modeling exercise, even if the ultimate goal is not automation. After a five minute or so orientation, the group identifies the objects (or roles) of interest in the list of ‘Information Needs’ with the facilitator’s help. Then two or three Objects are represented on the diagram as boxes and the participants are asked what business associations or relationships among those objects are important or of interest to the participants. Each of the relationships along with the objects represents a business concept, for example: “Individual acquires vehicle at a cost; and the acquiring individual is called a customer” is the business concept represented in the sample model. After this kick off, the model is developed business concept by business concept building on what is already there. For each business concept represented, the facilitators focuses on two questions for the participants: 1) “Is it true?” and 2) “Do you care?” For example: Is it true in your business that “Individuals acquire vehicles …” and do you care enough about “individuals acquiring vehicles” for it to remain on your model. Properties, such as business rules, attributes and other information of interest are captured in text documents corresponding to the Objects or the Associations to which they apply. The model can be completed to varying levels of detail and thoroughness depending on the stage in the life cycle and the intended use of the model itself. After the diagram is as complete as desired, additional properties may be added to the diagram or the text. The additional properties are often added offline by analyzing existing documentation or business artifacts and by Copyright 1996-2012 Advanced Strategies, Inc. Atlanta, GA. www.advstr.com Page 3 of 7 Why Object Modeling interviews or direct work with non-business experts (e.g. system professionals). The resulting model is Quality Assured against the Information Needs and other sources. The development of a Business Object Model in this way can take from a few hours to a few weeks depending on where in the system development life cycle the modeling is being done, the size of the domain being modeled, the level of detail of interest, and the amount of material available for offline work. The length of a typical JDAsm (facilitated workshop) for a major domain, e.g. a sales function with many perspectives, would take two events of two to three days each; with offline work between and afterwards. Frequently Asked Questions To address what is the primary difference between Advanced Strategies’ approach to Business Object Modeling and other approaches. 1. What is the difference between Business Object Modeling and Data Modeling? While Business Object Modeling can represent a functional requirement for data and therefore be a starting point for data modeling, its focus is on describing the business reality. It models business facts, facts of the underlying reality (Essential Facts), facts of policy (by tradition called logical facts) and facts of implementation (by tradition called physical facts). An example of an essential fact is: “an INDIVIDUAL is assigned to PROJECT in a ROLE”. The essential facts are normally represented on the diagram. The logical facts of policy, such as “an individual cannot be assigned to more than three projects at once” and implementation facts are normally stored in the text supporting the diagram. Ideally, a resulting data store would mirror the business reality as viewed by the business practitioners and therefore a resulting data model would bear a strong resemblance to the preceding object model. The Business Object Model has broader applicability than Data Models and gets to ignore certain rules of data (e.g. a logical record should have two or more fields) or data value discreteness (e.g. a data item must have a discreet value and dynamic attributes must be snapshots in time). In the Advanced Strategies’ recommended approach, if Data Models are needed, the Business Object Model is converted into a Conceptual Data Model by applying data rules; which is then converted to a Logical Data Model by apply data policies (for example we are only interested the birth date of individuals who are employees, not those who are customers; and data naming standards); these are then converted into physical schemas by database designers reflecting the constraints of physical data stores or database management systems. 2. What is the difference between Business Object Modeling and Object Oriented Software Development? While Business Object Models can form a framework for identifying and capturing object behaviors, the Business Object Model is a functional requirement, not a design. Object Oriented Software Development involves the identification of software objects that mirror the behavior of the business object. But, it also includes systems objects that reflect actions that only exist in specific hardware-software systems. A software application that emulates the behavior of a real (or imagined) world, such as a simulation or gaming application, can use the Business Object Model as a starting point for Copyright 1996-2012 Advanced Strategies, Inc. Atlanta, GA. www.advstr.com Page 4 of 7 Why Object Modeling structuring the application and collecting the object behaviors, but a transformation process similar to the data process described above is needed to result in a completed application. Just as in case of data, the Business Object Model would have to be transformed into Class Diagrams and other Object Oriented Development artifacts by applying the appropriate rules of those disciplines. 3. What other names are used for Business Object Modeling and why? Various other names are used to describe Business Object Modeling, the most common being “Business Information Modeling”, which is used if the expected use of the model is input to a database design. “Business Information Modeling” was the name of a book by Matt Flavin. While not an Object Model approach per se, he did introduce the technique as a way of developing functional requirements for databases with business practitioners. Another common name is “entity relationship modeling” reflecting the diagramming technique used (ERD). “Object Oriented Analysis” is also used, especially when the Business Object Modeling is planned to be used as input to “Object Oriented Software Design”. It should be emphasized that Business Object Modeling in its purest form does not presume a particular technology design; and is focused on understanding the objects of interest in the business, what they are called, their important relationships, attributes, etc. and is a part of the complete analysis of the business, along with process, event, location and socio-political analysis. 4. What diagramming technique does Advanced Strategies’ recommend be used to document Business Object Models and why? In its own consulting work and in its training, Advanced Strategies uses an extended version of the Ed Chen Entity Relationship Diagram for the Object Model. It uses this model because it is easier to directly represent natural language statements made by a business practitioner in a number of languages. In particular it can directly represent multiple objects concurrently participating in a relationship with one model fragment. Though the majority of Advanced Strategies’ work is in English, any language concept that has Subjects (noun phases), Objects (noun phases) , verbs, prepositional clauses, etc. can be modeled directly; further the models of the same concept will be structurally equivalent. Advanced Strategies’ has extended the Chen ERD to include roles mentioned employs ORG INDIVIDUAL above; prepositions on links to enhance readability and to capture the business in practitioner’s actual thoughts. For example “in” on the diagram to the right; POSITION and other conventions that enhance the ability to capture the business practitioner’s understandings of their world. Note: Advanced Strategies also uses a modified Charles Bachman Data Structure Diagram or a UML model for data models, in part to distinguish from the Object Model and to reflect the limitations of data that don’t exist in the underlying reality. The Physical Data Models are for Copyright 1996-2012 Advanced Strategies, Inc. Atlanta, GA. www.advstr.com Page 5 of 7 Why Object Modeling technologists; the Business Object Model is optimized for business communications not for technical communication. 5. If you are modeling business objects and associations, why do you call them Entities & Relationships on the diagrams? We have experimented with various names over the years; and have always come back to Entity and Relationships. The primary reasons are: i. Tradition ii. We use an extended version of the Chen style Entity Relationship Diagram iii. There is a lot of literature around Entity Relationships iv. Advanced Strategies is a Charter Endorsed Education Provider of IIBA certified training. The BABOK (1.x and 2.0) published by the International Institute of Business Analysts, a BA certification and support organization, uses Entities and Relationships as part of the functional requirements that Business Analysts need to be able to develop, especially for solutions that anticipate data bases. Note: the BABOK also recognizes Class Diagrams; however, generally our experience is that Business Analysts don’t generally get involved with Class Diagrams and other Object Oriented Concepts for most business applications. 6. How do business people react to the modeling? Historically, we (in IT) have trained our users to think that meeting with us means discussing solutions and technical features, such as screens, etc. We have also trained them to provide us requirements in terms of solution elements and solution features. Further, we speak in an alien tongue when talking with them. No wonder, they don’t want to spend a lot of time with us. We forget that solutions impact business policies, business decisions, business practices, business understandings, business needs; and that these should be determined by the business. When the business practitioners/Subject Matter Experts(SMEs) realize that: i. We want to “facilitate” them in defining their business and that “we”, IT, will develop a solution that mirrors their desired business state; (The business people do not want IT to define how they do their business); and ii. We have planned and are well prepared and well staffed to conduct their workshops and not waste their time, The SMEs then develop a strong desire to participate; and will go through great lengths to do so. The key is to get them to participate in the first sessions, which should be executed extraordinarily well and focus on their business interest; not technology jargon. 7. How successful has this method been in other organizations? The Advanced Strategies’ approach has been taught in the University of Minnesota’s Master in Science of of Software Engineering program and University of Georgia, Terry School of Business’ Executive Education Center. A number of Government Projects have put their work online. Using a search engine such as google with the search parameters: “Business Object Model" +"Advanced Strategies” will return a large number of hits with live examples where the approach has been employed as part Copyright 1996-2012 Advanced Strategies, Inc. Atlanta, GA. www.advstr.com Page 6 of 7 Why Object Modeling of major application development projects, especially from the Minnesota State Government, New York State Government and Federal governments. Advanced Strategies can provide specific links to those wanting to see live examples that have been place on the internet. Advanced Strategies approaches have been successfully taught and used in a large number of private companies. Organizations such as HCA Healthcare, a Fortune 100 company, has trained and adopted Business Object Modeling as a practice for their Business Analysts in their Quality Center or Excellence. Techniques were taught by Advanced Strategies and tailored to the HCA environment by working closely with the Director of their Quality BA Center of Excellence (who also served as the Nashville President of the IIBA chapter) and has had a lot of exposure to other techniques and found this one superior to the others in meeting HCA’s needs. Other well known companies and governmental organizations have also adopted the Advanced Strategies’ approach to Business Object Modeling as a means of eliciting functional requirements from their business practitioners. Copyright 1996-2012 Advanced Strategies, Inc. Atlanta, GA. www.advstr.com Page 7 of 7