SW 개발방법론 :: 어떻게 개발할지를 결정하는 소프트웨어 개발방법론의 종류

이주희·2022년 9월 4일
2

CS

목록 보기
26/66

소프트웨어 개발방법론

Software Development Methodology

  • 개발방법론: 어떻게 개발할지를 의미한다! SDLC의 전 과정에 영향을 준다.
  • 소프트웨어 개발 전 과정에 지속적으로 적용할 수 있는 방법, 절차, 기법이다.
  • 소프트웨어를 하나의 생명체로 간주하고, 소프트웨어 개발의 시작부터 시스템을 사용하지 않는 과정까지의 전 과정을 형상화한 방법론이다.

1) 구조적 방법론

Structured Development

  • 전체 시스템을 기능에 따라 나누어 개발하고, 이를 통합하는 분할과 정복 접근 방식의 방법론
  • 프로세스 중심의 하향식 방법론
  • 구조적 프로그래밍 표현을 위해 나씨-슈나이더만 차트를 사용한다.

    나씨-슈나이더만 :: Nassi-Shneiderman

    • 논리의 기술에 중점을 둔 도형식 표현방법
    • 연속, 선택 및 다중 선택, 반복 등의 제어 논리 구조로 표현한다.
    • 조건이 복합되어 있는 곳의 처리를 시각적으로 명확히 식별하는 데 적합하다.
    • 구성👇🏻

2) 정보공학 방법론

Information Engineering Development

  • 정보시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론
    (정보공학 방법론은 정보(데이터)를 기반으로! 구조적 방법론은 기능을 기반으로!)
  • 개발주기를 이용해 대형 프로젝트를 수행하는 체계적인 방법론

3) 객체지향 방법론🌟

Object-Oriented Development

  • 객체라는 기본 단위로 시스템을 분석 및 설계하는 방법론
  • 복잡한 현실 세계를 사람이 이해하는 방식으로 시스템에 적용하는 방법론
  • 객체, 클래스, 메시지를 사용

4) 컴포넌트 기반 방법론

CBD; Component Based Development

  • 소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운 응용프로그램을 작성하는 방법론
  • 개발 기간 단축으로 인한 생산성 향상
  • 새로운 기능의 추가가 쉽다.(확장성)
  • 소프트웨어의 재사용이 가능하다.

5) 애자일 방법론🌟🌟🌟

Agile Development
Agile: 민첩하다.

  • 개발과 함께 즉시 피드백을 받아서 유동적으로 개발한다.
  • 절차보다는 사람이 중심이 되어, 변화에 유연하고 신속하게 적응하면서, 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발 방법론
  • 개발 기간이 짧고 신속하다.
  • 폭포수(Waterfall)에 대비되는 방법론으로 최근 각광받고 있다.

6) 제품 계열 방법론

Product Line Development

  • 특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론
  • 임베디드 소프트웨어를 작성하는 데 유용한 방법론이다.
    (임베디드 소프트웨어: 하드웨어에 내장시키는 소프트웨어)
  • 영역 공학과 응용 공학으로 구분한다.
    • 영역 공학(Domain Engineering): 영역 분석, 영역 설계, 핵심 자산을 구현하는 영역
    • 응용 공학(Application Engineering): 제품 요구분석, 제품 설계, 제품을 구현하는 영역
profile
🍓e-juhee.tistory.com 👈🏻 이사중

0개의 댓글