Software Development Life Cycle (SDLC)

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

The SDLC is a ______ process for building software that ensures the quality and correctness of the software built.

systematic

Phases of the SDLC include requirement collection, feasibility study, design, coding, testing, installation/deployment and ______.

maintenance

A feasibility study assesses the ______ of a project, such as ensuring it is legally and technically feasible as well as economically reasonable.

viability

The system design process defines the architecture, ______, interfaces, and data structure for a system.

<p>modules</p> Signup and view all the answers

In the coding phase, tasks are divided into units or ______ and assigned to various developers.

<p>modules</p> Signup and view all the answers

During the testing phase, the QA team communicates any found ______ to developers for fixes and re-testing.

<p>bugs</p> Signup and view all the answers

Alpha-testing is system testing performed by the ______ team.

<p>development</p> Signup and view all the answers

Beta-testing is system testing performed by a friendly set of ______.

<p>customers</p> Signup and view all the answers

After the software testing phase, the final ______ process commences, releasing the software.

<p>deployment</p> Signup and view all the answers

The key goal of the SDLC maintenance phase is ensuring ongoing needs are met and that the system aligns with initial ______.

<p>specifications</p> Signup and view all the answers

Flashcards

SDLC Definition

A systematic process for building quality, correct software that meets customer expectations within time and cost constraints.

Why use SDLC?

Project planning, scheduling, estimating, framework, tracking, speed, client relations, and decreased project risk.

SDLC Steps

Requirement collection, feasibility study, design, coding, testing, installation/deployment, and maintenance.

Requirement Collection and Analysis

Gathering user, system, and functional needs through interviews, database reviews, and questionnaires.

Signup and view all the flashcards

Feasibility Study

Assessing project viability in terms of economics, legality, operation, technology, and scheduling.

Signup and view all the flashcards

System Design

System architecture, modules, interfaces, and data are defined to meet requirements.

Signup and view all the flashcards

Coding Phase

Developers write code, following guidelines and using tools like compilers and debuggers.

Signup and view all the flashcards

Testing Phase

Verifying the application works according to requirements through alpha, beta, and acceptance testing.

Signup and view all the flashcards

Installation/Deployment

The final software is released after testing, with checks for deployment issues.

Signup and view all the flashcards

Maintenance Phase

Bug fixing, upgrades, and enhancements to keep the system running and meeting needs.

Signup and view all the flashcards

Study Notes

Software Development Life Cycle

  • A systematic process for building quality and correct software.
  • High-quality software produced should meet customer expectations.
  • System development must be completed within a pre-defined time frame and cost.
  • A detailed plan is required to plan, build, and maintain specific software.
  • Every phase has its own process and deliverables that feed into the next phase.

Why Use SDLC?

  • Provides a foundation for project planning, scheduling, and estimation.
  • It delivers standard activities and project deliverables.
  • Functions as a mechanism for project tracking and control.
  • Increases and enhances development speed, while improving client relations.
  • Helps reduce project risk and project management plan overhead.

SDLC Phases

  • Requirement collection and analysis is the first phase.
  • Feasibility study is the second phase.
  • Design is the third phase.
  • Coding is the fourth phase.
  • Testing is the fifth phase.
  • Installation/Deployment is the sixth phase.
  • Maintenance is the seventh phase.

Phase 1: Requirement Collection and Analysis

  • The software development team works to carry on the project.
  • Discussions are held with stakeholders to gather as much information as possible on the project requirements.
  • Requirements are planned into user, system, and functional requirements.
  • Collected using:
    • Studying existing or obsolete systems and software.
    • Conducting user interviews.
    • Referring to databases.
    • Collecting answers from questionnaires.

Phase 2: Feasibility Study

  • Assesses the viability of a project, ensuring it is legally, technically, and economically feasible.
  • Determines if a project is worth the effort.
  • Five types of feasibility checks:
    • Economic: Can the project be completed within budget?
    • Legal: Can the project be handled under cyber law and regulations?
    • Operational: Assesses how well the proposed system solves problems.
    • Technical: Checks if the current computer system can support the software.
    • Schedule: Decides if the project can be completed within the schedule.

Phase 3: Design

  • Defines the architecture, modules, interfaces, and data for a system to satisfy requirements.
  • Details can include screen designs, databases, sketches, system interfaces, flow-charts, and prototypes, depending on the project.
  • Includes assessment and planning for security risks.

Phase 4: Coding

  • Developers build the system by writing code using a chosen programming language.
  • Tasks are divided into units or modules and assigned to developers, making it the longest phase.
  • Developers must follow predefined coding guidelines and use programming tools like compilers, interpreters, and debuggers.

Phase 5: Testing

  • The testing team tests the system's functionality to verify it meets customer requirements.
  • The QA and testing team finds bugs/defects that are communicated to developers.
  • The development team fixes the bug and sends back to QA for a re-test.
  • Process continues until the software is bug-free, stable, and working according to the business needs.
  • Consists of three testing activities:
    • α testing: System testing by the development team.
    • β testing: System testing by a friendly set of customers.
    • Acceptance testing: System testing by the customer after product delivery to determine whether to accept or reject the product.

Phase 6: Installation/Deployment

  • The final deployment starts once software testing is over, and no bugs or errors are left.
  • The final software is released and checked for deployment issues based on project manager feedback.

Phase 7: Maintenance

  • Occurs once the system is deployed and customers start using it.
  • Three activities:
    • Bug fixing: Addressing bugs reported from scenarios not tested previously.
    • Upgrade: Upgrading the application to newer software versions.
    • Enhancement: Adding new features to the existing software.
  • Ensure needs continue to be met and the system performs as specified in the first phase.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser