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