This document provides an overview of the software development lifecycle (SDLC) including requirements gathering, analysis, design, coding, testing, installation, maintenance, and the testing lifecycle. It describes the key activities in each phase such as conducting feasibility studies, creating system requirements, designing interfaces and databases, writing code, executing tests at different stages, fixing defects, training staff, and providing ongoing maintenance. It also notes that requirements capture and test planning can start in parallel with development and that testing aims to find defects early to reduce costs.
6. Requirements Gathering
•
•
•
•
•
•
The Analyst conducts an initial study of the problem and
Gathers information such as
Technologically possible?
Economically possible?
Legally possible?
Operationally possible?
• Output : Feasibility Report
7. Analysis
• Applications areas to be considered
eg Stock control, purchasing, Accounts etc
• System investigations for each application
• Cost estimates
• System requirements
• Timescale for implementation
• Expected benefits
8. Cont…
• The intention……..
to determine how well a business copes with its
current information processing needs, and whether it is
possible to improve the procedures in order to make it
more efficient or profitable.
Note: FRS contains Input, Output, process but no format.
• Use Cases contains user action and system response
with fixed format
9. Design
•
•
•
•
•
•
•
•
User interface design
Design of output reports
Input screens
Data storage ie files, database tables
System security
Backups, validation, passwords
Test plan
Design Document that consist of Architectural
Design, Database Design, Interface Design
10. Coding
• Program development
• Equipment acquisition
• Draft up user guides
• Coding Report
• All the programs, Functions, Reports that related to
Coding
11. Testing
• Testing is Executing a program with an intention of
finding defects
• To discover defects.
• To avoid user detecting problems
• To prove that the software has no faults
• To learn about the reliability of the software.
• To ensure that product works as user expected.
• To stay in business
• To avoid being sued by customers
• To detect defects early, which helps in reducing the cost
of defect fixing.