2023. 7. 2. 07:54ㆍ정보처리기사 - 필기
* 소프트웨어 재공학(Software Reengineering)의 개념 및 목표
- 소프트웨어 위기를 개발의 생산성이 아닌 유지보수의 생산성으로 해결하려는 방법을 의미한다.
- 재구조화는 재공학의 한 유형으로 사용자의 요구사항이나 기술적 설계의 변경 없이 프로그램을 개선하는 것이다.
- 소프트웨어 재공학 관점에서 가장 연관 깊은 유지보수 유형은 예방 유지보수이다.
- 재사용을 수월하게 하며 소프트웨어 수명을 연장하기 위해서이다.
* 재공학의 장점
- 개발 시간과 비용을 감소시킨다.
- 프로젝트 실패의 위험을 감소시킨다.
- 소프트웨어의 품질 및 생산성을 향상시킨다.
- 수축 방법에 대한 개발 지식을 공유할 수 있다.
* 재공학의 과정
- 분석: 기존 소프트웨어의 명세서를 확인하여 소프트웨어의 동작을 이해하고 재공학 대상을 선정하는 것이다.
- 재구성: 소프트웨어 구조를 향상시키기 위해 코드를 재구성하는 것이다.
- 역공학: 원시 코드를 분석하여 소프트웨어 관계를 파악하고 기존 시스템의 설계 정보를 재발견하여 다시 제작하는 작업이다.
- 이식: 기존 소프트웨어 시스템을 새로운 기술 또는 하드웨어 환경에서 사용할 수 있도록 변환하는 작업니다.
* 재사용의 2가지 기본 기술
- 생산 중심: 재상용 단위를 찾아 발전시키는 기술이다. 전자칩 같은 유용한 소프트웨어 부품을 찾아내는 기술이다.
- 합성 중심: 모듈을 생산성 있게 조립하는 기술이다. 전자칩 같은 소프트웨어 부품, 즉 블록을 만들어서 끼워 맞추는 방법으로 소프트웨어를 완성시키는 기술이다.
* 리팩토링
- 소프트웨어를 보다 쉽게 이해할 수 있고, 적은 비용으로 수정할 수 있도록 겉으로 보이는 동작의 변화 없이 내부 구조를 변경하는 것을 의미한다.
* CASE
- 소프트웨어 개발 과정에서 사용되는 요구 분석, 설꼐, 구현, 검사 및 디버깅 과정을 컴퓨터와 전용 소프트웨어 도구를 사용하여 자동화하는작업니다.
- 자료 흐름도 증의 다이어그램을 쉽게 작성하게 해주는 소프트웨어 도구이다.
- 작업 과정 및 데이터 공유를 통해 작업자 간의 커뮤니케이션을 증대한다.
* CASE가 제공하는 기능
- 개발을 신속하게 할 수 있거. 오류 수정이 쉬워 소프트웨어 품질이 향상 된다.
- 소프트웨어 생명주기의 전체 단계를 연결해 주고 자동화시켜 주는 총합된 도구를 제공해주는 기술이다.
-소프트웨어 시스템의 문서화 및 명세화를 위한 그래픽 기능을 제공한다.
* CASE 사용의 장점
- 소프트웨어 개발 기간 단축 및 개발 비용을 정역하여 소프트웨어 생산성을 향상시킨다.
- 자동화된 검사를 통해 소프트웨어 품질이 향상된다.
- 프로그램의 유지보수가 간편해지고 소프트웨어 모듈의 재사용성이 향상된다.
- 소프트웨어 개발 주기의 포준안 확립, 소프트웨어 개발 기법의 실용화, 문서화의 용이성 제공, 시스템 수정 및 유지보수 축소 등의 효과를 얻을 수 있다.
* CASE의 분류
- 상위 CASE: 요구 분석 및 설계 단계 지원(모델 간 모순 검사 기능, 오류 검증 기능, 자료 흐름도 작성 기능)
- 하위 CASE: 소스 코드 작성, 테스트, 문서화 과정 지원
- 통합 CASE: 소프트웨어 개발 주기 전체 과정 지원
* 요구상의 분석을 위한 CASE
- 요구사항을 자동으로 분석하고, 요구사항 뷴속 묭세서를 기술하도록 개발된 도구를 의마한다.
- 표준화와 보고를 통한 문서화 품질 개선, 변경이 주는 영향 추적의 요이성, 명세에 대한 유지보구 비용 축소, 교차 참조도와 보고서를 통한 결함, 생략, 불일치, 등의 발견 용이성 등의 특징을 갖는다.
- DB를 모두가 이용 가능하다는 점에서 분석자들 간의 적절한 조정 기능을 제공한다.
* 요구사항 분석을 위한 CASE 도구
- SADT: SoftTech 사에서개발한 것으로 시스템 정의. 소프웨어 요구사항 분석, 시스템/소프트웨어 설계를 위해 널리 이용되어 온 구조적 분석 및 설계 도구이다. 구조적 요구 분석을 하가 위해 블록 다이어그램을 채택한 자동화 도구이다.
- SREM: TRW 사가 우주국방시스템 그룹에 의해 실시간 처리 소프트웨어 기스템에서 요구사항을 명확히 기술하도록 할 목적으로 개발한 것으로 RSL, REVS를 사용하는 자동화 도구이다.
- RSL: 요소, 속성, 관계, 구조들을 기술하는 요구사항 기술 언어이다.
- REVS: RSL로 기술 된 요구사항들을 자동으로 분석하여 요구사항 분석 명세서를 출력하는 요구사항 분석기이다.
- PSL/PSA: 미시간 대학에서 개발한 것으로 PSL과 PSA를 사용하는 자동화 도구이다.
'정보처리기사 - 필기' 카테고리의 다른 글
| (정보처리기사-필기) - 1장 소프트웨어 공학의 개념 (0) | 2023.06.28 |
|---|