0% found this document useful (0 votes)
20 views11 pages

Overview of SDLC Phases

The Systems Development Life Cycle (SDLC) consists of seven stages: Planning, Analysis, Design, Development, Testing, Implementation, and Maintenance, aimed at developing effective information systems. The document details each stage's key activities and outputs, emphasizing the importance of problem identification and data collection techniques in the Analysis phase. Additionally, it introduces algorithms, their purpose, and constructs like sequence, selection, and repetition, which are essential for problem-solving.

Uploaded by

nkkuchena
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views11 pages

Overview of SDLC Phases

The Systems Development Life Cycle (SDLC) consists of seven stages: Planning, Analysis, Design, Development, Testing, Implementation, and Maintenance, aimed at developing effective information systems. The document details each stage's key activities and outputs, emphasizing the importance of problem identification and data collection techniques in the Analysis phase. Additionally, it introduces algorithms, their purpose, and constructs like sequence, selection, and repetition, which are essential for problem-solving.

Uploaded by

nkkuchena
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

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.

You might also like