Accounting Principles V11

Clive W. Humphris

SYSTEM DEVELOPMENT: Stages of System Development.  


When thinking about 'computer systems' try to consider applications other than the traditional office based data processing. Computer systems also apply to mechanical and electrical operations i.e. robotics. Also to money handling systems i.e. banking, remote systems monitoring the electricity supply by telephone and automatic billing, Internet applications. These are all computer systems and will earn you more examination marks if your knowledge extends beyond the commonplace, no matter how obscure it might seem today.

Rarely is it possible to design a computer system that is exactly as that originally conceived. The process of system design is recursive and thereby requires the designer to continually go back to the original concept to check it meets the original objectives.

It is reasonable to make the assumption that practically any task currently carried out manually could be carried out by a computer. Even a human physical task such as sweeping could be done equally well and probably better by a robot. But that doesn't necessarily mean it should be computerised, there are other social implications which must be taken into account.

Before the decision is made to start investigating the implementation of a computer system, the question must be asked, is it worth it? Apply some cost / benefit analysis to it. One overriding consideration must be the time it could take to develop the system. Computer software development time is usually measured in person-years.

Original Concept.

The original idea for a computer system does not have to come from a 'computer person', unless of course a company is attempting to attract business for some bespoke software and offers ideas as to how a business might be improved by adopting their expertise. Ideas often come from employees, or as more likely, its forced on an organisation to keep up with what the industry competitors are doing. Sometimes there is no choice. Being positive, there are usually additional benefits of reduced costs.

From the original concept there emerges a formal document which are the 'Terms of Reference' (or a better description is the 'computerisation brief'), on which the project may proceed.

This is still not the full go-ahead, other than to proceed to the next stage. Document headings will cover the purpose and scope of the study, constraints the analysts will have to comply with i.e. time and budget. Implementing a computer system can have major implications for future employment and so each stage must be considered with great care.

Preliminary Study.


Once the idea has been agreed for further consideration then some form of preliminary study can be carried out. One of the first questions must be 'does the current job need to be done at all'? It might be totally superfluous and nobody has noticed, yes, it does happen especially in large organisations. Branches continue to collate information and send to head office which nobody ever looks at. Before proceeding further existing software packages should be investigated.

Can the Windows Office Suite of software for example be customised to meet the organisations needs at a much lower cost? The advantage of this approach is a much shorter development time, which may be able to be carried out in-house and savings made in operator training due to existing familiarity with the software.

The 'Feasibility Study' is the next stage, the outcome of which will be the decision to either proceed and commit more resources or abandon the idea.
A comparison should be made with any current system and objective analysis made of the costs against benefits. At this stage an outline of the proposed system is made with some attempt to justify the expenditure. The 'Terms of Reference' will be updated based on the 'Feasibility Report' and agreed before the project is passed to the 'Systems Analyst' who will conduct a full systems study.

Investigation.


The 'Feasibility Report' is the basis for a full systems investigation. The updated 'Terms of Reference' will clearly state what the overall project objectives are and the time and cost constraints within which to work. Part of the 'Systems investigation' will be input from those currently carrying out the present methods.

The outcome from this investigation is the supporting documentation and guidelines which the 'System Designer' needs in order to proceed. Including present data and files, if it's updating an existing system, current constraints and difficulties, employee opinions, objections and fears as a result of face-to-face interviews and questionnaires.
Organisation charts and likely changes. Company procedures, who does what and when. Remembering that its most likely that the system will be designed by computing professionals from outside the company and so the 'System Design Brief' must be clear and concise.

System Design.


Given the objectives on which to proceed then the design stage can begin. Computer systems tend to be thought of as only applying to software, which is far from true. Hardware may need to be bought in, building work carried out, staff relocated.

Depending upon the nature of the project various project management tools will need to be used. However, to avoid complications let's just consider the software design implications from now on. To provide a basis on which to work a 'Systems Flowchart' is developed. We shall look at the design of these later, but for now think of it breaking down a complex operation into manageable tasks, each of which can be looked at in isolation and therefore programmed as a separate module.

Software Development.


Software development is producing the program code, which when compiled will enable the project to produce the required outcomes. Software is written using any one of a number development languages, Visual Basic, used to produce this software package which demands good interactive graphics, C++, J++, Internet languages, there are dozens of them.

Rarely is a programmer an expert in all application packages and their choice depends upon what is required as some are more suited to specific tasks then others. A system designed around a database will use different software and skills to one for programming PIC micro controllers for example. The overall objective is to produce compact efficient program code within a module which takes input variables and produces outputs, error free in the fastest processor time possible.

Application Testing.


At some point the program that has been carefully developed has to be tested to see if it meets its 'System Design Objectives'. Simulation of real events can minimise the occurrence of initial errors, but can never replace a full system test using real data. And pilot running in a clearly defined area might be a solution.

Another approach is to use parallel processing. That is to carry on using the present systems at the same time introduce the new and compare the results. This is fine for computerising an existing manual method, but rarely a suitable way to introduce a completely new system (think how this might apply to a new dot.com company) or upgrading an existing on-line banking system, or a 'rocket launch'.
Often it just has to work first time or at least have numerous failsafe systems built in whereby the application can be rolled back to a previously known good state. The secret is to break down complex tasks into smaller ones and thoroughly test each one. Even so contingency planning must be included for the inevitable problem which nobody has thought of.

Implementation.


Once the application testing is completed then the software is 'signed off' as meeting all the original design objectives and is bug free. However, how can we ever be sure, 'Computing is more a matter of subjective confidence than objective scientific certainty'.

A major part of implementing a computer system is having it accepted by the people who are to use it. Staff training seminars may have to be designed long before the software is released and here the principles of good people management apply.
Having regard for employee's fears and needs cannot be over emphasised and must be a major part of the 'System Implementation'. Finally documentation. Software must be fully documented if it is to be able to be updated in future when the original designers have long gone onto other projects. Documentation not only includes what it does, but how it does it and must be regularly updated as system changes are inevitably made.

Monitoring and Review.


Designing computer systems is rarely a simple straightforward top-down approach. Each stage must be carefully monitored and feedback noted for changes in preceding stages. None more so than in the early stages of a system design. Allowing a flawed design to proceed into the programming stage could be disastrous. The implications for a company could be so serious that it can no longer continue trading owing to a failure in its information systems.

When computer systems are developed using external expertise to the company then a senior 'internal' manager should be part of the management team. This is to oversee progress and ensure the new systems not only does what is says it will do in the original 'Terms of Reference' but also interfaces with existing company operations and procedures.

Table of contents

previous page start next page