소프트웨어 개발 방법론

bi_sz·2022년 4월 6일
0

요구사항 확인 

목록 보기
16/22

1. 소프트웨어 개발 방법론

  • 소프트웨어 개발, 유지보수 등에 필요한 수행 방법과 각종 기법 및 도구를 체계적으로 정리하여 표준화한 것

  • 주요 소프트웨어 개발 방법론
    -구조적 방법론
    -정보공학 방법론
    -객체지향 방법론
    -컴포넌트 기반(CBD) 방법론
    -제품 계열 방법론
    -애자일 방법론


2. 구조적 방법론

  • 정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 처리(Process)중심의 방법론
  • 1960년대까지 가장 많이 적용되었던 소프트웨어 개발 방법론
  • 쉬운 이해 및 검증이 가능한 프로그램 코드를 생성하는 것이 목적
  • 복잡한 문제ㅐ를 다루기 위해 분할과 정복(Divide and Conquer) 원리를 적용
  • 구조적 방법론의 개발 절차
    타당성 검토 단계->계획 단계->요구사항 단계->설계 단계->구현 단계->시험 단계->운용/유지보수 단계

3. 정보공학 방법론

  • 정보 시스템의 개발을 위해 계획, 분석, 설계, 구축에 정형화된 기법들을 상호 연관성 있게 통합 및 적용하는 자료(Data) 중심의 방법론
  • 정보 시스템 개발 주기를 이용하여 대규모 정보 시스템을 구축하는데 적합
  • 정보공학 방법론의 개발 절차
    정보 전략 계획 수립 단계->업무 영역 분석 단계->업무 시스템 설계 단계->업무 시스템 구축 단계

4. 객체지향 방법론

  • 현실 세계의 개체(Enity)를 기계의 부품처럼 하나의 객체(Object)로 만들어, 소프트웨어를 개발할 때 기계의 부품을 조립하듯이 객체들을 조립해서 필요한 소프트웨어를 구현하는 방법론
  • 구조적 기법의 문제점으로 인한 소프트웨어 위기의 해결책으로 채택
  • 객체지향 방법론의 구성 요소 : 객체, 클래스, 메시지 등
  • 객체지향 방법론의 기본 원칙 : 캡슐화, 정보 은닉, 추상화, 상속성, 다형성 등
  • 객체지향 방법론의 개발 절차
    요구 분석 단계->설계 단계->구현 단계->테스트 및 검증 단계->인도 단계

5. 컴포넌트 기반 (CBD;Component Based Design) 방법론

  • 컴포넌트를 조합하여 하나의 새로운 애플리케이션을 만드는 방법론
  • 컴포넌트의 재사용(Reusability)이 가능하여 시간과 노력 절감
  • 새로운 기능을 추가하는 것이 간당하여 확장성 보장
  • 유지보수 비용을 최소화하고 생산성 및 품질 향상
  • 컴포넌트 기반 방법론의 개발 절차
    개발 준비 단계->분석 단계->설계 단계->구현 단계->테스트 단계->전개 단계->인도 단계

컴포넌트

문서, 소스코드, 파일, 라이브러리등과 같은 모듈화된 자원으로, 재사용 가능

--

6. 제품 계열 방법론

  • 특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론
  • 임베디드 소프트웨어를 만드는데 적합
  • 영역공학 : 영역 분석, 영역 설계, 핵심 자산을 구현하는 영역
  • 응용공학 : 제품 요구 분석, 제품 설계, 제품을 구현하는 영역
  • 영역공학과 응용공학의 연계를 위해 제품의 요구사항, 아키텍처, 조립 생산이 필요

7. 애자일 개발 방법론

  • 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발하는 방법론

  • 스크럼, XP, 칸반, Lean, 기능 중심 개발,

  • 애자일의 개발 4가지 핵심가치
    -프로세스와 도구보다는 개인과 상호작용에 더 가치를 둔다
    -방대한 문서보다는 실행되는 SW에 더 가치를 둔다
    -계약 협상보다는 고객과 협엽에 더 가치를 둔다
    -계획을 따르기 보다는 변화에 반응하는 것에 더 가치를 둔다

0개의 댓글