728x90

SDLC (Software Development Life Cycle)

요설구테유 - 요구사항 분석 / 설계 / 구현 / 테스트 / 유지보수(비용이 가장 많이 소유)

 

폭포수 모델 (Waterfall)

개념 : 소프트웨어 개발 시 각 단계를 확실히 마무리 지은 후에 다음 단계로 넘어가는 모델

특징

- 가장 오래된 모델

- 선형 순차적 모형으로 고전적 생명주기 모형이라고도 함

- 모형의 적용 경험과 성공 사례가 많음

- 단계별 정의와 산출물이 명확

- 요구사항 변경이 어려움

 

프로토타이핑 모델 (Prototyping)

개념 : 고객이 요구한 주요 기능을 프로토타입으로 구현하여, 고객의 피드백을 반영하여 소프트웨어를 만들어가는 모델

특징

- 프로토타입은 발주자나 개발자 모두에게 공동의 참조 모델을 제공

- 프로토타입은 구현 단계의 구현 골격

 

나선형 모델 (Spiral)

개념 : 시스템 개발 시 위험을 최소화하기 위해 점진적으로 완벽한 시스템으로 개발해 나가는 모델

절차

- 계위개고 - 계획 및 정의 / 위험 분석 / 개발 / 고객 평가

 

반복적 모델 (Iteration)

개념

- 구축 대상을 나누어 병렬적으로 개발 후 통합하거나, 반복적으로 개발하여 점증 완성시키는 SDLC 모델

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

 

폭프나반 - 폭포수 모델 / 프로토타이핑 모델 / 나선형 모델 / 반복적 모델

 

 

구조적 방법론

개념

- 전체 시스템을 기능에 따라 나누어 개발하고, 이를 통합하는 분할과 정복 접근 방식의 방법론

- 프로세스 중심의 하향식 방법론

- 구조적 프로그래밍 표현을 위해 나씨 - 슈나이더만 차트 사용

 

나씨-슈나이더만

개념

- 논리의 기술에 중점을 둔 도형식 표현 방법

- 연속, 선택 및 다중 선택, 반복 등의 제어 논리 구조로 표현

- 조건이 복합되어 있는 곳의 처리를 시각적으로 명확히 식별하는데 적합

 

 

정보공학 방법론

개념

- 정보 시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론

- 개발주기를 이용해 대형 프로젝트를 수행하는 체계적인 방법론

 

객체지향 방법론

개념

- '객체'라는 기본 단위로 시스템을 분석 및 설계하는 방법론

- 복잡한 현실 세계를 사람이 이해하는 방식으로 시스템에 적용하는 방법론

- 객체, 클래스, 메시지를 사용

 

컴포넌트 기반 방법론

개념

- 소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운 응용 프로그램을 작성하는 방법론

- 개발 기간 단축으로 인한 생산성 향상

- 새로운 기능 추가 쉬움(확장성)

- 소프트웨어 재사용이 가능

 

애자일 방법론

개념

- 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발방법론

- 애자일은 개발 과정의 어려움을 극복하기 위해 적극적으로 모색한 방법론

 

제품 계열 방법론

개념

- 특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론

- 임베디드 소프트웨어를 작성하는데 유용한 방법론

- 영역 공학(Domain Embedded)과 응용 공학(Application)으로 구분

 

 

 

728x90

+ Recent posts