System Development Life Cycle
What is a System?
A system is a collection of interrelated components working together to achieve a common
objective.
It's an orderly grouping of interdependent components linked together according to a plan to
achieve a specific goal.
Systems can be physical or conceptual, composed of people, processes, software, hardware,
and data.
System Analysis and Design (SAD) focuses on understanding, designing, and implementing
systems to meet specific business needs.
System Characteristics
Interrelated components
Boundary
Purpose
Environment
Interfaces
Constraints
Input
Output
System Analysis and Design (SAD)
SAD is a structured process used to study, understand, design, and implement information
systems that effectively support business needs.
It analyzes existing systems, identifies problems/opportunities, and designs new/improved
systems.
The main goal is to improve organizational systems, often through software that helps
employees accomplish key business tasks more efficiently.
Key Components of SAD
1. System Analysis: Understanding and breaking down the existing system.
Collecting requirements
Studying workflows and processes
Identifying problems or inefficiencies
Specifying what the new system should achieve
1. System Design: Planning how the new system will work.
Designing inputs, processes, and outputs
Creating data flow diagrams, ER diagrams, UML models, etc.
Planning databases, interfaces, and architecture
Specifying hardware/software requirements
Example
Analysis: In a university registration system, identify issues like delays, errors in student
records, or lack of online access.
Design: Propose a web-based registration platform with automated verification and database
integration.
System Development Life Cycle (SDLC)
The SDLC is a framework that outlines the phases and activities involved in developing and
maintaining a software system.
It provides a structured approach to managing the entire process, from the initial concept and
requirements gathering to the system's deployment and maintenance.
The SDLC ensures that the software development process is systematic, efficient, and
produces high-quality results.
Phases of SDLC
1. Planning
2. Requirements Gathering/Analysis
3. System Design
4. Implementation (Development)
5. Testing
6. Deployment (Installation/Delivery)
7. Maintenance (Support & Updates)
8. Documentation (Cross-cutting Phase)
SDLC Phases in Detail
1. Planning Phase
The initial phase where the project idea is studied.
The main goal is to determine feasibility, resources needed, and project scope.
Activities:
Identify project objectives.
Conduct feasibility studies (technical, economic, operational).
Estimate costs, timelines, and resources.
Prepare a project plan.
Assessing Project Feasibility:
Economic
Operational
Technical
Schedule
Legal and contractual
Political
Example:
A university decides to develop a web-based student registration system.
In planning, they check:
Is it technically possible to build it?
What budget is required?
How long will it take?
2. Requirements Gathering (Analysis Phase)
Collecting and analyzing the requirements of the new system from users and stakeholders.
Activities:
Interview users, distribute questionnaires, and observe processes.
Document functional requirements (what the system should do).
Document non-functional requirements (performance, security, reliability).
Example:
For the registration system:
Students need to register online for courses.
Admins need to add/edit courses.
The system must be available 24/7 and secure with login authentication.
Data Collection Methods
1. Primary Data Collection
Original data collected directly from the source for the specific purpose of the system being
developed.
First-hand, up-to-date, and specific to the project.
1. Secondary Data Collection
Existing information collected previously for another purpose but can be used to inform
system design.
Methods:
Interviews: Asking users, managers, or stakeholders about their requirements.
Example: Interviewing teachers about student registration procedures.
Questionnaires/Surveys: Collecting structured responses from many users. Example:
Surveying students to know which features they want in a portal.
Observation: Watching current processes in action. Example: Observing library staff to
understand book issue and return workflows.
Sources:
Documents and Reports: Existing forms, manuals, and operational reports.
Databases: Existing data stored in old systems.
Research Studies / Publications: Reports or studies relevant to the domain.
3. Design Phase
Translating requirements into a blueprint for building the system.
Includes both logical design (processes, data flow) and physical design (database, UI, system
architecture).
Activities:
Draw UML diagrams (use case, class, sequence).
Create ERDs for database design.
Design system architecture (hardware, software, network).
Prepare user interface mockups.
Example:
ERD with Student, Course, and Registration tables.
Use Case Diagram: Student - Register for course.
Interface design: Login page, registration form.
4. Implementation (Development) Phase
Actual coding and development of the system based on the design.
Activities:
Developers write code using programming languages (e.g., Java, Python, PHP).
Database is created.
Integrate different modules.
Example:
Developers create the login system using PHP.
Database in MySQL is set up with tables for students and courses.
Registration module is coded to check prerequisites.
5. Testing Phase
The system is tested to ensure it meets requirements and works correctly.
Activities:
Unit testing (individual modules).
Integration testing (modules together).
System testing (whole system).
User Acceptance Testing (UAT).
6. Deployment Phase
Delivering the system to users for actual operation.
Activities:
Install system on production servers.
Train users and provide manuals.
Go-live (system becomes available for use).
Example:
The registration system is deployed on the university server.
Students start using it to register for the next semester.
Training sessions are given to staff.
7. Maintenance Phase
Ongoing support after deployment to fix problems, improve performance, and adapt to
changes.
Activities:
Bug fixing.
Adding new features.
Performance optimization.
Security updates.
Example:
Fix a bug where some courses are not displaying.
Add a feature for online payment of fees.
Upgrade system security with stronger password rules.
8. Documentation (Cross-cutting Phase)
Detailed recording of the system at every stage of SDLC for reference, training, and future
improvements.
Types of Documentation:
Planning docs: Feasibility reports, project plans.
Requirements docs: Requirements specifications.
Design docs: UML diagrams, ERDs, architecture designs.
Implementation docs: Source code comments, technical manuals.
User docs: User manuals, help guides.
Maintenance docs: Logs of changes, updates, bug fixes.
Stakeholders
Stakeholders are individuals or groups who have an interest in the success or outcome of a
system or project.
Types of Stakeholders:
Internal stakeholders: Students, instructors, administrators, employees, IT staff.
External stakeholders: Customers, suppliers, government agencies.
Primary stakeholders: Direct users of the system (e.g., students using a registration
system).
Secondary stakeholders: Indirectly affected (e.g., the finance office that monitors
payments).
Project Team Composition
The structure of the project team responsible for planning, designing, developing, testing, and
maintaining the system.
Example for a student registration system: 1 Project Manager, 2 System Analysts, 2
Developers, 1 Database Administrator, 1 Tester, 1 Trainer.
Roles in Project Team
Project Manager: Oversees planning, scheduling, and coordination.
System Analyst: Bridges communication between stakeholders and developers; gathers
requirements.
Software Designer: Designs architecture, databases, and user interfaces.
Developers/Programmers: Write and implement the system code.
Database Administrator (DBA): Manages database design and security.
Tester/Quality Assurance (QA): Ensures the system works correctly and meets requirements.
End-user Representative: Provides feedback on usability and system functions.
Support & Maintenance Staff: Handle issues after deployment.