자격증/정보처리기사 실기

정처기 실기 - 소프트웨어 개발 방법론 (소프트웨어 생명주기 모델)

비뀨_ 2023. 7. 4. 12:42

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

 

개념

  • 시스템의 요구 분석부터 유지보수까지 전 공정을 체계화한 절차
  • 시스템이 개발될 때부터 운영, 유지보수를 거쳐 생애를 마칠 때까지 어떤 순서를 밟는지에 대한 작업 프로세스를 모델화한 것

절차

  1. 요구사항 분석 : 기능, 비기능 요구사항
    1. 요구사항을 고려해 요구와 조건을 결정
    2. 소프트웨어의 기능, 제약 조건, 목표 등을 사용자와 같이 명확히 정의하는 단계
  2. 설계 : 시스템 구조 설계, 프로그램 설계, UI 설계
    1. 시스템 명세 단계에서 정의한 기능을 실제 수행할 수 있도록 수행 방법을 논리적으로 결정
  3. 구현 : 인터페이스 개발, 자료 구조 개발, 오류 처리
    1. 프로그래밍 언어 선택, 기법, 스타일, 순서 등을 결정하는 단계
  4. 테스트 : 단위, 통합, 시스템, 인수 테스트
  5. 유지보수 : 예방, 완전, 교정, 적응, 유지보수
    1. 인수되고 난 후의 모든 활동

 

생명주기 모델 종류

종류 설명
폭포수 모델
(워터폴 : Waterfall)
  • 각 단계를 확실히 마무리 한 후 다음 단계로 넘어감
  • 가장 오래 됨
  • 순차적 모형
  • 경험과 성공 사례가 많음
  • 단계별 정의와 산출물이 명확
  • 요구 사항 변경이 어려움

    절차
    타당성 검토 → 계획 → 요구사항 분석 → 설계 → 구현 → 테스트 → 유지보수
프로토타이핑 모델
(Prototyping)
  • 주요 기능을 프로토타입으로 구현 후 피드백을 통해 만들어 감
  • 발주자, 개발자 모두에게 참조 모델 제공
나선형 모델
(Spiral)
  • 시스템 개발 시 위험을 최소화하기 위해 계속적으로 완벽한 시스템으로 개발

    절차
    계획 및 정의 → 위험 분석 → 개발 → 고객 평가
반복적 모델
(Iteration)
  • 구축 대상을 나눠 병렬적으로 개발 후 통합 or 반복적으로 개발해 점증적으로 완성
  • 사용자 요구사항 일부분 or 제품 일부분을 반복적으로 개발해 최종 시스템으로 완성