본문 바로가기
자격증/정보처리기사

[정보처리기사] : 소프트웨어 생명주기 모델

by 오주현 2021. 12. 1.
반응형
SDLC | Software Development Life Cycle, 소프트웨어 생명주기 모델 개념
  • 시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차입니다.
  • 시스템이 개발될 때부터 운용과 유지보수를 거쳐 생애를 마칠 때까지 어떠한 순서를 밟는지에 대한 작업 프로세스를 모델화한 것 입니다.
소프트웨어 생명주기 모델 프로세스
  1. 요구사항 분석
    • 요구사항을 고려하여 제품에 부합하는 요구와 조건을 결정하는 단계입니다.
    • 기능, 제약조건, 목표 등을 소프트웨어 사용자와 함께 명확히 정의하는 단계입니다.
    • 기능 요구사항, 비기능 요구사항
  2. 설계
    • 시스템 명세 단계에서 정의한 기능을 실제 수행할 수 있도록 수행 방법을 논리적으로 결정하는 단계입니다.
    • 시스템 구조 설계, 프로그램 설계, 사용자 인터페이스 설계
  3. 구현
    • 특정 프로그래밍 언어를 사용하여 실제 프로그램을 작성하는 단계입니다.
    • 프로그래밍 언어 선택, 기법, 스타일, 순서 등을 결정하는 단계입니다.
    • 인터페이스 개발, 자료 구조 개발, 오류 처리
  4. 테스트
    • 시스템이 정해진 요구에 만족하는지, 예상과 실제 결과가 어떤 차이를 보이는지 검사하고 평가하는 단계입니다.
    • 단위, 통합, 시스템, 인수 테스트
  5. 유지보수
    • 시스템이 인수되고 설치된 후 일어나는 모든 활동입니다.
    • 예방, 완전, 교정, 적응, 유지보수

 

소프트웨어 생명주기 모델 종류
  • 폭포수 모델 | Waterfall Model
    • 소프트웨어 개발 시 각 단계를 확실히 마무리 지은 후 다음 단계로 넘어가는 모델입니다.
    • 가장 오래된 모델입니다.
    • 선형 순차적 모형, 고전적 생명주기 모형입니다.
    • 경험과 성공 사례가 많이 있습니다.
    • 단계별 정의와 산출물이 명확합니다.
    • 요구사항 변경이 어렵습니다.
      1. 타당성 검토
      2. 계획
      3. 요구사항 분석
      4. 설계
      5. 구현
      6. 테스트
      7. 유지보수
  • 프로토타이핑 모델 | Prototyping Model
    • 고객이 요구한 주요 기능을 프로토타입으로 구현하여, 고객의 피드백을 반영하여 소프트웨어를 만들어가는 모델입니다.
    • 프로토타입은 발주자나 개발자 모두에게 공동 참조 모델을 제공합니다.
    • 프로토타입은 구현 단계의 구현 골격입니다.
  • 나선형 모델 | Spiral Model
    • 시스템 개발 시 위험을 최소화하기 위해 점진적으로 완벽한 시스템으로 개발해 나가는 모델입니다.
      1. 계획 및 정의
      2. 위험 분석
      3. 개발
      4. 고객 평가
  • 반복적 모델 | Iteration Model
    • 구축대상을 나누어 병렬적으로 개발 후 통합하거나, 반복적으로 개발하여 점증 완성시키는 SDLC 모델입니다.
    • 사용자의 요구사항 일부분 혹은 제품 일부분을 반복적으로 개발하여 최종 시스템으로 완성하는 모델입니다.
반응형

댓글