애플리케이션/이론 5

[애플리케이션] 형상관리

형상관리(Configuration Management) 시스템서비스 제공 대상 형상항목을 식별하여 기준선을 설정하고, 형상 항목 변경 과정에서 점검, 검증 등의 체계적인 통제를 통해 형 상항목 간의 일관성과 추적성을 확보하기 위한 시스템. 소프트웨어의 개발 및 운영/유지 보수에 필요한 문서 관리, 변경 관리, 버전 관리, 배포 관리 및 작업 산출물에 대한 형상관리를 포함한다     형상관리 : 계획부터 개발, 운영, 유지 보수, 폐기까지 발생하는 모든 활동을 지속적으로 관리    형상항목 : 형상관리 대상이 되는 항목    기준선 : 검토되고 협의되어 향후 기준이 되는 형상항목의 집합체    리포지터리(Repository) : 관리 대상을 형상관리 스스템으로 일괄 전송하여 저장, 관리하는 저장공간    ..

[애플리케이션] 배포

운영환경의 특징 네트워크 관점 일반적으로 인터넷망과 분리되어 직접적인 연결을 허용하지 않고, 별도의 내부망을 구성하고 방화벽을 통해서 인과된 IP를 통해서만 접근을 허용한다. 기업 서버에 접근하기 위해서는 사전에 방화벽 허용 신청을 통해서 배포 서버의 IP가 접근 가능하도록 설정되야 한다. 계정 관리 부분 접근 계정을 별도 IP 관리시스템을 통해서 관리하고 있으며, 정부의 보안 관리 기준에 따라 정기적으로 패스워드(Password)를 변경하는 형태로 관리된다. 애플리케이션 배포 전에 운영 서버에 접근 가능한 계정, 프로토콜, 접근 디렉터리를 정해서 신청해야 한다. 아이디, 패스워드가 소스코드 또는 빌드 스크립상에 하드코딩 되지 않도록 주의해야 한다 (하드코딩 : 변수의 값을 고정하여 코딩) 보안 취약점 ..

[애플리케이션] 빌드

지속적인 통합(CI: Continuous Integration) 환경 애플리케이션 개발 과정 중 지속적으로 개발된 프로그램을 통합, 빌드, 배포하여 애플리케이션의 개발 내역을 검증, 테스트할 수 있는 환경 빌드 도구 애플리케이션의 배포 단위, 형식에 따라 소스코드를 컴파일, 패키징하며, 배포하는 스크립트를 제공하고 수행하는 도구 (Ant, Maven 등) 테스트 도구 개발된 소스코드를 테스트할 수 있는 테스트 코드를 작성, 동작시킬 수 있는 도구로, 통합 빌드 수행시 연결할 수 있다 (Junnit, DBUnit, StrutsTestCase 등) 소스코드 품질 측정도구(코드 인스펙션) 정해진 소스코드 작성 규칙에 따라 소스코드를 점검하고 규칙 위반 여부를 체크하는 도구. 통합 빌드 수행 시 연결할 수 있다..

[애플리케이션] 배포환경 구성

컴파일 언어 기계어로 바로 변환되어 실행되기 때문에 가장 속도가 빠르고 보안에 유리하다. 하지만 소스 변경 시마다 컴파일 과정을 통해서 빌드 작업을 수행하기 때문에 빌드 과정이 오래 걸린다. ex) C, C++ Byte Code 언어 컴파일의 결과물이 실행파일이 아닌 'class'라는 바이트 코드 파일로 생성, 가상 실행환경인 JRE(Java Rutime Environment), CLI(Common Language Infrastructure)에서 한 줄씩 실행하는 방식으로 빌드된다. JRE, CLI 환경에서 실행될 때 기계어로 변환되며, 컴파일 언어에 비해 빌드 과정이 빠르다. ex) Java, C# 인터프리터 언어 한 줄 씩 번역되어 실행된다. 컴파일 과정에서 메모리가 훨씬 적게 소모되고 빠른 시간에 ..

[애플리케이션] 소스 검증

소스코드 검증도구 검증도구의 용도 정적 테스트 도구는 테스트하기 전에 코딩 오류, 성능 저하, 보안 취약점 등의 결함을 조기에 발견할 수 있도록 지원. 개발의 생산성을 향상시키고, 운영환경에서 프로그램의 품질 향상을 제고한다 동적 테스트 도구는 테스트 미수행 코드를 확인하고 분기(결정)문 등 특정 유형의 코드 구조가 충분히 테스트 되었는지를 확인하여 추가적인 테스트를 진행하여 애플리케이션의 안정성을 제고한다 검증도구의 구분 소스코드 검증도구는 구현된 SW를 실행하지 않고 테스트하는 정적 테스트, 도구와 구현된 SW를 실행하여 동작을 보면서 테스트하는 동적 테스트 도구로 구분한다. 동적 테스트 방법 ( 블랙박스 테스트, 화이트박스 테스트) 블랙박스 테스트 블랙박스 테스트는 소프트웨어의 내부 구조나 작동 원..