System Development Lifecycle
- Constructing the Solution
- Installation and Conversion
- Review and Maintenance
- At the end of each stage, there will be deliverables - things that have to be produced at each stage, and signed off by the client with approval to proceed to the next stage.
- Establishes a problem to be solved
- Analysis of current system - could be manual, paper-based, or an out-of-date computer based system
- What does the current system do?
- What are its strengths and weaknesses?
- What is required of the new system?
- Contraints on the new system? i.e. Policies and Legislation
- Develop a clear list of client and user requirements
- Methods of Analysis:
- Interviews with users at all levels, who will have requirements for the new system
- Questionnaires and surveys to record opinions
- Analysis of existing paperwork
- Observation of users of current system
Explains HOW the problem will be solved:
- Software, tools and techniques used with a justification
- Data capture and validation methods
- Designs for user interface
- Processing to be caried out
- Outputs to be produced
- How the solution will be tested
Design - Deliverables:
- Details of file definitions, data structures and processes
- Designs of outputs - on-screen, on paper, other methods
- Test strategy and plan, including test data: systems testing, user testing, module/unit testing etc
- Detailed time plan
Module/unit testing - Testing the individual sections of the software to ensure it works as expected. They tend to be written from the programmers perspective. It is an example of white box testing - checks processing codes and algorithms
Integration testing - Performed once module testing is completed. Each module is combined together at each integration stage and debugged (testing program code to isolate and remove errors)
Functional testing - Tests the operation of the system. May picked up errors that were missed in the module/unit testing. It will establish whether the system meets the client ans users requirements - developers write the functional test with the users.
- Black box testing: Checks that an input produces the correct output
Systems testing - Checks that the whole system works in preparation for user testing. It checks that all modules operate together, and that transactions can be processed correctly from beginning to end.
User testing - Where the users of the system will try the system, and give their thoughts and comments on its performance. This will occur in a simulated environment, allowing users to control the conditions. This is the final stage of testing before the system goes into operation. The user documentation should also be tested at this stage
Operational testing - Conducted in a real or simulated environment. A simulated environment would give users more control over the conditions, and tests could be repeated.
- Test data and results
- Modified user guide
- Client approval to install
Installation and Conversion
- The system in its working environment to be used by the client
- Involves conversion of any existing systems to the new system, and linking it to any other systems that are required.
- System documentation is presented to the client, along with an operational user guide and technical guide that may be needed for future maintenace.
- Training of users takes place, although some may have already been performed in a simulated environment
- Developers will remain on site until the system is fully functioning before the hand the system over to the client.
Review and Maintenance
- Once the system is installed it must be carefully monitored - a continuous ongoing process. This helps maintain the system
- Corrective maintenance: Correcting errors that occur after the system testing installation
- Adaptive maintenace: Making alterations to repsond to changes within the organisation, or external changes such as a security risk
- Perfective maintenace: improving the software to enhance its performance
Successful ICT Development...
Management and user involvement:
- Staff at all levels involved in the development
- User involvement in the initial analysis ensures that all requirements are specified
- A range of users involved in the testing
- Users must be trained
- Ensure that the proposed system is possible to make
- Realistic time frame and budget
...Successful ICT Development Continued
- The development team need to have high professional standards
- The development needs to be documented thouroughly at each stage, so if a developer falls ill a new developer can step in.
- Client approval must be established after every change and completion
- A development is likely to be successful if all members can communicate effectively
Factors that may cause development to fail...
If the client requirements are not clearly established, then the system is unlikely to meet expectations
The design needs to comply with the research and requirements established in the analysis
A poor design and interface may make the system ineffective
If the test plan is inadequate, or the test data is badly chosen, major errors may go undetected
Sufficient time needs to be allocated for testing
...Factors that may cause the development to fail
Poorly organised installation and changeover:
Could affect attitude of users
If staff training has been inadequate, the system could get off to a bad start
- could lead to a lack of client confidence
Poor user support and maintenance:
If users are left to fend for themselves they are likely to have a poor attitude
Poor project management:
System could fail if project plan goes out of control
Problems can be dealt with if they are reported early and dealt with efficiently