1. 소프트웨어 3R의 개요
가. 소프트웨어 3R의 정의
-완성된 소프트웨어 프로그램을 기반으로 역공학, 재공학, 재사용을 통해 소프트웨어의 생산성을 극대화하는 기법
나. 소프트웨어 3R의 필요성
-소프트웨어 유지보수 효율성 향상 및 비용 절감
-소프트웨어 개발 생산성 향상
-소프트웨어 이해, 변경, 테스트 용이
-소프트웨어 변경 요구사항에 대한 신속한 대응
-소프트웨어 위기 극복
2. 소프트웨어 3R의 개념도 및 구성요소
가. 소프트웨어 3R의 개념도
나. 소프트웨어 3R의 구성요소
구분 | 특징 | 설명 |
재공학(Reengineering) | -기존 시스템의 품질 향상 -기존 시스템의 새로운 버전 생성 -소프트웨어 수명 연장 |
-기존 시스템을 새로운 형태로 변경, 개조하여 개발 프로세스를 적용하는 기법 |
역공학(Reverse Engineering) | -소프트웨어 효율성 증가 및 비용 절감 -문서 생성을 통한 시스템 정보 획득 |
-소프트웨어 구성요소와 그들 사이의 관계 구조에 대한 이해를 얻기 위해 기존 시스템을 분석하여 낮은 추상화 수준의 코드에서 높은 추상화 수준의 설계/요구명세를 추출하는 기법 |
재사용(Reuse) | -개발 시간 및 비용 단축 -프로젝트 실패 위험 감소 -소프트웨어 품질 향상 |
-이미 개발된 소프트웨어 전체 또는 일부분을 다시 사용하는 기법 -순공학, 재사용 |
-재구조(Restructuring), 시스템의 외부 행위를 보전하면서 동일 추상화 수준에서 기존 표현을 다른 표현으로 변형하는 기법
'나의 서재 > 22. 소프트웨어 공학 기본원리' 카테고리의 다른 글
18. 소프트웨어 척도 (0) | 2022.01.23 |
---|---|
17. CASE 도구 (0) | 2022.01.23 |
16. 유지보수 (0) | 2022.01.09 |
15.3 동적 테스트 (0) | 2022.01.03 |
15.2 정적 테스트 (0) | 2021.12.19 |
댓글