2. 소프트웨어 공학/소프트웨어개발방법론

소프트웨어 재사용

SWExpert 2022. 7. 19. 13:37

키워드: 재사용, 역공학, 코드 재사용, 소프트웨어 표준화, 소프트웨어 유지보수

1. SW 재사용

가) SW 재사용 개요

기존의 SW 또는 SW 지식을 활용, 새로운 SW를 구축하는 일

설계, 요구명세, 검사, 아키텍트 포함

 

(1) SW 재사용 배경

-. SW 위기로 인한 품질 및 생산성 저하

-. SW 개발의 자동화 기술 발달로 CASE 도구 사용 확대

-. SW 개발 표준화 준수 및 품질확보 노력

 

(2) SW 재사용의 정의

-. 사용 SW 개발관련 지식(기능, 모듈, 구성 등)을 표준화하여 개발 생산성을 높이기 위하여 반복적으로 사용하기에 적합하록 구성하는 방버

-. 기존 개발 기능, 성능, 품질을 인정 받았던 SW 전체 또는 일부분을 다시 사용하여 신규 개발되는 SW 품질과 생산성, 신뢰성을 높이고 개발 일정 및 비용을 감소시켜주는 대응방안

-. 기존 개발 모듈이나 프로그램, 산출물 등을 동일한 응용분야, 서로 다른 응용업무, 혹은 서로 다른 기업간에 다시 사용하거나 일부 수정후 재 사용할 수 있는 개념

 

(3) SW 재사용의 목적

목표 내용
신뢰성 기능, 안정, 속도 등의 사전 성능 검증됨
확장성  검증된 기능 기반으로 upgrade 용이
생산성 비용, 시간 위험 등 전체적 개발 프로세스 향상

나) SW 재사용의 대상

(1) 일반적인 지식

-. 환정정보: 교육 및 활용을 통해 얻어진 지식

-. 외부지식: 개발 및 특정 분야의 참여를 통해 쌓은 지식

(2) 설계 정보

-. 기본 설계

-. 상세 설계

(3) 데이터 정보

-. 시스템 데이터

-. 시험 사례

(4)  프로그램 코드

-. 모듈

-. 프로그램

(5) 기타

-. 투자 대 효과 분석 정보

-. 사용자 지침서

-. 타당성 조사 방법 및 결과

-. 프로토타입

-. 인력

 

다) 소프트웨어 재사용의 원칙

(1) 범용성: 특정 응용분야만이 아닌 일반적으로 활용될 수 있는 정도이어야 한다.

(2) 모듈성: 정보은닉과 추상화의 원칙으로 최소한의 결합도 및 최대한의 응집력 필요

(3) 하드웨어 독립성: 가능한 실행 하드웨어 기종과 무관

(4) 소프트웨어 독립성: OS 또는 DBMS와는 무관하게 운영

(5) 자기 문서화: 모듈의 정확한 기능, 용법, 인터페이스 기술

(6) 일반성: 많은 개발자들에게 공통적으로 필요하고 사용가능함

(7) 신뢰성: 품질을 믿고 사용할 수 있음

 

라) 실무에서 재사용 구현의 문제점

(1) 공통 소프트웨어 모듈 발견 어려움

(2) 소프트웨어 표준화 부족

(3) 소프트웨어 모듈 내부 인터페이스 요구사항 이해 곤란

(4) 변경으로 인한 부차적 영향으로 이해 곤란

(5) 재사용을 위한 소프트웨어 부품은 개발비가 추가 가능성

(6) 재사용 효익은 오랜후 나타남

(7) 현존 SW 부품에서 재사용 부품 추출 비현실적

 

마) SW 재사용의 장애요인 및 대책

(1) SW재사용의 장애요인

-. 관리자와 개발 담당자들의 거부 반응

-. 재사용 기술적용의 동기 결여

-. 소프트웨어 표준화의 부재

-. 사회적 또는 법적 장애

(2) 소프트웨어 재사용이 장애요인 제거 대책

-. 기술적 방안

  . 새로운 설계 및 개발 방법론의 활용

  . 재사용 소프트웨어 라이브러리의 구축

  . 자동화 도구의 활용

-. 관리, 제도적 방안

  . 보상제도의 확립

  . 능동적인 경영전략

  . 조직의 변화

 

바) 재사용 효과

-. TCO절감

-. 공유 및 활용

-. 정보 공유 및 산출물 공유

-. 교육적 효과

 

 

'2. 소프트웨어 공학 > 소프트웨어개발방법론' 카테고리의 다른 글

사업타당성 평가  (0) 2022.10.13
요구사항관리  (1) 2022.10.13
Agile방법론  (0) 2022.10.13
정보공학방법론  (0) 2022.10.13
SCRUM  (0) 2022.07.23