형상 관리 (SCM : Software Configuration Management)
- 소프트웨어의 개발 과정에서 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동
1. 기능
(1) 형상 식별
- 형상 관리 대상에 이름과 관리 번호를 부여하고, 계층 구조로 구분하여 수정 및 추적이 용이하도록 하는 작업
(2) 버전 제어
- 소프트웨어 업그레이드나 유지 보수 과정에서 생성된 다른 버전의 형상 항목을 관리하고, 이를 위해 특정 절차와 도구를 결합시키는 작업
(3) 형상 통제
- 식별된 형상 항목에 대한 변경 요구를 검토하여 현재의 기준선이 잘 반영될 수 있도록 조정하는 작업
(4) 형상 감사
- 기준선의 무결성을 평가하기 위해 확인, 검증, 검열 과정을 통해 공식적으로 승인하는 작업
(5) 형상 기록
- 형상의 식별, 통제, 감사 작업의 결과를 기록, 관리하고 보고서를 작성하는 작업
무결성 : 신뢰할 수 있는 서비스 제공을 위해서 의도하지 않은 요인에 의해 데이터, 소프트웨어, 시스템 등이 변경되거나 손상되지 않고 완전성, 정확성, 일관성을 유지함을 보장하는 특성.
빅오 표기법
- 알고리즘의 실행시간이 최악일 때를 표기하는 방법
- 신뢰성이 떨어지는 오메가 표기법이나 평가하기 까다로운 세타 표기법에 비해 성능을 예측하기 용이하여 주로 사용
1. O(1)
- 입력값(n)에 관계 없이 일정하게 문제 해결에 하나의 단계을 거침
ex) 스택의 삽입, 삭제
2. O(log2n)
- 문제 해결에 필요한 단계가 입력값(n) 또는 조건에 의해 감소
ex) 이진 트리, 이진 검색
3. O(n)
- 문제 해결에 필요한 단계가 입력값(n)과 1:1의 관계를 가짐
ex) for문
4. O(nlog2n)
- 문제 해결에 필요한 단계가 O(nlog2n)번만큼 수행
ex) 힙 정렬, 2-Way 합병 정렬
5. O(n^2)
- 문제 해결에 필요한 단계가 입력값(n)의 제곱만큼 수행
ex) 삽입 정렬, 쉘 정렬, 선택 정렬, 버블 정렬, 퀵 정렬,
6. O(2^n)
- 문제 해결에 필요한 단계가 2의 입력값(n) 제곱만큼 수행
ex) 피보나치 수열