[정보처리기사][요구사항 확인] - 소프트웨어 생명 주기

컴퓨터/정보처리기사

728x90
반응형

 

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

소프트웨어 생명주기(SLC) 또는 소프트웨어 개발 생명주기(SDLC)라고 부릅니다.

소프트웨어 개발을 위한 일련의 과정을 각각의 단계별로 나누어 표현합니다.

 

  • 정식 명칭 및 약어
    • 소프트웨어 생명 주기(SLC) - Software Life Cycle
    • 소프트웨어 개발 생명주기(SDLC) - Software Development Life Cycle
  • 정의
    • 소프트웨어 개발을 위한 일련의 과정을 단계별로 나누어 표현
  • 대표적인 생명주기 모델(모형)
    • 폭포수 모델 - Waterfall Model
    • 프로토타입 모델 - Prototype Model
    • 나선형 모델 - Spiral Model
    • 애자일 모형 - Agile Model

1. 폭포수 모델 - Waterfall Model

  • 정의
    • 각 단계를 확실하게 매듭짓고 다음 단계를 진행하는 모델
    • 이전 단계로 돌아갈 수 없다.
    • 각 단계가 완전히 끝나야만, 다음 단계를 진행할 수 있다.
  • 특징
    • 가장 오래되고 전통적인 소프트웨 생명 주기 모델이다.
    • 따라서 고전적 생명 주기 모델이라고도 불린다.
    • 그래서 모델의 적용 사례 및 성공 사례가 많다.

2.프로토타입 모델 - Prototype Model

  • 정의
    • 견본품을 만들어 최종 결과물을 예측하는 모델
    • 견본품을 통해 사용자의 요구사항을 쉽게 파악하고 결과물을 예측할 수 있다.
  • 특징
    • 원형 모델이라고도 불린다.
    • 견본품이 존재하는 모델이다.

3. 나선형 모델 - Spiral Model

  • 정의
    • 여러 번의 소프트웨어 개발 과정을 반복해 점진적으로 최종 소프트웨어를 개발하는 모델
    • 계획 수립 → 위험 분석 → 개발 및 검증 → 고객 평가의 과정을 반복
  • 특징
    • 점진적 모델이라고도 불린다.
    • 보헴(Boehml)이 제안한 모델
    • 폭포수 모델과 프로토타입 모델의 장점 + 위험 분석 기능이 추가된 모델
    • 누락 또는 추가되는 요구사항을 반영할 수 있다.

4. 애자일 모델 - Agile Model

  • 정의
    • 고객의 요구사항 변화에 유연하게 대응할 수 있는 모델들을 일컫는다.
  • 특징
    • 폭포수 모델과 대조적인 모델이다.
    • 특정한 형태가 아닌, 고객과의 소통 및 대응에 초점을 맞춘 모델들의 통칭이다.
    • 절차보다는 개인과의 상호작용에 가치를 둔다.
    • 문서보다는 실행되는 결과물에 가치를 둔다.
    • 계약보다는 고객과의 소통에 가치를 둔다.
    • 계획보다는 변화에 대응하는 것에 가치를 둔다.
  • 대표적인 애자일 모델 종류
    • 스크럼 - Scrum
    • 익스트림 프로그래밍(XP) - eXtreme Programming)
    • 칸반 - Kanban
    • Lean
    • 기능 중심 개발(FDD) - Feature Driven Development

소프트웨어 공학?

소프트웨어공학(SE : Software Engineering)은 위와 같은 소프트웨어를 체계적으로 관리하여 품질과 생산성 향상을 목적으로 둔 여러 가지 방법론, 도구, 관리 기법등을 연구하는 학문이다.

 

소프트웨어 공학의 기본 3대 원칙

  1. 현대적인 프로그래밍 기술을 계속적으로 적용해야 된다.
  2. 개발된 소프트웨어의 품질이 유지되도록 지속적으로 검증해야 한다.
  3. 소프트웨어 개발 관련 사항 및 결과에 대한 명확한 기록을 유지해야 된다.

결과적으로 소프트웨어를 체계적으로 관리하여 품질과 생산성 향상을 위한 원칙.

728x90
반응형

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :