정보처리기사

[정처기] PART 5

aaa0843 2025. 5. 6. 17:55

SECTION 03. 소프트웨어 개발 방법론 정리


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

  • 소프트웨어 개발 생명주기에 공학 원리를 적용하여 개발을 체계화한 것을 소프트웨어 개발 방법론이라 한다.
  • 프로젝트 관리의 효율성을 높이고 품질 향상, 비용 절감 등을 달성하는 데 목적이 있다.
  • 개발 방법론은 프로젝트에 개인이 참여하든 팀이 참여하든 일정한 절차와 기법을 따르도록 하여 의사소통 문제를 줄이고, 품질과 생산성을 향상시킨다.

2. 소프트웨어 개발 방법론의 종류

1) 구조적 방법론 (Structured Development Methodology)

  • 사용자 요구사항을 분석 후 문서화하고, 이를 기반으로 논리적·물리적 설계를 수행하는 절차적 방법이다.
  • 주요 구성: 자료흐름도(DFD), 구조도(Structured Chart)
  • 대표 특징: 자료 중심 접근, 기능 중심 설계, 단계적 절차 구성
  • 장점: 명확한 분석과 설계 가능
  • 단점: 요구사항 변경에 유연하지 않음

2) 정보 공학 방법론 (Information Engineering Methodology)

  • 정보 시스템 개발의 전 과정을 계획적으로 수행하는 방법이다.
  • 계획 → 분석 → 설계 → 구축 → 운용 단계를 구조화
  • 도구: ISP, BAA, BSD, SC 등
  • 데이터 중심 접근법, ER 다이어그램을 사용함

3) 객체지향 방법론 (Object Oriented Engineering Methodology)

  • 객체(Object), 클래스(Class), 메시지(Message) 개념을 중심으로 개발
  • 캡슐화, 정보은닉, 상속, 다형성 등의 특성을 활용
  • 도구: 유스케이스 다이어그램, 시퀀스 다이어그램
  • 장점: 재사용성, 유지보수 용이
  • 단점: 초기 학습 곡선이 있음

4) CBD (Component Based Development) 방법론

  • 이미 개발된 컴포넌트(Component)를 조합하여 시스템을 구성하는 방식이다.
  • 개발 생산성과 유지보수성을 크게 향상시킬 수 있다.
  • CBD 개발 프로세스:
    • 사용자 요구 정의 → 아키텍처 설계 → 컴포넌트 구현 및 테스트 → 통합 및 시스템 테스트
  • 특징:
    • 재사용 중심, 유지보수 용이
    • 초기 컴포넌트 확보가 중요
  • OOD(객체지향 설계)와의 비교 표 제공 (CBD는 바이너리 레벨 재사용, OOD는 소스 레벨 재사용)

3. 소프트웨어 재사용 (Software Reuse)

1) 재사용의 개념

  • 기존 소프트웨어 요소(모듈, 클래스, 지식 등)를 새로운 개발에 활용하는 방식이다.
  • 개발 비용과 시간을 절감하고 생산성을 높인다.
  • 상용 부품(Component)을 구매하여 적용하기도 한다.

2) 재사용 접근 방법

① 합성 중심(Composition-Based)

  • 기존 부품을 조합해 새 시스템을 구성
  • 인터페이스 명세와 표준화가 중요

② 생성 중심(Generation-Based)

  • 패턴/프레임워크 기반으로 새로운 소프트웨어를 생성
  • 템플릿 구조 활용

4. 소프트웨어 재사용 시 유의사항

  1. 적합성 평가: 기능, 성능, 보안, 품질 등을 고려하여 재사용 여부를 판단해야 한다.
  2. 문서화: 제약조건, 인터페이스 등을 명확히 기술해 향후 사용을 용이하게 해야 한다.
  3. 수정과 변경: 필요 시 수정이 가능한지 여부를 확인해야 하며, 전체 시스템에 미치는 영향도 고려해야 한다.
  4. 저작권: 저작권 침해 여부를 반드시 확인해야 하며, 라이선스를 준수해야 한다.
  5. 품질 관리: 사전 테스트 및 검증을 통해 문제를 미리 파악하고 수정해야 한다.
  6. 문제 추적성: 재사용 시 발생 가능한 문제를 추적 가능하도록 관리해야 한다.

추가 개념 정리

  • DFD: Data Flow Diagram, 자료 흐름을 시각화하여 시스템을 분석
  • Structured Chart: 시스템 구조 표현 도구
  • ISP / BAA / BSD / SC: 정보공학 방법론 내 분석 및 설계 단계의 도구
  • CBD의 핵심 요소: 재사용, 컴포넌트, 통합

'정보처리기사' 카테고리의 다른 글

[정처기] Part 04 - Chapter 04  (1) 2025.06.05
[정처기] Part 02 - Chapter 05  (0) 2025.05.20
[정처기] Part 04 - Chapter 05  (0) 2025.04.08
[정처기] Part 03-Chapter 02  (0) 2025.04.08
[정처기] Part 02-Chapter 01  (0) 2025.04.08