별의 공부 블로그 🧑🏻‍💻
728x90
728x170

01. 요구사항 확인

1. 소프트웨어 개발방법론

소프트웨어 생명주기 모델

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

  • 소프트웨어 생명주기는 시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차이다.
  • 시스템이 개발될 때 부터 운용과 유지보수를 거쳐 생애를 마칠 때까지 어떠한 순서를 밟는지에 대한 작업 프로세스를 모델화한 것이다.

(2) 소프트웨어 생명주기 모델 프로세스

① 요구사항 분석
  • 다양한 이해 관계자의 상충할 수 있는 요구사항을 고려하여 새로운 제품이나 변경된 제품에 부합하는 요구와 조건을 결정하는 단계
  • 개발할 소프트웨어의 기능과 제약 조건, 목표 등을 소프트웨어 사용자와 함께 명확히 정의하는 단계
    활동
  • 기능 요구사항
  • 비기능 요구사항
② 설계
  • 시스템 명세 단계에서 정한 기능을 실제 수행할 수 있도록 수행 방법을 논리적으로 결정하는 단계
활동
  • 시스템 구조 설계
  • 프로그램 설계
  • 사용자 인터페이스 설계
③ 구현
  • 설계 단계에서 논리적으로 결정한 문제 해결 방법을 특정 프로그래밍 언어를 사용하여 실제 프로그램을 작성하는 단계
  • 프로그래밍 언어 선택, 기법, 스타일, 순서 등을 결정하는 단계
활동
  • 인터페이스 개발
  • 자료구조 개발
  • 오류 처리
④ 테스트
  • 시스템이 정해진 요구를 만족하는지, 예상과 실제 결과가 어떤 차이를 보이는지 검사하고 평가하는 단계
활동
  • 단위 테스트
  • 통합 테스트
  • 시스템 테스트
  • 인수 테스트
⑤ 유지보수
  • 시스템이 인수되고 설치된 후 일어나는 모든 활동
활동
  • 예방, 완전, 교정, 적응, 유지보수

  1. ( ) 은/는 개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태의 문서이다.
  2. ( ) 은/는 소프트웨어 설계에서 기능 단위로 분해하고 추상화되어 재사용 및 공유 가능한 수준으로 만들어진 단위이다.

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

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

 

구분 폭포수 모델 프로토타이핑 모델 나선형 모델 반복적 모델
절차도 요구사항 분석

설계

구현

테스트
요구사항 분석

프로토타입 개발

프로토타입 평가

구현

테스트

※ 프로토타입 평가 ▶ 요구사항 분석
계획 및 정의

위험 분석

개발

고객 평가

※ 고객 평가 ▶ 계획 및 정의
      개발 대상
           ▼
 분석   분석   분석 
   ▼     ▼      ▼
 설계   설계   설계
   ▼     ▼      ▼
 구현   구현   구현
특징 순차적 접근 프로토타입 개발 위험 분석, 반복 개발 증분 방식으로 병행 개발
장점 이해가 용이
관리가 편리
요구 분석 용이
타당성 검증 가능
위험성 감소와 변경에 유연한 대처 병행 개발로 인한 일정 다축 가능
단점 요구사항 변경이 어려움 프로토타입 폐기에 따른 비용 증가 단계 반복에 따른 관리 어려움 병행 개발에 따른 관리 비용 증가

 

728x90
그리드형(광고전용)
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖