Systems Development Life Cycle (SDLC)
The Systems Development Life Cycle (SDLC) is a structured process used to develop,
implement, and maintain information systems. It ensures that systems meet business needs,
are reliable, and function efficiently.
Stages of the Systems Development Life Cycle (SDLC)
1. Planning
The planning stage is the first and most important step in the SDLC. It identifies the
problem, defines the goals, and decides whether creating a new system is realistic and
worthwhile.
Key Activities
1. Identify the problem/need
○ Why is a new system required?
○ What are the problems with the current system?
2. Set objectives
○ Define what the system should achieve (goals and outcomes).
3. Feasibility study (the main part of planning)
○ Technical feasibility – Do we have the technology, hardware, and software
needed?
○ Economic feasibility – Is it affordable? Will the benefits outweigh the costs?
○ Operational feasibility – Will people accept and use the system?
○ Legal feasibility – Is it in line with laws and regulations?
○ Schedule feasibility – Can it be done within the given time frame?
4. Allocate resources
○ Decide on the budget, staff, and equipment needed.
5. Project plan creation
○ Prepare timelines, milestones, and responsibilities.
Outputs of the Planning Stage
● A feasibility report (go/no-go decision).
● A project plan with cost, time, and resource estimates.
● Clear objectives for the system to guide the next stage (Analysis).
2. Analysis
Definition:
The process of studying the existing system in depth to identify its strengths, weaknesses, and
user requirements.
Key Activities:
1. Conduct a preliminary investigation to identify problems.
2. Collect data using interviews, questionnaires, observation, document review, and
sampling.
3. Analyse current workflows, data flows, and business rules.
4. Document user and system requirements.
Output:
● System Requirements Specification (SRS)
● Problem definition document
● Requirements analysis report
3. Design
Definition:
The stage where the system requirements are transformed into a blueprint for building the new
system.
Key Activities:
1. Develop logical design (DFDs, ER diagrams, input/output structures).
2. Develop physical design (hardware/software, database, network design).
3. Create user interface mock-ups and report layouts.
4. Review design with stakeholders.
Output:
● System design specification (blueprint)
● Database schema
● Interface prototypes
4. Development (Coding)
Definition:
The actual building of the system, where the design is translated into computer code.
Key Activities:
1. Write and compile programs.
2. Develop system databases and files.
3. Create technical and user documentation.
4. Conduct unit testing of individual modules.
Output:
● Working system modules/programs
● System documentation
● Database structure
5. Testing
Definition:
A systematic process to check whether the developed system meets requirements and works
as intended.
Key Activities:
1. Conduct integration testing (modules working together).
2. Perform system testing (end-to-end functionality).
3. Carry out User Acceptance Testing (UAT) with end users.
4. Debug, fix, and re-test.
Output:
● Tested system (error-free or minimal defects)
● Test reports
● User acceptance approval
6. Implementation
Definition:
The process of deploying the tested system into a real working environment and making it
available for use.
Key Activities:
1. Install necessary hardware and software.
2. Train users on system usage.
3. Convert data from the old system to the new system.
4. Apply chosen implementation strategy:
a. Direct changeover
b. Parallel running
c. Phased implementation
5. Monitor performance in early stages.
Output:
● Operational live system
● Trained users
● Converted/loaded data
● Implementation report
7. Maintenance
Definition:
The continuous process of monitoring, supporting, and improving the system after it has been
implemented.
Key Activities:
1. Provide user support and helpdesk services.
2. Apply corrective, adaptive, and perfective maintenance.
3. Install updates, patches, and enhancements.
4. Monitor system performance and security.
Output:
● Stable, updated system
● Maintenance logs
● User feedback reports
Problem Identification in the Existing System
Problem identification is carried out during the preliminary investigation (part of the Planning
and Analysis phases). It is essential to determine whether the current system has flaws and if
developing a new one is justified.
Objectives of Preliminary Investigation
● Define the problem(s) in the current system.
● Identify the scope and boundaries of the system.
● Determine system goals and constraints.
● Decide if developing a new system is feasible.
Data Collection Techniques for Problem Identification
To understand the existing system and its weaknesses, analysts use these methods:
1. Interviews
○ One-on-one discussions with managers, staff, or users.
○ Useful for clarifying procedures and uncovering hidden problems.
2. Questionnaires / Surveys
○ Distribute to a large group of users to gather broad opinions.
○ Efficient for collecting both quantitative and qualitative data.
3. Observation
○ Watching users as they interact with the system.
○ Helps uncover actual practices, bottlenecks, or inefficiencies users may not
report.
4. Document Review
○ Studying existing forms, reports, databases, and manuals.
○ Reveals how data is currently handled and where errors often occur.
5. Sampling
○ Examining a representative portion of transactions or records.
○ Helps identify recurring issues or error patterns.
Common Problems Identified in Existing Systems
● Inefficiency – slow processing, repetitive manual tasks.
● High costs – labour-intensive, expensive maintenance.
● Errors and inaccuracies – poor record-keeping, frequent mistakes.
● Lack of integration – data scattered in multiple locations.
● Poor security – weak access controls, lack of backups.
● Limited scalability – system cannot handle growth.
● User dissatisfaction – hard to use, inadequate reporting.
● Compliance issues – not aligned with updated laws/regulations.
Final Summary:
The SDLC follows seven stages: Planning, Analysis, Design, Development, Testing,
Implementation, and Maintenance. A critical part of the Analysis stage is the preliminary
investigation, where analysts identify problems in the existing system using data collection
techniques such as interviews, questionnaires, observation, document review, and sampling.
The findings guide the design of a new, improved system that meets organisational needs.
Algorithm Design and Problem Solving
What you need to know:
• Define an algorithm
• Explain the purpose of algorithms
• Explain sequence construct
• Apply the sequence algorithm structure
• Explain selection and repetition constructs
• Apply selection and repetition algorithm structures in problem solving
Definition of an Algorithm
An algorithm is a step-by-step set of instructions designed to perform a specific task
or solve a given problem.
● Key features of an algorithm:
1. Finite – it must have a clear end.
2. Definite – every step must be precisely stated.
3. Input – it may require zero or more inputs.
4. Output – it produces at least one result.
5. Effective – each step must be basic enough to be carried out.
● Example:
Algorithm to add two numbers:
1. Start
2. Read number A
3. Read number B
4. Add A and B, store in SUM
5. Display SUM
6. Stop
Purpose of Algorithms
Algorithms are essential because they:
1. Provide clarity – give a clear method for solving problems.
2. Improve efficiency – allow comparison of solutions for speed and resource
usage.
3. Support problem-solving – break complex problems into smaller, manageable
steps.
4. Enable automation – computers rely on algorithms to perform operations.
5. Enhance communication – serve as a common language between humans and
machines.
Real-world examples:
○ Cooking recipes (algorithm for preparing food).
○ GPS navigation (algorithm for the shortest path).
○ Banking systems (algorithms for transactions and fraud detection).
Sequence Construct
Definition:
A sequence is the simplest control structure where instructions are executed one after
another in order.
Characteristics:
○ No branching or looping.
○ Steps follow a strict order.
○ Common in simple calculations.
Example (Pseudocode):
Start
Input length, width
Area ← length × width
Output Area
Stop
Application:
Calculating totals, converting temperatures, and computing averages.
Applying the Sequence Algorithm Structure
● To apply a sequence, simply list steps in logical order.
Case study – Temperature Conversion (Celsius to Fahrenheit):
Start
Input Celsius
Fahrenheit ← (Celsius × 9/5) + 32
Output Fahrenheit
Stop
Selection Construct
● Definition:
Selection allows the algorithm to choose between alternative actions based on
a condition.
1. Often expressed as IF…THEN…ELSE.
● Types of selection:
1. Simple selection – one condition, one action.
2. Two-way selection – condition with two alternatives (if-else).
3. Multi-way selection – multiple conditions (if-elseif-else, switch/case).
Example (Pseudocode):
An algorithm to determine if a mark is a pass or fail
Start
Input Mark
If Mark >= 50 Then
Output "Pass"
Else
Output "Fail"
End If
Stop
Repetition Construct
● Definition:
Repetition (also called iteration or looping) is the algorithm structure that
allows certain steps to be repeated until a condition is met.
● Types of loops:
1. While loop – repeats while a condition is true.
2. Repeat…Until loop – repeats until a condition becomes true.
3. For loop – repeats a fixed number of times.
Example (While loop – Counting):
Start
Counter ← 1
While Counter <= 5
Output Counter
Counter ← Counter + 1
End While
Stop
Applying Selection and Repetition in Problem Solving
Selection Application Example – Grading System:
Start
Input Score
If Score >= 80 Then
Output "Grade A"
Else If Score >= 60 Then
Output "Grade B"
Else If Score >= 40 Then
Output "Grade C"
Else
Output "Fail"
End If
Stop
Repetition Application Example – Sum of First N Numbers:
Start
Input N
Sum ← 0
Counter ← 1
While Counter <= N
Sum ← Sum + Counter
Counter ← Counter + 1
End While
Output Sum
Stop
Summary / Key Takeaways
● An algorithm is a clear, finite, and effective set of instructions to solve a problem.
● Algorithms are useful for problem-solving, efficiency, and automation.
● A sequence executes steps in order.
● Selection makes decisions based on conditions.
● Repetition repeats actions until conditions are met.
● Combining these constructs enables solving real-world problems
systematically.