Study/정보처리기사

[요구사항 확인] 소프트웨어 생명주기 모델

SigmoidFunction 2022. 3. 23. 17:40
728x90

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

- 시스템의 요구분석부터 유지보수까지 모든 공정을 체계화한 절차

- 시스템 개발될 때부터 운용과 유지보수를 거쳐서 생애를 마칠 때까지 어떤 순서를 진행하는 지에 대한 작업 프로세스를 모델화한 것

 

[SDLC 프로세스]

요구사항 분석 → 설계 → 구현 → 테스트 → 유지보수

 

(1) 요구사항 분석

   - 다양한 이해관계자의 요구사항을 고려하여 제품에 부합되는 요구와 조건을 결정하는 단계

   - 개발할 소프트웨어의 기능과 제약 조건 그리고 목표 등을 소프트웨어 사용자와 함께 명확히 정의하는 단계

   - 기능 요구사항, 비기능 요구사항이 있음

 

(2) 설계

   - 시스템 명세 단계에서 정의한 기능을 수행할 방법을 논리적으로 결정

   - 시스템 구조 설계, 프로그램 설계, 사용자 인터페이스 설계 존재

 

(3) 구현

   - 설계 단계에서 논리적으로 결정한 내용을 프로그램언어로 작성하는 단계

   - 언어, 순서, 기법, 스타일 등을 정한다.

   - 인터페이스, 자료 구조, 오류 처리 등을 구현함.

 

(4) 테스트

   - 시스템이 요구사항을 만족하는지, 예상과 실제 결과의 차이를 검사하고 평가

   - 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트

 

(5) 유지보수

   - 시스템이 가동된 이후의 모든 활동

   - 예방, 교정 등의 유지보수 활동

 

 

소프트웨어 생명주기 모델 종류

 

1. 폭포수 모델

   - 각 단계를 확실히 마무리하고 다음으로 넘어감

   - 가장 오래된 모델

   - 선형 순차적 묘형으로 고전적 생명주기 모형이라고도 한다.

   - 단계별 정의와 산출물이 명확

   - 관리가 편함

   - 요구사항 변경 힘듬

   - 타당성 검토 → 계획 → 요구사항 분석 → 설계 → 구현 → 테스트 → 유지보수

 

2. 프로토타이핑 모델

   - 고객이 요구한 주요 기능을 모아서 프로토타입으로 구현하고 이를 바탕으로 고객의 피드백을 반영하여 만드는 모델

   - 요구분석 용이 및 타당성 검증 가능

   - 프로토타입 폐기에 따른 비용 증가

 

3. 나선형 모델

   - 시스템 개발 시 위험을 최소화하기 위해 점진적으로 완벽한 시스템으로 개발해 나가는 모델

   - 계획 및 정의 → 위험 분석 → 개발 → 고객 평가

   - 위험성 감소와 변경에 유연한 대처 가능

   - 단계 반복에 따른 관리 어려움

 

5. 반복적 모델

   - 구축 대상을 병렬적으로 개발하고 통합하거나 반복적으로 개발하여 완성시키는 모델

   - 요구사항 일부분을 반복 개발하여 최종적으로 완성하는 모델

   - 개발일정 단축 가능

   - 관리 비용 증가

728x90