소프트웨어공학 기말 정리 3

LeemHyungJun·2023년 6월 20일
0

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가지 요소

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

0개의 댓글