Why Object Modeling - Advanced Strategies, Inc.

advertisement
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
Download