Skip to content

Latest commit

 

History

History
121 lines (70 loc) · 2.75 KB

File metadata and controls

121 lines (70 loc) · 2.75 KB

Software Development Life Cycle (SDLC)

What is Software Development Life Cycle (SDLC) ?

is a systematic process used for planning, designing, developing, testing, and deploying software.

SDLC

Phases of SDLC:

  1. Analysis

    Role in Software Development: - Understand business needs and client requirements.Analyze project plan.

    Input: - Business requirements and Client needs.

    Output: - Software requirements specification (SRS), Project Plan.

    Roles:

    Product Owner -> Managing and prioritizing the product.

    Project Manager -> Manages the project and determines the project duration. Manage team schedules, budgets and risks. (Trello and Microsoft Project)

    Business Analyst -> Gather and document requirements from clients. (Jira and Microsoft Excel)

    CTO (Chief Technology Officer) -> Specifies the programs used to work on the project.

  2. Design

    Role in Software Development: - Design the software architecture and user interface.

    Input: - Software requirements specification (SRS).

    Output: - Software design document.

    Roles:

    Software Architect -> Design the software architecture.

    UI/UX Designer -> Design the user interface.

  3. Development

    Role in Software Development: - Develop the software based on the design.

    Input: - Software design document.

    Output: - Software code.

    Roles:

    Frontend Developer -> Develop the user interface.

    Backend Developer -> Develop the backend of the software.

  4. Testing

    Role in Software Development: - Test the software to ensure it meets the requirements.

    Input: - Software code.

    Output: - Test report.

    Roles:

    Quality Assurance Engineer -> Test the software to ensure it meets the requirements.

    Software Tester -> Test the software to ensure it meets the requirements.

    Solution Architect -> Test the software to ensure it meets the requirements.

    DevOps Engineer -> Test the software to ensure it meets the requirements.

  5. Deployment

    Role in Software Development: - DEnsure a smooth transition from development to production.

    Input: - Software code.

    Output: - Deployed software.

    Roles:

    DevOps Engineer -> Designs and manages database.

    DevOps Engineer -> Manage Deployment. ( Azure, Google Cloud).

  6. Maintenance

    Role in Software Development: - Maintain and update the software as needed.

    Input: - Deployed software.

    Output: - Updated software.

    Roles:

    User -> Provide feedback on the software.

    Tester -> Test the software.

    Support management -> Provide support for the software.