정보처리기사 - 실기

20. 소프트웨어 공학의 발전적 추세

도준영 2024. 10. 1. 17:26

  소프트웨어 재사용

 

소프트웨어 재사용은 이미 개발되어 인정받은 소프트웨어를 다른 소프트웨어 개발이나 유지에 사용하는 것

 

소프트웨어 개발의 품질과 생산성을 높이기 위한 방법

 

기존에 개발된 소프트웨어와 경험, 지식등을 새로운 소프트웨어에 적용함

 

소프트웨어 재사용 방법 

 

합성 중심 : 전자 칩과 같은 소프트웨어 부품, 즉 블록을 만들어서 끼워 맞춰서 소프트웨어를 완성시키는방법, 블록 구성 방법이라고도 함

 

생성 중심 : 추상화 형태로 써진 명세를 구체화하여 프로그램을 만드는 방법, 패턴 구성 방법이라고도 함.

 

 

  소프트웨어 재공학(software Reengineering)

 

소프트웨어 재공학은 새로운 요구에 맞도록 기존 시스템을 이용하여 보다 나은 시스템을 구축ㅎ파고 새로운 기능을 추가하여 소프트웨어 성능을 향상시키는 것

 

유지보수 비용이 소프트웨어 개발 비용의 대부분을 차지하기 떄문에 유지보수의 생산성을 향상시켜 소프트웨어 위기를 해결하는 방법.

 

기존 소프트웨어의 데이터와 기능들의 개조 및 개선을 통해 유지보수성과 품질을 향상시킴

 

소프트웨어 재공학의 이점

 

- 품질 향상

- 생산성 증가

- 수명 연장

- 오류 감소

 

 

    CASE(Computer Aided Software Engeneering)

 

CASE는 소프트웨어 개발 과정에서 사용되는 요구분석 설계 구현 검사 및 디버깅 과정 전체 또는 일부를 컴퓨터와 전용 소프트웨어 도구를 사용하여 자동화하는 것이다.

 

객체지향 시스템, 구조적 시스템 등 다양한 시스템에서 활용되는 자동화 도구(CASE Tool) 임

 

소프트웨어 생명 주기의 전체 단계를 연결하고 자동화하는 통합된 도구를 제공한다.

 

소프트웨어 개발 도구와 방법론이 결합되었으며, 정형화된 구조 및 방법을 소프트웨 개발에 적용하여 생산성 향상을 구현한다.

 

 

  CASE의 주요 기능

 

- 소프트웨어 생명 주기 전 단계의 연결

- 다양한 소프트웨어 개발 모형 지원

- 그래픽 지원