변경에 대한 철저한 관리가 필요 - deliverable : 인도물(계획서, 중간보고서, 결과보고서)
-소프트웨어 형상 관리
형상 관리 : 소프트웨어를 이루는 부품의 baseline (변경 통제 시점)을 정하고 변경을 철저히 통제하는 것( 중간에 팀원 누군가가 모르게 내용을 변경하게 되면 후에 수정하는 부분이 무용지물이 됨 이를 막기위해 변경을 통제하는 시점을 만든 것이 baseline이다. )
형상 요소 파악
1) 새프로젝트 생성
2) 형상 요소(베이스라인, 형상 항목, 의존 관계)를 파악하고 DB에 형상 상태를 보관한다.
형상 변경 제어
1) 변경 이벤트가 발생하게 되면 변경을 분석하고, 형상을 변경제어한다.
2) DB에 저장된 형상 상태를 변경또는 요청한다.
형상 감사
1) 형상 변경제어를 통해서 승인된 요청이 발생하거나, 발생하여 변경 합병에 들어간가면, 이렇게 들어간 요청들은 형상 감사 과정을 거쳐서 형상 상태로 보관된다.
2) 형상 감사에서는 품질을 보증하고, 인스펙션, 테스트를 거친다.
형상 상태 보관
1) DB로 형상 상태를 보관한다.
형상 항목
1) 분석서
2) 설계서
3) 프로그램(원시코드, 목적코드, 명령어 파일, 자료 파일, 테스트 파일)
4) 사용자 지침서
형상 항목의 속성
고유식별자, 이름, 문서종류, 문서파일, 저자, 생성날짜, 타깃완성일, 버전번호, 업데이터 이력, 설명, SQA(소프트웨어품질)담당자, SCM(형상관리)담당자
변경의 이유를 파악
1) 소프트웨어의 결함
2) 하드웨어 변경
3) 운영 요구의 변경
4) 고객이나 사용자로부터 개선 요구
5) 예산, 프로젝트 일정, 기간의 변경
변경 분석
변경 요청 준비 -> 형상 변경 요청서
- 요청한 변경의 설명, 조직과 개발자의 파악, 변경의 이유, 영향 받는 베이스라인과 형상 항목, 제안된 변경을 구현하는데 소요되는 노력-시간-비용, 제안된 변경의 운선 순위
변경 제안의 평가
- 여러 부서(특히 변경으로 영향을 받는 부서)로 구성된 형상관리위원회에서 검토
- 3가지 유형의 결정 ( 제안의 거부, 발의한 부서로 돌려 보냄, 승인)
변경을 추가
베이스라인을 지나게 된 형상은 승인된 형상이다.
베이스라인을 구축하기 위한 메커니즘 정의
- 베이스라인의 상태
1) 향후 구축 베이스라인(개발 베이스라인)
2) 승인 베이스라인(운용 베이스라인)
* 관련된 모든 형상 항목이 만들어지고, 품질 보증 팀의 인스펙션도 마쳐서 형상 관리 시스템에 제출됐을 때의 상태
형상 항목 검토
1) 각 형상항목에서 의도하는 것이 베이스라인에 명시된 대로 정의됐는지,
2) 또는 다음 베이스라인에서 업데이트되어도 차이가 없음을 보장하는지 확인
형상 항목 확인
1) 형상 항목이 올바르게 문제를 해결했는지 확증하기 위해 정확성을 확인
* 형상 항목 검토 : 확장된 사용사례가 다음 베이스라인에도 있는지 확인하는 것
* 형상 항목 확인 : 확장된 사용사례의 명세가 사용자의 예측과 일치하는지 확인하는 것
형상 항목에 대한 정보를 추적하고 보고하는데 필요한 작업
별도의 데이터베이스가 제공되어, 형상요소파악/ 형상변경제어/ 형상감사를 지원함
형상 관리 위원회의 구성
- 검사역, 형상 관리 엔지니어, 기록 관리자 등이 소속
형상관리위원회의 역할
1) 형상 파악 : 릴리스 리스트, 개발 베이스라인, 운용 베이스라인, 변경요청서 등을 파악하고 준비
2) 형상 제어 : 변경 요청서 분석 우선순위를 정하여 변경 작업할당, 검사와 테스트 및 변경 결과를 승인하여 운용 베이스라인을 설치
3) 감사 : 새로 준비된 베이스라인을 검토하고 확인하여 다음 버전을 릴리즈함
4) 상태 보관 : 변경을 기록하고 추적함
1) 시스템 또는 컴포넌트를 재구조화하는 과정
2) 유지보수를 넘어 개선하는 차원
1) 소프트웨어 아키텍처 개선
2) 소프트웨어의 복잡도 경감
3) 변경에 대한 적응성 개선
4) 성능, 효율성, 자원 유용성, 유지보수 개선
역공학 : 시스템을 이루는 부품을 찾아내고 관계를 파악하며 다른 형태로 표현하기 위하여 대상 시스템을 분석하는 과정 ex) 완제품 세탁기를 분해하고 분석하여 다시 만들어본다.
재문서화 : 같은 수준의 추상표현을 만들거나 다시 개작하는 일
재구조화 : 대상 시스템의 기능이나 외적인 동작은 변화없이 같은 추상수준에서 표현 형태를 바꾸는 작업
1) 개선 위치 파악
2) 개선 전략 선택
3) 제안된 개선 구현
4) 목적 대비 평가