기록공간

5-1-1장. 소프트웨어 개발 방법론 - A 본문

자격증공부/정보처리기사_필기

5-1-1장. 소프트웨어 개발 방법론 - A

입코딩 2020. 9. 20. 16:52
반응형

소프트웨어 개발 방법론은 소프트웨어 개발, 유지보수 등에 필요한 여러 가지 일들의 수행 방법과 이러한 일들을 효율적으로 수행하려는 과정에서 필요한 각종 기법 및 도구를 체계적으로 정리하여 표준화한 것이다.

 

  • 소프트웨어 개발 방법론의 목적은 소프트웨어의 생산성과 품질 향상이다.

  • 소프트웨어 개발 방법론의 종류에는 구조적 방법론, 정보공학 방법론, 객체지향 방법론, 컴포넌트 기반 방법론, 애자일 방법론, 제품 계열 방법론 등이 있다.

구조적 방법론

구조적 방법론은 정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 처리(process) 중심의 방법론이다.

 

  • 쉬운 이해 및 검증이 가능한 프로그램 코드를 생성하는 것이 목적

  • 복잡한 문제를 다루기 위해 분할과 정복(Divide and Conquer) 원리를 적용

  • 구조적 방법론의 절차

정보공학 방법론

정보공학 방법론은 정보 시스템의 개발을 위해 계획, 분석, 설계, 구축에 정형화된 기법들을 상호 연관성 있게 통합 및 적용하는 자료(Data) 중심의 방법론이다.

 

  • 정보 시스템 개발 주기를 이용하여 대규모 정보 시스템을 구축하는데 적합

  • 정보공학 방법론의 절차

객체지향 방법론

객체지향 방법론은 현실 세계의 개체(Entity)를 기계의 부품처럼 하나의 객체(Object)로 만들어, 소프트웨어를 개발할 때 기계의 부품을 조립하듯 객체들을 조립해서 필요한 소프트웨어를 구현하는 방법론이다.

 

  • 객체지향 방법론은 구조적 기법의 문제점으로 인한 소프트웨어 위기의 해결책으로 채택

  • 객체지향 방법론의 구성 요소에는 객체, 클래스, 메시지 등이 있음

  • 객체지향 방법론의 기본 원칙에는 캡슐화, 정보은닉, 추상화, 상속성, 다형성 등이 있음

  • 객체지향 방법론의 절차

컴포넌트 기반(CBD, Component Based Design) 방법론

컴포넌트 기반 방법론은 기존의 시스템이나 소프트웨어를 구성하는 컴포넌트를 조합하여 하나의 새로운 애플리케이션을 만드는 방법론이다.

 

  • 컴포넌트 재사용이 가능하여 시간과 노력을 절감 가능

  • 유지 보수 비용을 최소화하고 생산성 및 품질 향상

  • 컴포넌트 기반 방법론의 절차

애자일(Agile) 방법론

애자일은 민첩한, 기민한 이라는 의미로, 애자일 방법론은 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발 과정을 진행하는 방법론이다.

 

  • 소규모 프로젝트, 고도로 숙달된 개발자, 급변하는 요구사항에 적합

  • 애자일 방법론의 대표적인 종류에는 익스트림 프로그래밍, 스크럼, 칸반, 크리스털 등이 있음

  • 애자일 방법론의 절차

제품 계열 방법론

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

 

  • 임베디드 소프트웨어를 만드는데 적합

  • 제품 계열 방법론은 영역공학과 응용공학으로 구분

    • 영역 공학 : 영역 분석, 영역 설계, 핵심 자산을 구현하는 영역

    • 응용 공학 : 제품 요구 분석, 제품 설계, 제품을 구현하는 영역

  • 영역공학과 응용공학의 연계를 위해 제품의 요구사항, 아키텍처, 조립 생산이 필요

 

반응형
Comments