System Development and Implementation
When a new system is being designed, people often think the next immediate step is to jump straight into writing the software. But that’s not the case. Before the first line of code is written, there’s an important stage that must come first: deciding how the system will be tested once it is built.
This means drawing up a test strategy and what parts of the system will be tested, what kind of data will be used, and what results are expected. Every feature the user will interact with has to be included in this plan to make sure the system behaves as intended.
Only after this foundation is set can we talk about implementation. Implementation is more than just “switching on” the system and it involves training users, converting data from the old format to the new one, and planning how to gradually move everyone from the old system to the new one. Once the system goes live, it also needs to be evaluated to ensure it delivers what it was designed for.
Learning Objectives
By the end of this chapter, you should be able to:
- Explain what system development is.
- Understand why system testing is important.
- Recognize the role of documentation in system development.
- Identify different system changeover methods.
- Explain system evaluation and maintenance.
System Development
After a system has been designed, the next step is to turn those designs into something a computer can actually execute. This is where system development comes in.
In simple terms, system development is about translating design documents into program code. This is sometimes referred to as the programming phase. A programmer takes the specifications and writes instructions (programs) that control the flow of data and manage how different parts of the system interact.
To make systems easier to maintain and upgrade in the future, programs are usually built in modular form—broken into smaller, manageable pieces.
One of the most important decisions here is the choice of programming language. With so many languages available, the selected one must:
- Provide a clear and simple set of concepts that make it easier to design algorithms.
- Be easy to learn and write, with fewer exceptions or complicated rules.
- Support data structures, control structures, and syntax that fit the problem being solved.
- Allow abstractions (data types, operations, and structures) that hide technical details from the user.
- Offer tools such as editors, debuggers, and testing environments for smooth development.
- Keep costs reasonable—not just the cost of writing the program, but also translating, testing, running, and maintaining it.
Testing
Testing is the stage where the developed system is put under close observation to confirm that it works as expected. This isn’t guesswork; it’s a thorough process where the system is executed under known conditions, and the results are recorded and compared against what should happen.
To test effectively, proper test data has to be prepared. If issues are discovered, the system (or parts of it) may need to be corrected or even redesigned. Testing also provides valuable documentation about how the system behaves under different conditions.
There are two broad types of testing:
- System Testing
- User Acceptance Testing
System Testing
System testing looks at the entire information system as a whole. This is normally carried out by the development team to check whether all the modules of the system function together as intended. The goal is to spot gaps between the actual performance of the system and the way it was originally designed.
System testing usually covers:
- Interfaces between different programs.
- Accuracy and suitability of input documents.
- How the system handles practical input problems.
- Whether information is available when needed.
- Ability to update or modify data.
- Processing and performance time.
- How the system responds to special or unusual situations.
- Compliance with audit requirements.
- File storage capacity and handling peak loads.
- Reliability of the hardware.
- Standard operating procedures.
- Recovery and restart capabilities after a failure.