Akashic Records

소프트웨어 재사용 정책 본문

오래된글/소프트웨어공학

소프트웨어 재사용 정책

Andrew's Akashic Records 2018. 4. 19. 10:58
728x90

PLT 19 소프트웨어 재사용 정책

1. 재사용의 원칙

  • 범용성

재사용 가능한 소프트웨어의 가장 일반적으로 활용될 수 있는 정도


  • 모듈성

정보은닉, 추상화와 같은 기본여건을 갖추고 최소한의 결합도 및 최대한의 응집력을 가져야 하며 프로그램의 복잡도가 어느 정도 제한되어야 함.


  • 하드웨어 및 소프트웨어의 독립성, 자기 문서화(Self Documentation) 등..


2. 재사용의 평가 기준

구분

내용

부품검색

(완전도)

설계사항의 구현 여부

개발된 소프트웨어 제품에 대한 매뉴얼 구비도

부품이해

(명확성)

부품명의 정확성, 인터페이스의 명확성, 매개변수의 명확성

제품의 표준 규격 고려 여부

수정 재사용

(가독성, 단순도, 모듈화)

가독성 : 코드 대, 소문자 구분, 들여쓰기 준수

단순도 : 복잡도, 중첩도, 라인수, 비실행코드, 사용변수 등

모듈화정도 : 결합도, 응집도, 단일 기능 수행여부, 수정구분 여부

조립 재사용

(시험적합성)

부품시험제작 작성여부, 시험사례 내용포함 여부, 시험 준비성

부품에 대한 안전성 확인 문서 포함여부


3. 재사용 접근 방법

  • 부품조립 방안

부품전략, 빌딩블록 재사용 전략, 결합방법이라 불리는 이 방법은 소프트웨어 부품을 라이브러리에 모아 놓고 새로운 소프트웨어 개발에 필요한 부품을 찾아내어 결합시켜 가는 방식(CBD)


  • 모형화 방안

패턴적용 하는 방안(디자인 패턴, 코드 자동 생성기, 변환기)


  • 기존 소프트웨어 수정방안

전체 소프트웨어 구조를 정립한 수 새로운 모듈을 개발하고 기존의 모듈을 수정, 삭제하면서 단계적 개선 방식

4. 소프트웨어 재사용 프로세스

  • 컴포넌트 기반 개발 프로세스

- 컴포넌트 기반 개발방법에서 소프트웨어 생산성 향상은 UML, EJB 등 객체지향 기술에 크게 의존하고 있으며 서비스 차원의 소프트웨어 재사용도 가능해짐

- 검증된 컴포넌트를 선택하고 인터페이스 중심의 프로세스를 통해 컴포넌트를 결합 시키는 인터페이스 표준화 노력이 주요 역할로 수행하게 됨

- 개발 프로세스는 일종의 합성장치로서 개별 컴포넌트 기능성에 크게 의존적이며 SI밴더 제공 컴포넌트 제품 도입시 개선 Road Map, 안정화 수준을 고려해야 함

  • Cost 기반 개발 프로세스

COST(Commercial Off-the-Shelf) 기반 개발 방법은 기성품이 완성되어 검증된 Product를 이용하므로 프로그래밍과 테스트 노력의 절감을 기대할 수 있음


  • 아키텍처 기반 개발 프로세스

대규모 소프트웨어 시스템 개발에서 핵심적인 단계로서 반복과 점진적 개발 프로세스를 통해 프러덕트 라인 소프트웨어 개발에 기초를 제공



728x90

'오래된글 > 소프트웨어공학' 카테고리의 다른 글

소프트웨어 테스트 방법  (0) 2018.04.19
소프트웨어 테스트 단계  (0) 2018.04.19
소프트웨어 설계  (0) 2018.04.19
소프트웨어 비용산정 - 2  (0) 2018.04.19
소프트웨어 비용산정 - 1  (0) 2018.04.19
Comments