본문 바로가기
정보처리기사/1. 현행 시스템 분석

소프트웨어 공학

by 후닝훈 2023. 6. 28.
반응형

소프트웨어 공학

 

1-1. 소프트웨어 재사용 (Software Reusability)

  • 이미 개발되어 그 기능 및 성능, 품질을 인정받은 소프트웨어의 전체 또는 일부분을 다시 사용하여 새롭게 개발하는 기법.
  • 클래스, 객체 등의 소프트웨어 요소가 소프트웨어 재사용성을 크게 향상시켰다.

 

1-2. 재사용의 장점

  • 개발 시간 및 비용감소
  • 품질향상
  • 생산성, 신뢰성 향상
  • 구축 방법에 대한 지식 공유
  • 프로젝트 실패 위험 감소

 

2-1. 소프트웨어 재공학 (Software Reengineering)

  • 소프트웨어 위기를 개발의 생산성이 아닌 유지보수의 생산성(용이성)으로 해결하려는 방법
  • 기존 시스템을 이용하여 보다 나은 시스템을 구축하고 새로운 기능을 추가하여 소프트웨어 성능을 향상시키는 기법
  • 현재의 시스템을 재구조화(Restructuring) 하는 것이다.
  • 재구조화란 사용자의 요구사항이나 기술적 설계의 변경 없이 프로그램을 개선하는 것이다.

 

2-2. 재공학의 과정

 

분석(Analysis) > 구성(Restructuring) > 역공학(Reverse Engineering) > 이식(Migration)

 

2-3. 재공학의 목표

  • 소프트웨어의 유지보수성 향상이 최우선 목표이다.
  • 다른 뷰를 생성을 위해서이다.
  • 잃어버린 정보의 복구 및 제거를 하기 위해서이다.
  • 재사용이 용이하게 하기 위해서이다.
  • 소프트웨어의 수명을 연장하기 위해서이다.

 

3-1. 역공학 (Reverse Engineering)

  • 소프트웨어를 분석하여 소프트웨어 개발 과정과 데이터 처리 과정을 설명하는 분석 및 설계 정보를 재발견 하거나 다시 만들어내는 작업
  • 현재 프로그램으로부터 데이터, 아키텍처, 절차에 관한 분석 및 설계 정보를 추출하는 작업

 

4-1. HIPO

  • -가시적 도표, 총체적 도표, 세부적 도표가 존재
  • 기능과 자료의 의존 관계를 동시에 표현 가능
  • 보기 쉽고 이해하기 쉬움
  • 문서화의 도구 및 설계 도구 방법을 제공하는 기법
  • 구조도, 개요 도표 집합, 상세 도표 집합으로 구성

 

 

 

 

 

반응형

'정보처리기사 > 1. 현행 시스템 분석' 카테고리의 다른 글

개발 기술 환경 분석  (1) 2023.07.05
현행 시스템 파악  (0) 2023.06.30
소프트웨어 개발 방법론  (0) 2023.06.30

댓글