SYSTEMS ANALYSIS AND
DESIGN
CSC 204
(3 CREDITS)
2024/2025
What is Systems
Analysis and Design?
🧠
What is a System?
🔍
•A system is a set of components
(hardware, software, people,
procedures, data) working together
to achieve a common goal.
Examples:
•Student Management Information
System
•Library Management System
•Banking System
•Inventory Management System
•Point of Sale System
Components of a System
What is Systems Analysis?
•This is the process of studying an
existing system to identify its
components and how they
interact.
•The focus is on understanding
what the system does.
What is Systems Analysis?
•This involves requirement
gathering and analysis, problem
identification.
•Systems analysis produces a clear
Systems Requirement Document
(SRD).
What is Systems Design?
•The process of specifying
how a system will work based
on known requirements.
•Detailed specification and
planning goes on here.
What is Systems Design?
This involves:
✓Logical Design: abstract
representation of a
system
✓Physical Design: actual
system specification
What is Systems Design?
This outcome is to
produce a System Design
Specification (SDS)
Systems Analysis and Design
This is the process that
involves problem
identification in information
systems and the proposing
of appropriate solutions to
address those problems.
Role of a Systems Analysis and
Design
•Bridge between theory and
practice
•Structured problem solving
using Software
Development Life Cycle
(SDLC)
Role of a Systems Analysis and
Design
•Systematic problem
identification
•Enhance communication
•Cuts down cost
•Development of working
systems
Software Development Life Cycle
(SDLC)
The Software Development Life
Cycle (SDLC) is a structured
framework used by software
developers to design, develop, test,
and maintain software systems.
Benefits of Software
Development Life Cycle (SDLC)
❑Efficiency (high quality softwares)
❑Meet user requirement
❑Stay within budget
❑Timely delivery
❑Improve project management
Phases of SDLC
✓Planning
✓Analysis
✓Design
✓Implementation
✓maintenance
Planning Phase
Purpose: Determine whether the project is doable or not
Activities:
✓Define the project’s scope, goals, and constraints.
✓Conduct feasibility analysis (technical, economic,
operational, legal).
✓Estimate costs, timelines, and resources.
Deliverables:
✓Feasibility Report: Outlines risks, costs, and benefits.
✓Project Plan: Includes timelines, team roles, and
milestones.
Tools: SWOT analysis, Gantt charts
Analysis Phase
Purpose: Gather and document what the system must do.
Activities:
• Interview stakeholders (users, clients).
• Create user stories or use cases.
• Document functional (e.g., login feature) and non-
functional (e.g., security) requirements.
Deliverables:
• Software Requirements Specification (SRS): A detailed
requirements document.
Tools: UML diagrams
Design Phase
Purpose: Gathered requirements are translated into technical
blueprints
Activities:
• High-level design involving system architecture
• Low-level design by detailing databases, APIs, workflow
• Create ER diagrams, data flow diagrams and UI design.
Deliverables:
• Design Document: Architecture diagrams, database
schemas, and interface designs.
Tools: Draw.io, Figma
Implementation Phase
Purpose: Build, test, and deploy the system
Activities:
✓Write code in programming languages (e.g., Python, Java).
✓Conduct various levels of testing including Unit testing,
Integration testing, System testing and User Acceptance
testing.
✓Deploy and train users on a live environment.
Deliverables:
• Working software, user manuals, test reports
Tools: VS Code, GitHub, AWS, etc.
Maintenance Phase
Purpose: Keep the software updated and functional.
Activities:
✓Fix bugs (corrective maintenance).
✓Improve performance (perfective maintenance).
✓Adapt to new environments (adaptive
maintenance).
✓Preventive maintenance
Deliverables:
✓Patches, updates, and version releases
SDLC Models
Model Description Use Case
Waterfall Linear sequence of phases; Projects with
each phase must be clearly defined
completed before the next requirements
begins
Spiral Combines iterative Large, complex,
development with risk and high-risk
analysis at each cycle projects
SDLC Models
Model Description Use Case
Agile Iterative and incremental; Projects needing
encourages flexibility and rapid delivery and
stakeholder involvement evolving
requirements
RAD Emphasizes rapid When speed is
prototyping and user more important
feedback than perfect
architecture
Comparison: Waterfall vs Agile
Feature Waterfall Agile
Process Sequential Iterative
Flexibility Low High
Documentation Heavy Light
User Low High (continuous
Involvement feedback)
Delivery One final Frequent working
product increments