개발 환경 구축
응용 소프트웨어 개발을 위해 프로젝트의 목적과 요구사항에 맞게
필요한 하드웨어와 소프트웨어를 선정 및 설치하여 환경을 구성하는 과정
- 응용 소프트웨어를 효율적으로 개발·운영하기 위한 환경을 조정
- 분석 단계의 산출물(요구사항 명세서, 설계서 등)을 근거로 함
- 하드웨어 환경 + 소프트웨어 환경
- 운영 환경과 유사한 구조로 구성하여 실제 운영 시 오류를 최소화
하드웨어 환경
소프트웨어가 구동될 실제 물리적 장비나 시스템 환경
- 구성 요소
- 클라이언트
- 사용자와 직접 상호작용하는 장치
- 서버
- 클라이언트의 요청을 처리하고 서비스를 제공하는 장치
- 클라이언트
- 서버의 종류 및 역할
- 웹 서버(Web Server)
- 클라이언트의 요청을 직접 받아 정적 콘텐츠를 제공
- 웹 애플리케이션 서버(WAS; Web Application Server)
- 동적 서비스 제공, 웹 서버와 DB 서버 간 중간 계층 역할
- 데이터베이스 서버(DB Server)
- 데이터베이스와 DBMS를 운영하여 데이터의 저장, 관리, 검색 수행
- 파일 서버(File Server)
- 비정형 데이터(이미지, 문서 등)를 저장하고 관리하는 전용 서버
- 웹 서버(Web Server)
웹 서버(Web Server)의 기능
- HTTP/HTTPS 지원
- 브라우저 요청/응답 시 사용하는 통신 프로토콜
- 통신 로그 기록
- 요청 처리 내역을 로그 파일에 기록하여 추적 가능
- 정적 파일 관리
- HTML, CSS, JS, 이미지 등 정적 자원 관리
- 대역폭 제한
- 트래픽 과부하 방지를 위해 응답 속도를 제한
- 가상 호스팅
- 하나의 서버에서 여러 도메인 운영 가능
- 인증
- 사용자 접근 시 인증 절차 수행
소프트웨어 환경
개발과 운영을 지원하는 시스템 소프트웨어 + 개발 소프트웨어
- 시스템 소프트웨어
- 운영체제(OS)
- 웹 서버 및 WAS 프로그램
- DBMS
- 개발 소프트웨어
- 요구사항 관리 도구
- 요구사항 수집·분석·추적 지원
- 설계/모델링 도구
- UML 기반 설계 및 시각화 지원
- 구현 도구
- 실제 프로그램 코드를 작성하는 개발 환경
- 빌드 도구
- 소스코드를 컴파일·패키징하여 실행 파일 생성
- 테스트 도구
- 기능·성능·단위 테스트 수행
- 형상 관리 도구
- 버전별 코드 및 산출물 관리
- 요구사항 관리 도구
개발 언어의 선정 기준
- 적정성
- 개발 목적과 기능에 가장 적합한 언어인지
- 효율성
- 코드 작성 및 실행 효율이 높은지
- 이식성
- 다양한 운영 환경에 적용 가능한지
- 친밀성
- 개발자들이 익숙하게 사용할 수 있는 언어인지
- 범용성
- 다양한 분야에서 활용 가능한 언어인지
'정보처리기사' 카테고리의 다른 글
| 정보처리기사 실기 - 아키텍처 패턴 종류·특징 정리 (0) | 2025.11.05 |
|---|---|
| 정보처리기사 실기 - 소프트웨어 아키텍처 설계 원리 & 품질 속성 정리 (0) | 2025.11.05 |
| 정보처리기사 실기 - 연계 테스트: 시스템 간 데이터 검증 절차 정리 (0) | 2025.11.03 |
| 정보처리기사 실기 - XML (0) | 2025.11.03 |
| 정보처리기사 실기 - 연계 데이터 암·복호화 절차 요약 (0) | 2025.11.03 |