Systems Life Cycle Notes
Prototyping:
o Throw Away: use prototype developing software then put into code
o Evolutionary: start from code
System Life cycle:
Problem Definition
Problem Investigation
Feasibility Study
Analysis
Design
Construction / implementation (inc programming, testing, installation)
Maintenance
Evaluation
Waterfall Model
Analysis
This reflects the
Design
fact that you often
have to go back and
re-work previous
Implementation stages in a project.
Evaluation
Project Milestone
Terminates each stage of a lifecycle orientated approach.
All documentation for that section signed off, e.g. code, documents etc.
Everybody has to agree that the step is complete and done satisfactorily.
Problem in this approach: End user often has very little say in the development
process.
What prompts a new system?
Current system no longer suitable for purpose.
o Often due to a takeover and two computer systems incompatible.
System made redundant or outdated by technological developments.
Current systems may be incompatible or expensive to maintain.
Feasibility Study:
Technical feasibility - Practical?, Does the technology exist?
Economic feasibility - Cost effective? – cost vs benefits
Legal feasibility - Data Protection Act? – Does it conform?
Operational feasibility - Current work practices + procedures adequate to
support the new system, is the system useable by
the people employed?
Schedule feasibility - Can it be completed in the desired time-frame?
Requirements Analysis:
Get details of current system:-
o Interview staff at various levels (end-user to manager)
o Examine documents, procedures, reports etc.
o Questionnaires – carefully worded questions
o Observations of procedures – by virtual “shadow work”, can identify
bottlenecks.
Data Flow Diagrams:
Shows how data moves through a system and what data stores are used. It does
not specify what type of data store is used or how the data is stored.
o External Entity – data source or destination
Eg people who generate data such as a customer order, or
receive information such as an invoice.
o Process – An operation performed on the data
The two lines are optional; the top section of the box can be
used to label the process, the middle to give a brief
explanation, the bottom to say where the process takes place.
Make the first word an ACTIVE VERB: eg validate data,
adjust stock level.
o Data Store – such as a file held on a disk or a batch of documents.
o Data Flow – movement between entities, processes or data stores.
Example:
Ticket Check
Customer Booking
Requirements
Seat
Available
Name, address,
credit card CustID, Seat no’s,
Make Booking
Customers Booking time, date, playID.
Seat no’s, time, date,
play.
Title, price,
time Print Ticket details
Plays tickets Customer
System Design:
The Hardware Platform:
o Which type of computer, network capabilities, input, storage and
output devices.
The Software:
o Programming Language, package or database.
The Outputs:
o Report layouts and screen designs.
The Inputs:
o Documents, screen layouts, validation procedures.
The User Interface:
o How users will interact with the computer system.
The Modular Design:
o of each program in the application
The test plan and test data
Conversion Plan:
o How the new system is to be implemented
Documentation:
o Including systems and operations documentation. Later, a user manual
will be produced.
Things to consider when choosing a software solution
Criteria for final choice will include:
Usability:
o Will the users find the system easy to use, will it save them time?
Performance:
o Will the system function in the way that was intended?
Suitability:
o Does the system really provide a solution to the problem?
Maintainability:
o Will it be easy to upgrade the system?
Testing Strategies
When a new system is developed, it has to undergo rigorous testing before it is
released. Typically, it may undergo several phases of testing including:
Dry Run Testing:
o Programmer follows through the code manually;
o Useful for location run-time errors
Unit Testing:
o Refers to the testing of each individual subroutine or module in a suite
of programs
Integration Testing:
o Involves testing a complete suite of programs to ensure that they all
function correctly when they are put together
o Test all the units together
Contents of a documented system
Accurate and up-to-date systems specification;
Data Flow Diagrams showing the inputs to the system, processes to be carried
out, and output;
A description of the purpose of each program;
A structure diagram, flowchart or pseudocode for each program in the system;
Organisation, contents and layout of each file;
Layout and contents of all output;
Current version of each program listing (i.e. actual code);
Test data and expected results.
Implementation
Coding and testing of the system
Acquisition of hardware and software
EITHER
Installation of the new system
o Installing the new hardware, which may involve extensive re-cabling
and changes in office layouts;
o Training the users on the new system;
o Conversion of master files to the new system, or creation of new
master files (main current existing files, i.e. databases, stock etc).
OR
Conversion of the old system to the new one.
Software Evaluation Criteria (off the shelf, generally after
installation)
Will it do what you want?
o No use if it only does 80%
Compatible with existing hardware/software?
Upgradeable?
Will it require expenditure on more powerful hardware, or extra staff to key in
data?
Quality of documentation
o Manuals supplied? Online help system?
Ease of learning:
o Tutorials, books, training courses?
Is it easy to use?
o Pull-down menus, icons, helpful error messages?
Technical support available? Costly?
Cost
o Includes the original cost of the package, technical support, and
upgrades.
Speed
o Can be measured using benchmark tests (compare with other bits of
software including the old system)
System Maintenance
Perfective maintenance
o Implies that while the system runs satisfactorily, there is still room for
improvement
Adaptive Maintenance
o All systems will need to adapt to changing needs within a company
Corrective Maintenance
o Problems frequently surface after a system has been in use for a short
time, however thoroughly it was tested.