ICT systems need to be developed in stages
Systems Life Cycle Stages:
- Project Definition
- Feasibility Study
- Maintenance & Evaluation
Stages of development
- Project definition - strategic management should make decisions regarding the overall direction of the organisation. This could be due to: faults in the current system, user dissatisfaction, competition, meet new requirements of the organisation etc.
- Feasibility study - information from project definition is use to carry out detailed investigation & the production of a feasibility report. Common things to consider: current system performance, objectives of new system, alternative solution, economic, technical and operational factors. A feasibility report should contain: analysis of current problems, possible solutions, recommended solution, benefits, costs, comparisons and scope and constraints.
- Analysis - the new system requirements are determined in detail. The system analysts will need to find out the problems of the system that will be corrected. The analysis report should include: details of current system, specification for new system, definition of data requirements of the new system, entity relationships, HR needed, processing necessary and security.
Stages of development (2)
- Design - the design should include: outputs, tables, forms, hardware required, procedures. The construction of the solution can be done by customising a generic package, programming or using computer aided software engineering tools. Unit and module testing should be carried out by the programmer.
- Testing - a test plan should be created and followed. System testing should be used then user testing. Operational and automated testing can be used.
- Installation - includes the organisation of documentation, staff training and the conversion of old files. Changeover methods include direct, phased, pilot and parallel.
- Maintenance & evaluation - once the system has been measures and installed, it is measured against the system requirements documentation and its performance is monitored. Maintenance such as corrective, adaptive or perfective may need to be used.
Types of testing
Unit and module testing - the programmer checks to see that all input data has been validated and all calculations are correct. Unit testing uses normal, erroneous and extreme data to ensure the output is in the format that is expected. Module testing tests several relating units together.
System/alpha testing - reveals errors and takes place in the developments environment. It involves testing all sub-systems or modules
User/beta testing - involves releasing the fully tested software in an environment.
Operational testing - after beta testing, the software is put into its normal operating environment.
Automated testing - software can be used to automate testing.
Systematic and formal methods
- Using such methods helps to prevent poor implementations. Methods include:
- Project planning - identifies the scope of the project. The project is broken down into tasks, deliverables and milestones.
- Project scheduling & monitoring - keeps the team and management up to date on the project's progress. Gantt charts or critical path analysis can be used for this.
- Linear waterfall method - the project is divided into sequential phases with some overlap and splash back between phases. The strengths of this method is that it is ideal for less experienced project teams, progress is measurable, resources are conserved. The weaknesses is that it is inflexible, system performance cannot be tested early on and documentation is time consuming.
- Iterative prototype method - a process is gone through several times. Advantages is that deals with the inability of users to accurately specify their information system needs, can improve communication between developers and other stakeholders. Weaknesses is that their is little documentation and costly.
- Incremental - combination of both. It most appropriate in large projects.
- Rapid application development - strengths is that it users are more involved in the process and production versions are available earlier. Weaknesses include that quality may be affected, could have inconsistent design and problems could be ignored.