| |
 
Skip navigation links
Home Page
About the Magazine
Chief Editor word
Contact Us
One System Perishes to make way for an Emerging System

The spread of information technology has played an essential role in the development, design and use of administrative information systems which can be defined as: a set of automatic and human elements functioning to bring about data presentation, collection and operation in order to convert them into information that would help with streamlining the work flow and supporting decision making.

The phases for system development begin with planning but would not end with just delivering the completed system(s) for the life of those systems should continue even after delivery and actual operation during maintenance and upgrading phases giving it a continuous life cycle which would only come to an end when the system perishes and finally stops to function. The systems development process is defined by specialists as a series of procedures carried out to connect a number of steps (development phases) deemed necessary for the development of any computerized system such as analysis, design, programming and maintenance as a service provided to a customer organization. This includes both the development of new information systems and solving the problems of existing systems. In this article, we will, first, review some of the approaches used in systems development and then give details on the phases of an information systems development life cycle.

First: Systems Development Approaches

Since the idea of information systems came into existence, system developers used a number of development approaches which differed from time to time depending on the changing concepts of systems development. Each news approach was building on the preceding approaches in a manner that we will try to explain in the following lines:

I: The Conventional Approach:

This is the oldest systems development methodology whose model is based on the concept of dividing the steps of any computerized information system into five consecutive phases so that no shift to the next phase is allowed until the preceding phase is fully completed. Those five phases were identified as: the planning, analysis, design, programming and testing phases. The operation and subsequent maintenance phases were not considered part of the development process. It was a fairly good approach had it not been for the difficulty of going back to a previous phase. That was in itself a serious shortcoming which meant that it was virtually impossible to complete any of the phases because of the difficulty of going back and also because of the inability to give an anticipated vision of the next phase. The end result is that the system becomes rigid and inflexible as it falls to the redundancy of continuously trying to correct unexpected errors. Moreover, the time given to the analysis and design phases in this methodology is relatively short compared to the time designated to the programming and testing phases.

 

II: The Structural Approach:

This approach bears some resemblance to the previous one apart from the few changes and improvements added here. The main improvement added was the so-called feature of feedback from one phase to the other. This new function of feedback enabled the capability of making changes in any of the development phases as well as the capability to reflect such change in all other phases. This resulted in a considerable neutralization of the system's rigidity and a reduction of the time and effort wasted in following up the change of requirements and tasks.

 

III: The Object Oriented Approach:

This is a modern approach which is based on the system's general objectives and not on the types of datasets or methods of data processing. In short, developers using this approach would first divide and classify components into objects based on their attributes and their behavior. Then comes the modeling of the components, identifying classes and the specification of relationships based on a number of main features and new concepts the most important of which are inheritance, encapsulation and polymorphism.

 

Second: Systems Development Life Cycle (SDLC)

What is a system development life cycle? A system development life cycle (SDLC) is defined as the steps and procedures carried out in a step-by-step series starting from the birth of the system as an idea needed to address a specific requirement or to solve a problem, stating the problem and the basic requirements for solving it, analyzing the system's functions and designing its components, writing the system's programs, testing the programs and finally the installation, commissioning and operation of the system. The above five phases constitute the development phases and the system will be in full fledge when the 6th and final phase of maintenance is added. Those six phases of development are explained as follows:

Phases of the Systems Development Life Cycle

1.The Requirements Definition Phase:

This phase is sometimes called "the Project Identification and Planning" phase during which developers get acquainted with the requirements of the user section or department who ordered the system. The requirements are analyzed, prioritized and organized in proper order or otherwise the developers would choose to define and discuss the problems facing the user department and affecting performance or causing slowdown. The team tasked to make the preliminary investigation must be able to have a deep understanding of the nature of those requirements or problems until they become very clear to them. The team must also be able to sort out problems according to type such as problems related to the reliability of the data and information produced by the system, problems related to the validity and accuracy of final results, problems related to an existing system's storage capacity, i.e operation and storage capabilities, or problems related to work performance and productivity. All such problems are of course directly related to the existing system's productivity and ability to effectively carry out the required tasks at a reasonably acceptable speed. The preliminary investigations team would need to hold several meetings with the customer and ask questions such as: What problems do they have with the existing system? Whether the customer wants to keep the existing system with some upgrading or they want to scrap it altogether? What functions or services do they expect to have by purchasing a new system? Would a new system reduce the work efforts being exerted now and help the customer by cutting down the financial expenses? Whether or not a new system would bring in new technical and technological benefits with respect to productivity, accuracy and storage capacity? Whether or not the customer has enough time for implementation? That is: is this the right time for development? This phase will result in producing a preliminary report describing the requirements or the problems that call for the development or implementation of a new computer system.

 

2.The System Analysis Phase

This, being the second phase of the system's life cycle, is a phase for studying the customer's order and analyzing the report produced at the end of Phase I.

This phase consists of two steps: The first step is to submit a feasibility study which recommends options on whether to continue with the project for implementing the system or to drop out of it. Two types of feasibility study can be identified in this context: a technical feasibility that would look into the technology in use and whether or not it can be upgraded; and an economic feasibility whose aim is to assess and evaluate the financial and economic aspects of the project. This is usually done by computing the cost of the new system including the cost incurred in studying the system and the cost of analysis, design and operation. The study should also include a calculation of the expected benefits, cash revenues and the expected economy of time and effort. The expected yield of such a study would either be to approve a preliminary plan of the next phases of the system development life cycle or to decline any further involvement if it is concluded that the project is unfeasible. The most important components of the feasibility study report are, first: the abstract, which is a preliminary description of the requirements of the new system and its main functions along with a statement of the problems to be solved and the benefits to be added by the system. Then come the other details of the feasibility study such as the costs of operation, development and follow up and the cost of the human and financial resources needed to carry out those functions.

The second step would take the form of a presentation and explanation of the information system to be implemented. This is usually done through the identification of three important points namely: stating the system's general and particular objectives, enumerating the operation requirements such as the environment, the equipment and programming languages and finally the conditions and restrictions.

At this point the work team should discuss the methods of system development, offer alternative solutions, select the best of those solutions and, in case of a phased installation, decide on implementation priorities. When final decision is reached on the solution to be implemented, the analysis team should begin to familiarize itself with the modeling, work procedure and the flow of data and documentation in the existing system through a series of meetings, by in situ follow up of the work flow and a thorough review of the contents of the documentation and forms used by the existing system. The deliverable of this phase is to come up with the so-called "Typical Requirement Structure" which includes the preparation of the "Data Flow Diagram" and the "Entity relations Diagram".

 

3.System Design Phase

This phase involves two types of design procedures known as the "Logical Design" and "Physical Design".

The first type (the logical design) gives a full description of all functions of the system and how they relate to one another. It also includes the design of a database for those functions. This description is not in any way related to any type of programming languages or the computer applications specified in the preceding phase of the system's development. The deliverable of this design procedure is the "Logical Data Model".

In the second type of design procedure (the physical design) the logical design is converted into technical details relating to the technology to be used including the applicable programming languages, the required computer applications and the system operation environment such as the networking and communication systems.

The deliverable of this design procedure is the "Physical Data Model".

Generally speaking, this phase would, in addition to the above two models, also produce a detail third model that would include the specification of detail tasks of the elements and components of the system including input/output format, report format and system operation screens. The design team must also write a detail description of the programs and codes required for system implementation. The programming team will pick up these details and use them as a guide for writing and testing the programs in the next phase.

4.The System Coding Phase

This 4th phase of the system development life cycle is also known as the actual development phase. It is dedicated for writing the programs, or the so-called system codes, according to the programming language specified and selected in the previous phase. After the program writing is completed, the written programs will be subjected to a separate test before the system is tested as an integrated unit. The programs are first tested by the entry of fake data as a first step then they will be tested again after the entry of true or valid data to see how the entered data and information will go together and integrate to carry out the system's tasks and functions.

The deliverable of this phase is the so-called "source code".

 

5.The System's Implementation Phase

This phase begins with the preparation of the system's environment i.e. the equipment and hardware upon which the system will be installed. Then comes the technical support to the system users. That is why the actual implementation is said to be here because the user comes to feel the existence of the system when he shifts to the new system in this phase. This shift includes a shift in the hardware, a shift in the software and a shift in the data and files. The shift in hardware may not be more than the simple installation of computers and networks to run the system, but it may, in other cases, include other changes such as changing the building and the location. The shift in the software is aimed at ensuring that the applications designed in the system development phases will function in a better way in the new equipment and hardware environment. The third shift in the data and files amounts to the accurate transfer of data without any loss of data or file contents either through the instrument of special programs designed to transfer those files in their new format or by the entry of data into the system. This phase requires the training of users on the new system. Among the many ways of familiarizing the users with the new system is the supply of brochures or user manuals and the delivery of direct training using sample data. Training could also be provided by systems analysts, training technology specialists and members of the development team who are well-versed in the new system's functions. The first five phases end here. They constitute the actual phases of the system development.

 

6.The System Maintenance Phase

This 6th phase is intended to ensure the perpetuation and safeguard of the system. Adding this one to the above-mentioned five phases, the six phases add up to the entire system development process.

A specialized maintenance team from the systems development center, mostly comprising members of the analysis, design and programming teams which participated in the development process, will pay periodic checking and evaluation visits as a main function of this phase. The purpose of those visits is to look for and identify problem areas which the system may develop after coming in contact with the new environment and conditions and accordingly make the required changes as necessary which would include such actions as resetting, adjustment and improvement as well as improving the design and system codes. This phase is an extended phase which would last for the entire life span of the system and will never stop until the system comes to a final stoppage. The golden rule is that as long as the system is there and functioning, the expectation is that it will need to be looked after and maintained.

By Colonel/Enginr. Abdul Aziz Ibn Abdullah AL-Omari