본문 바로가기
정보처리기사/1과목

01. 소프트웨어 생명 주기

by 23HYUN 2024. 8. 23.
728x90
반응형

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

  • 소프트웨어 개발 방법론의 바탕이 되는 것=소프트웨어 수명 주기
  • 소프트웨어를 개발하기 위해 정의하고 운용, 유지보수등의 과정이 있음
  • 일반적으로 사용되는 소프트웨어 생명 주기 모형 : 폭포수 모형, 프로토타입 모형, 나선형 모형, 애자일 모형

폭포수 모형(Waterfall Model)

  • 소프트웨어 개발 이전 단계로 돌아갈 수 없음, 한 단계가 끝나야만 그 다음 단계로 진행
  • 두 개 이상의 과정이 병행되어 수행되지 않음
  • 가장 오래됨, 고전적 생명 주기 모형
  • 순서 : 타당성 검토 - 계획 - 요구 분석 - 설계 - 구현(코딩) - 시험(검사) - 유지보수

프로토타입 모형(Prototype Model, 원형 모형)

  • 실제 개발될 소프트웨어에 대한 견본품을 만들어 최종 결과물 예측
  • 새로운 요구사항이 도출될 때마다 이를 반영한 프로토타입을 새롭게 만들어야함
  • 단기간 제작을 목적으로 함, 비효율적 언어나 알고리즘이 사용될 수 있음

나선형 모형(Spiral Model, 점진적 모형)

  • 보헴이 제안, 폭포수 모형의 장점 + 프로토타입 모형의 장점 + 위험분석 기능
  • 나선을 따라 돌듯이 개발과정을 거쳐 점진적으로 완벽한 소프트웨어 개발, 점진적 모형이라고도 함
  • 소프트웨어 개발 시 발생할 수 있는 위험 관리 및 최소화
  • 핵심 기술에 문제가 있거나 사용자의 요구사항이 이해하기 어려운 경우에 적합함
  • 점진적으로 개발 과정이 반복되므로 누락 및 추가된 요구사항 첨가 가능
  • 정밀하고 유지보수 과정이 필요없음\
  • 순서 : [ 계획 수립 - 위험 분석 - 개발 및 검증 - 고객 평가 ] 이 과정을 계속 반복

애자일 모형(Agile Model)

  • 고객의 요구사항 변화에 유연하게 대응하게끔 일정한 주기 반복하며 개발
  • 고객과의 소통에 초점을 맞춤
  • 스프린트(Sprint) 또는 이터레이션(Iteration)이라고 불리는 짧은 개발 주기 반복, 반복 주기마다 고객의 평가 및 요구 적극 수용
  • 각 개발주기마다 고객의 요구사항에 우선순위 부여

 

  • 애자일 모형을 기반으로 하는 소프트웨어 개발 모형:
  • 스크럼(Scrum)
  • XP(eXtreme Programming)
  • 칸반(Kanban)
  • Lean
  • 크리스탈(Crystal)
  • ASD(Adaptive Software Development)
  • 기능 중심 개발(FDD; Feature Driven Development)
  • DSDM(Dynamic System Development Method)
  • DAD(Disciplined Agile Delivery)

 

애자일 선언

애자일 개발 4가지 핵심 가치

1. 프로세스와 도구보다는 개인과 상호작용에 더 가치를 둔다.

2. 방대한 문서보다는 실행되는 소프트웨어에 더 가치를 둔다.

3. 계약 협상보다는 고객과 협업에 더 가치를 둔다.

4. 계획을 따르기 보다는 변화에 반응하는 것에 더 가치를 둔다.

 

폭포수 모형과 애자일의 비교

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

 

 

728x90
반응형

'정보처리기사 > 1과목' 카테고리의 다른 글

03. XP(eXtreme Programming) 기법  (0) 2024.12.09
02. 스크럼(Scrum) 기법  (1) 2024.12.04