The Systems Life Cycle
At some stage, most businesses will need a new computerized system to help them with their day to day tasks. When an organization feels one of its systems has problems or is in need of improvement, a system analyst studies the system to determine where the problems are and how the system can be improved. The analyst then plans the implementation of the solution and hands the plans on to a software team to produce a solution. The analyst then plans how the system is going to be imported into the organization and arranges for continuing maintenance of the system. The whole process is called System analysis.
Stages of System Development
The tasks carried out during analysis are:
It involves a compromise between the people in the organization and the system analyst. The people in the organization know how their business works, what the nature of the problem and is how much they can spend. The analyst knows about computers and knows what is possible.
During this stage, the company has to decide firstly whether there is a need for the system and secondly, if there is a need, can the cost of the system be justified against the benefits that it will bring. It also called as cost-benefit analysis. If the benefits outweighs the cost we can say the solution is feasible.
Consider three imaginary alternatives that a company could choose from:
1. Company does not change anything
Benefit: No disruption to the business.
Performance: No change, system remains outdated. Process becomes increasingly less efficient.
2. Company makes alterations to a part of the system
Benefit: Best parts of the system are kept, whilst the least efficient parts are redesigned to improve performance.
Cost: Moderate, training: moderate.
Performance improvement: 30%
3. Complete renovation
Benefit: Reduces running costs for the company (more profitable).
Cost: High, given that new equipment / software will be required. Training for staff needed.
Performance: 70% improvement over the old system in time.
As you can see, deciding on the best alternative is often not simple - management has to take many factors into account. There are often complicated relationships between cost, performance and benefit.
Investigation/Data collection (collection of information)
The management has taken the decision to proceed with the project.
The next stage is called the 'Investigation and Analysis' phase.
First you investigate how the old system works and the problem(s) it is causing and then you analyse it to see how you can solve these problems.
During the investigation, analyst would use a variety of techniques to find out about how the current system in great detail:
Different methods used for data collection:
- Observing people doing their job
- Document collection
1. Questionnaire: A questionnaire is distributed among employees for them to fill it out and return.
- It is much less time consuming, because the workers can fill one in at the same time.
- Questionnaires may not be taken seriously by workers
- Analyst cannot change questions half way through
2. Interview: If the analyst wants to know what is going on in an organization the obvious thing to do is to ask the people who work there.
- Questions do not have to be fixed in advance
- Analyst can change the questions according to the answers
- Interviewing takes a lot of time
3. Observation: The system analyst can learn a massive amount from simply watching what is going on in the organization.
- Very useful because no planning is necessary
- It does not involve working with other people
- People tend not to behave in a normal way if they know they are being watched. Point a camera at someone and you will understand what it means.
4. Documentcollection: (Following a paper trail through the system) - finding out what happens to a document at each stage. Also a lot can be discovered about an organization by examining the documents that it uses.
- The documentation is often difficult to understand, so it may be necessary to ask someone in the organisation to explain it
Another task done during analysis is recording and collating the huge amount of data collected during investigation. Analyst record it in a diagram that shows the passage of data around the system and what is done to that data.
Tools used for recording the data are:
- System flowchart: These show the relationships between the various systems in the company (or even outside if relevant) - how they interact, what depends on what and so on.
- Data Flow Diagrams: Most systems deal with information in one way or another. What really matters is how the information flows through the system.
- Process diagrams: People handle information in a specific way - they have a 'process'. For example, an employee makes an expense claim. First of all their manager counter-signs the claim. It then goes to the account manager who authorizes payment and so on. A process diagram will try to show these processes in action.
At the final stage of analysis the analyst look at alternative solutions which could be used to solve the problems.
Some of the solutions could include:
- Adapt the current system: There are bound to be bits that are good with it so perhaps keep those and look at changing the things which aren't working
- Buy an 'off-the-shelf' solution: Perhaps use it as it comes or customize to suit your company. Often off-the-shelf software will have extra features that are not required by the organization.
- Create a bespoke system: which will fit the company needs exactly. This is the most expensive solution.
Now analyst has a clear idea of how the system should work, so the next phase is to design the system.
The design phase contains:
- Output Design
- Input Design
- Storage Design
1. Output Design:
It may seem to start from what appears to be ‘the wrong end’, but the really important part is to decide what the organization wants to happen at the end. The analyst will design how the output screens will look like and produce a prototype to show the organisation. Prototype is a dummy model of the output screen going to be created.
2. Input Design:
The next stage is to design input screens that will produce all the data needed by the system in order to produce the expected output screen. Analyst also consider how the data can be collectedDuring input design the analyst considers the following:
- Will automated data collection be used? (Sensor, MICR, OMR, OCR, Barcode reader. Etc.)
- Are questionnaires going to be used? (Data capture forms read by OMR machine)
- Is the data going to be input by someone using a keyboard?
3. Storage Design:
Items going to be considered in this stage are:
- How much data needs to be stored?
- Will the amount of data need to be stored increase in future?
- How often are the data items going to be accessed?
- Who should have access to the data?
- What sort of hardware is to be used for storage.
Here are some more decisions that are taken during the design phase:
- The screen layout is designed
- The error messages are written
- The way that you will navigate from one page to another is defined
- The menu buttons are chosen
- The font style, size and colour are picked
- How data will be dealt with is specified - Setting the Validation routines
- What documents can be printed out
- The hardware and software will be needed
The important tasks that taking place during the development phase are:
- The analyst handover the design to a group of programmers.
- Then the programmers start writing the code for the system (program listing/coding).
- They follow the requirements specification from the design stage to create the new system.
- A team ensure that the hardware and software required to run the new system are purchased and in place.
- A team of testers are assembled in readiness to test the new system. They start to write a test plan which details all of the tests that they will carry out.
Once the system has been coded, it needs to be thoroughly tested by a team of software testers before it is implemented.
A test plan will have been written whilst the system is being developed.
The test plan will contain details of every single thing which needs to be tested.
- Which part of the system would be tested
- What kind of test would be conducted?
- What are the data going to be used for testing the program
- The system opens and closes properly
- Work can be saved
- Work can be printed
- Data is saved to the correct place
There are three types of data used for testing a system:
Normal Data - This is the data normally accepted by the system.
Abnormal Data - These are the invalid data, should be rejected by the system.
Extreme data - Extreme data are normal data but they are at the edge of the acceptable range of values
Example: Student Mark column (out of 100)
Normal data: 90, 55, 6, etc.
Abnormal data: 122, 650, -35, etc.
Extreme data: 0 and 100.
The system has now been developed and tested. It now needs to be installed so that staff can use it.There are four different ways that you can implement a new system:
- Direct changeover
- Parallel running
- Phased implementation
- Pilot implementation
- Direct Changeover
1. Direct changeover
The company stop using their old system and start using the new system.
Eg: a super market closes on a Friday, install all the software and hardware and re-opens on Monday with the new system in place.
|There is no delay in getting the advantages of the new system||All the files must be ready to be loaded|
|Implementation completes in less time||Employees have to be trained before the implementation|
|All the data will be lost if the new system fails|
2. Parallel Running
Company uses its old system and new system together for a certain period of time and if the new system is successful they stop using the old system.
E.g.: an office prepares their payroll manually as well as using the payroll preparation system
|If the new system fails there will e no data lose (they have old system data)||Workers have to do the same work twice|
|Employees must be given training before implementation||Customers may not be happy about the service, due to delay in getting the service done|
3. Phased Implementation
Suitable for systems that are made up of smaller sub-systems. Implementation is done by computerising each sub-system one at a time
A part of the system is computerised and the remaining sections continue with old system.
In the second phase one more section is computerised and so on.
|If the new system fails entire system is not affected||It amight not be possible to divide some systems to sub-systems|
|Employees van be given trainng during the process of implementation - on rotation basis||It takes long time to roll out every module|
4. Pilot Implementation
Pilot implementation is to try out the new system only one part of an organisation.
If successful adapt it to the whole system.
|It is useful when there is some uncertainity about the new system||It takes long time to run the pilot, which leads to higher cost and time taken up by staff to evaluate the system|
It is important to keep full documentation about the solution. There are two types of documentation associated with creating or modifying a system to solve a problem:
Technical Documentation and User Documentation
Technical documentation is for a technician. It contains the information about the solution that a technician will need to update the system in the future – for him to know how the system was developed.
Contents of Technical documentation:
- The overall design
- The test plan and test data together with the expected results
- Any restrictions or limitations on the use of the software
- The format for input data
- The format for printed output
- Top-down design – the breaking down of the problem into smaller problems or modules
- Program listing
- Data dictionaries
- Details of hardware requirement of the system
- Details of software requirement of the system
- Algorithms and pseudo-codes
- System flowcharts
- Information about the file structure used
- Details of validation routines used
- Details of the variables that have been used.
User documemtation is meant for the people who are going to use the system.
This user documentation will contain:
- How to install the system
- How to run the program
- What sort of hardware and software was used
- What sort of input is needed, how to input it
- What sort of output is produced
- Some sample outputs
- Some examples of successful operation
- Meanings of error messages
- What to do when something goes wrong (Troubleshooting guide)
- Technical documentation is for a technician. It contains the information about the solution that a technician will need to update the system in the future – for him to know how the system was developed.
The system analyst and the organisation had agreed on a set of things that the finished system must do (Objectives of the solution).
During this stage the actual outcome of the system is compared against those initial objectives.
Actions done during the evaluation:
- The output is compared against the actual task requirements.
- The drawbacks of the system are noted.
- List down any suggested improvements to the system
Once the system has been installed, is up and running, there will be a need to keep maintaining it. After using the system for a while management may find that some modification or upgrading needed for the system. Then they will call an analyst to do that work.
Also over time, bugs will be discovered that weren't picked up in the testing. These will need to be fixed. Staff or developers will identify parts of the system which could be tweaked to work more efficiently.
Perhaps extra functionality or changes in working practices or the law might mean that parts of the system have to be altered