2014년 1월 21일 화요일

[소프트웨어공학] 2. 소프트웨어 개발 프로세스 모형

- 게시된 자료를 가지고 개인적인 학습은 가능 하나 무단 배포 및 게시를 금지 합니다.


2. 소프트웨어 개발 프로세스 모형


2.1  소프트웨어 생명주기(Software Development Lifecycle)


1) 개념


l  개발 단계에서 변화해 가는 소프트웨어 형상의 가시화.

l  개발의 시작과 끝을 중요시함.

l  사용자를 위한 문제 해결 시스템에 조점 맞춤.
 
☞ - 소프트웨어 생명주기는 시작과 끝을 중요시 여기며 사용자 요구 중심이며
     개발 위주가 아니다.
   - 소프트웨어가 개발되기 위하여 타당성 조사부터 개발, 유지보수,폐기까지의 전과정을
     하나의 주기로 보고 효과적으로 수행하기 위하여 방법론을 모델화 한것. 
  

2) 역할


l  프로젝트 비용 산정과 개발 계획을 수립할 있는 기본 골격

l  개발자와 관리자 사이에 공동의식이 싸이며 높아짐

l  개발 진행 상황을 명확히 파악 가능

l  문서화가 충실한 프로젝트 관리 가능

3) 시스템 개발 주기 (SDLC)  SW를 유기체의 Life Cycle에 빗대어 표현


l  타당성 조사와 시스템 분석: 타당성 조사 시스템의 정의

l  프로젝트 계획 수립: 문제 정의 시스템 개발 비용과 기간 예측

l  소프트웨어 요구사항 분석

l  설계

l  구현

l  검사(테스트)

l  유지보수
 
l  폐기

2.2  폭포수 모델 (Waterfall Model = 선형순차모형, 전형적인 생명주기 모형)


1) 개요


l  구현은 시스템을 충분히 이해한 후에 작업해야

l  적용계가 많고, 가장 오래되었으며 널리 사용되는 방법

l  개발 기간이 짧고 요구사항 변경이 없을 적당

l  명세화, 개발, 검증, 진화를 기본적인 활동으로 취하며, 요구사항 명세화, 소프트웨어 설계, 구현,
   시험 등과 같은 개별적인 프로세스 단계로 프로세스 모델을 나타낸다.
 
☞ 폭포수 모델은 현재에도 가장 많이 사용되는 방법중에 하나이다.
   병행이나 반복을 원칙적으로는 허용하지 않으나 현실에서는 그렇지 않다.


2) 절차: 타당성 검토 à 계획 à 요구 분석 à 설계 à 구현 à 시험 à 운용 유지보수

 


3) 문제점


l  단계적 으로 정의한 체계이며 순차적 접근방법으로 사용
   ☞ 높은 추상하 단계에서 낮은 추사아 단계 로 진행
 
l  시초에 사용자들의 모든 요구사항들을 명확히 설명하는 것이 어려움

l  설계와 코딩 테스트 지연 우려
  ☞ 이전 단계의 산출물이 나와야 다음단계로 진행이 가능하므로
     (이전 단계의 산출물이 다음단계의 기초) 지연이 발생 할 수 있음 PMO 의 일정 및
     진척 관리가 상당히 중요함.
 
l  개발 초기에 작동 가능한 프로그램 제공하지 못함. 
   ☞ 그러므로 고객의 인내심이 필요하다.
      작동가능한 프로그램을 제공 하지 못하므로 산물에 의하여 개발 진척이 파악 가능하여
      개발이 실적적으로 진행이 안되고 있으나 문서에 의한 판단으로 오판단 할수 있음

l  가동 프로그램이 고려될 때까지 검출되지 않는 실수
              ☞ 위의 설명한 이유등으로 분석, 설계, 개발 오류 등이 프로젝트 종료 시점에서
             발견될 확율이 높아 손실을 초래 할수도 있다.

4) 장점


l  응용 분야가 단순하거나 내용을 알고 있는 경우 적합

l  비전문가가 사용할 시스템 개발에 적합

l  작업이 표준화되어 있음
  ☞ 진행과정이 세분화 되어 있이 관리가 용이하다

l  단계적 작업을 공학적 점검 가능

l  단계별 정의, 산출물이 명확
    ☞ 단계별 산출물이 명확하므로 가시성이 좋다


- 감리사, 기술사, PMP, 소프트웨어공학,

댓글 없음:

댓글 쓰기