Course: CSC1108 - System Analysis & Design
Semester: January 2024
Lecturer: Ms Jayashiry Morgan
Chapter 3:
The System Development Life Cycle (SDLC)
Learning Outcomes:
By the end of this session, students should be able to explain:
• 1. What is SDLC?
• 2. What are the phases in SDLC?
• 3. What are the products of SDLC phases?
• 4. Explain about the traditional waterfall SDLC
What is SDLC?
• SDLC stands for “Software Development
Life Cycle”.
• SDLC is a collection of processes which
are followed to develop a software.
• SDLC is a methodology that defines
some processes which are followed to
develop a high-quality software.
Importance of SDLC
• Ensures systematic and organized
development.
• Enhances collaboration between
stakeholders.
• Provides a framework for high-quality
system development.
Phases of SDLC
Each phase of the SDLC plays a
crucial role in the successful
development and deployment of a
software system. The phases are
interconnected, with outputs from
one phase serving as inputs to the
next, ensuring a systematic and well-
managed development process.
Phase 1: Planning
• Objective:
In the planning phase, the overall project scope, objectives, timeline, and resources are
determined. The primary goal is to establish a clear understanding of the project
requirements, constraints, and feasibility.
• Activities:
• Identifying project goals and objectives.
• Assessing project feasibility, including technical, financial, and organizational aspects.
• Developing a project plan with timelines, milestones, and resource allocation.
• Establishing communication channels and project governance.
Phase 2: Analysis
• Objective:
The analysis phase focuses on understanding the needs and requirements of the end-
users and stakeholders. It involves gathering, documenting, and analyzing information
to define the system's functionality.
• Activities:
• Conducting interviews, surveys, and workshops to gather user requirements.
• Documenting functional and non-functional requirements.
• Analyzing current business processes and workflows.
• Identifying potential risks and challenges.
Phase 3: Design
• Objective:
The design phase transforms the requirements gathered during the analysis into a
blueprint for the actual system. It involves creating a detailed plan for how the system
will be implemented.
• Activities:
• Logical Design: Defining system architecture, data models, and high-level system flow.
• Physical Design: Translating the logical design into a physical structure, specifying
technologies, databases, and hardware.
• Creating prototypes or mock-ups for user interface design.
• Defining system interfaces and interactions.
Phase 4: Implementation
• Objective:
The implementation phase involves the actual development of the system based on the
design specifications. It is the stage where the code is written, tested, and refined.
• Activities:
• Writing code according to the design specifications.
• Conducting unit testing to ensure individual components work as intended.
• Integrating components and conducting system testing.
• Making necessary adjustments based on testing results.
Phase 5: Maintenance
• Objective:
The maintenance phase involves the ongoing support, enhancement, and optimization
of the system. It ensures that the system remains effective and meets changing user and
business requirements.
• Activities:
• Addressing and fixing any issues or bugs discovered post-implementation.
• Making updates or enhancements to accommodate changing business needs.
• Performing routine maintenance tasks, such as system backups and security updates.
• Evaluating and implementing new technologies to improve system performance.
Products of SDLC Phases
From textbook page 35
The Traditional Waterfall SDLC
From textbook page 37
The Traditional Waterfall SDLC
The Traditional Waterfall Model is a linear and sequential approach
to software development that follows a structured and rigid
process. It is called the "Waterfall" model because the development
process flows steadily downwards through a series of phases, and
each phase must be completed before moving on to the next.
Key Characteristics of
Traditional Waterfall Model
Structured Approach:
• Phases are well-defined and progress in a linear manner.
Clear Milestones:
• Easily measurable progress at the end of each phase.
Document-Driven:
• Emphasis on comprehensive documentation.
Use Cases of Traditional
Waterfall Model
Projects with Stable Requirements:
• When requirements are well-understood and unlikely to change.
Regulated Industries:
• For projects requiring extensive documentation and regulatory
compliance.
The Traditional Waterfall SDLC
Advantages:
• Clear structure
• Well-documented
• Easy management
• Client involvement
• Predictable timelines
Drawbacks:
• Limited Flexibility
• Not suitable for large
projects
• Late visibility of product
• Rigidity
Watch This Video:
Click Here

Chapter 3 The System Development Life Cycle (SDLC).pptx

  • 1.
    Course: CSC1108 -System Analysis & Design Semester: January 2024 Lecturer: Ms Jayashiry Morgan
  • 2.
    Chapter 3: The SystemDevelopment Life Cycle (SDLC)
  • 3.
    Learning Outcomes: By theend of this session, students should be able to explain: • 1. What is SDLC? • 2. What are the phases in SDLC? • 3. What are the products of SDLC phases? • 4. Explain about the traditional waterfall SDLC
  • 4.
    What is SDLC? •SDLC stands for “Software Development Life Cycle”. • SDLC is a collection of processes which are followed to develop a software. • SDLC is a methodology that defines some processes which are followed to develop a high-quality software.
  • 5.
    Importance of SDLC •Ensures systematic and organized development. • Enhances collaboration between stakeholders. • Provides a framework for high-quality system development.
  • 6.
    Phases of SDLC Eachphase of the SDLC plays a crucial role in the successful development and deployment of a software system. The phases are interconnected, with outputs from one phase serving as inputs to the next, ensuring a systematic and well- managed development process.
  • 7.
    Phase 1: Planning •Objective: In the planning phase, the overall project scope, objectives, timeline, and resources are determined. The primary goal is to establish a clear understanding of the project requirements, constraints, and feasibility. • Activities: • Identifying project goals and objectives. • Assessing project feasibility, including technical, financial, and organizational aspects. • Developing a project plan with timelines, milestones, and resource allocation. • Establishing communication channels and project governance.
  • 8.
    Phase 2: Analysis •Objective: The analysis phase focuses on understanding the needs and requirements of the end- users and stakeholders. It involves gathering, documenting, and analyzing information to define the system's functionality. • Activities: • Conducting interviews, surveys, and workshops to gather user requirements. • Documenting functional and non-functional requirements. • Analyzing current business processes and workflows. • Identifying potential risks and challenges.
  • 9.
    Phase 3: Design •Objective: The design phase transforms the requirements gathered during the analysis into a blueprint for the actual system. It involves creating a detailed plan for how the system will be implemented. • Activities: • Logical Design: Defining system architecture, data models, and high-level system flow. • Physical Design: Translating the logical design into a physical structure, specifying technologies, databases, and hardware. • Creating prototypes or mock-ups for user interface design. • Defining system interfaces and interactions.
  • 10.
    Phase 4: Implementation •Objective: The implementation phase involves the actual development of the system based on the design specifications. It is the stage where the code is written, tested, and refined. • Activities: • Writing code according to the design specifications. • Conducting unit testing to ensure individual components work as intended. • Integrating components and conducting system testing. • Making necessary adjustments based on testing results.
  • 11.
    Phase 5: Maintenance •Objective: The maintenance phase involves the ongoing support, enhancement, and optimization of the system. It ensures that the system remains effective and meets changing user and business requirements. • Activities: • Addressing and fixing any issues or bugs discovered post-implementation. • Making updates or enhancements to accommodate changing business needs. • Performing routine maintenance tasks, such as system backups and security updates. • Evaluating and implementing new technologies to improve system performance.
  • 12.
    Products of SDLCPhases From textbook page 35
  • 13.
    The Traditional WaterfallSDLC From textbook page 37
  • 14.
    The Traditional WaterfallSDLC The Traditional Waterfall Model is a linear and sequential approach to software development that follows a structured and rigid process. It is called the "Waterfall" model because the development process flows steadily downwards through a series of phases, and each phase must be completed before moving on to the next.
  • 15.
    Key Characteristics of TraditionalWaterfall Model Structured Approach: • Phases are well-defined and progress in a linear manner. Clear Milestones: • Easily measurable progress at the end of each phase. Document-Driven: • Emphasis on comprehensive documentation.
  • 16.
    Use Cases ofTraditional Waterfall Model Projects with Stable Requirements: • When requirements are well-understood and unlikely to change. Regulated Industries: • For projects requiring extensive documentation and regulatory compliance.
  • 17.
    The Traditional WaterfallSDLC Advantages: • Clear structure • Well-documented • Easy management • Client involvement • Predictable timelines Drawbacks: • Limited Flexibility • Not suitable for large projects • Late visibility of product • Rigidity
  • 18.

Editor's Notes

  • #18 Clear Structure: Explanation: The waterfall model follows a well-defined and linear structure, where each phase has specific deliverables and a clear set of objectives. This clarity provides a straightforward path for development teams to follow from initiation to project completion. Well-documented: Explanation: Each phase in the waterfall model requires thorough documentation before moving on to the next stage. This emphasis on documentation ensures that all aspects of the project, including requirements, design, and code, are well-documented. Comprehensive documentation enhances communication among team members and serves as a reference for future stages or maintenance. Easy Management: Explanation: The linear and sequential nature of the waterfall model makes project management relatively straightforward. Each phase has its own set of activities, making it easier for project managers to plan, monitor, and control the development process. Task dependencies are clear, allowing for efficient resource allocation and management. Client Involvement: Explanation: The waterfall model encourages client involvement primarily during the requirements gathering phase and the final product delivery. This structured approach ensures that client expectations are clearly defined at the beginning, reducing the likelihood of misunderstandings later in the project. It provides clients with a more tangible understanding of what to expect in the final product. Predictable Timelines: Explanation: The sequential nature of the waterfall model allows for the estimation of project timelines with greater accuracy. Since each phase has distinct deliverables and follows a fixed sequence, project managers can make reliable predictions about the time required for each stage. This predictability aids in setting realistic deadlines and managing stakeholder expectations. DISADVANTAGES Limited Flexibility: Explanation: The waterfall model follows a rigid and sequential structure where each phase must be completed before moving on to the next. This lack of flexibility means that accommodating changes, especially those identified later in the development process, can be challenging. If there are alterations to requirements or design, it often necessitates revisiting earlier phases, leading to increased time and costs. Not Suitable for Large Projects: Explanation: The waterfall model may not be well-suited for large and complex projects. In extensive projects, it's difficult to foresee all requirements accurately at the beginning, and changes are likely to occur during the course of development. The model's linear nature can result in delays and inefficiencies when adjustments are needed, making it less adaptable to the dynamic nature of large projects. Late Visibility of Product: Explanation: In the waterfall model, the client typically gets to see a tangible product only in the later stages of the development process, often during the testing or deployment phase. This delayed visibility can be a disadvantage as it limits opportunities for clients to provide feedback on the product's development. Any misunderstandings or deviations from client expectations may surface late in the process, leading to rework and increased project costs. Rigidity: Explanation: The waterfall model's structured and sequential approach can be perceived as too rigid for projects that require frequent reassessment and adaptation. In scenarios where rapid changes in technology or business environment occur, the model's inflexibility may hinder the development team's ability to respond promptly and make necessary adjustments.