소프트웨어공학

유지보수 (Part2)

chlqhrud0208 2024. 12. 16. 22:43
  • 형상 관리 절차
    - 형상 식별
       -> 형상 관리 대상을 구분, 베이스 라인의 기준을 정함
       1) 형상 항목 선정
       2) 형상 식별자 규칙 선정
       3) 베이스라인 기준 선정
           -> 베이스라인을 설정하지 않으면 어떤 파일이 최종적으로 사용되었는지 혼란 (작업의 기준)
    - 형상 통제
       -> 형상변경요청을 승인하여 베이스라인에 반영될 수 있도록 통제
       1) 변경 요청
       2) 변경 심사
       3) 변경 실시
       4) 변경 확인
            -> 새로운 버전 번호 부여, 새로운 베이스라인으로 수립
    - 형상 감사
       -> 형상 항목의 변경이 계획에 따라 제대로 이루어졌는지 검토/승인
    - 형상 기록/보고
       -> 소프트웨어 개발 상태에 대한 보고서를 제공
       -> 관련된 사람들에게 보고

 

  • 역공학이 필요한 이유
    - 계속된 유지보수로 현재 유지보수가 어려운 경우
    - 프로그램의 이해를 용이하게하기 위해

 

  • 역공학의 장점
    - 분석을 도와줌
    - 프로그램의 내부 동작과 설계 개념을 추적할 수 있음
    - 기존 시스템의 자료, 정보를 설계 수준에서 추상 수준을 높여 분석할 수 있음
       -> 유지보수성 향상

 

  • 역공학의 단점
    - 소스코드를 비롯한 전체적인 작동 원리를 파악할 수 있음 -> 의도적인 공격 가능

 

  • 역공학 작업 순서
    1) 원시코드에서 소프트웨어 결과물을 추출 후 데이터베이스의 저장
    2) 파악된 각 요소를 다이어그램으로 그리기 위하여 레이아웃 계산
    3) 레이아웃에 따라 다이어그램으로 그림

 

  • 리엔지니어링 (Re-Engineering)
    - 역공학의 목적
    - 소프트웨어의 특정 측면을 개선하기 위해 재구축하는 과정
    - 유지보수 비용을 줄이기 위하여 재구조화

 

  • 리엔지니어링의 목적
    - 소프트웨어 아키텍처 개선
    - 소프트웨어 복잡도 개선
    - 소프트웨어 시스템의 유지보수 개선
    - 변경에 대한 적응성 개선
    - 성능, 효율성, 자원 유용성 개선

 

  • 리엔지니어링 과정
    - 개선이 필요한 위치 파악
    - 개선 전략 선택
    - 제안된 개선의 구현
    - 목표를 기준으로 시스템 평가