An Object-Oriented Methodology for Information Systems Development and Business Process Reengineering
The objective of this article is to introduce a new object-oriented methodology called Tabular Application Development (TAD), which is suitable for use in the field of business process reengineering and information systems development. TAD methodology is based on a new idea, different from those used in other methodologies. This methodology consists of six phases and uses several tables to represent the real world. An example of a tourist organization is used to implement the concept of this methodology. As a result of this work we found that TAD methodology is capable of identifying the needed changes and developing the information system of the organization.
The aim of this article is to represent the use of an object-oriented methodology called Tabular Application Development (TAD) in the fields of business process reengineering (BPR) and information systems development (ISD).
This article does not compare TAD with other methodologies, because such a comparison exceeds the scope of this work. The reason for introducing a new methodology is that TAD represents a new concept, which is simple and very different from the ideas used in other methodologies. This methodology describes the functioning of the organization using several tables. These tables are then analyzed with the purpose of identifying the necessary changes that must be implemented to improve and optimize the functioning of the organization. Implementation of the suggested changes in the organization's operation is then put into effect by developing the information system of the enterprise. TAD has six phases. The first phase deals with problem definition. The second phase analyzes the functioning of the organization. The third phase deals with BPR. The fourth phase develops the object model of the system. The fifth phase designs the system. The final phase implements the system. This article illustrates the use of TAD methodology in carrying out BPR and developing an information system in a tourist organization.
The first phase of TAD methodology is problem definition. In this phase, the real world of the problem to be solved is identified and reduced to understandable terms.
The best way to begin this is to interview all users. My colleagues and I first organize meetings and interviews with the management and then continue with the other users. The purpose of interviewing the top management is to identify:
- the organization's strategic plan and goals,
- vital outputs and analyses related to the strategic plan and goals,
- the organization's decision-support problems, and
- the organization's structural scheme.
After defining the information at the enterprise level, we continue with the management at the business and then at operational levels. To do this we create a plan of interviews in accordance with the hierarchical scheme of the organization. This plan has to be discussed with the top management and created corresponding to their recommendations.
The purpose of interviewing the management at the business and operational levels (department or unit) is to obtain information about:
- business objectives and goals,
- operational objectives and goals,
- the structure of each entity (department or unit),
- outputs and analyses that are vital to the management's decision making, and
- the entity's decision-support problems.
The result of the interviews is to define analyses that offer information about the strategic plan and goals, business objectives and goals, and operational objectives.
TAD methodology uses the term entity to define a user, group of users, or any source of information that is part of the system or is connected with the system by some interaction. Therefore, an entity may be internal or external. An internal entity is inside the system and takes part in the system's operation. An external entity is not part of the system, but has one or more interactions with the system.
Identification of the entities, their goals and objectives, the needed outputs and analyses, and their decision-support problems is achieved by developing a table called the entity table. This table is developed and completed during the interviews with the management at the enterprise, business, and operational levels.
The entity table is structured as follows: The columns of the table represent the entities. The rows of the table represent the analyses required by the entities. An asterisk in any square(i,j) in the entity table means that the entity defined in column j requires the analysis defined in row i, where i ranges from one to the number of analyses and j ranges from one to the number of entities.
Tourist Organization: The Tourist Organization is a large organization that owns several tourist centers. Each center has at least one hotel and other tourist facilities.
Corresponding to the first phase of TAD methodology, we began by organizing two interviews with the top management. As a result of the first interview, we identified a set of vital analyses related to the strategic plan and goals of the enterprise. In addition to this, we identified the structure of the organization, which consists of the following entities: Top Management, Information Office, Purchasing, Marketing, Accounts, Reception, Buffet, and Restaurant.
In the second interview we introduced to the top management a plan of interviews that had to be accomplished with the lower-level management. Furthermore, we discussed a list of requirements prepared by the top management. We continued our work by organizing several interviews with the management of the previously mentioned departments.
Table 1 represents the entity table of the Tourist Organization. It shows the structure of the organization and some important analyses connected with its strategic, business, and operational goals. Table 1 introduces only part of the real entity table, therefore it contains only seven analyses required by the top management and other important entities.
The second phase of TAD methodology deals with discovering and understanding the functioning of the organization.
An essential precondition for a successful BPR and ISD is a complete understanding of the real world of the system considered. This means that the analyst has to form a clear picture of the functioning of the system as a whole and the functioning of each entity in the system. In addition to this, the analyst has to define in detail every task or event accomplished in the framework of the organization.
To do this we have to continue the work we started in the first phase. This means we must organize at least one interview with the representative of each entity.
The purpose of this phase is to understand the functioning of the system by identifying every single activity or task in the system.
This phase has three steps. The first step identifies the activities and tasks of the system by creating the activity table. The second step defines in detail the tasks performed in the framework of the identified activities. The third step defines the work processes by grouping the activities of the system into suitable groups, and also defines the business processes by grouping suitable work processes together.
This step deals with identifying and analyzing the activities of the organization by organizing further interviews with the system users. The purpose of these interviews is to identify every activity performed by any user in the framework of the identified entities. These interviews are also useful for completing the entity table with users' requirements and for decision-support problems.
An effective way to identify the activities is by developing a table called the activity table. As we develop the activity table we simultaneously develop another table called the task table, discussed later. The activity table is organized as follows: The entities are represented in the columns and the activities are listed in the rows of the table.
Every activity occupies one row. A nonempty square(i,j) shows a certain task performed by an entity defined in column j inside the activity defined in row i. A task is work performed by a determined entity in the framework of a certain activity. An activity contains one or more tasks performed by one or more entities.
Developing the activity table is a result of interviews organized with the internal entities defined in the columns. In the rows of the activity table we first register each activity performed by the system and then link this activity with the entities in the columns, which cooperate in doing it. In other words, in the rows of the table we list all activities one by one in the order in which they occur in the real world. Each of them must be connected with those entities in the columns that perform tasks in the framework of this activity.
For every activity defined in row i, where i ranges from one to the number of activities, we list the entities in the columns and try to link the current activity with each of these entities. If any connection exists between activity(i) and entity(j), where j ranges from one to the number of entities, then a letter S or T is written in square(i,j).
Letter S in square(i,j) means that entity(j) is a source entity for activity(i). This entity(j) performs a determined task in the framework of activity(i) (creates, completes, sends, etc.) defined in square(i,j).
Letter T in square(i,j) means that entity(j) is a target entity for activity(i). This entity(j) accepts or registers an output from other entities.
Any activity may have one or more source and target entities. For this reason the letters S and T, used to indicate a certain activity, are also indexed by the sequence number of the task as it occurs in the framework of the treated activity.
For example, considering activity(i) let us define that entity(x) is a source and entity(y) is a target entity. To do so we write Sq in square(i,x) and Tq in square(i,y), where q is the sequence number of the tasks in row i.
In addition to this, and considering only the internal entities, we use the letters P and U to connect the activities in which a certain internal entity is involved. This is carried out to connect the tasks of any internal entity defined in a determined column.
Letter P in square(i,j) means that activity(i) is a predecessor to some activity (or activities) indicated by U in column j. Letter U in square(i,j) means that activity(i) is a successor to another activity (or activities) indicated by P in column j.
Any activity may have one or more predecessors and one or more successors. The letters P and U are indexed by the index of the predecessor activity. For example, considering entity(j) let us define activity(x) as a predecessor to activity(y). To do this we write Px in square(x,j) and Ux in square(y,j).
Tourist Organization: To develop the activity table of the Tourist Organization, in addition to the interviews with the Top Management, we organized interviews with the representatives of the following entities: Information Office, Purchasing, Marketing, Accounts, Reception, Buffet, and Restaurant. The results of these interviews were used to create the activity table.
We found that the organization has a computer application system installed in the Information Office. All other departments send their documents to the Information Office and get the necessary outputs from there. This office takes care of inserting and updating data, and printing different outputs from it.
Table 2 shows a reduced activity table of the organization, which has 17 activities and 10 entities. The first eight entities are internal and the last two are external.
The first activity "Make Contracts with Suppliers" means the Purchasing Department gets a contract from the supplier and sends it to the Top Management for approval. The Top Management signs it and sends it back to the Purchasing Department. This department sends one copy of the contract to the Supplier and one copy to the Information Office. Thus we write S1 in square(1,9), T1 in square(1,3), S2 in square(1,3), T2 in square(1,1), S3 in square(1,1), T3 in square(1,3), S4 in square(1,3), and T4 in square(1,2) and square(1,9).
The second activity means that Purchasing, Buffet, or Restaurant may create an order. Each of these entities sends a copy of the order to the Supplier and another copy to the Information Office. To indicate this we write S1 in square (2,3), T1 in squares (2,2) and (2,9), S2 in square(2,7), T2 in squares (2,2) and (2,9), S3 in square(2,8), and T3 in squares (2,2) and (2,9). All other activities are defined using the same procedure.
Furthermore, concerning the Purchasing Department entity we find that the first activity is a predecessor to the second activity and the second activity is a predecessor to the fourth activity. For this reason we write P1 in square(1,3), U1 in square(2,3), P2 in square(2,3) and U2 in square(4,3). All activities are connected vertically using the same concept.
We have described how to define the activities of the system. Each activity consists of one or more tasks and occupies one row of the activity table. Tasks of any activity are indicated by nonempty squares in the activity row of the activity table.
We often find ourselves in situations where we need more information about the activities. Furthermore, we especially need detailed information about tasks to identify all the circumstances in which they are accomplished.
A very good way to identify tasks, their characteristics, and the circumstances linked with them is by developing a table called the task table. As mentioned, the task table is developed simultaneously with the activity table.
In the task table, tasks are represented by the rows of the table and the characteristics of the tasks are defined in the columns. Thus each task defined by a nonempty square in the activity table occupies one row in the task table. Each task is represented by its code Ki,j, where the letter K means task, and i and j are indices of row i and column j of the activity table where the task is defined.
In the columns of the task table we define task characteristics in terms of Description, Time, Condition, and Document.
Description is used to write a short description of the particular task.
Time is used to denote that entity(j) in the activity table needs a determined time to perform task Ki,j. Time may become a very useful parameter should we wish to use it to reengineer business processes as discussed later.
Condition is used to specify that performing task Ki,j requires that one or more preconditions or conditions be fulfilled.
Input/Output is used to indicate which inputs and outputs are connected with task Ki,j.
We may define other task characteristics if necessary.
In addition to the tasks, the task table represents the activities defined in the activity table. The purpose of this is to show in detail the linkage between the activities and their tasks.
As mentioned, each task occupies one row in the task table. For this reason, each activity occupies one or more rows in the task table
Developing the activity and task tables is an iterative process. Some of the interviews have to be repeated to arrive at a precise understanding of the user's work. If anything is not understandable, then we have to organize a new interview with the responsible user until everything is clear.
Tourist Organization: The activity table of the Tourist Organization (see Table 2) contains 17 activities. To represent the task table of the organization, we describe in detail only a few of these activities and define the tasks performed in the framework of these activities. This may be enough to give a clear picture of the structure of the task table of the organization.
Table 3 shows only the first five activities of the activity table (see Table 2). The first activity has two tasks: K1,1 and K1,3. The second activity has three tasks: K2,3, K2,7, and K2,8. The third activity has two tasks: K3,7 and K3,8. The fourth activity has two tasks: K4,3 and K4,5. And the fifth activity has one task: K5,5.
We ignored the tasks defined in the second column because the Information Office only registers documents connected with the tasks performed by other entities. All other tasks are defined using the same procedure.
Work processes and business processes
In this step, the analyst has to rethink and analyze the activity table to define the work processes of the system by grouping the activities into suitable collections. Each of these collections represents a determined work process. A work process, then, is a collection of one or more activities. Therefore, each work process occupies one or more rows in the activity table.
Work processes are the set of procedures or activities, tasks, and steps where the real world of the organization is accomplished to produce the economic output that generates the profitable return on the capital employed.1
The analyst goes on grouping the work processes into suitable collections; each of these collections is a business process. Each business process consists of one or more work processes and occupies one or more rows of the activity table.
A business process is a collection of activities that takes one or more kinds of inputs and creates an output that is of value to the customer.2 Business processes are the horizontal processes that link together the various functional activities that deliver the output of the enterprise. They consist of functional work processes that either produce and deliver the specific elements of the product or provide support services for those work processes that do.1
After finishing this work we try to complete the entity, activity, and task tables. This is achieved by organizing a joint meeting with the main or important representatives of internal entities. At this meeting we represent the entity, activity, and task tables to the representatives. The aim of this presentation is to correct any mistakes or make necessary changes in the tables, and to persuade the representatives to complete the tables introduced.
Creating the activity table leads to the discovery of all the activities and tasks inside each activity, all work processes defined by grouping the activities in convenient collections, and all business processes identified by grouping the work processes in appropriate collections. Thus we can say that creating the activity table leads to the discovery of the entire system and its subsystems.
Tourist Organization: Corresponding to this step we grouped the activities defined in Table 2 into four work processes: Purchasing, Marketing, Register, and Departure. The first work process includes five activities; the second, third, and fourth work process each have four activities. The defined work processes are grouped into two business processes. These are: Sales and Guest.
Table 4 shows the defined work processes and business processes.