IT이야기/SW 아키텍처

SW 개발 프로세스 종류

FelixShin 2016. 12. 27. 07:00
반응형


SW 개발 기본 프로세스 모델

: 개발 - 유지보수 모두 고려되어져야 함


SW 프로세스 종류

: 폭포수 모델, POC 모델, 반복형 모델, 나선형 모델, 컴포넌트 어셈블리 모델

1. Waterfall Model

1) 정의

: 정해진 순서에 따라 개발을 수행

2) 특징

- 하향식 접근 방법(높은 추상적 - 낮은 추상화)

- 이전 단계 산출물이 다음 단계의 기초가 됨

3) 개발 프로세스

: 요구사항 분석 -> 설계 -> 구현 -> 시험 -> 유지보수 단계

: 타당성 조사 -> 계획과 요구사항 -> 기본설계 -> 상세설계 -> 코딩 -> 통합 -> 실행 -> 사용과 유지보수

4) 장단점 

- 장점 : PJT 진행과정을 세분화하여 관리 용이 (단계별로 정형화 됨) / 사용사례 풍부 / 기술적 위험이 작고, 일정 예측 용이한 경우 적합

- 단점 : 실제 시스템 개발 패턴에 맞지 않음 / 이전단계 오류 수정에 어려움 / 문서작업이 많음


2. Prototyping Model

1) 정의

- 사전에 구현할 시스템의 모습을 그려서 사용자 Feed-back을 받고자 만든 SW 프로세스 모델

2) 특징

- 초기 기능을 시험 제작 후 사용자 의견을 받아 구축

- 개발 타당성 검토, 사용자 창조성 유발 때 필요

3) 종류

- 수평적 프로토 타이핑 : 모호한 고객의 요구사항을 명확히 함 / 개발하고자 하는 기능을 구상한 화면을 고객에 제시 / 고객 요구사항 검증되었는지 검토시 용이

- 수직적 : 새로운 기술 구조를 이용하여 정보시스템을 구현하는 경우(기술적으로 문제 없는지 검증) / 핵심기능을 선택하여 사용자 인터페이스부터 데이터베이스까지 검증이 필요한 기능을 실제적으로 구현

4) 개발프로세스

요구분석 -> 시제품 설계 -> (시제품 개발 -> 시제품 평가 -> 요구사항 확인/ 설계 정제) -> 전체규모 개발 -> 인수 및 설치

-> 해당 ( ) 단계가 반복 될 수 있음

5) 장단점

- 장점 : 요구사항 분석의 효율적 진행 가능(사용자 의견 빠르게 수용) / 시스템의 이해와 품질 향상 / 개발자와 사용자간 의사소통이 원할

- 단점 : 프로토타입 결과를 최종결과로 오해할 수 있음 / 사용자가 과다한 요구사항 발생 가능 / 중간단계 산출물 문서화 어려움


3. Iteration Development Model

1) 정의

: 사용자의 요구사항의 일부분 혹은 제품 일부분을 반복적으로 개발하여 최종 시스템으로 완성하는 모델

2) 특징

: Waterfall, Prototyping 모델 단점 보완

: 재사용, 객체지향와 공정단계가 유사

3) 종류

증분 개발 모델(Incremental Development Model), 진화적 개발 모델(Evolutional Development Model)이 있음

4) 장단점

- 장점 : 변경관리가 용이 / 대부분의 객체지향방법론이 이 프로세스를 적용

- 단점 : 관리 어려움


4. Spiral Model

1) 정의

: Boehm이 제안한 순차적 모델 제어와 프로토타이핑의 반복적 특성을 체계적으로 결합시킨 SW 프로세스 모델

2) 특징

: 대규모 시스템 및 위험 부담이 큰 시스템 개발에 적합

3) 개발 프로세스

: 계획 및 정의 - 위험분석 - 개발 - 고객의 평가가 나선형으로 구성

: 초기 요구분석 및 PJT 계획 수립 -> 초기 위험 분석 -> 초기 프로토 타이핑 -> 고객 평가 -> 고객의 평가에 따른 계획 -> 위험 분석 -> 다음단계 프로토 타이핑 -> 고객 평가 -> 고객의 평가에 따른 계획 -> 고객반응에 따른 위험 분석 : 과정이 반복 됨

4) 장단점

- 장점 : (반복적 관리를 통해) 위험관리 위주의 접근 방식 / SW 개발 및 개선을 동시에 관리

- 단점 : 내부프로젝트 수행을 전제 / 위험관리에 있어서 개발자 능력에 의존


5. Component & Assembly Model

1) 정의

: 패키지화한 SW 컴포넌트들을 응용해 조립해 나가는 모델

2) 특징

: 나선형 모델의 많은 특성들을 포함

: 객체지향 패러다임에서 데이터와 알고리즘을 캡슐화하는 클래스 생성이 강조된 모델

: SW재상을 가능하게 해 일정단축, 비용감소, 생산성 향상 등의 혜택이 있음

3) 개발 프로세스

: 나선형 모델과 비슷


6. SW 개발 방법론의 변천과정

1) IT 패러다임의 변화

: 메인프레임 호스트 환경 -> 클라이언트/서버 시대 -> 인터넷 시대 -> 제2웹서비스(웹 서비스) -> 복합분산 어플리케이션 시대

2) 접근 방법의 변화

재사용 > 컴포넌트 > 아키텍처 > 프레임워크 > EA(Enterprise Architecture)

'IT이야기 > SW 아키텍처' 카테고리의 다른 글

최신 SW 개발 방법론(MDA, Agile)  (1) 2016.12.28