Post

[QA]소프트웨어_SDLC.

[QA]소프트웨어_SDLC.

🛠 SDLC (Software Development Life Cycle)

소프트웨어 개발을 체계적으로 관리하는 과정.
계획 → 요구사항 정의 → 설계 → 구현 → 테스트 → 배포 → 유지보수 단계로 구성


🔴 계획 (Planning)

  • 목표 설정, 리소스 및 일정 계획, 위험요소 식별
  • 🎯 SMART 목표 설정
    • 🔶 Specific (구체성): 명확한 목표 설정
    • 🔷 Measurable (측정 가능성): 성과 측정 가능?
    • 🟩 Action-oriented (실천 가능성): 실천 가능한 목표
    • 🟢 Realistic (현실성): 현실적으로 달성 가능함?
    • 🔴 Time-limited (기한 설정): 기한이 설정됨?

📌 Key Performance Indicator (KPI_핵심 성과 지표)

  • 계획 완료율: 목표 대비 달성률
  • 리스크 식별률: 위험 요소 발견 및 대응
  • 자원 할당 정확도: 인력 및 예산 활용도 평가

🟠 요구사항 정의 (Requirement Analysis)

  • 요구사항 수집, 문서화 및 도출
  • 📌 MoSCoW 기법
    • 🟥 Must Have: 반드시 포함해야 하는 기능
    • 🟧 Should Have: 필수는 아니지만 높은 우선순위
    • 🟦 Could Have: 있으면 좋지만 필수는 아님
    • 🟩 Won’t Have: 현재 포함되지 않을 기능

🟡 설계 (Design)

  • 아키텍처 설계, 데이터 흐름 정의, 개발 기초 구축

image

계층형 아키텍처마이크로서비스 아키텍처서버리스
프론트엔드, 백엔드, 데이터베이스를 계층적으로 분리독립적 서비스로 구성, 유연성 확장성 높음클라우드 플랫폼 활용, 서버 관리 부담 감소

🟢 구현 (Development)

  • 소프트웨어 개발 단계
  • 📌 Clean Code 원칙
    • KISS (Keep It Simple, Stupid): 단순하고 명확한 코드
    • Boy Scout Rule: 기존 코드보다 더 깨끗하게 유지
    • Root Cause Analysis: 근본 원인 해결

📌 코딩 원칙

  • 클린 코드
  • DRY (Don’t Repeat Yourself)
  • SOLID 원칙

🔵 테스트 (Testing)

  • 소프트웨어 검증, 결함 발견 및 수정
  • 📌 테스트 주요 요소
    • 테스트 범위: 무엇을 테스트할 것인가?
    • 테스트 목표: 어떤 문제를 발견할 것인가?
    • 리소스: 누가, 어떤 도구를 사용할 것인가?
    • 일정: 테스트 일정 및 마일스톤 설정

📌 결함 관리 프로세스

  1. 결함 보고 (Defect Reporting)
  2. 결함 분석 (Defect Analysis)
  3. 결함 수정 (Defect Fixing)
  4. 결함 재테스트 (Retest)

🟣 배포 (Deployment)

  • 소프트웨어 배포, 초기 피드백 수집
  • 📌 배포 프로세스
    • 준비 → 테스트 환경 → 프로덕션 환경 → 사용자 제공

🚀 소프트웨어 배포 전략

  1. Blue/Green Deployment: 트래픽을 새 환경으로 전환, 빠른 롤백 가능
  2. Canary Deployment: 일부 사용자에게 배포 후 점진적 확산
  3. Rolling Deployment: 점진적 배포, 무중단 가능

⚫ 유지보수 (Maintenance)

  • 지속적인 개선 및 최적화
  • 📌 핵심 원칙
    • 사용자 피드백을 기반으로 지속적 개선
    • 문서화를 통한 유지보수 체계화
    • 안정성을 고려한 업데이트 관리
This post is licensed under CC BY 4.0 by the author.