Hello

[정처기 필기] 재공학, 리팩토링, CASE, 공통 모듈 명세 작성원칙

by 볼빵빵오춘기

소프트웨어 재공학

현재의 시스템을 변경하거나 재구조화(Restructuring)하는것

재공학의 과정

  • 분석(Analysis)
  • 기존 소프트웨어의 명세서를 확인하여 소프트웨어의 동작을 이해하고 재공학 대상을 선정하는 것이다.
  • 재구성(Restructuring)
  • 소프트웨어 구조를 향상시키기 위해 코드를 재구성하는 것이다.
  • 역공학(Reverse Engineering)
  • 원시 코드를 분석하여 소프트웨어 관계를 파악하고 기존 시스템의 설계 정보를 재발견하여 다시 제작하는 작업이다.
  • 이식(Migration)
  • 기존 소프트웨어 시스템을 새로운 기술 또는 하드웨어 환경에서 사용할 수 있도록 변환하는 작업이다.

재공학의 장점, 목표, 과정

장점

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

 

목표

  • SW의 유지보수성 향상이 최우선 목표이다.
  • 복잡한 시스템을 다루는 방법 구현, 다른 뷰의 생성, 잃어버린 정보의 복구 및 제거
  • 재사용을 수월하게 하며 소프트웨어의 수명을 연장하기 위해서이다.

과정

분석 → 구성 → 역공학 → 이식

리팩토링

SW를 보다 쉽게 이해할 수 있고, 적은 비용으로 수정할 수 있도록 겉으로 보이는 동작의 변화없이 내부 구조를 변경하는 것을 의미

CASE(Computer Aided Softwore Engineering)

⇒ SW 엔지니어링을 도와주는 자동화 도구

  • SW 개발 과정에서 사용되는 요구분석, 설계, 구현, 검사 및 디버깅 과정을 컴퓨터와 전용 SW도구를 사용하여 자동화 하는 작업이다.
  • 자료 흐름도 등의 다이어그램을 쉽게 작성하게 해주는 SW 도구이다.
  • 작업 과정 및 데이터 공유를 통해 작업자 간의 커뮤니케이션을 증대한다.

CASE가 제공하는 기능

  • 개발을 신속하게 할 수 있고, 오류 수정이 쉬워 SW 품질이 향상된다.
  • SW 생명주기의 전체 단계를 연결해 주고 자동화 시켜 주는 통합된 도구를 제공해주는 기술이다.
  • SW 시스템의 문서화 및 명세화를 위한 그래픽 기능을 제공한다.
  • SW 시스템의 문서화 및 명세화를 위한 그래픽 기능을 제공한다.
  • SW 개발 단계의 표준화를 기할 수 있으며 자료 흐름도 작성 기능을 제공한다.
  • 모델들 사이의 모순 검사 기능을 제공하며 다양한 SW 개발 모형을 지원한다.

CASE 사용의 장점

  • SW 개발 기간 단축 및 개발 비용을 절약하여 SW 생산성을 향상시킨다.
  • 자동화된 검사를 통해 SW 품질이 향상된다.
  • 프로그램의 유지보수가 간편해지고 SW 모듈의 재사용성이 향상된다.
  • SW 개발 주기의 표준안 확립, SW 개발 기법의 실용화, 문서화의 용이성 제공, 시스템 수정 및 유지보수 축소 등의 효과를 얻을 수 있다.

CASE 분류

  • 상위(Upper) CASE
  • 요구분석 및 설계 단계 지원(모델 간 모순 검사 기능, 모델 오류 검증 기능, 자료 흐름도 작성 기능)
  • 하위(Lower) CASE
  • 소스 코드 작성, 테스트, 문서화 과정 지원
  • 통합(Intergrate) CASE
  • 소프트웨어 개발 주기 전체 과정 지원

공통 모듈 명세 작성 원칙

  • 정확성 : 실제 시스템 구현 시 필요한지 여부를 알 수 있도록 정확하게 작성
  • 명확성 : 해당 기능에 대한 일관된 이해와 하나로 해석될 수 있도록 작성
  • 완정성 : 시스템 구현 시 요구사항에 관련된 필요한 모든 것을 기술
  • 일관성 : 공통 기능 사이에 충돌이 발생하지 않도록 작성
  • 추적성 : 공통 기능에 대한 요구사항 출처, 관련 시스템이 유기적 관계 구분이 가능하도록 작성

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기