7장. 빌드 자동화 도구
·
정보처리기사/[2과목] 3. 제품 소프트웨어 패키징
1. 빌드 자동화 도구의 개요빌드란 소스 코드 파일들을 컴파일한 후 여러 개의 모듈을 묶어 실행 파일로 만드는 과정이며, 이러한 빌드를 포함하여 테스트 및 배포를 자동화하는 도구를 빌드 자동화 도구라고 한다.애자일 환경에서는 하나의 작업이 마무리될 때마다 모듈 단위로 나눠서 개발된 코드들이 지속적으로 통합되는데, 이러한 지속적인 통합(Continuous Integration) 개발 환경에서 빌드 자동화 도구는 유용하게 활용된다.빌드 자동화 도구에는 Ant, Make, Maven, Gradle, Jenkins 등이 있으며, 이중 Jenkins와 Gradle이 가장 대표적이다.2. JenkinsJenkins는 JAVA 기반의 오픈 소스 형태로, 가장 많이 사용되는 빌드 자동화 도구이다.서블릿 컨테이너에서 실..
6장. 소프트웨어 버전 관리 도구
·
정보처리기사/[2과목] 3. 제품 소프트웨어 패키징
1. 공유 폴더 방식공유 폴더 방식은 버전 관리 자료가 로컬 컴퓨터의 공유 폴더에 저장되어 관리되는 방식으로, 다음과 같은 특징이 있다.개발자들은 개발이 완료된 파일을 약속된 공유 폴더에 매일 복사한다.담당자는 공유 폴더의 파일을 자기 PC로 복사한 후 컴파일 하여 이상 유무를 확인한다.이상 유무 확인 과정에서 파일의 오류가 확인되면, 해당 파일을 등록한 개발자에게 수정을 의뢰한다.파일에 이상이 없다면 다음날 각 개발자들이 동작 여부를 다시 확인한다.파일을 잘못 복사하거나 다른 위치로 복사하는 것에 대비하기 위해 파일의 변경사항을 데이터베이스에 기록하여 관리한다.종류에는 SCCS, RCS, PVCS, QVCS 등이 있다.2. 클라이언트/서버 방식클라이언트/서버 방식은 버전 관리 자료가 중앙 시스템(서버)..
5장. 소프트웨어 버전 등록
·
정보처리기사/[2과목] 3. 제품 소프트웨어 패키징
1. 소프트웨어 패키징의 형상 관리형상 관리(SCM; Software Configuration Management)는 소프트웨어의 개발 과정에서 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동이다.소프트웨어 변경의 원인을 알아내고 제어하며, 적절히 변경되고 있는지 확인하여 해당 담당자에게 통보한다.형상 관리는 소프트웨어 개발의 전 단계에 적용되는 활동이며, 유지보수 단계에서도 수행된다.형상 관리는 소프트웨어 개발의 전체 비용을 줄이고, 개발 과정의 여러 방해 요인이 최소화되도록 보증하는 것을 목적으로 한다.관리 항목에는 소스 코드뿐만 아니라 프로젝트 계획, 분석서, 설계서, 프로그램, 테스트 케이스 등이 포함된다.형상 관리를 통해 가시성과 추적성을 보장함으로써 소프트웨어의 생산성과 품질을 높일..
4장. 소프트웨어 사용자 매뉴얼 작성
·
정보처리기사/[2과목] 3. 제품 소프트웨어 패키징
1. 소프트웨어 사용자 매뉴얼의 개요소프트웨어 사용자 매뉴얼은 사용자가 소프트웨어를 사용하는 과정에서 필요한 내용을 문서로 기록한 설명서와 안내서이다.사용자 매뉴얼은 사용자가 소프트웨어 사용에 필요한 절차, 환경 등의 제반 사항이 모두 포함되도록 작성한다.소프트웨어 배포 후 발생될 수 있는 오류에 대한 패치나 기능에 대한 업그레이드를 위해 매뉴얼의 버전을 관리한다.개별적으로 동작이 가능한 컴포넌트 단위로 매뉴얼을 작성한다.사용자 매뉴얼은 컴포넌트 명세서와 컴포넌트 구현 설계서를 토대로 작성한다.사용자 매뉴얼에는 목차 및 개요, 서문, 기본 사항 등이 기본적으로 포함되어야 한다.사용자 매뉴얼의 목차에는 매뉴얼 전체 내용을 순서대로 요약한 후 관련 내용의 시작 페이지를 함께 기술한다.사용자 매뉴얼의 개요에는..
3장. 소프트웨어 설치 매뉴얼 작성
·
정보처리기사/[2과목] 3. 제품 소프트웨어 패키징
1. 소프트웨어 설치 매뉴얼의 개요소프트웨어 설치 매뉴얼은 개발 초기에서부터 적용된 기준이나 사용자가 소프트웨어를 설치하는 과정에 필요한 내용을 기록한 설명서와 안내서이다.설치 매뉴얼은 사용자 기준으로 작성한다.설치 시작부터 완료할 때까지의 전 과정을 빠짐없이 순서대로 설명한다.설치 과정에서 표시될 수 있는 오류 메시지 및 예외 상황에 관한 내용을 별도록 분류하여 설명한다.소프트웨어 설치 매뉴얼에는 목차 및 개요, 서문, 기본 사항 등이 기본적으로 포함되어야 한다.소프트웨어 설치 매뉴얼의 목차에는 전체 설치 과정을 순서대로 요약한 후 관련 내용의 시작 페이지를 함께 기술한다.소프트웨어 설치 매뉴얼의 개요에는 설치 매뉴얼의 주요 특징, 구성과 설치 방법, 순서 등의 내용을 기술한다.2. 서문서문에는 문서 ..
2장. 디지털 저작권 관리(DRM)
·
정보처리기사/[2과목] 3. 제품 소프트웨어 패키징
1. 저작권의 개요저작권이란 소설, 시, 논문, 강연, 연술, 음악, 연극, 무용, 회화, 서예, 건축물, 사진, 영상, 지도, 도표, 컴퓨터 프로그램 저작물 등에 대하여 창작자가 가지는 배타적 독점적 권리로 타인의 침해를 받지 않을 고유한 권한이다.컴퓨터 프로그램들과 같이 복제하기 쉬운 저작물에 대해 불법 복제 및 배포 등을 막기 위한 기술적인 방법을 통칭해 저작권 보호 기술이라고 한다.2. 디지털 저작권 관리(DRM; Digital Right Management)의 개요디지털 저작권 관리는 저작권자가 배포한 디지털 콘텐츠가 저작권자가 의도한 용도로만 사용되도록 디지털 콘텐츠의 생성, 유통, 이용까지의 전 과정을 걸쳐 사용되는 디지털 콘텐츠 관리 및 보호 기술이다.원본 콘텐츠가 아날로그인 경우에는 디지..
1장. 소프트웨어 패키징
·
정보처리기사/[2과목] 3. 제품 소프트웨어 패키징
1. 소프트웨어 패키징의 개요소프트웨어 패키징이란 모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것을 말한다.개발자가 아니라 사용자를 중심으로 진행한다.소스 코드는 향후 관리를 고려하여 모듈화하여 패키징한다.사용자가 소프트웨어를 사용하게 될 환경을 이해하여, 다양한 환경에서 소프트웨어를 손쉽게 사용할 수 있도록 일반적인 배포 형태로 패키징한다.2. 패키징 시 고려사항사용자의 시스템 환경, 즉 운영체제(OS), CPU, 메모리 등에 필요한 최소 환경을 정의한다.UI(User Interface)는 사용자가 눈으로 직접 확인할 수 있도록 시각적인 자료와 함께 제공하고 매뉴얼과 일치시켜 패키징한다.소프트웨어는 단순히 패키징하여 배포하는 것으로 끝나는 것이 아니라 하드웨어와 함께 관리될 수 있도록..
3장. 개발 지원 도구
·
정보처리기사/[2과목] 2. 통합 구현
1. 통합 개발 환경(IDE; Integrated Development Environment)통합 개발 환경은 코딩, 디버그, 컴파일, 배포 등 프로그램 개발과 관련된 모든 작업을 하나의 프로그램에서 처리할 수 있도록 제공하는 소프트웨어적인 개발 환경을 말한다.기존 소프트웨어 개발에서는 편집기(Editor), 컴파일러(Compiler), 디버거(Debugger) 등의 다양한 툴을 별도로 사용했으나 현재는 하나의 인터페이스로 통합하여 제공한다.통합 개발 환경 도구는 통합 개발 환경을 제공하는 소프트웨어를 의미한다.통합 개발 환경을 지원하는 도구는 플랫폼, 운영체제, 언어별로 다양하게 존재하며, 대표적인 도구는 다음과 같다.프로그램개발사플랫폼운영체제지원 언어이클립스(Eclipse)Eclipse Foundat..
2장. 단위 모듈 테스트
·
정보처리기사/[2과목] 2. 통합 구현
1. 단위 모듈 테스트의 개요단위 모듈 테스트는 프로그램의 단위 기능을 구현하는 모듈이 정해진 기능을 정확히 수행하는지 검증하는 것이다.단위 모듈 테스트는 단위 테스트(Unit Test)라고도 하며, 화이트박스 테스트와 블랙박스 테스트 기법을 사용한다.단위 모듈 테스트를 수행하기 위해서는 모듈을 단독적으로 실행할 수 있는 환경과 테스트에 필요한 데이터가 모두 준비되어야 한다.모듈의 통합 이후에는 오랜 시간 추적해야 발견할 수 있는 에러들도 단위 모듈 테스트를 수행하면 쉽게 발견하고 수정할 수 있다.단위 모듈 테스트의 기준은 단위 모듈에 대한 코드이므로 시스템 수준의 오류는 잡아낼 수 없다.2. 테스트 케이스(Test Case)테스트 케이스는 구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지를 확..
1장. 단위 모듈 구현
·
정보처리기사/[2과목] 2. 통합 구현
1. 단위 모듈(Unit Module)의 개요단위 모듈은 소프트웨어 구현에 필요한 여러 동작 중 한 가지 동작을 수행하는 기능을 모듈로 구현한 것이다.단위 모듈로 구현되는 하나의 기능을 단위 기능이라고 부른다.단위 모듈은 사용자나 다른 모듈로부터 값을 전달받아 시작되는 작은 프로그램을 의미하기도 한다.두 개의 단위 모듈이 합쳐질 경우 두 개의 기능을 구현할 수 있다.단위 모듈의 구성 요소에는 처리문, 명령문, 데이터 구조 등이 있다.단위 모듈은 독립적인 컴파일이 가능하며, 다른 모듈에 호출되거나 삽입되기도 한다.단위 모듈을 구현하기 위해서는 단위 기능 명세서를 작성한 후 입출력 기능과 알고리즘을 구현해야 한다.단위 기능 명서서 작성 -> 입출력 기능 구현 -> 알고리즘 구현2. 단위 기능 명세서 작성단위..