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

1.요구사항 확인_01 소프트웨어 생명 주기

Ben의 프로그램 2023. 6. 29. 15:54
728x90

소프트웨어 생명 주기?

  • 소프트웨어는 요구사항을 분석해서 설계한 이후 개발 및 유지보수 과정을 겪게 되는데, 이러한 과정을 단계별로 나눈 것을 소프트웨어 생명 주기라고 합니다. 

소프트웨어 생명 주기 모형

  • 이러한 소프트웨어 생명 주기에 속하는 모형으로는 크게 4가지가 있습니다. 
  • 폭포수 모형
  • 프로토타입 모형
  • 나선형 모형
  • 애자일 모형

폭포수 모형 (Waterfall Model)

  • 폭포수 모형?

    폭포수 모형은 폭포수가 단계적으로 떨어져 내려오는 것처럼 한 단계가 완전히 끝나야만 다음 단계로 넘어가는 개발 방법론이다. 
  • 폭포수 모형의 특징 

    - 가장 오래된 소프트웨어 생명 주기 모형이다. 
    - 오래된 만큼 고전적 생명 주기 모형이라고도 함. 
    - 오래된 만큼 많은 사례가 있어서 참고할 자료가 많음.

나선형 모형 (Spiral Model)

  • 나선형 모형?

    나선형 모형은 여러 번 개발 과정을 거치면서 점진적으로 소프트웨어를 개발하는 개발 방법론이다.

    계획 - 위험 분석 - 개발 - 고객 평가 

    4 가지 개발 활동이 반복되면서 프로그램을 완성시킨다.  
  • 나선형 모형의 특징

    - 보헴 Boehm 이 제안
    - 폭포수 모형과는 다르게 누락되거나 추가된 요구사항을 반영할 수 있다. 
    - 유지보수 과정이 필요 없는 특징이 있다. 

애자일 모형 (Agile Model)

  • 애자일 모형? 

    Agile 은 민첩하다는 의미가 있다. 고객의 요구사항은 여러 이유로 변화하는데, 이런 요청에 민첩하게 대응할 수 있도록 일정한 주기를 반복하면서 개발하는 개발 방법론이다. 
  • 애자일 모형의 특징

    - 문서, 규칙 등을 중요시하기 보다는 고객의 요구사항 변화에 초점을 맞추어 빠르고 낭비 없게 만든다. 
    - 프로세스와 도구보다는 고객과 상호작용을 중시함.
    - 문서보다는 실행되는 소프트웨어에 가치를 둠. 
    - 계약 협상보다는 고객과 협업에 가치를 둠.
    - 계획을 따르기 보다는 변화에 민첩한 대응을 중요시 함. 
  • 애자일 모형의 종류 

    - 스크럽 Scrum
    - XP eXtreme Programming
    - 칸반 Kanban
    - Lean
    - 기능 중심 개발 FDD : Feature Driven Development

소프트웨어 공학

  • 소프트웨어 공학?

    소프트웨어 공학 SE : Software Engineering 은 소프트웨어 개발이 복잡해짐에 따라 개발 비용이 올라가면서 발생한 소프트웨어 위기를 극복하기 위해서 연구된 학문이다. 
  • 소프트웨어 공학의 특징

    - 여러 방법론, 도구, 관리 기법들을 통하여 소프트웨어의 품질과 생산성 향상을 목적으로 한다. 
    - 신기술 적용을 중요시 한다.
    - 개발된 소프트웨어의 유지보수를 중요시 한다. 
    - 소프트웨어 개발의 진행 상황에 대한 기록을 중요시 한다.