Sunday, April 3, 2011

Business Model as the Base for Data Model


Following information protected by USA and international law. Any using of this publication or its part can be allowed per request. Consultation available - leave your email address as a comment.



Foreword

I have built the first business model in 1990 architecting project “Stan-550” in Ukraine (former Soviet Union). After that, I used this approach for development of many different IT systems and I continue to work on it. That's why some paragraphs are not complete, but I want to know your opinion on how I can do things better. Please feel free to leave your comments.

The main point of the posting is: “Business Model is the Base for Data Model”.
It means that Business Process is a source of Business Data which should be processed. That’s why the Data Model should be created based on the Business Model which should be created first, at the beginning of development. You can build Data Model better if you have built Business Model first.

Now, the Business Model is not reflected in any visible form during development of IT, it just sitting in the head of Developer. In this case, some details can be missed, the whole picture of the business process is neither visible, nor open for productive discussions.
That’s why creation of Business Model should become the first mandatory step of the Software Development Life Circle. The main goal of Business Modeling is make the process of creating Data Model more open, clear and efficient.

Efficiency of building Business Model, first of all, is in the next areas:
-          It can be used for discussions both in development team and with business people (including management);
-          It identifies location of data sources as well as data users;
-          It helps to realize how data will be used dynamically, synchronously with business process which reflected in the Business Model , not statically as if Data Model built without Business Model;
-          It gives a chance to reconsider the Data Model in case if the business process modified or some new requirements come from business.
I would be happy to focus on any other spots of the Business Modeling. Just please leave your comments.

Business Model

Here is a Matrix representation of the Business Model (BM).


Business Process ( BP)
Management
Business Efficiency Model
Model Elements
Elements
Business
Flows


























Events













































  1. Desirable Business Process – DBP
  2. Difference between DBP and BP:
DBP – BP = Critical Components (CC)
  1. If DBP = BP then it’s a stable system. Otherwise it’s a developing system with higher or lower speed of development.
  2. Developing system requires developing information system (data processing).
  3. Track requests, accumulate statistics, and then modify DW structure.
  4. Separate data by how frequently they used: columns, requests, transactional events.
  5. Dynamical Data Warehouse (DDW).
  6. Business Process defines stable dimensions, events define facts.


Where data born and used?
Thinking about data, we can find that data reflects business. For example, whichever data we consider, we find that the data is about something (definitely, not about nothing). Let’s see what data is and how it’s born.
If this data is about business (that’s what we consider), the data will reflect business: business components whether the components are elements of business (equipment, people, administrative structure), or business processes (relations between elements of business). For example, if we want to know how many products were bought in the store during the day, we would need data about buying process and its components (customers, products, transactions, as well as time and place when and where it happened).
This simple fact, as we will see, can help us to find the structure of data processing system.
Obvious that data can’t exist without business (otherwise, what is the data about?). Can does business exist without data? It can not, but let’s to take a look why. The matter is that business is real and active (otherwise, what is the business?). Reality means that business is a consortium of elements. Activity means that some business events happen. Both elements and events reflected somewhere (in people’s brain, on paper or in computer). Otherwise, business would be unknown and we could not consider it. Hence, business and data co-exist.
      To complete this consideration, we need to answer next group of questions: who and why does need the data.
Business exists because it is managed (it’s an obvious fact). Otherwise, business will begin to deviate under influence of vulnerable fluctuations. This fact does not depend on type of business - it can be service, manufacture, sales, research, education or any other business.
Business management can be provided only based on data about business: which events on which elements happened. For example, what the service was provided, for which user, where and when; what the product was produced / delivered / sold, where and when.
Business management required data based on its business model. The business model mostly exists in management mind (very seldom, it exists in formalized shape). It reflects elements and events of business, as well as management tool indicators / calculations (for example, amount of income). Graphically, it can be implemented as chart:
 
Hence, management processes data related to business model. Any non-related to business model data will reach management, but such non-related data will not be processed because management works on business process regulation.

Summary: data is born on real business process and used by business management based on its business management model.

How data correlated with business model

Business model is a set of rules which management uses to run business process efficiently. Usually, a business process reflected in management’s imagination. To use it for data modeling, it’s necessary to make it visible. The simplest way to do it is represent it as a matrix.

Business model projected on data and define which data consistent to the model. For example, if data contain such attribute (column, field) as ‘weight’ but ‘weight’ is not used as a component in a business model, the attribute ‘weight’ should be ignored.
On the other hand, some data can indicate that business model should be developed to use the new data for business object management.

Business model and entities

Business generates events which are the component of the business model. Each type of events reflected as the data entity (for example, sale of product; opening an insurance claim; patient arriving to the hospital).

Picture datatype and its using in modeling

Collection of business process data related to each other is an integrated entity which can be represented as a big (hyper) object which can be considered as new data type which we can name ‘picture’. It has developed internal structure between components and can be processed using functions: compare (equal or not, bigger or smaller that means ???).

What business model is

Business model reflects, on the one hand - real business process, on the other hand –the ways of management the process. Considering the management as a collection of functions executed over management process. Each such function transforms the data from business process into the data for management. The business functions can depend on each other and some functions can use data from other functions. This can be showed graphically as the next picture:

Hence, business data transferred to the business model where processed by functions and then used by management. Next step of our analysis should be consideration of structure of data processing which would show where and how data should be moved and transformed.


Structure of data processing

Data processing should fill up business model with data and transform the data into information (that is what functions do). Most efficient way for this would be to get result of every function of business model a much as possible soon after source data appeared on business process. To reach this goal, it’s necessary:
-          run business model functions on business data as soon as it became available;
-          run independent parts of data simultaneously, first of all, if they appeared simultaneously;
-          run data processing in time mode which would support permanent consistence of data loaded into business model to the status of business process.

Introduction - First Post

Hello all and welcome to my blog. The blog was created to discuss different aspects of organization of information technology
Innovative and nontrivial views and approaches, which aim to improve efficiency of data processing, will be discussed here.
My intent is to share knowledge and ideas about the organization of data processing, and first of all, I will address two categories of topics:
1. Data processing analysis.
2. Production support, maintenance, and enhancement - a topic that, in my opinion, gets little attention.
Please feel free to add comments or suggestions about improvement of content or layout of this page.