반응형
소프트웨어 공학
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 |
댓글