본문 바로가기
정보처리기사

(정보처리기사)소프트웨어 생명 주기

by 흥부와놀자 2020. 7. 17.

- 소프트웨어 생명주기 유형 모형

 - 폭포수 모형 :  고전적인 개발 모형. 제품의 일부가 될 메뉴얼을 제작해야 하고 해당 단계가 완전히 끝나야 다음 단계로 넘어갈 수 있다.

 - 프로토 타입 모형 : 실제 개발될 시제품을 만들어 예측하는 모형으로써 개발이 완료 된후 오류가 발견되는 폭포수모형 의 단점을 보완하기 위한 모형이다.

 - 나선형 모형 : 보헴이 제안한 것으로 점진적으로 여러번의 싸이클을 돌며 개발하는 모형으로 위험을 최소화하는 모형이다.

 - 애자일 모형 : 고객의 요구사항에 유연하게 대응하기 위해 만들어진 모형으로 스프린트(이터레이션)이라는 개발주기를 반복하며 고객의 요구를 적극 수용한다.

구분 폭포수 모형 애자일
새로운 요구사항 반영 어려움 지속적 반영
고객과의 의사소통 적음 지속적임
테스트 마지막에 모든 기능테스트 반복되는 일정 주기끝날때마다 테스트
개발 중심 계획, 문서(메뉴얼) 고객

 - 스크럼 기법

   - 제품 책임자 : 제품 요구사항을 작성하는 주체이며 백로그를 작성하고 백로그에 대한 우선순위를 지정한다. 

   - 스크럼 마스터 : 일일 스크럼 회의를 주관하고 스크럼을 잘 수행 하도록 조언해주는 가이드 역활을함.

   - 개발팀 : 제품 책임자와 스크럼 마스터를 제외한 인원

  - 스크럼 개발 프로세스

    제품 백로그(요구사항 우선순위 지정) ->스프린트 계획 회의(이번 스프린트에서 수행할 작업을 대상으로 단기 일정 수립) -> 일일 스크럼 회의(모든 팀원이 매일 짧은 시간동안 진행상황 점검, 소멸차트 표시) 

-> 스프린트 검토회의(부분 또는 완성제품이 요구사항에 맞는지 테스팅 수행) -> 스프린트 회고(주기를 되돌아보며 규칙 준수와 개선점 확인)

 

- XP 기법 : 짧고 반복적인 개발주기, 고객의 적극적인 참여를 통해 빠르게 개발하는것을 목표로 함.

  - XP개발 프로세스

    - 사용자 스토리 : 고객의 요구사항을 간단한 시나리오로 표현한것

    - 릴리즈 계획 수립 : 몇개의 스토리가 적용되어 부분적으로 완료된 제품을 제공하는 릴리즈의 일정을 수립

    - 스파이크 : 요구사항의 신뢰도를 높이기 위해 별도로 만드는 간단한 프로그램, 처리할 문제 외의 다른 조건은 무시

    - 이터레이션 : 하나의 릴리즈를  세분화한 단위로 1~3주 정도의 단위로 진행됨.

    - 승인검사 : 하나의 이터레이션 안에서 계획된 릴리즈 단위의 부분완료 제품이 구현되면 수행하는 테스트

    - 소규모 릴리즈 : 릴리즈를 소규모로 함으로써 고객의 요구사항에 좀 더 유연하게 대응할 수 있음.

    - XP의 주요 실천방법 

      PairPrograming(짝프로그래밍) : 다른사람과 함께 프로그래밍을 수행함으로써 개발에 대한 책임을 나눠 가짐

      Test-Driven Development(테스트 주도 개발) : 개발 전 테스트 케이스를 작성하고 자동화된 테스트도구를 사용

      WholeTeam(전체 팀) : 개발에 참여하는 모든 구성원들은 각자 자신의 역활이 있고 그것에 대한 책임을 가짐

      Continuous Integration(지속적 통합) : 모듈단위로 나눠서 하나의 작업이 마무리 될때마다 지속적으로 통합

      Design Improvement(디자인 개선) 또는 리팩토링 : 프로그램 기능의 변경 없이, 단순화, 유연성 강화등을 통해 시스템 재구성

      SmallReleases(소규모 릴리즈) : 릴리즈 기간을 짧게 반복함으로써 고객의 요구변화에 신속히 대응 가능