Using CRUD Diagrams to Group Processes into Systems


Using CRUD Diagrams to Group Processes into Systems

Grouping or clustering processes allows the analyst to identify what business processes fit naturally together. The groupings help determine what functions a specific system should perform and what data it requires.

The objective is for groups to have a high degree of independence from one another.

Converting to Association Matrix may Simplify Grouping

Grouping processes does not distinguish between create, read, update, or delete. Therefore, it may be simpler to convert the CRUD Diagram to an Association Matrix by changing each intersection with a C, R, U, and/or D into a common symbol such as a check mark or an asterisk.

Example: CRUD Diagram Converted to Association Matrix

Entity

Process

Customer Customer Order Customer Account Customer Invoice Vendor Invoice Product
Receive Customer Order

*

*

*

Process Customer Order

*

*

*

Fill Customer Order

*

*

*

Maintain Customer Account

*

*

*

Terminate Customer Account

*

*

*

Pay Vendor Invoices

*

Validate Vendor Invoices

*

Pay Vendor Invoices

*

Invoice Customer

*

*

*

Maintain Inventory

*

Initial Grouping

Begin by identifying the first two processes that use the same data entities. Rearrange the rows to position these two processes at the top of the matrix.

Identify other processes that use the same data entities and, if any, move them into the next rows in the matrix.

Example: Initial Grouping of Processes

Entity

Process

Customer

Customer Order

Customer Account

Customer Invoice

Vendor Invoice

Product

Maintain Customer Account

*

*

Terminate Customer Account

*

*

Receive Customer Order

*

*

*

Process Customer Order

*

*

*

Fill Customer Order

*

*

*

Ship Customer Order

*

*

Validate Vendor Invoices

*

Pay Vendor Invoices

*

Invoice Customer

*

*

*

Maintain Inventory

*

Continue Grouping Process

Continue to identify other sets of processes that share the same data entities and move them into the next rows.

Example: Next Grouping of Processes

Entity

Process

Customer

Customer Order

Customer Account

Customer Invoice

Vendor Invoice

Product

Maintain Customer Account

*

*

Terminate Customer Account

*

*

Process Customer Order

*

*

*

Fill Customer Order

*

*

*

Validate Vendor Invoices

*

Pay Vendor Invoices

*

Receive Customer Order

*

*

*

Ship Customer Order

*

*

Invoice Customer

*

*

*

Maintain Inventory

*

Manual Grouping

Once all processes that use the same entities have been identified, begin to analyze remaining entities to determine their best fit. This analysis is subjective. In the example you may decide that Receive Customer Order and Invoice Customer should be grouped with Process Customer Order and Fill Customer Order because they are all involved in processing the customer’s order.

Example: Manual Grouping of Processes

Entity

Process

Customer

Customer Order

Customer Account

Customer Invoice

Vendor Invoice

Product

Maintain Customer Account

*

*

Terminate Customer Account

*

*

Receive Customer Order

*

*

*

Process Customer Order

*

*

*

Fill Customer Order

*

*

*

Invoice Customer

*

*

*

Ship Customer Order

*

*

Validate Vendor Invoices

*

Pay Vendor Invoices

*

Maintain Inventory

*

Consider Using Subject Databases

Entities may be grouped into subject databases using a method such as Affinity Analysis. The subject databases are then used on the matrix instead of data entities. Grouping processes will be easier when there are fewer objects to analyze. For example, Customer, Customer Order, and Customer Account may be grouped as Customer while Customer Invoice and Vendor Invoice may be grouped as Invoicing.

Example: Grouping Processes using Subject Databases

Subject

Process

Customer Invoicing Product
Maintain Customer Account

*

Terminate Customer Account

*

Receive Customer Order

*

Process Customer Order

*

*

Fill Customer Order

*

*

Invoice Customer

*

*

Ship Customer Order

*

*

Validate Vendor Invoices

*

Pay Vendor Invoices

*

Maintain Inventory

*

Craig Borysowich (Chief Technology Tactician)

Advertisements