소프트웨어 생명 주기

2023. 2. 13. 15:58정처기 필기/1과목 - 소프트웨어 설계

1. 폭포수 모형

- 가장 오래되고 가장 폭넓게 사용된 생명 주기 모형

- 한 단계가 끝이나면 다음 단계로 넘어가는 선형 순차적 모형

- 단계별 정의 및 산출물이 명확

- 개발 중간에 요구사항의 변경이 용이하지 않다.

- 타당성검토 -> 계획 -> 요구분석 -> 설계 -> 구현 -> 테스트 -> 유지보수

 

2. 프로토타입 모형

- 시세품을 만들어 최종 결과물을 예측하는 모형

- 인터페이스 중점

- 개발 중간에 요구사항 변경에 용이

 

3. 나선형 모형

- 폭포수 + 프로토타입 + 위험 분석 기능

- 점진적 개발 과정 반복

- 요구사항 추가 가능

- 유지보수 과정 X

- 계획 및 정의 -> 위험 분석 - > 공학적 개발 -> 고객 평가

 

4. 애자일 모형

- 애자일은 민첩함, 기민함 의미

- 변화에 유연하게 대응

- 일정한 주기(Iteration, Sprint)를 반복하면서 개발과정 진행

- 고객과의 소통에 초점을 맞춤 (XP, 스크럼, 칸반, 크리스탈, 린 기법)

- 기능중심 개발

 

* 스크럼 기법

팀원 스스로가 스크럼 팀 구성

개발 작업에 관한 모든 것 스스로 해결

스프린트는 2~4주 정도의 기간으로 진행

 

- 제품 책임자 (PO : Product Owner)

요구사항이 담긴 백로그를 작성하는 주체

백로그에 대한 우선순위를 지정, 이해관계자들의 의견을 종합

 

- 스크럼 마스터(SM : Scrum Master)

일일 스크럼 회의 주관

팀원들을 통제하는 것이 목표가 아님

 

- 개발팀(DT : Development Team)

제품 책임자와 스크럼 마스터를 제외한 모든 팀원

최대 인원 7~8명

 

- 스크럼 개발 프로세스

스프린트 계획 회의 -> 스프린트 -> 일일 스크럼 -> 스크럼 검토 회의 -> 스프린트 회고

 

* XP 기법

 

- XP의 핵심 가치

  1. 피드백
  2. 존중
  3. 의사소통
  4. 용기
  5. 단순성

- XP의 기본원리

  1. Whole Team
  2. Small Release
  3. Test-Driven Development
  4. Continous Intergration
  5. Collective Ownership
  6. Pair Programming
  7. Design Improovement or Refactoring