Requirements analysis is carried out in two stages. First of all, an investigation of the current system is carried out. This enables the scope of the project to be determined, and highlights any problems with the system. The kind of problems identified could include redundant processing or processes that create bottlenecks, superfluous procedures, or excessive data redundancy. The initial investigation should identify users (and potential users) of the system, define the nature, volume and frequency of business transactions handled, and catalogue any existing hardware or software used.
A detailed system investigation is usually preceded by a feasibility study which, as its name suggests, will determine whether the project's stated objectives can be achieved within an acceptable time frame and at an affordable cost. Depending on the results of the feasibility study, some of the project parameters may need to be adjusted.
The second stage is to investigate a number of possible business options, including the identification of any additional features or services that the new system may be required to provide. The existing and proposed systems can be modelled using physical and logical Data Flow Diagrams (DFDs). A physical DFD shows how the system is (or will be) constructed, whereas a logical DFD is not concerned with the physical aspects of the system.
The data used in the current system is also examined and defined in a process that attempts to model the structure of the data by grouping data items into logical data entities. The process ignores the method of data storage used, or the physical location of the various data stores, and concentrates instead on the logical structure of the system's data. The relationships between the various data entities are defined, together with the key data values that are used to link them together. Data modelling can also be used to identify any shortcomings or omissions in the current system's dataset that should be addressed by the new system, and any new requirements identified are added to the requirements catalogue. Data modelling techniques will be looked at in more detail elsewhere.
A feasibility study is, in many ways, a highly compressed version of the analysis phase of the system development life cycle. Its purpose is to determine, in a timely fashion and at reasonable cost, whether the problem can be solved and if so, whether this can be done cost effectively. In many cases, the feasibility study is also used to obtain a clear and in-depth definition of the problem, and to determine the scope of the proposed system. Although the cost of the feasibility study itself is not insignificant, its main function is essentially to determine whether far greater financial resources should be committed to the project under consideration. The outcome of the study will be a formal report to management which will provide the basis on which the decision as to whether or not to proceed with the project will be made. The report may outline a number of alternative solutions, and will provide estimates of the time, resources and financial outlay required for each option.
In the short term, the main questions that must be answered are whether the project is technically feasible (i.e. can the objectives identified be achieved with the technological resources available), whether the project can be completed in the time available, and whether the funds required to finance the project will be available. Perhaps a more important question is whether the long-term benefits to the business of the new system will outweigh the cost of implementing and maintaining it. This question will be answered by undertaking a cost/benefit analysis. If a decision is made to go ahead with the project, the information gathered can be used to prepare project schedules, allocate resources, and provide a cost estimate for the project. Bear in mind, however, that the feasibility study is optional. For small projects or for projects that, for one reason or another, must be undertaken (for example to satisfy the requirements of new legislation), the feasibility study may be omitted.
When a new or upgraded system is introduced into an organisation, it is usually intended to support the work already carried out by the organisation. Although the new system may differ substantially from the existing system, the information being handled, and the main functions of the system, will remain relatively unchanged. An analysis of the existing system, therefore, provides a firm basis for the design of the new system.
Other reasons for performing a system investigation include:
Some of the aspects that will be investigated include:
Note that an investigation of the existing system does not constrain the project team to simply re-hash the features of the current system. A fresh approach to meeting the system objectives is taken, and may lead to a complete restructuring of both the business processes and data, in a new system that is nothing like the old one.
Some or all of these techniques may be used in the investigation of the existing system, and will result in a set of data flow diagrams representing the current system, a logical data structure of the current system's data, and the initial problems/requirements list for the project.
This article is an adaptation of material first published on the TechnologyUK.net website in January 2009.