Lecture 14 : 형상관리
1. 형상 (configuration)
- 사물이 생긴 모양 또는 이미지
- 소프트웨어의 형상?
- 각 개발 단계마다 소프트웨어의 모습을 반영한 문서 산출물들
- 소프트웨어의 형상관리는 이러한 소프트웨어의 형상인 각 개발 단계의 산출물을 관리하는 모든 활동
2. 소프트웨어의 변경
- 소프트웨어의 특징은 사용자들로부터 요구사항이 계속해서 변하며, 엔지니어들 또한 기술적인 면에서 수정을 원한다는 점이다.
- 유지보수 과정에서도 변경이 발생
- 형상관리 : 제품을 개발하거나 유지보수하는 과정에서 변경을 통제하는 절차!
- 산출물을 관리하고 고품질의 소프트웨어를 얻기 위해서 매우 중요함
- 통제하지 않는다면 혼동 상태를 야기시킴
3. 소프트웨어의 형상관리
- 소프트웨어의 개발 및 유지보수 과정에서 발생하는 각종 결과물들에 대한 계획, 개발, 운용 등을 종합하여 시스템의 형상을 만들고 이에 대한 변경을 체계적으로 관리, 제어하기 위한 활동
4. 기준선 문서 (baseline document)
- 소프트웨어 엔지니어링의 각 단계의 산출물인 문서들이 만들어지면 이를 고정시키는 과정
- 설계 단계에 들어가기 전에 요구사항을 동결하여 유일한 버전으로 정의하기
-> 변경을 제어하는 방식
- 기준선 문서
- 공식적인 검토 및 합의가 끝나 동결된(서명되어 공식적으로 승인된) 문서
- 기준선 문서는 개발을 위한 기준, 공식적인 변경 절차를 통해서만 변경
5. 문서들의 동결
- 문서에 대한 기술적 검토를 거쳐 이해 당사자들이 서명하여 승인되면 형상 관리 담당자는 기준 문서로 항목을 저장소에 보관
- 형상 관리 담당자 : 전반적인 형상관리 업무를 수행하고 형상 항목을 관리
6. 소프트웨어 형상 항목 (SCI: Software Configuration Item)
- 소프트웨어 개발 프로세스의 각 단계마다 산출물이 만들어지고 이에 대한 동결이 이루어진다.
- 예시
- 시스템 명세서
- sw 프로젝트 계획서
- sw 요구사항 명세서
- 예비 사용자 매뉴얼
- 설계 명세서
- ...
- 유지보수 문서
- 소프트웨어 공학을 위한 표준과 절차
7. 형상 항목 식별
- 제어해야 하는 소프트웨어 항목과 각 항목의 버전을 식별하기 위한 규칙은 프로젝트 수준의 계획 단계에서 미리 마련
- 형상 식별 : 소프트웨어 개발 과정에서 만들어지는 산출물들을 파악하고 각각의 형상 항목을 유일하게 식별하여 추적성을 제공하여 접근 가능하도록 만드는 일
- 프로젝트 계획 단계에서 형상 항목을 찾아내고 형상 항목과 그 버전이 어떻게 명명되어 구별될 것인지 서술
8. 형상 통제
- 접근 제어 (동기화 제어) : 적절한 승인 절차를 통해 DB에 저장된 문서를 수정할 수 있는 권한을 갖는 것.
- 형상 통제 : 기준선이 된 형상 항목에 대한 변경을 요청, 평가, 승인하는 절차를 기술하고 실행하는 활동
9. 신규 형상 항목 등록
10. 변경 통제
- 기준선이 된 형상 항목에 대한 변경을 요청, 평가, 승인 하는 절차를 기술하고 실행하는 활동
11. 형상 상태 기록 및 보고 (중요)
- 형상 상태 기록 : 형상 변경에 관한 것을 기록하고 자동화된 저장소와 도구에 의해 관리하는 것
- 형상 상태 보고 : 형상 항목 상태가 바뀔 때 마다 이해 당사자가 결과를 알 수 있도록 조치하는 것
12. 형상 감사 및 검토
- 감사 : 변경이 적절하게 되었는지 확인하기
- 기술적 검토
- 형상 항목에 대한 변경이 확실히 이루어졌는지 등의 완전성 평가
- 다른 형상 관리 항목들과 일관성 있게 변경
- 형상 감사
- 소프트웨어와 함께 배달될 문서들이 논리적으로 일관성을 확보하는지 확인
- 변경 통제 절차에 맞게 관리가 이루어졌는지 평가하기
- 형상 감사의 목적, 대상, 일정과 절차, 참가자, 승인 기준, 승인 시 발생할 조치 등이 문서화되어 있어야 함
13. 요약
- 기준선이 이루어진 문서들에 대한 체계적인 관리를 수행하는 것을 현상 관리라고 하며 아래 4가지 과정으로 진행된다.
- 형상 식별 (기준선 문제)
- 형상 통제
- 형상 보고
- 형상 감사와 검토
- 소프트웨어 형상관리는 소프트웨어 개발 라이프 사이클 전 과정에 적용되는 변경 관리 활동
Lecture 15 : 시스템 운영, 유지보수, 보안
1. 사용자 지원
- 사용자 교육
- 헬프 데스크
- 온라인 채팅에 의한 지원
2. 유지보수
- 시스템 가동 후 수정하는 세가지 작업
- 운영, 지원, 보안
- 유지보수 비용이 시스템의 생명주기 결정
3. 단계별 유지보수 비용
- 구현 후 즉시 : 교정형이 많음
- 운영 초기와 중기 : 적응형과 완전형 증가
- 말기 : 적응형과 교정형이 급격히 증가
4. 시스템 지원 관리
- 시스템 지원은 효과적인 관리, 품질 보증, 비용 관리가 필요
5. 유지보수 팀 구성 (중요)
- 분석가 : 문제의 원인을 조사하고 위치를 빠르게 찾아내는 역할
- 시스템 관리자 : 컴퓨터와 네트워크 시스템을 관리
- 프로그래머 : 대규모 조직에서는 프로그래밍 작업으로 전문화
6. 유지보수 요청 관리
- 수정할 필요가 있을 때 바로 수정하는 것은 위험하기 때문에 절차를 통해 수정해야 함
7. 시스템 성능 관리
- 현재 시스템의 성능을 모니터하고 미래 성능 요구를 예측
- 성능과 작업부하 측정
- 반응시간 : 요청 후 반응 사이에 걸리는 시간
- 대역폭 : 정해진 시간동안 주고받는 데이터의 양
- 처리량 : 특정 환경에 영향받는 실제 시스템의 성능
- 총 처리 시간 : 작업 요청 후 만족될 때 까지의 시간
8. 성능 계획
- 서비스를 요청하는 수준으로 제공하기 위하여 필요한 자원을 예측하는 과정
- 현재 시스템의 부하와 성능 명세를 기초로 현재 모델을 개발
9. 유지보수 도구 (중요)
- 성능 모니터링 도구 : 프로그래밍 실행 시간과 부하에 대한 데이터 제공
- 프로그램 분석 : 보안에 취약한 부분 찾기
- 디버깅 분석 : 프로그램 내부의 오류 찾기
- 리엔지니어링 도구
- 자동 문서화 도구
10. 성능 테스트
- 부하 테스트
- 최대 반응시간 : 시간대, 보안, 웹페이지 기능
11. 시스템 보안 (중요)
- 5가지 시스템 보안 영역
- 물리적 보안
- 컴퓨터 설치 공간의 물리적 환경
- 컴퓨터실 보안
- 서버
- 노트북
- 네트워크 보안
- 암호화 - 데이터 인코딩
- 네트워크 트래픽 암호화 - 공개키, 개인키
- 개인 네트워크
- 가상 네트워크 - VPN
- 포트와 서비스
- 방화벽
- 애플리케이션 보안
- 서비스 - 필요 없다면 사용 불능상태로 만들기
- 입력 검증 - 데이터의 통일성, 품질 유지
- 패치와 업데이트 - 취약점 감소
- 파일 보안
- 권한 지정 - access
- 파일 읽기, 쓰기, 실행 / 디렉토리 읽기, 쓰기
- 사용자 그룹 - Role based Access Control
- 사용자 보안
12. 데이터 백업과 복구
- 시스템 아키텍쳐 전반에 대하여 계획할 때 고려함
- 백업 매체
- 마그네틱 테이프, 미디어 보관, 외장 하드, 인터넷 기반 백업
- 백업 일정
13. 재난 복구 (중요)
- 백업 사이트 운영
- 데이터 복제
- 동일한 시스템 준비
14. 시스템의 소멸과 미래
- 소멸 징후
- 현재 시스템과 비교하여 동일하거나 추가된 서비스를 제공하고 더 빠르고 좋으며, 저렴한 소프트웨어가 존재..
- 적응형 유지보수와 교정형 유지보수가 계속 증가
- 유지보수 변경이나 추가가 어렵고 비용이 많이 듦
- 사용자가 비즈니스 요구를 지원하는 새로운 기능을 요청
15. 시스템의 미래
- 정보 기술은 계속 변화하기 때문에 전략적인 계획이 필요하다
- 장기적이며 뚜렷한 목표 설정
- 중간 마일스톤을 정하고 이를 달성하기 위한 프로젝트의 작은 목표와 내용 계획
기말고사 예상 문제
Lecture 14
1. 통제위원회 full name
- 형상 통제 위원회(CCB)
- Configuration Control Board
2. 문서 동결 과정
문서에 대한 기술적 검토를 거쳐 이해 당사자들이 서명하여 승인되면 형상 관리 담당자는 기준 문서로 공식화될 형상 항목을 데이터베이스나 정의 된 저장소에 보관
3. 변경통제 정의
- 기준선이 된 형상 항목에 대한 변경을 요청, 평가, 승인하는 절차를 기술하고 실행하는 활동
4. SW 형상의 정의 및 종류
- 정의 : 소프트웨어개발 및 관리 프로세스 각 단계의 결과물로 만들어지며, 서로 구별되고 이름이 붙여져 관리되어야 하는 기본 단위
- 종류
- 시스템 명세서
- sw 프로젝트 계획서
- sw 요구사항 명세서
- 유지보수 문서
- ...
5. 형상 상태 기록 및 보고
- 형상 상태 기록 : 기록하고 자동화된 저장소와 도구에 의해 관리
- 형상 상태 보고 : 상태가 바뀔 때 마다 이해 당사자가 결과를 알 수 있도록 조치하는 것
Lecture 15
1. 시스템 가동 3가지 단계
2. 보안 영역 종류
- 물리적 보안
- 네트워크 보안
- 애플리케이션 보안
- 파일 보안
- 사용자 보안
3. 단계별 유지보수 표

4. 성능 및 부하 측정 4가지 요소
- 반응시간 : 요청 후 반응 사이에 걸리는 시간
- 대역폭 : 정해진 시간동안 주고받는 데이터의 양
- 처리량 : 특정 환경에 영향받는 실제 시스템의 성능
- 총 처리 시간 : 작업 요청 후 만족될 때 까지의 시간