유지보수 : 형상관리

원래벌레·2022년 5월 30일
0
post-custom-banner

💎 형상관리

💍 형상관리의 의미와 요소

  • 변경에 대한 철저한 관리가 필요 - deliverable : 인도물(계획서, 중간보고서, 결과보고서)
    -소프트웨어 형상 관리

  • 형상 관리 : 소프트웨어를 이루는 부품의 baseline (변경 통제 시점)을 정하고 변경을 철저히 통제하는 것( 중간에 팀원 누군가가 모르게 내용을 변경하게 되면 후에 수정하는 부분이 무용지물이 됨 이를 막기위해 변경을 통제하는 시점을 만든 것이 baseline이다. )

💍 형상 관리의 4가지 요소 :

  • 형상 요소 파악
    1) 새프로젝트 생성
    2) 형상 요소(베이스라인, 형상 항목, 의존 관계)를 파악하고 DB에 형상 상태를 보관한다.

  • 형상 변경 제어
    1) 변경 이벤트가 발생하게 되면 변경을 분석하고, 형상을 변경제어한다.
    2) DB에 저장된 형상 상태를 변경또는 요청한다.

  • 형상 감사
    1) 형상 변경제어를 통해서 승인된 요청이 발생하거나, 발생하여 변경 합병에 들어간가면, 이렇게 들어간 요청들은 형상 감사 과정을 거쳐서 형상 상태로 보관된다.
    2) 형상 감사에서는 품질을 보증하고, 인스펙션, 테스트를 거친다.

  • 형상 상태 보관
    1) DB로 형상 상태를 보관한다.

💍 형상 요소 파악

  • 형상 항목
    1) 분석서
    2) 설계서
    3) 프로그램(원시코드, 목적코드, 명령어 파일, 자료 파일, 테스트 파일)
    4) 사용자 지침서

  • 형상 항목의 속성
    고유식별자, 이름, 문서종류, 문서파일, 저자, 생성날짜, 타깃완성일, 버전번호, 업데이터 이력, 설명, SQA(소프트웨어품질)담당자, SCM(형상관리)담당자

💍 형상 변경 제어

  • 변경의 이유를 파악
    1) 소프트웨어의 결함
    2) 하드웨어 변경
    3) 운영 요구의 변경
    4) 고객이나 사용자로부터 개선 요구
    5) 예산, 프로젝트 일정, 기간의 변경

  • 변경 분석

  • 변경 요청 준비 -> 형상 변경 요청서
    - 요청한 변경의 설명, 조직과 개발자의 파악, 변경의 이유, 영향 받는 베이스라인과 형상 항목, 제안된 변경을 구현하는데 소요되는 노력-시간-비용, 제안된 변경의 운선 순위

  • 변경 제안의 평가
    - 여러 부서(특히 변경으로 영향을 받는 부서)로 구성된 형상관리위원회에서 검토
    - 3가지 유형의 결정 ( 제안의 거부, 발의한 부서로 돌려 보냄, 승인)

  • 변경을 추가

💍 형상 감사(audit)

  • 베이스라인을 지나게 된 형상은 승인된 형상이다.

  • 베이스라인을 구축하기 위한 메커니즘 정의
    - 베이스라인의 상태
    1) 향후 구축 베이스라인(개발 베이스라인)
    2) 승인 베이스라인(운용 베이스라인)
    * 관련된 모든 형상 항목이 만들어지고, 품질 보증 팀의 인스펙션도 마쳐서 형상 관리 시스템에 제출됐을 때의 상태

  • 형상 항목 검토
    1) 각 형상항목에서 의도하는 것이 베이스라인에 명시된 대로 정의됐는지,
    2) 또는 다음 베이스라인에서 업데이트되어도 차이가 없음을 보장하는지 확인

  • 형상 항목 확인
    1) 형상 항목이 올바르게 문제를 해결했는지 확증하기 위해 정확성을 확인
    * 형상 항목 검토 : 확장된 사용사례가 다음 베이스라인에도 있는지 확인하는 것
    * 형상 항목 확인 : 확장된 사용사례의 명세가 사용자의 예측과 일치하는지 확인하는 것

💍 형상상태 보관

  • 형상 항목에 대한 정보를 추적하고 보고하는데 필요한 작업

  • 별도의 데이터베이스가 제공되어, 형상요소파악/ 형상변경제어/ 형상감사를 지원함

💍 형상 관리 위원회

  • 형상 관리 위원회의 구성
    - 검사역, 형상 관리 엔지니어, 기록 관리자 등이 소속

  • 형상관리위원회의 역할
    1) 형상 파악 : 릴리스 리스트, 개발 베이스라인, 운용 베이스라인, 변경요청서 등을 파악하고 준비
    2) 형상 제어 : 변경 요청서 분석 우선순위를 정하여 변경 작업할당, 검사와 테스트 및 변경 결과를 승인하여 운용 베이스라인을 설치
    3) 감사 : 새로 준비된 베이스라인을 검토하고 확인하여 다음 버전을 릴리즈함
    4) 상태 보관 : 변경을 기록하고 추적함

💎 리엔지니어링 : Lehman의 원리에서의 "지속적으로 변화하는 S/W"

💍 리엔지니어링 :

1) 시스템 또는 컴포넌트를 재구조화하는 과정
2) 유지보수를 넘어 개선하는 차원

💍 리엔지니어링의 목적

1) 소프트웨어 아키텍처 개선
2) 소프트웨어의 복잡도 경감
3) 변경에 대한 적응성 개선
4) 성능, 효율성, 자원 유용성, 유지보수 개선

💍 리엔지니어링과 추상화 수준

  • 역공학 : 시스템을 이루는 부품을 찾아내고 관계를 파악하며 다른 형태로 표현하기 위하여 대상 시스템을 분석하는 과정 ex) 완제품 세탁기를 분해하고 분석하여 다시 만들어본다.

  • 재문서화 : 같은 수준의 추상표현을 만들거나 다시 개작하는 일

  • 재구조화 : 대상 시스템의 기능이나 외적인 동작은 변화없이 같은 추상수준에서 표현 형태를 바꾸는 작업

💍 리엔지니어링의 작업 과정

1) 개선 위치 파악
2) 개선 전략 선택
3) 제안된 개선 구현
4) 목적 대비 평가

💎 유지보수 도구

  • 도구의 사용은 시간과 노력을 대폭 감소시킬 수 있음 : 일관성 유지, 변경 사항 공유
profile
학습한 내용을 담은 블로그 입니다.
post-custom-banner

0개의 댓글