개발 환경 구성 시 구현될 시스템 요구 사항의 명확한 이해가 필요
빌드 도구
작성한 코드의 빌드 및 배포를 수행하는 도구
구현 도구
개발자의 코드 작성과 디버깅, 수정 등과 같은 작업을 지원하는 도구
테스트 도구
코드의 기능 검증과 전체의 품질을 높이기 위해 사용하는 도구
형상 관리 도구
개발자들이 작성한 코드와 리소스 등 산출물에 대한 버전 관리를 위한 도구
① 서버 하드웨어 개발 환경
웹 서버
HTTP를 이용한 요청 및 응답을 처리
정적 콘텐츠를 처리하기 위해 사용
ex. Apache, IIS, Google, Nginx
웹 애플리케이션 서버
동적 콘텐츠를 처리하기 위해 사용
ex. Tomcat, Weblogic, Jeus, Resin
데이터베이스 서버
데이터의 수집 및 저장을 위한 용도로 사용
ex. MySQL, Oracle, MS-SQL
파일 서버
파일 저장 하드웨어로 물리 저장 장치를 활용한 서버
② 클라이언트 하드웨어 개발 환경
클라이언트 프로그램
설치를 통해 사용자와 커뮤니케이션하는 프로그램
웹 브라우저
웹 서비스의 형태로 서버에서 웹 애플리케이션을 응답 시 브라우저를 통해 사용자와 커뮤니케이션
모바일 앱
모바일 디바이스에 설치되어 활용되는 애플리케이션
모바일 웹
웹 브라우저와 동일한 형태로 모바일 상 웹 브라우저를 통해 서비스를 제공
운영체제
서버의 하드웨어를 사용자 관점에서 편리하고 유용하게 사용하기 위한 소프트웨어
ex. Windows, Unix, Linux
미들웨어
컴퓨터 간 연결을 쉽고 안전하게 할 수 있도록 해주고 이에 대한 관리를 도와주는 소프트웨어
ex. Weblogic, Webspehere, Jeus, Tomcat
DBMS
사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고, 데이터베이스를 관리해 주는 소프트웨어
ex. Oracle, MySQL, MS-SQL, PostgreSQL
소프트웨어 개발을 위한 전체 과정에서 발생하는 모든 항목의 변경 사항을 관리하기 위한 활동
통합 개발 환경 설치
도구 : Eclipse, IntelliJ, Android Studio
형상 관리 도구 설치
도구 : Git, SVN, CVS
빌드 도구 설치
도구 : Ant, Maven, Gradle