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”