반응형
소프트웨어 유지보수
- 소프트웨어 유지보수
- 개념
- 개발 완료 시점부터 폐기될 때까지, 지속적으로 수행하는 작업
- 소프트웨어의 수명을 연장하기 위한 활동
- 소프트웨어 생명주기 동안 가장 많은 비용이 소모되는 단계
- 유지보수의 구분
- 수정 보수(Corrective Maintenance)
- 소프트웨어 구축 시 테스트 단계에 미처 발견하지 못한 잠재적인 오류를 찾아 수정한다.
- 적응 보수(Adaptive Maintenance)
- 운영체제, 하드웨어와 같은 프로그램 환경변화에 맞추기 위해 수행하는 유지보수
- 해당 시스템을 다른 곳으로 이동시킬 수도 있기 때문에
- 향상 보수(Perfective Maintenance)
- 기존 기능과 다른 새로운 기능을 추가하거나 기존 기능을 개선
- 소프트웨어 확장 및 리모델링
- 유지보수 활동 중 가장 많은 자원이 소모되는 활동
- 예방 보수(Preventive Maintenance)
- 장래에 유지보수성 또는 신뢰성을 보장하기 위해 선제적으로 하는 유지보수
- 소프트웨어 재공학과 관련된 유지보수(리펙토링)
- 수정 보수(Corrective Maintenance)
- 유지보수 관련 용어
- 레거시 시스템
- 외계인 코드
- 스파게티 코드
- 개념
제품 소프트웨어 패키징
- 제품 품질 국제 표준
- 개념소프트웨어 개발 공정 각 단계에서 산출되는 제품이 사용자 요구를 만족하는지 검증하기 위한 국제 표준
- 소프트웨어 품질 관련 국제 표준
- ISO/IEC 9126 → 품질을 보는 국제 표준
- 기능성
- 신뢰성
- 사용성
- 효율성
- 유지보수성
- 이식성
- ISO/IEC 14598 → 소프트웨어 평가 프로세스에 대한 표준을 규정
- 반복성: 동일 평가자가 동일 사양, 동일한 결과
- 재현성: 다른 평가자가 동일 사양, 비슷한 결과
- 공정성: 평가가 특정 결과에 편향되지 않아야 한다.
- 객관성: 평가 결과가 평가자의 감정, 의견에 영향을 받지 않아야 한다.
- ISO/IEC 12119 → 패키지 SW 품질 요구사항 및 테스트 (테스트를 하는게 중요)
- ISO/IEC 25000
- ISO/IEC 9126 → 품질을 보는 국제 표준
- 프로세스 품질 국제 표준
- 개념
- 소프트웨어 개발 프로제스 등 소프트웨어 관련 업체의 프로세스 관리능력을 평가하고 프로세스를 개선하는데 활용할 수 있는 표준
- 프로세스 품질 국제 표준
- ISO/IEC 9001: 조직의 품질 경영 및 품질 보증
- ISO/IEC 12207: 소프트웨어 개발 관련 생명주기
- 기본 생명주기 프로세스
- SDLC
- 획득, 공급, 개발, 운영, 유지보수
- 지원 생명주기 프로세스
- 개발에 도움을 주는 것
- 문서화, 형상관리, 품질보증, 검증, 확인, 합동검토, 감사, 문제해결
- 조직 생명주기 프로세스
- 개발 후 받을 것
- 관리, 기반구조, 개선, 교육훈련
- 기본 생명주기 프로세스
- ISO/IEC 15504(SPICE): 소프트웨어 개발 관련해 선정된 프로세스 평가 모델
- 유럽에서 만듦
- SPICE 프로세스 능력 수준
- 0단계(불안정): 미구현 또는 목표 미달성
- 1단계(수행): 프로세스 수행 및 목적 달성
- 2단계(관리): 프로세스 수행 계획 및 관리
- 3단계(확립): 표준 프로세스의 사용
- 4단계(예측): 프로세스의 정량적 이해 및 통제
- 5단계(최적화): 프로세스의 지속적인 개선
- CMM: 조직의 소프트웨어 개발 관련 전체 프로세스 평가
- 1수준(초기 단계): 관리가 안되는 단계
- 2수준(반복 단계): 프로세스의 반복
- 3수준(정의 단계): 프로젝트 관리
- 4수준(관리 단계): 정량적 관리
- 5수준(최적화 단계): 지속적인 개선
- CMMI: 다양한 CMM 모델을 통합한 프로세스 개선 프레임워크
- 1수준(초기 단계): 프로세스가 없는 상태
- 2수준(관리 단계): 기본적인 프로세스
- 3수준(정의 단계): 표준 프로세스
- 4수준(정량적 관리 단계): 정량적 관리
- 5수준(최적화 단계): 지속적인 개선
- 개념
애플리케이션 패키징
- 애플리케이션 패키징의 개념
- 개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 패키징하고, 설치와 사용에 필요한 제반 절차 및 환경 등 전체 내용을 포함하는 매뉴얼을 작성하는 활동
- 애플리케이션 패키징의 특징
- 개발자가 아닌 사용자 중심으로 진행
- 애플리케이션 배포 도구
- 애플리케이션 배포의 개념
- 최종 사용자에게 소프트웨어를 전달하는 과정
- 애플리케이션 배포 도구 활용 시 고려사항
- 반드시 내부 콘텐츠에 대한 암호화 및 보안을 고려
- 추가로 다양한 이기종 연동을 고려
- 사용자 편의성을 위한 복잡성 및 비효율성 문제를 고려
- 제품 소프트웨어의 종류에 적합한 암호화 알고리즘을 적용
- CI/CD
- CD(Continuous Integration)
- 지송적인 통합
- 여러 개발자들의 새로운 코드 변경 사항을 정기적으로 공유 레포지토리에 통합하는 것
- CD(Continuous Delivery & Continuous Deployment)
- 지속적인 서비스 제공 혹은 지속적인 배포
- Continuous Delivery (지속적 제공)
- 빌드와 테스트를 거쳐 공유 레포지토리로 업로드하는 것
- Continuous Deployment(지속적 배포)
- 사용자가 사용할 수 있는 환경까지 배포하는 것
- CD(Continuous Integration)
- 애플리케이션 배포의 개념
- 릴리즈 노트
- 개념
- 소프트웨어 제품과 함께 배포되는 문서들을 말한다.
- 개념
- DRM
- DRM(Digital Right Management)의 개념
- 각종 디지털 콘텐츠의 불법적인 사용을 제한하고, 승인된 사용자의 콘텐츠 사용을 저작권 소유자의 의도에 따라 제어하는 기술
- DRM의 구성 및 흐름
- 콘텐츠 제공자
- 패키저
- 콘텐츠
- 메타 데이터
- 클리어링 하우스
- 권한정책
- 라이선스
- 콘텐츠 분배자
- 유통 서비스
- 콘텐츠 소비자
- DRM 컨트롤러
- 보안 컨테이너
- 콘텐츠 제공자
- 권리표현 종류
- Render Permission: 재생, 이용
- Transport Permission: 양도
- Derivative Permission: 변형
- 저작권 보호 기술
- 워터마깅
- 불법 복제 방지
- 저작권 정보
- 최초 저작 시점
- 불법 유통에 취약
- 핑거 프린팅
- 불버 유통 방지
- 저작권 정보 + 구매자
- 구매시점마다
- 공모 공격에 취약
- 워터마깅
- DRM 구성요소
- 암호화
- 키 관리
- 암호화 파일 생성
- 식별 기술
- 저작권 표현
- 정책 관리
- 크랙 방지
- 인증
- DRM(Digital Right Management)의 개념
'정보처리기사' 카테고리의 다른 글
[정보처리기사] 데이터베이스 구축 (2) (0) | 2023.07.07 |
---|---|
[정보처리기사] 데이터베이스 구축 (1) (0) | 2023.07.06 |
[정보처리기사] 소프트웨어 구축 (6) (0) | 2023.07.05 |
[정보처리기사] 소프트웨어 구축 (5) (0) | 2023.07.05 |
[정보처리기사] 소프트웨어 구축 (4) (0) | 2023.07.05 |