서버프로그램구현
- 응용소프트웨어 개발에 필요한 하드웨어 및 소프트웨어의 필요 사항을 검토하고, 이에 따라 개발환경에 필요한 준비를 수행
- 응용소프트웨어 개발에 필요한 하드웨어 및 소프트웨어를 설치하고 설정하여 개발환경을 구축
- 사전에 수립된 형상관리 방침에 따라 운영 정책에 부합하는 형상관리 환경을 구축
용어사전
- 구현도구
- 프로그램을 개발할 때 가장 많이 사용되는 도구로서 코드의 작성 및 편집, 디버깅 등과 같은 다양한 작업이 가능
- 클라이언트
- 시스템에서 제공하는 서버를 활용하기 위해 거래를 발생시키는 하드웨어
- 형상관리
- 소프트웨어 개발 과정에서 소프트웨어의 변경사항을 관리하기 위해 개발된 일련의 활동
개발환경 구축의 개념
- 해당 프로젝트의 목적과 구축 설계에 대한 명확한 이해가 필요
- 이에 맞는 하드웨어 소프트웨어 선정이 필요
- 제품들의 성능과 라이선스 그리고 사용 편의성 등에 대한 내용 파악도 필요
개발 하드웨어 환경
1. Client 클라이언트 환경 구성
- 서버 시스템에서 제공하는 서비스를 활용하기 위해 사용자와의 인터페이스를 제공하는 하드웨어
- 종류
- PC
- 웹 브라우저 화면
- 모바일 앱
2. Server 서버 환경 구성
- Web 웹 서버
- 클라이언트에서 요청하는 서비스의 속도를 향상시키기 위해 정적파일들을 제공하는 웹 서버 애플리케이션이 설치되는 하드웨어
- WAS; Web Application Server 웹 애플리케이션 서버
- 동적 웹 서비스를 제공하기 위해 Tomcat, Underflow, IIS 등 미들웨어인 WAS와 서비스에 관련된 애플리케이션이 설치되는 하드웨어
- Database 데이터베이스 서버
- MySQL, Oracle
- 파일 서버
- 서비스 제공을 위해 파일을 저장하고, 공유하기 위한 파일 저장 하드웨어
개발 소프트웨어 환경
1. 시스템 소프트웨어
- OS; Operation System 운영체제
- 종류
- Windows
- Linux
- UNIX
- JVM; Java Virtual Machine
- Java 관련 응용프로그램을 가동하기 위한 인터프리터 환경
- Web Server
- 정적 웹 서비스를 수행하는 미들웨어로서 웹 브라우저 화면에서 요청하는 정적파일 제공
- 종류
- Apache
- Nginx
- IIS
- GWS
- 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)지원
- Database 설계 지원
- 종류
- ArgoUML
- DB Designer
- StarUML
- 구현 도구
- 문제 해결방법을 소프트웨어 언어를 통해 구현 및 개발을 지원하는 도구
- 종류
- Eclipse
- Intelli J
- Vistual Studio
- 테스터 도구
- 구현및 개발된 모듈들에 대하여 요구 사항에 적합하게 구현되어 있는지 테스트를 지원하는 도구
- 종류
- JUnit
- CppUnit
- Jmeter
- SpringTest
- 형상관리 도구
- 산출물의 변경 사항을 버전별로 관리하여 목표 시스템의 품질 향상을 지원하는 도구
- 종류
- CSV
- SVN
- Git
개발환경 구축 순서
1. 목표시스템의 환경 및 요구사항 분석
- 제안 요청서, 제안서, 사업 수행 계획서, 요구사항 정의서, 시스템 아키텍처, 애플리케이션 아키텍처 등 분석 및 설계시의 산출물을 분석하여 개발환경 준비
- 목표시스템의 환경 예시
- 목표시스템
- 개발언어
- 개발인원 및 기간
- 사양관련
2. 개발언어 설정
-
기준
- 적정성
- 대상 업무의 성격
- 개발하고자 하는 시스템이나 응용 프로그램의 목적에 적합
- 효율성
- 프로그래밍의 효율성이 고려
- 이식성
- 일반적인 PC 및 OS에 개발환경이 설치 가능
- 친밀성
- 프로그래머가 그 언어를 이해하고 사용할 수 있음
- 범용성
- 관거 개발 실적이나 사례가 존재하고, 광범위한 분야에서 사용되고 있어야 함
3. 통합 개발환경 선정
4. 프로그램의 배포 및 라이브러리 관리를 위한 빌드 도구 선정
- 빌드 도구의 선정
- 프로젝트 팀원의 빌드 도구의 친밀도와 숙련도에 따라 결정
- 형상관리 도구를 고려하여 빌드 도구 선정
- 통합 개발 도구와 호환이 가능한 빌드 도구 선정
5. 개발 인원을 고려한 형상관리 도구를 선정
- 종류
- CVS
- SVN
- Git
- 목표 시스템 환경 등을 고려하여 선정
- 통합 개발 도구와 호환이 가능한 빌드 도구를 선정
6. 프로젝트 검증에 적합한 테스트 도구를 선정
- 통합 개발 도구와 호환이 가능하고 널리 사용되는 테스트 자동화 도구를 선정
- 적정성