SYSTEM DEVELOPMENT LIFE CYCLE
10.1.1 Define System
Start with the basics: Define a system as a set of interrelated components working
together to achieve a common goal. Emphasize that systems can be physical (e.g.,
machinery) or abstract (e.g., software systems).
Real-world examples: Use examples like the human body, school management system,
or a traffic control system to make the concept relatable.
o Example: A car system involves various components such as the engine,
transmission, and fuel system that work together to move the car.
Key characteristics: Explain that systems have inputs, processes, outputs, feedback, and
boundaries.
o Input: Data or resources that enter the system.
o Process: The actions taken on the input.
o Output: The result of the process.
o Feedback: Information about the output that can influence future operations.
10.1.2 Describe Objectives of SDLC
Define SDLC (System Development Life Cycle): Explain that SDLC is a structured
approach to software development, which ensures the successful creation of software
systems.
Key objectives:
o Efficiency: To produce a system that meets user needs efficiently, minimizing
resource wastage.
o Quality: Ensure that the system meets quality standards by going through
systematic phases.
o Cost-effectiveness: Manage the costs by setting realistic budgets and timelines.
o Customer satisfaction: Build systems that satisfy customer needs and
requirements.
o Risk management: Anticipate potential risks and address them during
development.
o Maintainability: Make systems that can be easily updated and maintained after
deployment.
Relate objectives to real-world scenarios: Share examples like building a mobile app
where all objectives (efficiency, quality, cost) are crucial for user satisfaction.
10.1.3 Describe the Steps/Phases in SDLC
Introduction to SDLC Phases: Break down SDLC into structured phases, where each
phase serves a specific purpose in the system's development.
List the phases and briefly describe their importance:
1. Requirement Gathering & Analysis:
Identify what the users need and document the system’s requirements.
Emphasize communication with stakeholders to understand their needs.
2. System Design:
Create the blueprint for the system (high-level design, architecture).
Include both system and database design.
3. Implementation (Coding):
Translate the design into executable code.
Stress on the importance of following coding standards.
4. Testing:
Verify that the system works as intended (debugging, validation).
Discuss different types of testing (unit, integration, system).
5. Deployment:
Introduce the system to the user environment.
Stress user training and documentation.
6. Maintenance:
Ongoing support and bug fixes after deployment.
Discuss importance of monitoring and improving performance.
Use visuals: A simple diagram of SDLC with arrows between each phase.
Example: Relate SDLC steps to a practical example such as the development of an e-
commerce website where each phase is essential to ensure smooth user experience and
functionality.
10.1.4 Describe the Responsibilities of the Following Personnel:
a. Management Team
Overview of management’s role: Explain that the management team provides oversight
and guidance throughout the SDLC process.
Responsibilities:
o Project approval and funding: Ensure the project aligns with business goals and
secure the necessary resources.
o Resource allocation: Ensure the right people, tools, and technology are available.
o Risk management: Monitor risks and address issues that might affect the
project’s timeline, budget, or quality.
Example: In a company, the management team approves the budget and ensures the
development team has the resources they need.
b. System Analyst
Role of the System Analyst: Describe the system analyst as the person who bridges the
gap between business needs and technical solutions.
Responsibilities:
o Requirement gathering: Work with users and stakeholders to gather system
requirements.
o System design and analysis: Analyze existing systems and design new solutions.
o Documentation: Create detailed system specifications and reports.
Example: The system analyst works with stakeholders in a school to understand their
needs and translates those into technical requirements for a new student information
system.
c. Project Manager
Role of the Project Manager: Explain that the project manager is responsible for the
successful execution of the project within scope, time, and budget.
Responsibilities:
o Project planning: Develop project timelines, resource allocation, and task
distribution.
o Team coordination: Ensure team members are working towards the common
goal.
o Progress tracking: Monitor project milestones and ensure the project stays on
schedule.
o Stakeholder communication: Keep stakeholders updated on progress and risks.
Example: In the development of a mobile app, the project manager ensures deadlines are
met, resources are allocated, and the client is satisfied.
d. Programmer
Role of the Programmer: Discuss the programmer’s responsibility in converting system
specifications into functioning code.
Responsibilities:
o Writing code: Implement system design into working software.
o Testing and debugging: Test code for bugs and ensure it meets specifications.
o Documentation: Write code comments and maintain codebases for future
updates.
Example: A programmer works on coding a feature in an e-commerce website, such as
the shopping cart functionality.
e. Software Tester
Role of the Software Tester: Explain that the tester ensures the system works as
expected through various testing techniques.
Responsibilities:
o Develop test cases: Write test cases based on system requirements.
o Perform testing: Execute the test cases, identify bugs, and report issues.
o Ensure quality: Verify that the system is stable, secure, and user-friendly.
Example: The tester will test the checkout process in an e-commerce app to ensure it
works seamlessly before going live.
f. Customer
Role of the Customer: Discuss that the customer is the primary user or stakeholder who
will use the system.
Responsibilities:
o Provide requirements: Share what they need from the system (functional and
non-functional requirements).
o Feedback: Give feedback on system performance, usability, and features during
testing phases.
o User acceptance: Approve the final system once it meets the defined
requirements.
Example: A customer of an online banking application provides feedback on features
like balance checking and fund transfers.