[정보처리기사][요구사항 확인] 소프트웨어 개발 방법론

컴퓨터/정보처리기사

728x90
반응형

소프트웨어 개발 방법론

  • 정의
    • 소프트웨어 개발 & 유지보수등의 절차를 체계적으로 정리하여 표준화 한 것
  • 목적
    • 생산성과 품질 향상 ( 효율 증대 )
  • 종류
    • 구조적 방법론
    • 정보공학 방법론
    • 객체지향 방법론
    • 컴포넌트 기반(CBD) 방법론
    • 제품 계열 방법론
    • 애자일 방법론

1. 구조적 방법론

사용자의 요구사항을 파악하여 문서화 처리 중심의 방법론

  • 특징
    • 1960년대까지 가장 많이 적용했던 개발 방법론
    • 쉬운 이해 및 검증이 가능한 프로그램 코드를 생성하는 것이 목적
    • 복잡한 문제를 다루기 위해 분할과 정복 원리를 적용한다.
  • 절차
    1. 타당성 검토 
    2. 계획 
    3. 요구사항 
    4. 설계 
    5. 구현
    6. 시험
    7. 운영 및 유지보수

2. 정보공항 방법론

계획, 분석, 설계, 구축에 정형화된 기법들을 통합 적용하는 방법론

  • 특징
    • 자료(Data)중심의 방법론
    • 대규모 정보 시스템을 구축하는데 적합하다
  • 절차
    1. 수립
    2. 분석
    3. 설계
    4. 구축

3. 객체지향 방법론

현실 세계의 개체를 객체로 만들어 기계부품을 조립하듯 객체들을 조립해서 소프트웨어를 구현하는 방법론

  • 특징
    • 구조적 기법의 문제점으로 인한 소프트웨어 위기의 해결책으로 채택 되었다.
    • 구성요소는 객체, 클레스, 메세지 등
    • 기본 원칙은 캡슐화, 정보은닉, 추상화, 상속성, 다형성 등
  • 절차
    1. 요구 분석
    2. 설계
    3. 구현
    4. 테스트 및 검증
    5. 인도

4. 컴포넌트 기반 방법론

기존의 시스템이나 소프트웨어를 구성하는 컴포넌트를 조합하여 새로운 소프트웨어를 만드는 방법론

  • 특징
    • 컴포넌트 재사용이 가능하여 시간과 노력이 절감된다
    • 새로운 기능을 추가하는 것이 용의하다
    • 유지 보수 비용을 최소화하고 생산성 및 품질 향상 가능
  • 절차
    1. 개발 준비
    2. 분석
    3. 설계
    4. 구현
    5. 테스트
    6. 전개
    7. 인도

5. 제품 계열 방법론

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

  • 특징
    • 임베디드 소프트웨어 개발에 적합
  • 구분
    • 영역공학 : 영역분석, 영역설계, 핵심 자산을 구현
    • 응용공학 : 제품 요구 분석, 제품 설계, 제품을 구현

6. 애자일 방법론

고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발하는 모형

  • 특징
    • 특정 개발방법론적 절차가 있지 않다.
    • 빠르고 낭비 업게 만들기 위해 고객과의 소통에 초점을 맞춘 방법론
  • 종류
    • 스크럼
    • XP
    • 칸반
    • Lean
    • 기능중심개발

 

728x90
반응형

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :