정보 처리 기사 실기 8. 서버 프로그램 구현 - 개발환경 구축

2021. 10. 10. 17:00정 보 처 리 기 사 공 부/실 기

728x90
반응형

● 개발 도구의 분류

구분 설명
빌드 도구 · 작성한 코드의 빌드 및 배포를 수행하는 도구
· 각각의 구성요소와 모듈에 대한 의존성 관리를 지원
구현 도구 · 개발자의 코드 작성과 디버깅, 수정 등과 같은 작업을 지원하는 도구
· 프로그램을 개발할 때 가장 많이 사용되는 도구
테스트 도구 · 코드의 기능 검증과 전체의 품질을 높이기 위해 사용하는 도구
· 코드의 테스트, 테스트에 대한 계획, 수행 및 분석 등의 작업 가능
형상 관리 도구 · 개발자들이 작성한 코드와 리소스 등 산출물에 대한 버전 관리를 위한 도구
· 프로젝트 진행 시 필수로 포함되는 도구

 

● 서버 하드웨어 개발환경

구분 설명
웹 서버 · HTTP를 이용한 요청/응답을 처리
· 웹 상의 정적 콘텐츠(CSS, Javascript, Image)를 처리
· WEB-WAS-DB의 3계층 구조를 실무에서 활용
· 주요 제품으로 Apache 웹 서버, IIS 웹 서버, Google Web Server, Nginx 등 존재
웹 애플리케이션 서버 · 동적 콘텐츠(Servlet, JSP)를 처리하기 위해 사용
· 주요 제품으로 Tomcat, Weblogic, Jeus, Resin 등 존재
데이터베이스 서버 · 데이터의 수집, 저장을 위한 용도로 사용
· 연계되는 주요 DBMS로 Mysql, Oracle, MS-SQL, DB2 등 존재
파일 서버 · 파일 저장 하드웨어로 물리 저장장치를 활용한 서버
· 대용량 HDD, SSD 등의 장치가 존재

 

● 클라이언트 하드웨어 개발환경

구분 설명
클라이언트 프로그램 · 설치를 통해 사용자와 커뮤니케이션하는 프로그램
· Visual Basic, C#, Delphi 등으로 개발되어 사용
웹 브라우저 · 웹 서비스의 형태로 서버에서 웹 애플리케이션을 응답 시 브라우저를 통해 사용자와 커뮤니케이션
· 일반적인 형태의 웹 사이트가 해당
모바일 앱 · 모바일 디바이스에 설치되어 활용되는 애플리케이션
· 앱 스토어, 안드로이드 마켓 등을 통해 다운로드 가능
모바일 웹 · 웹 브라우저와 동일한 형태로 모바일 상 웹 브라우저를 통해 서비스를 제공
· 모바일에 최적화되어 제공되는 웹사이트가 해당

 

● 소프트웨어 개발환경

구분 설명
운영체제 · 서버의 하드웨어를 사용자 관점에서 편리하고 유용하게 사용하기 위한 소프트웨어
· 프로젝트의 성격에 따른 운영체제 사용
미들웨어 · 컴퓨터와 컴퓨터 간의 연결을 쉽고 안전하게 할  수 있도록 해주고 이에 대한 관리를 도와주는 소프트웨어
· 자바 기반 환경에서 JVM을 설치하여 컨테이너로의 기능을 주로 이용
DBMS · 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해주는 소프트웨어
· 데이터의 저장 및 활용을 위해 DBMS를 설치

 

● 형상 관리의 개념

형상 관리는 소프트웨어 개발을 위한 전체 과정에서 발생하는 모든 항목의 변경사항을 관리하기 위한 활동이다. SW 생명 주기 동안 형상 관리를 통해 산출물을 체계적으로 관리하여 SW의 가시성, 추적성, 무결성 등의 품질 보증을 보장할 수 있다.

 

● 형상 관리의 절차

절차 설명
형상 식별 · 형상 관리 대상을 정의 및 식별하는 활동
· 추적성 부여를 위해 ID와 관리번호를 부여
· 변경 관련 이슈 발생 시 ID와 관리번호를 이용하여 추적
형상 통제 · 형상 항목의 버전 관리를 위한 형상통제위원회 운영
· 변경요구 관리, 변경제어, 형상 관리 등 통제 지원
· 베이스라인에 대한 관리 및 형상 통제 수행 가능
형상 감사 · 소프트웨어 베이스라인의 무결성 평가
· 베이스라인 변경 시 요구사항과 일치 여부 검토
형상 기록 · 소프트웨어 형상 및 변경관리에 대한 각종 수행결과를 기록
· 형상결과 보고서 작성

 

● 소프트웨어 형상 관리 도구 유형

형상 관리 도구 유형 설명
공유 폴더 방식 · 매일 개발이 완료된 파일은 약속된 위치의 공유 폴더에 복사하는 방식
· 담당자 한 명이 매일 공유 폴더의 파일을 자기 PC로 복사하고 컴파일하여 에러 확인과 정상 동작 여부 확인
· 정상 동작일 경우 다음날 각 개발자들이 동작 여부 확인
클라이언트 / 서버 방식
(CVS, SVN)
· 중앙에 버전 관리 시스템을 항시 동작시키는 방식
· 개발자들의 현재 작업 내용과 이전 작업 내용 추적에 용이
· 서로 다른 개발자가 같은 파일을 작업했을 때 경고 메시지 출력
분산 저장소 방식
(Git 등)
· 로컬 저장소와 원격 저장소로 분리되어 분산 저장하는 방식
· 중앙의 저장소에서 로컬 파일을 복사한 순간 개발자 자신만의 로컬 저장소에 생성
· 개발 완료한 파일을 수정한 다음에 로컬 저장소에 우선적으로 커밋한 이후, 다시 원격 저장소에 반영하는 방식

 

● 소프트웨어 형상 관리 도구별 특징

형상 관리 도구 설명
CVS
(Concurrent Versions System)
· 서버와 클라이언트로 구성되어있고, 다수의 인원이 동시에 범용적인 운영체제로 접근 가능한 형상 관리 도구
SVN
(Subversion)
· 하나의 서버에서 소스를 쉽고 유용하게 관리할 수 있게 도와주는 도구
· 저장소를 만들어 그곳에 소스를 저장해 소스 중복이나 여러 문제를 해결하기 위한 도구
RCS
(Revision Control System)
· CVS와 달리 소스 파일의 수정을 한 사람만으로 제한하여 다수의 사람이 파일의 수정을 동시에 할 수 없도록 파일 잠금 방식으로 형상을 관리하는 도구
Bitkeeper · SVN과 비슷한 중앙 통제 방식으로 대규모 프로젝트에서 빠른 속도를 내도록 개발한 형상 관리 도구
Git · Git의 속도에 중점을 둔 분산형 버전 관리 시스템이며, 대형 프로젝트에서 효과적이고 유용
· Git의 커밋 동작은 로컬 저장소에서 이루어지고 푸시라는 동작으로 원격 저장소에 반영
· 로컬 저장소에서 작업이 이루어져 매우 빠른 응답을 받을 수 있음
· Git의 작업 폴더는 전체 기록과 각 기록을 추적할 수 있는 정보를 포함하는 완전한 형태의 저장소
Clear Case · 복수 서버, 복수 클라이언트 구조이며 서버가 부족할 때 필요한 서버를 하나씩 추가하여 확장성을 기할 수 있음
728x90
반응형