The Systems Life Cycle Stages of the life

  • Slides: 21
Download presentation
The Systems Life Cycle

The Systems Life Cycle

Stages of the life cycle n Exact definitions vary, but the main stages of

Stages of the life cycle n Exact definitions vary, but the main stages of the life cycle are:

Waterfall & Spiral n 2 key methodologies of the system life cycle n. What

Waterfall & Spiral n 2 key methodologies of the system life cycle n. What are the differences?

Information gathering n Interview: This can be time-consuming, but it does allow you to

Information gathering n Interview: This can be time-consuming, but it does allow you to probe for answers and get first-hand information. n Questionnaire: This is useful when there are lots of users, although there is a limit to how much you will find out. n Observe the current system: Although timeconsuming, this is objective rather than subjective and you might spot things that the user doesn’t. n Examine the existing documentation: This is very useful for identifying the data requirements, as well as the input and output required.

Feasibility study n A feasibility study is a report to identify the possible solutions

Feasibility study n A feasibility study is a report to identify the possible solutions to the problem and how ‘possible’ they are. n Technical, Economics, Legal, Social feasibility of the new system. n A typical feasibility study would look at the following options: – Should we: Stick with the old system? Adapt the old system? Create a new computerised system? – Should we: Buy an off-the-shelf package? Employ a programmer to create bespoke software? Write it in-house? – Could new system be developed in the required time?

Key Factors in a Feasibility Study n Technical – Is the HW/SW available to

Key Factors in a Feasibility Study n Technical – Is the HW/SW available to solve this problem? n Economic – Is the proposed solution cost effective n Social – Impact on jobs, skills, training of staff

Importance of Analysis n Problem must be accurately defined to solve it effectively n

Importance of Analysis n Problem must be accurately defined to solve it effectively n User may not understand potential of computer systems n Developer not likely to understand the industry which the user is working in n Developer must produce a solution/software that the user requires to meet their needs n Clear communication between user and developer is important

Requirements Specification Contains… – Input requirements – Processing requirements – Output requirements – Clients

Requirements Specification Contains… – Input requirements – Processing requirements – Output requirements – Clients agreement to requirements (signed) – What Hardware will be needed to run new system

If problem is not defined accurately at the beginning…. n Client will be unhappy

If problem is not defined accurately at the beginning…. n Client will be unhappy n Software will be useless. . . n Programmer will not get paid!

Design n. How will the system be produced? n. HCI n. Pseudo Code n.

Design n. How will the system be produced? n. HCI n. Pseudo Code n. Database Design – Fields – Records

Design Specification Used by programmers to ensure they are producing the correct system n

Design Specification Used by programmers to ensure they are producing the correct system n Input design n Output design n Data structure n Pseudo Code algorithms/flowcharts n Data flow diagrams n Entity Relationships Diagram n Sitemaps

Implementation n. Programming!

Implementation n. Programming!

Installation Strategy n Method of implementation – parallel/pilot/phased/direct n Training program must be devised

Installation Strategy n Method of implementation – parallel/pilot/phased/direct n Training program must be devised n Hardware must be purchased and installed n System must be tested with real data by end users n Write technical and user documentation

Test Data n. Normal n. Extreme n. Erroneous 5 10 No Enter Number between

Test Data n. Normal n. Extreme n. Erroneous 5 10 No Enter Number between 1 and 10

Documentation n User Manual – Written from the users point of view on how

Documentation n User Manual – Written from the users point of view on how to use the system n Technical Documentation – Variable Names, Data Structure, how the code works, Procedures. DFDs, Flowcharts, Entity Relationship Diagrams. Meant for future programmers.

User Manual n Contents of user manual usually include… – Installation instructions – Minimum

User Manual n Contents of user manual usually include… – Installation instructions – Minimum required hardware specifications – Input /Output procedures – How to operate the system – Backing up and archiving procedures – Error messages/trouble shooting – FAQs

Technical Documentation n Written for future programmers. n Contains – Variable Names – Data

Technical Documentation n Written for future programmers. n Contains – Variable Names – Data Structure – how the code works – Procedures names – DFDs – Flowcharts – Entity Relationship Diagrams.

Data Flow Diagram (DFD) n This is a diagrammatical way of showing how data

Data Flow Diagram (DFD) n This is a diagrammatical way of showing how data moves around a system. n It is not concerned with how the system processes the data – it just shows the flows. n It uses four symbols:

DFD example n The following is a DFD for a meter reading:

DFD example n The following is a DFD for a meter reading:

Evaluation n End User Requirements decided on in Analysis n Does it meet them?

Evaluation n End User Requirements decided on in Analysis n Does it meet them? n Future Enhancements n Important to user because need to be sure software performs as required – is it actually what they wanted? ! n Important to developer because it determines the end of the job if they are being paid for producing a suitable solution

Software Maintenance n Once software is completed it needs to be maintained/upgraded as its

Software Maintenance n Once software is completed it needs to be maintained/upgraded as its requirements change n Corrective Maintenance – To correct bugs found in software when being used n Adaptive Maintenance – To alter software because of external need eg VAT paid changes from 17. 5% to 15% n Perfective Maintenance – To improve performance of software