Chimy's Program
정보처리기사 실기 - 서버프로그램 구현 : 개발환경 구축 본문
정보처리기사 실기 - 서버프로그램 구현 : 개발환경 구축
개발환경 구성
① 개발 하드웨어 환경 개발 하드웨어 환경은 운영환경과 유사한 구조로 구성
(1) 클라이언트(Client) 환경
- 구성 서버 시스템에서 제공하는 서비스를 활용하기 위해 사용자와의 인터페이스(Interface)를 제공하는 하드웨어
- 일반적으로 PC(Client/Server 화면), 웹 브라우저 화면, 핸드폰(모바일 앱)이 클라이언트로 활용
(2) 서버(Server) 환경 구성
- 서버 활용 목적에 따라 애플리케이션 서버, 데이터베이스 서버, 파일 서버로 분류
- 웹 서비스를 제공하기 위해서 애플리케이션 서버를 웹 서버와 웹 애플리케이션 서버로 분리하여 구성
(가) 웹(Web) 서버
- 클라이언트(웹 브라우저 화면)에서 요청하는 서비스의 속도를 향상시키기 위해 정적 파일(HTML, CSS, 이미지 등)들을 제공하는 웹 서버 애플리케이션이 설치되는 하드웨어
(나) 웹 애플리케이션(Application) 서버
- 동적 웹 서비스를 제공하기 위해 Tomcat, Undertow, IIS 등 미들웨어인 WAS(Web Application Server)와 서비스에 관련된 애플리케이션이 설치되는 하드웨어
(다) 데이터베이스(Database) 서버
- MySql, Oracle, MS-SQL 같은 데이터베이스가 설치되는 하드웨어
(라) 파일(File) 서버
- 서비스 제공을 위해 파일을 저장, 공유하기 위한 파일 저장 하드웨어
② 개발 소프트웨어 환경
- 개발 소프트웨어 환경도 개발 하드웨어 환경과 마찬가지로 운영환경과 동일한 구조로 구성
- 개발용 소프트웨어 환경을 구축하기 위해서 소프트웨어 구성 고려
(1) 시스템 소프트웨어
(가) 운영체제(OS: Operation System)
- 하드웨어 운영을 위한 운영체제
- Windows/Linux/UNIX 등의 환경으로 구성
- 일반적으로 상세 소프트웨어 명세는 하드웨어를 제공하는 벤더(Vendor)에서 제공
(나) JVM(Java Virtual Machine)
- Java 관련 응용 프로그램을 기동하기 위한 인터프리터 환경
- 적용 버전을 개발 표준에서 명시하여 모든 개발자가 동일한 버전 적용
(다) Web Server
- 정적 웹 서비스를 수행하는 미들웨어
- 웹 브라우저 화면에서 요청하는 정적 파일 제공
- Apache, Nginx, IIS(Internet Information Server), GWS(Google Web Server)
(라) WAS(Web Application Server)
- 웹 애플리케이션을 수행하는 미들웨어
- 웹 서버와 JSP/Servlet 애플리케이션 수행을 위한 엔진으로 구성
- Tomcat, Undertow, JEUS, Weblogic, Websphere
(마) DBMS(Database Management System)
- 데이터 저장과 관리를 위한 데이터베이스 소프트웨어
- Oracle, DB2, Sybase, SQL Server, MySQL
(2) 개발 소프트웨어
(가) 요구사항관리 도구
- 목표 시스템의 기능과 제약 조건 등 고객의 요구 사항을 수집, 분석, 추적을 쉽게 할 수 있게 지원
- JFeature, JRequisite, OSRMT, Trello
(나) 설계/모델링 도구
- 기능을 논리적으로 결정하기 위해 통합 모델링 언어(UML: Unified Modeling Language) 지원, Database 설계 지원 등 설계 및 모델링을 지원하는 도구
- ArgoUML, DB Designer, StarUML
(다) 구현 도구
- 문제해결 방법을 소프트웨어 언어를 통해 구현 및 개발 지원
- Eclipse, IntelliJ, Visual Studio
(라) 테스트 도구
- 구현 및 개발된 모듈들에 대하여 요구 사항에 적합하게 구현되어 있는지 테스트 지원
- JUnit, CppUnit, JMeter SpringTest
(마) 형상관리 도구
- 산출물의 변경 사항을 버전별로 관리하여 목표 시스템의 품질 향상을 지원
- Git, SVN
형상관리 구성
① 형상관리(SCM, Software Configuration Management)
- 소프트웨어의 개발 과정에서 발생 하는 산출물의 변경 사항을 버전 관리하기 위한 일련의 활동
- 소프트웨어 변경사항을 파악/제어, 적절히 변경되고 있는지 확인하여 해당 담당자에게 통보하는 작업
- 프로젝트 생명주기의 전 단계에서 수행하는 활동으로 유지 보수 단계에서도 수행
- 형상관리를 함으로써 소프트웨어 개발의 전체 비용을 줄이고 개발 과정에서 발생하는 여러 가지 문제점 발생 요인이 최소화되도록 보증하는 것이 목적
② 형상관리 절차
(1) 형상 식별
- 형상관리 대상을 식별하여 이름과 관리 번호를 부여, 계층(Tree) 구조로 구분하여 수정 및 추적이 용이하도록 하는 작업으로 베이스라인의 기준을 정하는 활동
(가) 형상관리 대상이 되는 형상인 형상항목
- 소프트웨어 공학 기반 표준과 절차: 방법론, WBS, 개발 표준
- 소프트웨어 프로젝트 계획서
- 소프트웨어 요구 사항 명세서
- 소프트웨어 아키텍처, 실행 가능한 프로토타입
- 소프트웨어 화면, 프로그램 설계서
- 데이터베이스 기술서: 스키마, 파일 구조, 초기 내용
- 소스코드 목록 및 소스코드
- 실행 프로그램
- 테스트 계획, 절차, 결과
- 시스템 사용 및 운영과 설치에 필요한 매뉴얼
- 유지 보수 문서: 변경 요청서, 변경 처리 보고서
(2) 변경 제어
- 식별된 형상항목의 변경 요구를 검토, 승인하여 적절히 통제함으로써 현재의 베이스라인에 잘 반영될 수 있도록 조정하는 작업
- 적절한 형상 통제가 이루어지기 위해 형상통제위원회 승인을 통한 통제 필요
(3) 형상 상태 보고
- 베이스라인의 현재 상태 및 변경 항목들이 제대로 반영되는지 여부를 보고하는 절차
- 형상의 식별, 통제, 감사 작업의 결과를 기록 및 관리하고 보고서를 작성하는 작업
(4) 형상 감사
- 베이스라인의 무결성을 평가하기 위해 확인, 검증 과정을 통해 공식적으로 승인하는 작업
수행
① 통합 개발환경 도구 설치
- 준비 단계에서 선정한 통합 개발환경 도구를 설치
(1) 요구 사항에 적합한 통합 개발환경 도구 다운
- 개발환경 도구 설치
(2) 다운받은 통합 개발환경 도구 설치
- 통합 개발환경 도구 실행
② Java 웹 애플리케이션 환경 구성
(1) Spring 프레임워크 환경 구성
- Spring 환경을 구성을 위해서는 STS(Spring Tool Suite)를 설치해야 하므로 통합 개발환경 도구에서 STS를 Plug-in
- STS Plug-in
- STS 설치(Install)
(2) Spring 프레임워크 기반의 웹 애플리케이션 프로젝트 생성
(가) 새로운 Spring 웹 프로젝트 생성
- File > New > Project 메뉴 선택 후 Spring Legacy Project 선택
(나) Maven 프로젝트로 선택
- 프로젝트명을 입력하고 Spring MVC Project 타입 선택
- Next 버튼을 클릭하여 패키지(package)명을 입력하면 Maven 프로젝트가 구성
(다) 구성된 프로젝트 확인
(3) 단위 테스트 자동화 도구의 성치 여부 확인
- pom.xml 파일 안에 단위 테스트 도구가 포함되어 있는지 확인
③ 형상관리 도구 설치(Git 기준)
(1) 형상관리 도구 다운로드
(2) 형상관리 도구 설치
- 다운로드한 형상관리 도구를 실행해 안내에 따라 설치
(3) 설치한 형상관리 도구의 환경 설정
- 설치완료 후 사용자 정보 설정
- 사용자 정보는 사용자의 이름과 e-mail을 최우선으로 설정
- 사용자 이름 설정 : git config --global user.name "사용자 이름"
- 사용자 e-mail 설정 : git config --global user.email 이메일 주소
- 설정 확인 : git config --list
'BASE' 카테고리의 다른 글
정보처리기사 실기 - 서버프로그램 구현 : 공통 모듈 테스트 (0) | 2020.07.02 |
---|---|
정보처리기사 실기 - 서버프로그램 구현 : 공통 모듈 구현 (0) | 2020.07.01 |
정보처리기사 실기 - 서버프로그램 구현 : 개발환경 준비 (0) | 2020.06.29 |
정보처리기사 실기 - 통합 구현 : 연계 테스트 및 검증 (0) | 2020.06.28 |
정보처리기사 실기 - 통합 구현 : 연계 모듈 구현 환경 구성 및 개발 (0) | 2020.06.27 |