자격증/정보처리기사

정보처리기사 1과목 소프트웨어 설계 (폭포수 모형과 애자일 모형 / 스크럼(Scrum) / XP(eXtreme Programming))

ByeongJun 2023. 5. 3. 10:40
반응형

소프트웨어 생명 주기, SDLC(Software Development Life Cycle)

폭포수 모형(Waterfall Model)

  • 가장 오래되고 가장 폭넓게 사용된 고전적 생명 주기 모형
  • 한 단계가 끝나야만 다음 단계로 넘어가는 선형 순차적 모형
  • 개발 중간에 요구사항 변경이 용이하지 않음
  • 타당성 검토 → 계획 → 요구분석 → 설계 → 구현(코딩) → 테스트(검사) → 유지보수

 

애자일 모형(Agile Model)

  • 변화에 유연하게 대응
  • 일정한 주기(Iteration, Sprint)를 반복하면서 개발과정 진행
  • 절차와 도구보다 고객(개인)과의 소통에 초점을 맞춤
    ex) XP(eXtreme Programming), 스크럼(Scrum), 칸반(Kanban), 크리스탈(Crystal), 린(LEAN)

 

 

 


스크럼(Scrum) 기법

  • 팀원 스스로가 스크럼 팀을 구성한다.
  • 개발 작업에 대한 모든 것을 스스로 해결해야 한다.
  • 스프린트*는 2~4주 정도의 기간으로 진행한다.
    (스프린트란 '전력질주' 뜻으로, 최소 일주일에서 최대 한달 동안 집중해 일하는 기간)
  • 스프린트 계획 회의  → 스프린트 → 일일 스크럼 → 스크럼 검토 회의 → 스프린트 회고
제품책임자
(PO; Product Owner)
- 요구사항이 담긴 백로그(Backlog)를 작성하는 주체
- 백로그에 대한 우선순위를 지정, 이해관계자들의 의견을 종합
스크럼 마스터
(SM; Scrum Master)
- 일일 스크럼 회의 주관
- 팀원들을 통제하는 것이 목표가 아님
개발팀
(DT; Development Team)
- 제품 책임자와 스크럼 마스터를 제외한 모든 팀원
- 최대 인원은 7~8명

 

 

 

XP(eXtreme Programming)

수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해

고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상시키는 방법

 

 

 

기본원리

  • Pair Programming(짝 프로그래밍)
    다른 사람과 함계 프로그래밍을 수행함으로써 개발에 대한 책임을 공동으로 나눠 갖는 환경
  • Test-Driven Development(테스트 주도 개발)
    개발자가 실제 코드를 작성하기 전에 테스트 케이스를 먼저 작성하므로 자신이 무엇을 해야할지 정확히 파악,
    테스트가 지속적으로 진행될 수 있도록 자동화된 테스팅 도구 사용
  • Whole Team(전체 팀)
    개발에 참여하는 모든 구성원들은 각자 자신의 역할이 있고 책임을 가질 것
  • Desgin Improvement(디자인 개선) / Refactoring(리팩터링)
    프로그램 기능의 변경없이 단순화, 유연성 강화 등을 통해 시스템을 재구성
  • Small Releases(소규모 릴리즈)
    릴리즈 기간을 짧게 반복함으로써 고객의 요구 변화에 신속히 대응
  • Continuous Integration(계속적인 통합)
    모듈 단위로 나눠서 개발된 코드들은 하나의 작업이 마무리될 때마다 지속적으로 통합
XP(eXtreme Programming)의 기본원리로 볼 수 없는 것은?
① Linear Sequential Method
② Pair Programming
③ Collective Ownership
④ Continuous Integration

선형 순차적 방법은 XP의 기본원리라기 보다 폭포수 모델(Waterfall model)의 기본원리로 볼 수 있다.
[정답률: 63%] 정보처리기사(2020년 이후) 필기 (2020년 4회 기출문제)

 

 

 

핵심가치 

의사소통 / 단순성 / 용기 / 피드백 / 존중

 

다른 글을 찾아보니 앞글자만 따서  용단의 피존 이라고 외우라고 했다.

반응형