System life cycle

advertisement
G063 - System Life Cycle
Learning Objectives:
By the end of this topic you should be able to:
 describe the System Life Cycle stages of:
–
–
–
–
–
–
–
–
–
Problem definition
Investigation and analysis
Design,
Implementation,
Testing
Installation
Documentation
Evaluation
Maintenance
Learning Objectives:
By the end of this topic you should be able to:
 describe the System Life Cycle stages of:
PIDITIDEM
System Life Cycle: PIDITIDEM
System Life Cycle
• all projects go through a number of stages before
they are complete
– the system life cycle
• each stage depends on the stages before
Problem Definition
• determine the feasibility of a new system
• initial look at the existing system & methods
– how things are done now
• determine problems with the current system
–
–
–
–
–
time taken to…..,
accuracy,
security of system & of personal data,
loss of paper -> loss of data,
presentation quality
• discuss additional end-user requirements
– features needed in a new system
Investigation and Analysis
• follows Problem Definition and precedes Design
• establishes the full nature of the problem
– by collecting evidence for analysis
• studies existing systems
– to determine user requirements
• analyses data collected
– to agree a requirements specification
Investigation:
• information is collected about the existing system
– using a “user-centred” approach
• used to determine requirements of new system
• information collected by:
–
–
–
–
–
meetings with management
interviewing staff
sending out questionnaires
studying documents currently in use
observing the current system in action
Analysis:
•
consider information gathered about the existing system:
–
–
•
“what does the existing system do?”
“what problems are there with the existing methods?”
produce a Requirements Specification document:
– a document describing of what the new system will do
– specification is agreed with client,
– used as the basis for the design of the new system
•
investigate alternative solution strategies
–
look at different ways of designing a system


different options thought up, analysed and evaluated
off-the-shelf v custom-written software
Design
• to produce a solution that matches the users requirements
‒ by following the objectives in the Requirements Specification
•
produce the Design Specification
–
details of how the Requirements Specification will be achieved:






•
user interface (menus/screens)
output documents (reports)
processing – what happens to the data (calculations, sorting …)
data structures (entities, attributes, relationships)
validation & error messages
searches (queries)
produce the test plan & test data
–
–
test plan: expected, extreme, erroneous tests
test data: input data & expected results
Implementation
• aka: “Development”
• putting design into practice
– to achieve the Requirements Specification (“what to do”)
– by following the Design Specification (“how to do it”)
• performed by programmer team
• includes:
–
–
–
–
–
–
creating data structure (tables, keys, relationships, validation, ….)
creating validation routines (& associated error messages)
creating screens (menus, input/output forms, search ….)
creating queries
writing code (including calculations, formulae …..)
creating output reports
Testing
Reasons for testing:
• are there any bugs or errors in the code?
• does the system meet the defined user requirements?
– does it do what you set out to do?
Steps:
• help develop the test plan (with the system designer)
• identify test data for each test
– expected - normal, everyday, correct data
– erroneous - data that is incorrect
– extreme - high/low data on the boundaries of tolerance
• identify expected results of each test
• test entire system - by following the test plan
Installation
•
putting the new system in place
–
•
changeover
comes after Testing
–
new system is known to ‘work’
Implementation methods:
 direct
: old system stops and new one begins
 parallel : old and new systems run together for a set period of time
 phased : part of a system is brought on line
 pilot
: small-scale introduction of complete system
•
training of the users completed
Documentation
Includes:
• program specifications
–
•
•
•
•
•
recovery procedures
operating procedures
user manuals
test plans, data and logs
security details
–
•
access rights
version details
–
•
•
so code can be modified at a later date as required
holding & using the most up-to-date set of documentation?
technical manuals for associated hardware
training materials
Evaluation & Maintenance
• ensuring that the system performs as required
– does the finished solution meet its requirements,
– does it solve the problem?
• 3 main types of maintenance:
– Corrective
 fixing bugs
– Adaptive
 modifying the system to meet new requirements
– Perfective
 improving the performance of the system
 “tweaking”
Download