정보처리기사 - 실기

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

도준영 2024. 10. 1. 17:20

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

 

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

 

주요 소프트웨어 개발 방법론 

- 구조적 방법론

- 정보공학 방법론

- 객체지향 방법론

- 컴포넌트 기반 방법론(CBD)

- 제품 계열 방법론

- 애자일 방법론

 

 구조적 방법론

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

 

1960년대까지 가장 많이 사용된 방법론

 

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

 

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

 

 

구조적 방법론의 개발 절차

 

타당성 검토    -->     계획 단계     -->     요구사항 단계     -->     설계 단계     -->     구현 단계     -->     시험 단계

    -->     운용 / 유지보수 단계

 

 

 

 정보공학 방법론

 

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

 

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

 

정보공학 방법론의 개발 절차

 

정보 전략 계획 수립단계     -->     업무 영역 분석 단계     -->     업무 시스템 설계 단계     -->     업무 시스템 구축 단계

 

 

 

 객체지향 방법론

 

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

 

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

 

객체지향 방법론의 구성 요소 : 객체 클래스 메세지 등

 

객체지향 방법론의 기본 원칙 : 캡슐화, 정보은닉, 추상화, 상속성, 다형성 등

 

객체지향 방법론의 개발 절차

 

요구 분석 단계     -->     설계 단계     -->     구현 단계     -->      테스트 및 검증 단계     -->     인도 단계

 

 

 컴포넌트 기반 방법론

 

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

 

컴포넌트의 재사용(Reusability) 이 가능하여 시간과 노력을 절감할 수 있음

 

새로운 기능을 추가하는 것이 간단하여 확장성이 보장됨

 

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

 

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

 

 

 

 

    제품 계열 방법론

 

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

 

임베디드 소프트웨어를 만드는데 적합하다.

 

제품 개열 방법론은 영역공학과 응용공학으로 구분된다.

 

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

 

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

 

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