본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Development Environment Setup
응용 소프트웨어 개발에 필요한 하드웨어와 소프트웨어를 선정·설치하고 개발 프로젝트를 이해하는 활동

개발환경은 크게 하드웨어 환경과 소프트웨어 환경으로 나눈다. 시스템 요구사항과 현행 시스템 분석 결과를 바탕으로 목표 시스템의 운영 환경과 같거나 비슷하게 구성한다.

하드웨어 환경

편집 원본 편집
구분 역할 예
클라이언트 사용자가 서비스를 이용하는 단말 PC, 스마트폰, 태블릿
웹 서버 클라이언트 요청을 받아 정적 파일(HTML, CSS, 이미지)을 제공 Apache HTTP Server, Nginx, IIS
WAS 동적 콘텐츠를 처리하는 애플리케이션 실행 환경 Tomcat, JEUS, WebLogic, WebSphere
DB 서버 DBMS가 설치되어 데이터를 저장·관리 Oracle, MySQL, PostgreSQL
파일 서버 파일 저장용 하드웨어(스토리지) NAS, 스토리지 장비

소프트웨어 환경

편집 원본 편집
  • 시스템 소프트웨어: 운영체제, 웹 서버·WAS 운용 소프트웨어, DBMS
  • 개발 소프트웨어: 아래 도구들
도구 설명 예
요구사항 관리 도구 요구사항 수집·분석·추적 JFeature, JRequire
설계/모델링 도구 UML 등으로 설계와 모델링을 지원 StarUML, ArgoUML, DB Designer
구현 도구 코드 작성·디버깅·컴파일을 지원하는 IDE Eclipse, IntelliJ IDEA, Visual Studio
테스트 도구 모듈·통합 테스트와 성능 측정 JUnit, CppUnit, JMeter
형상 관리 도구 산출물과 소스 코드의 버전 관리 Git, Subversion, CVS
빌드 도구 소스 코드를 실행 가능한 산출물로 컴파일·패키징 Ant, Maven, Gradle, Jenkins

개발 언어 선정 기준

편집 원본 편집
  • 적정성: 개발하려는 소프트웨어 목적에 적합한가
  • 효율성: 코드가 효율적으로 실행되는가
  • 이식성: 여러 운영체제·환경에서 쉽게 쓸 수 있는가
  • 친밀성: 개발자가 이해하고 활용할 수 있는가
  • 범용성: 다른 개발 사례에서도 널리 쓰이는가

서버 개발 프레임워크

편집 원본 편집

서버 개발은 웹 애플리케이션을 구현하는 작업이며, 보통 프레임워크 위에서 진행한다. 프레임워크는 공통 기능을 미리 구현해 두어 개발 생산성과 품질을 높인다.

프레임워크 언어 비고
Spring Java 전자정부 표준프레임워크의 기반
Node.js (Express) JavaScript 비동기 이벤트 기반
Django Python 관리자 기능 기본 제공
CodeIgniter PHP 경량 프레임워크
Ruby on Rails Ruby 관례에 따른 설정
  • 프레임워크의 특성: 모듈화, 재사용성, 확장성, 제어의 역흐름(IoC: 객체 흐름을 개발자가 아니라 프레임워크가 관리)
  • 선정 시 고려 사항: 지원 언어와 개발팀 역량, 운영 환경과의 호환성, 커뮤니티·기술 지원, 라이선스, 공공 사업의 경우 전자정부 표준프레임워크 적용 여부
  • 필기: 개발 소프트웨어 도구의 분류(요구사항 관리, 설계/모델링, 구현, 테스트, 형상 관리, 빌드)와 예시 도구를 짝짓는 문제
  • 필기: 웹 서버와 WAS, DB 서버의 역할 구분
  • 프레임워크의 특성(모듈화, 재사용성, 확장성, 제어의 역흐름)과 전자정부 표준프레임워크