Software EngineeringSoftware Engineering (SE)

Software Engineering (SE)

Cheat sheet for SDLC, Agile, Scrum, and CI/CD

Software Engineering (SE) Cheat Sheet

This document summarizes essential concepts in Software Engineering, including SDLC, Agile, Scrum, and CI/CD.

Software Development Life Cycle (SDLC)

SDLC is a process for creating high-quality software, consisting of core phases:

  • Requirement Analysis: Gathering and analyzing requirements from stakeholders.
  • Design: Designing system architecture and software design.
  • Implementation (Coding): Writing code according to design specifications.
  • Testing: Testing software to find bugs and verify it meets requirements.
  • Deployment: Installing software into a production environment.
  • Maintenance: Maintaining and fixing bugs, as well as updating new features.

Agile Methodology

Agile is a software development approach that focuses on iterative and incremental work.

  • Focuses on collaboration within the team and with stakeholders.
  • Responds quickly to changing requirements.
  • Delivers working software frequently.

Scrum Framework

Scrum is a framework under Agile for managing complex projects.

  • Roles: Product Owner, Scrum Master, Developers
  • Artifacts: Product Backlog, Sprint Backlog, Increment
  • Events: Sprint, Sprint Planning, Daily Scrum, Sprint Review, Sprint Retrospective

Continuous Integration / Continuous Deployment (CI/CD)

CI/CD is a practice for automating the software release process.

  • Continuous Integration (CI): Frequently merging code from multiple developers into a shared repository, along with running automated tests.
  • Continuous Delivery (CD): Always keeping code in a ready-to-deploy state for production.
  • Continuous Deployment (CD): Automatically deploying code to a production environment when all tests pass.

AI Knowledge Assistant

สวัสดีครับ! ผมคือ AI Assistant ประจำเว็บไซต์

คุณสามารถสอบถามข้อมูลด้าน Computer Science, Business, หรือ Finance ได้เลยครับ