소프트웨어 재사용(Software Reuse)
이미 개발되어 인정 받은 소프트웨어 자산(코드, 모듈, 설계, 문서 등)을
새로운 소프트웨어 개발이나 유지보수에 재활용하는 것
- '잘 만든 코드를 다시 쓰자'는 개념으로,
품질과 생산성을 동시에 향상시키는 방법
- 목적
- 개발 시간과 비용 절감
- 소프트웨어 품질 향상
- 신뢰성 향상 및 오류 감소
- 개발 표준화와 일관성 확보
재사용 방법
- 합성 중심(Composition-Based)
- 이미 만들어진 소프트웨어 블록(컴포넌트)을 조합하여 시스템을 구축
- 블록 구성 방식
- 생성 중심(Generation-Based)
- 추상화된 명세(패턴, 템플릿)를 구체화하여 프로그램을 자동 생성
- 패턴 구성 방식
소프트웨어 재공학(Software Reengineering)
기존 소프트웨어를 새로운 요구사항에 맞게 개조·개선하여
성능, 품질, 유지보수성을 향상시키는 활동
- '기존 시스템을 더 좋게 고쳐 쓰는 것'
- 완전히 새로 만드는 것이 아니라, 기존 시스템을 분석·개선하여 수명을 연장
- 목적
- 유지보수 비용 절감
- 품질 향상 및 오류 감소
- 생상성 향상 및 시스템 수명 연장
- 소프트웨어 위기(비효율적 유지보수) 해결
- 주요 활동
- 역공학 → 기존 시스템을 분석해 구조와 기능을 파악
- 재구성 → 코드나 데이터 구조를 개선
- 재설계 → 개선된 구조를 기반으로 재개발
CASE(Computer Aided Software Engineering)
소프트웨어 개발의 요구 분석 → 설계 → 구현 → 테스트 → 유지보수 등
생명주기 전 과정을 컴퓨터와 전용 도구로 자동화하는 기술
- 소프트웨어를 개발하는 소프트웨어
- 목적
- 소프트웨어 개발의 자동화
- 새상성 및 품질 향상
- 개발 표준화 및 일관성 확보
- 특징
- 소프트웨어 생명주기 전체 단계 지원
- 그래픽 기반 설계 도구 제공
- 다양한 개발 모형 지원
- 개발 도구 + 방법론의 통합
정리
- 소프트웨어 재사용은 기존 자산을 활용하여 품질과 생산성을 높이는 것
- 재사용 방법에는 합성 중심과 생성 중심이 있음
- 소프트웨어 재공학은 기존 시스템의 성능 및 유지보수성을 개선하는 과정
- CASE는 소프트웨어 생명주기 전체를 자동화하는 도구로 생산성 향상에 기여
- CASE의 주요 기능은 분석-설계-코드 생성-검증-그래픽 지원
'정보처리기사' 카테고리의 다른 글
| 정보처리기사 실기 - 수학적 산정 기법 : COCOMO, Putnam, FP (0) | 2025.10.30 |
|---|---|
| 정보처리기사 실기 - 비용 산정 기법(LOC, 델파이, 인월수) (0) | 2025.10.30 |
| 정보처리기사 실기 - 소프트웨어 개발 방법론 (0) | 2025.10.29 |
| 정보처리기사 실기 - 패키지(Package) 다이어그램 (0) | 2025.10.29 |
| 정보처리기사 실기 - 상태 다이어그램(State) (0) | 2025.10.29 |