p.534, 4-2
1) 개발 환경 구축의 개요
- 응용 소프트웨어 개발을 위해 개발 프로젝트를 이해하고 하드웨어 및 소프트웨어 장비를 구축하는 것
- 하드웨어와 소프트웨어의 성능, 편의성, 라이선스 등의 비즈니스 환경에 적합한 제품들을 최종적으로 결정하여 구축함
2) 하드웨어 환경 ★
- 사용자와의 인터페이스 역할을 하는 클라이언트(Client)와 클라이언트와 통신하여 서비스를 제공하는 서버(Server)로 구성됨
- 클라이언트: PC, 스마트폰 등
- 서버: 웹 서버, 웹 애플리케이션 서버(WAS), 데이터베이스 서버, 파일 서버 등
▶ 웹 서버(Web Server) __ 4-96
- 클라이언트로부터 직접 요청을 받아 처리하는 서버로, 저용량의 정적 파일들을 제공
# Apache HTTP Server, Microsoft Internet Service, Google Web Server 등
▶ 웹 애플리케이션 서버(WAS; Web Application Server) ★
- 정적인 콘텐츠를 처리하는 웹 서버(Web Server)와 반대됨
- 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어(=소프트웨어)
- 데이터 접근, 세션 관리, 트랜잭션 관리 등을 위한 라이브러리를 제공
# Apache Tomcat, IBM WebSphere, Oracle WebLogic, JEUS, JBoss, Jetty, Resin 등등
▶ 데이터베이스 서버(Database Server) __ 4-98
- 데이터베이스와 이를 관리하는 DBMS를 운영하는 서버
# MySQL Server, IBM WebSphere, Oracle WebLogic 등
▶ 파일 서버(File Server)
- 데이터베이스에 저장하기에는 비효율적이거나, 서비스 제공을 목적으로 유지하는 파일들을 저장하는 서버
# AWS S3 등
3) 웹 서버(Web Server)의 기능 __ 4-97
기능 |
설명 |
HTTP/HTTPS 지원 |
브라우저로부터 요청을 받아 응답할 때 사용되는 프로토콜 |
통신 기록 (Communication Log) |
처리한 요청들을 로그 파일로 기록하는 기능 |
정적 파일 관리 ★ (Managing Static Files) |
HTML, CSS, 이미지 등의 정적 파일들을 저장하고 관리하는 기능 |
대역폭 제한 ★ (Bandwidth Throttling) |
네트워크 트래픽의 포화를 방지하기 위해 응답 속도를 제한하는 기능 |
가상 호스팅 ★ (Virtual Hosting) |
하나의 서버로 여러 개의 도메인 이름을 연결하는 기능 |
인증(Authentication) |
사용자가 합법적인 사용자인지를 확인하는 기능 |
4) 소프트웨어 환경
- 클라이언트와 서버 운영을 위한 시스템 소프트웨어와 개발에 사용되는 개발 소프트웨어로 구성됨
- 시스템 소프트웨어: 운영체제(OS), 웹 서버 및 WAS 운용을 위한 서버 프로그램, DBMS
- 개발 소프트웨어: 요구사항 관리 도구, 설계/모델링 도구, 빌드 도구, 구현 도구, 테스트 도구, 형상 관리 도구 등
#요설 빌구테형
▶ 요구사항 관리 도구 ★
- 요구사항의 수집과 분석, 추적 등을 편리하게 도와주는 소프트웨어
# JIRA, IMB DOORS, inteGREAT, Reqtify, Trello 등
▶ 설계/모델링 도구
- UML을 지원하며, 개발의 전 과정에서 설계 및 모델링을 도와주는 소프트웨어
# DB Designer, PlantUML, ArgoUML 등
▶ 빌드 도구 ★
- 구현 도구를 통해 작성된 소스의 빌드 및 배포, 라이브러리 관리를 지원하는 소프트웨어
# Ant, Maven, Gradle, Jenkins 등
▶ 구현 도구 ★
- 개발 언어를 통해 애플리케이션의 실제 구현을 지원하는 소프트웨어
# Eclipse, IntelliJ IDEA, Visual Studio, Node.js 등
▶ 테스트 도구
- 모듈들이 요구사항에 적합하게 구현됐는지 테스트하는 소프트웨어
# CppUnit, JUnit, HttpUnit, NUnit, SprintTest 등
▶ 형상 관리 도구 ★
- 산출물들을 버전별로 관리하여 품질 향상을 지원하는 스프트웨어
# CVS, SVN(Subversion), GIT 등
5) 개발 언어의 선정 기준 ★★
선정 기준 |
설명 |
적정성 |
개발하려는 소프트웨어의 목적에 적합해야 함 |
효율성 |
코드의 작성 및 구현이 효율적이어야 함 |
이식성 |
다양한 시스템 및 환경에 적용 가능해야 함 |
친밀성 |
개발 언어에 대한 개발자들의 이해도와 활용도가 높아야 함 |
범용성 |
다른 개발 사례가 존재하고 여러 분야에서 활용되고 있어야 함 |
#적효이친범
'정보처리기사 필기 총정리 > 4과목: 프로그래밍 언어 활용' 카테고리의 다른 글
데이터 타입 ★★ (0) | 2020.10.04 |
---|---|
패키지 소프트웨어 ★ (0) | 2020.10.04 |
배치 프로그램 ★★ (0) | 2020.10.04 |
보안 및 API ★★ (0) | 2020.10.04 |
서버 개발 ★★ (0) | 2020.10.04 |
댓글