상세 컨텐츠

본문 제목

정보처리기사 필기시험 준비 [16]

정보처리기사/정보처리기사_필기

by JORDON 2023. 2. 12. 17:40

본문

반응형

소프트웨어개발  - 제품소프트웨어 패키징 / 제품소프트웨어 메뉴얼 작성 / 제품소트트웨어 버전관리

 

제품소프트웨어 메뉴얼 작성

  • 제품소프트웨어 메뉴얼
    • 제품소프트웨어 개발 단계로부터 적용한 기준이나 패키징이후 설치 및 사용자 측면의 주요 내용등을 문서로 기록한 것
    • 사용자 중심의 기능 및 방법을 나타낸 설명서와 안내서
  • 설치 메뉴얼 작성의 기본사항
    • 설치 메뉴얼은 개발자의기준이 아닌 사용자의 기준으로 작성한다.
    • 최초 설치 실행부터 완료까지 순차적으로 진행한다.
    • 각 단계별 메세지 및 해당 화면을 순서대로 전부 캡처하여 설명한다.
    • 설치 중간에 이상 발생시 해당 메세지 및 에러에 대한 내용을 분류하여 설명한다.
  • 소프트웨어 설치환경 체크항목
    • 사용자환경 - 사용자 CPU 및 메모리, 운영체제 등의 적합환경 확인
    • 응용프로그램 - 설치 전 다른 응용프로그램의 종료 확인
    • 업그레이드버전 - 업그레이드 이전 버전에 대한 존재 유무 확인
    • 백업폴더확인 - 데이터 저장 폴더를 확인하여 설치 시 폴더 동기화
  • 제품소프트웨어 설치 메뉴얼 기본사항
    • 제품소프트웨어 개요 - 제품소프트웨어의 주요 기능 및 UI를 도식화하여 설명
    • 설치 관련파일 - 제품소프트웨어를 설치하기 위한 관련 파일 설명 및 exe, ini, log 파일에 대한 설명
    • 설치아이콘 - 아이콘 설명
    • 프로그램삭제 - 해당 소프트웨어 삭제 시 원래대로 삭제하는 방법을 설명
    • 관련추가 정보 - 제품소프트웨어 이외의 관련 설치프로그램정보(Build) 및 프로그램 제작사 추가 정보 기술
  • 제품소프트웨어 설치 메뉴얼 작성 방법 상세 가이드
    • 설치화면 및 UI
    • 설치 이상시 메세지 설명
    • 설치 완료 및 결과
    • FAQ
    • 설치시 점검사항
    • Network 환경 및 보안
  • 고객지원 방법(Customer Support)
    • 유선 및 E-mail, Website URL
  • 준수정보 및 제한보증(Compliance Information & Limited Warranty)
    • 시리얼(Serial)보존, 불법 등록 사용금지 등의 준수 사항 권고
    • 저작권 정보 관련 작성
  • 사용자 메뉴얼 작성절차
    1. 컴포넌트명세서 및 컴포넌트구현 설계서
    2. 작성지침 정의
    3. 사용설명서 구성요소 정의
    4. 구성 요소별 내용 작성
    5. 사용 설명서 검토
    6. 사용설명서

 

국제표준 제품품질 특성

  • 프로젝트를 진행하거나 완성된 제품에 대해 품질을 평가하는 국제 표준화 기구에서 정한 표준에 따른 기준
  • 소프트웨어 품질의 종류
    • 소프트웨어 제품품질 - 품질 자체
    • 소프트웨어 프로세스 - 개발 과정
    • 소프트웨어 품질경영 - 조직을 지휘 관리하는 활동
  • 주요 국제 표준화 기구
    • ISO(국제표준화기구)
    • IEC(국제전기기술위원회)
    • ITU()국제전기통신연합)
    • IEEE(전기기술자협회)
  • ISO/IEC 9126 - 품질특성과 측정 기준 제시 (기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성)
    • 기능성 - 명시된 요규와 내재된 요구를 만족하는 기능
      • (하위 : 적합성, 상호운용성, 보안성, 정확성, 준수성)
    • 신뢰성 - 규정된 성능 수준 유지 및 오류방지
      • (하위 : 고장허용성, 회복성, 성숙도, 준수성)
    • 사용성 - 사용자에 의해 이해, 학습, 선호
      • (하위 : 학습성, 운영성, 친밀성, 준수성)
    • 효율성 - 주어진 자원을 사용하여 요구된 성능 제공
      • (하위 : 반응시간, 자원특성, 준수성)
    • 유지보수성 - 운영 환경 및 요구사항 기능적 사양에 따른 소프트웨어 수정 개선
      • (하위 : 분석성, 변경성, 안정성, 테스트용이성, 준수성)
    • 이식성 - 다양한 환경에서 운영가능
      • (하위 : 적응성, 설치성, 공존성, 대체성, 준수성)
  • ISO/IEC 14598 - 소프트웨어 제품평가
  • ISO/IEC 12119 - 정보기술, 패키지 소프트웨어에 대한 품질 요구사항 및 시험을 위한 국제표준 (제품설명서, 사용자문서, 실행프로그램)
  • ISO/IEC 25000 - 소프트웨어 품질평가 모델인 ISO/IEC 9126와 소프트웨어 평가절차모델 ISO/IEC 14598, ISO/IEC 12119를 통합
  • Good S/W - 정보통신 기술협회 산하 소프트웨어 시험 센터 주관

소프트웨어 버전관리

  • 제품 소프트웨어 버전관리는 S/W 개발과 관련하여 코드와 라이브러리, 관련 문서 등 시간의 변화에 따른 변경을 관리하는 전체 활동을 의미한다.
  • 동일한 소스 코드에 대한 여러 버전을 관리
  • 팀단위로 개발 중인 소스코드나 설계도 등의 디지털 문서를 관리
  • 문서의 변경 사항들에 숫자나 문자로 이뤄진 버전을 부여해서 구분
  • 버전을 통해 변경된 시간 변경된 사항, 변경 작업을 행한자를 파악할 수 있다.

제품소프트웨어 버전 관리도구 사용시 유의사항

  • 효율적인 버전 관리 도구를 사용하기 위해서는 관리도구의 다양한 기능적 활용 및 지속적인 버전 관리와 버전관리 기준이 필요하며 버전관리 도구 사용관련 문제발생시 해결 메뉴얼을 사전에 준비해야 한다.
  • 제품 소프트웨어 기능이 작을수록 버전관리 정도를 소프트웨어제품에 맞게 적절히 조정
  • 버전관리 항목을 정하고 버전관리 도구에 의한 변경사항은 공식적인 합의에 의하여 실시
  • 배포 후 수정중인 소프트웨어의 버전 관리 도구 사용은 신중하게 진행

버전관리 도구 유형

  • 공유폴더방식
    • RCS(Revision Control System), SCCS
      • RCS(Revision Control System)는 CVS(Concurrent Versions System)와 달리 소스파일의 수정을 한사람만으로 제한하여 다수의 사람이 파일의 수정을 동시에 할 수 없도록 파일을 잠금하는 방식의 버전 컨트롤을 수행
    • 매일 개발 완료 파일은 약속된 위치의 공유 폴더에 복사
    • 담당자 한명이 매일 공유폴더의 파일을 자기 PC로 복사하고 컴파일하여 에러 확인과 정상 동작 여부 확인
    • 정상 동작일 경우 다음날 각 개발자들이 동작 여부 확인
  • 클라이언트/서버 방식
    • CVS(Concurrent Versions System)
      • 서버와 클라이언트로 구성되어 다수의 인원이 동시에 범용적인 운영체제로 접근 가능하며 버전관리를 가능케한다.
    • SVN(Subversion)
      • GNU의 버전관리시스템으로 CVS의 장점은 이어받고 단점은 개선하였다.
    • Clear Case
      • IBM에서 제작되었으며 복수서버, 복수클라이언트 구조이며 서버가 부족할 때 필요한 서버를 하나씩 추가하여 확장성을 가할 수 있다.
    • 중앙에 버전 관리 시스템이 항시 동작
    • 개발자들의 현재 작업 내용과 이전 작업 내용 축적이 용이
    • 서로 다른 개발자가 같은 파일을 작업했을때 경고 출력
    • GUI툴을 이용 모니터링 가능

  • 분산저장소 방식
    • Git
      • 기존 리눅스 커널의 버전 컨트롤러하는 Bitkeeper를 대체하기 위해 나온 새로운 버전 컨트롤러이며 현재 리눅스는 이것을 통해 버전컨트롤이 되고 있다.
      • GIt의 작업 폴더는 모두 전체 기록과 각 기록을 추적할 수 있는 정보를 포함하는 완전한 형태의 저장소
      • 네트워크에 접근하거나 중앙 서버에 의존하지 않음
    • Bitkeeper
      • Bitkeeper는 SVN과 비슷한 중앙 통제 방식의 버전 컨트롤러 툴로써 대규모 프로젝트에서 빠르게 속도를 내도록 개발됨
    • 로컬 저장소와 원격저장소 구조
    • 중앙 저장소에서 로컬에 복사한 순간 개발자 자신의 로컬저장소에 생성
    • 개발을 완료한 파일 수정 이후 로컬 저장소에 커밋한 이후 다시 원격 저장소에 반영하는 방식

버전관리 도구를 활용한 통합버전 현황 관리

  • 버전관리, 백업 및 복구 
    • 이전버전으로 복구 필요시
    • 이전버전의 기능을 재활용시
  • 동일 버전 공동작업
    • 동일 버전의 소스코드를 두명이상의 개발자가 수정할 경우
    • 분산환경에서 두명 이상의 개발자가 동일한 버전의 소스를 수정할 경우
  • 여러 버전 솔루션 작업
    • 하나의 솔루션을 기반으로 여러 버전의 제품을 개발할 경우

  • 자료백업 정책 및 방법
    • 백업정책
      • 버전관리 라이브러리에 대한 백업파일은 버전관리 라이브러리가 저장된 디스크와 분리된 디스크에 저장
    • 백업방법
      • 변경된 부분만 백업하는 경우 편리해 보이기는 하나 복구시 복잡한 과정을 거쳐야 하고 증분 백업 파일에 문제가 발생되는 경우 어려움이 생길 수 있음으로 버전라이브러리의 백업은 빠른 복구를 위해 풀백업을 진행한다.
      • 백업 작업에 대한 임시 및 신규 요청 또는 중지 요청은 절차에 따라 실시
      • 백업결과는 버전 관리자가 주기적으로 점검하며 그 결과를 버전관리 정기 보고시 함께 보고
    • 버전관리도구를 활용한 소스 및 자료 백업
      • 디렉토리를 신규로 만들어 물리적 복사 : 레포지토리 복사 (Repository Backup)
      • 버전관리 도구의 백업기능 활용 : Git Bundle

빌드 자동화 도구

  • 빌드란 소프트웨어를 생성, 테스트, 검사하여 배포하기 위한 모든 것
  • 소스코드 파일들을 실행할 수있는 소프트웨어로 변환하는 과정에 필요한 도구
  • Ant
    • 아파치 소프트웨어 재단에서 개발한 소프트웨어
    • XML기반의 빌드 스크립트를 사용하여 자유도와 유연성이 높다.
  • Maven(메이븐)
    • Ant의 대안으로 개발됨
    • 자동으로 필요한 라이브러리 파일을 불러온다.
  • Gradle(그래들)
    • 기존 Ant와 Maven을 보완하여 개발된 빌드 도구
    • Task는 작업의 최소단위이며 테스크 단위로 실행한다.
    • Groovy를 기반으로 하며 안드로이드 스튜디오의 공식 빌드 시스템
  • Jenkins(젠킨스)
    • 자바기반의 오픈소스, 가장 많이 활용되는 빌드 자동화 도구
    • 소프트웨어 개발시 지속적인 통합(Continuous Integration)서비스를 제공하는 툴

 

 

반응형

관련글 더보기

댓글 영역