ASSIGNMENT SUBJECT: COMPUTER SCIENCE
SUBMITTED BY: MUHAMMAD USMAN MIRZA
Software Development Life Cycle (SDLC)
Definition of SDLC
The Software Development Life Cycle (SDLC) is a step-by-step process used by software
engineers and developers to design, develop, test, and deliver high-quality software
applications. It provides a structured way of building software so that the final product
meets the needs of users, is cost-effective, and can be completed on time. SDLC reduces
risks, improves efficiency, and ensures that every stage of development is carried out in a
systematic manner.
The SDLC usually consists of six major steps. Each step has its own purpose and
functions, but all steps are linked together to form a complete process. Below are the six
steps with their detailed functions.
1. Requirement Analysis
This is the first and most important stage of SDLC. Functions:
• Collecting information from clients or users about what they want from the
software.
• Understanding the exact needs, goals, and expectations.
• Documenting requirements clearly so developers can follow them.
• Identifying technical and financial feasibility of the project.
2. System Design
In this stage, the overall structure of the software is planned. Functions:
• Creating design models, diagrams, and blueprints of the system.
• Planning the database design, system architecture, and user interfaces.
• Converting requirements into a technical design that developers can work on.
• Ensuring the design is efficient, secure, and scalable for future use.
3. Implementation (Coding)
Here the actual coding of the software takes place. Functions:
• Developers write source code using programming languages such as Java, Python,
or C++.
• Breaking the project into smaller modules and assigning them to different
programmers.
• Following coding standards and guidelines for better quality.
• Producing the first working version of the software.
4. Testing
This step ensures the software is error-free and works correctly. Functions:
• Running the software to find bugs, errors, and defects.
• Checking whether the software meets all user requirements.
• Performing different kinds of testing like unit testing, integration testing, and system
testing.
• Fixing errors and improving the performance before final release.
5. Deployment
Once the software is tested and ready, it is delivered to the users. Functions:
• Installing the software on user systems or releasing it online.
• Training users to operate the software effectively.
• Making the software live for actual business use.
• Monitoring for any issues during the initial usage.
6. Maintenance
This is the longest stage of SDLC, which continues even after deployment. Functions:
• Regularly updating the software with improvements and new features.
• Fixing errors that appear after real-time use.
• Ensuring the software runs smoothly with changing technology and user needs.