Hello

[정처기 필기] IDE, 빌드 자동화 도구, DRM, 형상관리

by 볼빵빵오춘기

IDE (Integrated Development Environment)

  • C++, Java 등의 언어를 이용하 SW 개발 단계에서패키지 인크루딩, 소스 코드 편집, 컴파일, 디버깅, 바이너리 배포 등 모든 작업을 통합 지원한다.
  • 종류 :
    • 이클립스(IBM, 이클린스 재단)
    • 비주얼 스튜디오(MS)
    • 엑스 코드
    • 안드로이드 스튜디오
    • IDEA

 

빌드 자동화 도구

Ant

  • 아파치 SW 재단에서 개발, XML 기반 빌드 스크립트를 사용한다.
  • 정해진 규칙이 없고, 절차적이다.

Maven

  • 프로젝트에 필요한 모든 종속성을 리스트의 형태로 Maven에 알려서 종속성을 관리하다. 사용성이 좋지만 맞춤화된 로직 실행이 어렵다.
  • XML, Repository를 가져올 수 있지만 라이브러리가 서로 종속할 경우 XML이 복잡해진다.

Gradle

  • JVM 기반의 빌드 도구이며, Ant와 Maven의 단점을 보완한 오픈소스 기반의 Build 자동화 도구로 프로젝트 시작 시 설정에 드는 시간을 절약할 수 있다.
  • Maven처럼 종속성을 활용하여 Groovy기반 스크립트를 사용한다.
  • Maven처럼 Groovy를 기반으로 제작된 DSL을 스크립트 언어로 사용하는 오픈 소스 현태의 자동화 도구이다.

※ Groovy : 자바를 기반으로 파이썬, 루비, 스몰토크 등의 특징을 더한 동적 객체지향 프로그래밍 언어

※ DSL : 웹 페이지에 사용되는 HTML과 같이 특정한 도메인에 특화된 언어

 

Jenkins

  • Java 기반의 오픈소스 형태의 빌드 자동화 도구로 쉽게 설치 가능하다.
  • 서버 기반의 도구로서 클라이언트의 요청을 처리하기 위해 서버에서 실행되는 서블릿 실행과 생명주기를 관리하는 서블릿 컨테이너에서 실행된다.

 

DRM(Digital Rights Management)

  • 디지털 콘텐츠의 생성에서부터 실제 사용자까지 모든 유통 과정에 걸쳐 콘텐츠를 안전하게 관리 및 보호하고 허가된 사용자만이 접근할 수 있도록 제한하는 기술이다.
  • 컴퓨터 SW는 무한 복제가 가능하고 원본과 복사본이 동일하게 배포될 가능성이 커 이를 방지하기 위한 기술적인 방법 통칭한다.

 

소프트웨어 국제 표준 품질 특성

ISO/IEC 9126

  • SW 품질 특성과 척도에 관한 지침이다.
  • 고객 관점에서 SW에 관한 품질 특성과 품질 부 특성을 정의한다.

ISO/IEC 12119

  • ISO/IEC 9126의 품질 모델을 따르며 패키지 소프트웨어의 일반적인 제품 품질 요구사항 및 테스트를 위한 국제 표준이다.
  • 제품 설명서, 사용자 문서 및 프로그램으로 구분하여 각각 품질 요구사항을 규정하고 있다.

 

형상관리

  • 개발 단계에 생성되는 모든 문서, 코드 등 SW의 변경사항을 체계적으로 관리하기 위하여 추적하고 통제하는 것이다.
  • 작업 산출물을 형상 항목이라는 형태로 선정하고, 형상 항목 간의 변경사항 추적과 통제 정책을 수립하고 관리한다.

 

형상관리 절차

  1. 형상 식별
    형상 관리 계획을 근거로 형상 관리의 대상이 무엇인지 식별하는 과정이다.
  2. 형상 통제
    요구사항 변경 요구를 관리하고, 변경 제어, 형상 관리 등의 통제를 지원하고 기준선에 대한 관리 및 형상 통제 수행할 수 있다.
  3. 형상 보고 및 감사
    기준선의 무결성 평가 단계로서 개발자, 유지보수 담당자가 아닌 제 3자의 객관적인 확인 및 검증 과정을 통해 새로운 형상의 무결성을 확보하는 활동이다.
  4. 형상 기록/보고
    SW 개발 상태에 대한 보고서를 제공하는 단계로 기준선에 대한 변경과 처리 과정에서의 변경을 상태 보고에 모두 기록한다.

 

SVN(Sub-version)

  • CVS를 개선한 것으로, 아파치에서 2000년에 발표했다.
  • CVS의 단점이었던 파일이나 디렉터리의 이름변경, 이동 등이 가능하다.

 

Git

  • 프로그램 등의 소스 코드 관리를 위한 분산 저장소 방식 시스템이다.
  • 리누스 토르발스가 리눅스 커널 개발에 이용하려고 개발하였으며, 현재는 다른 곳에도 널리 사용되고 있다.
  • 지역 저장소와 원격 저장소 2개의 저장소가 존재한다.

 

형상관리 도구의 기능

  • import : 아무것도 없는 서버의 저장소에 맨 처음 소스 파일을 저장
  • check-in : 개발자가 수정한 소스를 형상관리 도구 저장소로 업로드하는 기능
  • check-out : 형상 관리 저장소로부터 최신 SW형상을 개발자 PC로 가져오는 기능
  • commit : 개발자가 소스를 형상 관리 도구 저장소에 업로드한 후 최종적으로 업데이트가 되었을 때 형상 관리 서버에 반영되도록 하는 기능
  • export : check-out과 달리 버전 관리 파일을 뺀 순수한 소스 파일을 받아 올 수 있다.

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기