Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

dongdorodongdong

소프트웨어 재사용/재공학/역공항 본문

Software Engineering

소프트웨어 재사용/재공학/역공항

d5ngs 2019. 4. 15. 18:48

재사용

  • 정의
    - 이미 개발된 S/W다른 S/W 개발이나 유지에 이용

  • 특징
    - 재사용 부품(모듈)의 크기가 작을수록 재사용률이 높음
    - 객체지향적일수록 재사용송을 크게 향상
    - 소스 코드가 가장 많이 재사용
    - 고급 프로그래머 배출 X

  • 이점
    - 개발 시간 단축
    - 비용 단축
    - 생산성 향상
    - 시스템 구축방법에 대한 지식, 문서 공유



재공학

  • 정의
    - 기존 시스템을 이용하여 더 나은 시스템을 구축하고 새로운 기능을 추가하여 성능을 향상

  • 특징
    - 기존의 S/W를 파기하지 않고 사용자의 요구사항, 환경으로 기존 S/W를 수정 보완
    - 위기를 해결하기 위해 유지보수의 생산성으로 해결
    - 유지보수성 용이성 향상이 주 목적
    - CASE의 정보 저장소와는 무관
    - 유지보수 측면에서 Preventive(예방)의 문제를 해결하기 위한 방법

  • 활동
    - 분석 (Analysis)
    "기존 S/W 명세서를 확인하고 S/W의 동작을 이해하고 재공학 대상을 선정"

    - 이식 (Migration)
    "기존 S/W 시스템을 새로운 기술, 환경에서 사용할 수 있도록 변환하는 작업"

    - 재구성 (Restructuring)
    "기존 S/W 기능을 변경하지 않고 S/W 형태에 맞게 수정하는 활동"
    "상대적으로 같은 추상적 수준에서 하나의 표현을 다른 표현 형태로 바꾸는 작업"

    - 역공학 (Reverse Engineering)
    "원시 코드를 분석하여 S/W 관계를 파악하고 기존 시스템의 설계 정보를 재발견하고 다시 작업"


  • 대상
    - 모든 S/W



역공학

  • 정의
    - S/W를 분석하여 분석 및 설계 정보를 재발견 하거나 다시 만들어 내는 작업
    - 현재 프로그램으로부터 데이터, 구조, 절차에 관한 정보를 추출하는 과정
    - 가장 간단하고 오래된 형태는 재문서화
    - 기존 코드를 복구하는 방법



* Component
- 소프트웨어 재사용과 관련하여 객체들의 모임, 대규모 재사용 단위로 정의되는 것
- 기반 개발 활동
"후보 컴포넌트가 요구되는 기능을 수행하는지를 조사하기 위해 컴포넌트 검증을 수행"
"컴포넌트 라이브러리가 컴포넌트 확장 언어를 제공하면 그레이-박스 랩핑을 적용"
"APP 구현을 위해 검증, 개작, 개발된 컴포넌트들을 조립하는 컴포넌트 합성을 수행"

'Software Engineering' 카테고리의 다른 글

OMA (Object Management Architecture) 모델  (0) 2019.06.27
CASE (Computer Aided Software Engineering)  (0) 2019.04.15
프로젝트 관리  (0) 2019.04.15
객체지향 개발 방법론  (0) 2019.04.15
소프트웨어 생명 주기  (0) 2019.04.13