Process Flow Modeling

Process Flow Modeling is used to graphically describe the various processes that happen in an organization and the relationships between them.

IDEF3:

IDEF3 is a process description capture method used in Process Flow Modeling, designed to model and document the processes. This method helps to capture and understand the different processes or activities and their relationships in a system. IDEF3 workflow models explain the activity inter-dependency and timing, branching and merging of process flow, choice, looping and parallelism in much greater detail.

Process Flow Model is a collection of several activities captured with the help of IDEF3 structural analysis method. In IDEF3, each activity is represented by a box with a verb describing an activity or verb phrase describing transformation need to be done by a process and an identification number. For example, Check Credit History, Process an Order, Ship an Order are some of the examples for these. In general, activities take inputs and transform them into outputs or outcomes and the relationship between these activities is represented by arrows. These activities are often referred to as UOW (Unit of Work) within a model.

The main objects or components in IDEF3 are activities or processes, one or more junctions and arrows. Junctions are nothing but a small box that enable branching or joining of processes. The practical implementation of these junctions are represented in detail below.

Fan Out Junctions:

Fan Out junction branches a single process or activity upon entering a junction into several activities (i.e) single arrow enter these Fan In junctions and multiple arrows come out of these junctions.

Fan In Junctions:

These junctions consolidate various processes or activities upon entering these junctions and outputs a single activity (i.e) multiple arrows enter these Fan In junctions and only one arrow comes out of these junctions.

Fan In and Fan Out junctions are often accompanied with several options like AND, OR, XOR, Asynchronous and Synchronous. These AND, OR and XOR are represented visually inside the junction boxes as &, O and X respectively. Asynchronous and Synchronous are represented as lines inside the boxes. Table shown below represents the meaning of these in case of Fan In and Fan Out Junctions.

Junction NameFan In DescriptionFan Out Description
Synchronous ANDAll preceding processes must end simultaneously.All following processes must begin simultaneously.
Synchronous OROne or more preceding processes must end simultaneously.One or more following processes must begin simultaneously.
Asynchronous ANDAll preceding processes must end.All following processes must begin.
Asynchronous OROne or more preceding processes must end.One or more following processes must begin.
ORExactly one preceding process ends.Exactly one following process begins.



Business Process Modeling Methodology | IDEF Modeling Methods

Business Modeling Methods:

IDEF: IDEF is an acronym for Integrated Definition.

IDEF0: IDEF0 is a method used in Business Process Modeling, designed to model the decisions, actions and activities of an organization or system. Diagrams are based on simple box with arrow graphics and text labels.

IDEF3: IDEF3 is a method used in Process Flow Modeling, designed to model processes and documenting the processes and it explains how a system, process or an organization works.

IDEF4: IDEF4 is a method designed to model object oriented programming.

Data Modeling Methods:

IDEF1X (Integrated Definition for Information Modeling notation) and IE (Information Engineering notation):

IDEF1X and IE types are focused on the actual data elements present in a relational database. IDEF1X and IE use different symbols to represent entity and table relationships for designing relational databases.

Dimensional Modeling Notation:

This is a method used for designing data warehouses and data mart.

 

Business Process Modeling Example

As we know, a business process modeling is a collection or group of related activities or business processes that produce a specific service or product.

In order to explain a Business process modeling in a simple manner, let us assume an activity of getting a seat in a college.

The following diagram shows the different activities or business processes associated in getting a placement in a college. The related activities are grouped on each side marked with different arrows.

 

Business Process Modeling Example Diagram:

Business Process Modeling Example

  • To obtain a seat in a college, first the applicant need to submit an application along with GRE and TOEFL scores, school mark sheets, birth certificate, payments etc. In Business process modeling, these are represented as inputs with arrows pointing inwards.
  • In order to process the application, college should have computing systems; employees, accounting systems etc., and mechanism arrows represent these.
  • The application should only be approved upon satisfying several factors like; legal requirements, government rules, valid mark sheets etc. and control arrows represent these.
  • When all processes are completed, the applicant will be notified of the selection, scholarships, books etc and output arrows represent these.

Business Process Modeling

Business process modeling is a collection or group of related activities or business processes that produce a specific service or product. Business processes are visually represented as diagrams of simple box with arrow graphics and text labels, better known as Business Process Models.

Business Process Modeling Overview:

Business Process Modeling (IDEF0) is the first step in Business Modeling and it is followed by Process Flow Modeling (IDEF3) and Data Flow Diagrams (DFD). In Business Process Modeling, an organization’s functions are represented by using boxes and arrows. Here boxes represent activities and arrows represent the information associated with an activity. Input arrow, Output arrow, Mechanism arrow and Control arrow are the different types of arrows that are used in business process modeling.

The business process modeling is started with a context diagram and it provides a brief overview about the organization’s activity. In order to understand the activities of an organization in a detailed manner, the context diagram is then decomposed into many sub activities diagrams.

Business Process Modeling Diagram:

Business Process Modeling Diagram

Similarly decomposition of context diagram is done in process flow modeling and data flow diagrams. Context diagram is similar to a conceptual data model in data modeling. The following example gives the layout of the context diagram.

Business | Data Modeling Types

Modeling:

Modeling is an efficient and effective way to represent the organization’s needs; It provides information in a graphical way to the members of an organization to understand and communicate the business rules and processes.
Business Modeling and Data Modeling are the two important types of modeling.

Business Modeling Types:

  1. Business Process Modeling: 

    Business Process Modeling is an analysis of business processes, often represents a collection of activities that are related to each other. Business Process Modeling is explained in detail under the topics Business Process ModelingBusiness Process Modeling Example.

  2. Process Flow Modeling: 

    Process Flow Modeling is used to graphically describe the various processes that happen in an organization and the relationships between them and it is also known as Work Flow Modeling. A typical Process Flow Diagram contains, several related processes often referred to as UOWs (Unit of Work) in Process Flow Modeling, Arrows and Junctions. Junctions are simply boxes facilitating the branching or joining operation between processes that enter or leave a junction. Process Flow Modeling is explained in detail under the section Process Flow Modeling.

  3. Data Flow Modeling: 

    Data Flow Modeling focuses on the flow of data between various Business Processes. A typical Data Flow Diagram contains activities, arrows, data stores and external references. Data Flow Modeling is explained in detail under the section Data Flow Modeling.

Data Modeling Types:

These Data Modeling types and their concepts are described in detail under the Data Modeling section.

 

How to create a physical data model from a logical data model using Embarcadero’s Data Architect?

We are focusing to create this physical data model with oracle as the database. So we have selected oracle 12c as the database.

Open existing logical data model “02_LDM_creating_entity_version2”.

Click menu Model/Generate Physical Model. A small screen will appear. Click ok.

A new screen is opened. There are 5 steps in this process.

We are explaining step 1 and Step 3 only.

Step 1 of 5:

Name the physical data model: pdm_creating_entity_version2

Type of physical model: relational

Target_database_platform: oracle12c.

Click next and again click next.

Step 3 of 5:

Attach the naming template “enterprise_naming_standards.nst”. Click finish.

You can now see the physical data model.

04_physical_data_model_diagram

 

 

How To Create Naming Standards In Embarcadero’s Data Architect?

Create a .csv file named “Naming_Standards.csv” and store the following information in that csv file. The reason for creating this file is to avoid errors and typos in our naming conventions and data modeling naming convention standards can also be followed.  We have eliminated VOWELS in the actual word so that physical object names will not exceed the actual length provided by the database. Later this file will be created in .nst format (embarcadero’s naming standards format) and has to be attached to the physical data model that we will create in the next section. This file (.nst) can be attached to all data models created across the enterprise.

Note: We are not providing naming standards for logical data model.

Step1: Creating .csv file and storing it as “Naming_Standards.csv”

Open your Microsoft Excel and type the following data. Then store it in .nsv format.

DEPARTMENT DPRTMNT
NUMBER NMBR
NAME NM
ADDRESS ADDRSS
IDENTIFIER IDNTFR
EMPLOYEE EMPLY
MANAGER MNGR
SALARY SLRY
DATE DT
OF OF
JOINING JNNG
PHONE PHN
NUMBER NMBR
INCENTIVE INCNTV
INDICATOR INDCTR

Step2: Creating .nst file and storing it as “Enterprise_Naming_Standards.nst”

Open existing logical data model “02_LDM_creating_entity_version2”

Click menu Tools/Naming Standards Template Editor.

A new screen appears.

On top of the screen, there are four different tabs. Name, Logical, Physical, and Mapping.

Under name tab: type the file name as enterprise_naming_standards.

Under Logical tab, you can change max length of entity, attribute, view, key, relationship. Select case as upper for entity.

Under physical tab, you can change you can change max length of entity, attribute, view, key, relationship.  You have to change the length as per the target database standards. Select case as upper for table.

Under mapping tab, click import. Select the file “naming_standards.csv”.

In mapping tab, below the screen there are three tabs abbreviations, order, and general. Click general tab.

Since we will be placing underscore between each word of the column, type “_” in physical word separation under heading “delimiter options”.

Click save. Save the file as “enterprise_naming_standards.nst”

 

03_how_to_convert_.csv_file_to_.nst_file

 

How to add identifying, non-identifying, self-recursive relationship in ER Studio Data Architect?

Now, we are going to make changes to the previously created data model. So create another file LDM_creating_entity_version2. Open the previous data model “LDM_creating_entity_version1” and click menu file/save as “LDM_creating_entity_version2”.

How to add entity and attributes in ER Studio Data Architect:

Add the following attributes to “Employee” Entity. Place the cursor in attribute section of Employee Entity, right click edit entity. Click attributes tab and add the following attributes.

  • “Employee Name” with data type as Varchar(50); NOT NULL;
  • “Incentive Indicator” with datatype as Char(10);  NOT NULL;
  • “Phone Number” with datatype as Char(12); NULL;

You can use UP or DOWN arrow keys to align the attributes.

Create another entity Address with Address Identifier as attribute, datatype as Integer and Address identifier as primary key.

Address ID should be a sequence number.

How to create a sequence number in ERStudio Data Architect:

When you add an attribute, you can see a section “Identity Property”.  Click the check box in Identity column.

Type 1 for seed and 1 for increment. Seed means the starting number of the sequence and increment means how it has to be incremented.

Create another entity Employee-Address with no attributes.  We will explain how to add attributes below.

How to add non-identifying relationship in ER studio data architect?

Department entity to Employee entity:

Many employees can work in one department. One-to-many relationship. Hence we can create this relationship by Non-Identifying Relationship.

Click menu Insert/Relationship/Non-Identifying mandatory:

Click the cursor on Department Entity and then on Employee Entity.

Now you can see the non-identifying relationship between department entity and employee identity.

A new attribute Department Number is added to employee entity.

How to add identifying relationship in ER studio data architect?

Employee entity and Address entity: One employee can stay in many addresses.

One address can contain many employees.

Many to many relationship: Identifying relationship

Create address entity with address id as the primary key.

Click menu Insert/Relationship/Identifying

Click the cursor on employee entity and employee address entity. Again click on address entity and then on employee-address entity.

Now you can see the identifying relationship in employee address entity.

Two new attributes employee number, and address identifier are added as primary keys to employee-address entity. Since two keys are there, it is called as composite primary keys.

How to add self-recursive relationship in ER studio data architect?

To connect relationship between an employee and a manager: There is no attribute which references the employee number in the employee entity.  So we will create a new attribute Manager Number by using self-recursive relationship. When we want to create an attribute in an entity that references the same primary key attribute, we have to create role name, because, two attributes cannot have the same name in the same table.

In this example, the parent entity and child entity are same (employee entity).

Click menu Insert/Relationship/Non-Identifying mandatory

Click the cursor on employee entity twice. You can see a new screen. Type role name as manager number.

You can see a new attribute manager number in employee entity.

If you want to know more about the relationship, click each relationship line and you can see different options.

02_identifying_and_non_identifying relationship

 

How To Create A Logical Data Model In ER Studio Data Architect?

The following example has been created from the Embarcadero’s product ER/Studio Data Architect, Version 10.0. You can find different products in the URL http://www.embarcadero.com/products. For more information, please visit http://www.embarcadero.com.

ER/Studio Data Architect is a powerful Data Modeling tool with several applications. You can create either relational data model or dimensional data model from Embarcadero’s ER/Studio Data Architect. Based on the usage, you can create conceptual, enterprise and sub models etc. After you finish your creation of logical relational data model, you can create physical relational data model.

How you will create a logical relational data model in ER/Studio Data Architect?

  • Open ER Studio Data Architect.
  • Click File New.
  • From the new screen that appears click “Draw a new data model” and select “Relational” from the drop down box. A new screen appears. By default, you will create a logical data model.
  • Either you can use menu options or icons present in the screen and we will follow menu approach.

How to create an entity (Table), add attribute (column), datatype, primary key in ER/Studio Data Architect?

  • Click Menu Insert/Entity. Drop that entity in working area by clicking your cursor in the working area.
  • Do the same thing to create another entity.  By default the first entity you created will be Entity1 and the second entity will be Entity2 respectively.
  • Change the entity name “Entity1” to Department.
  • Right click “Entity1”. Click edit entity. A new screen “Entity Editor” is opened.
  • Type the entity name as “Department”.
  • There are different tabs present in that “Entity Editor” screen.
  • Click tab “Attributes”. On the bottom of the screen, you can see add button and Click that add button.
  • Type Attribute name as “Department Number”.
  • Select the datatype as Integer.
  • Click the check box “Add to Primary Key”.
  • Click add and a new attribute “Department Number” is created.
  • Create another attribute with “Department Name”,and datatype as Varchar(50). Select datatype as Varchar and width as 50.
  • A new entity “Department” with a primary key “Department Number” and a standalone attribute “Department Name” is created.

Similarly, create another entity “Employee” with attribute names:

  • “Employee Number” with data type as Integer and constraint as primary key.
  • “Salary” with data type as Numeric (10, 2), NOT NULL constraint as a standalone attributes. Type width as 10 and scale as 2.
  • “Date of Joining” with datatype as Date, NOT NULL constraint as a standalone attribute:
  • Click menu file/save. Save it as “LDM_creating_entity_version1”

01_logical_data_model_diagram

Since we have not created domain names, defaults, role names, naming standards, we have not selected those options. We will explain it later.

We will explain in the next section how to create physical data model  of data model  LDM_creating_entity_version2. Based on that you can create physical data model of LDM_creating_entity_version1.

01_physical_data_model_diagram

1 11 12 13 14