정보처리기사 (필기)/4. 프로그래밍 언어 활용

[정보처리기사] 4-1. 개발환경 구축

원혜강 2022. 4. 24. 00:52

1. 개발 환경 구축

  • 소프트웨어 개발 시 구축해야 할 하드웨어 및 소프트웨어 장비 구축하는 것

1-2. 하드웨어 환경

  • 클라이언트와 서버로 구성
  • 클라이언트 : PC, 스마트폰 등
  • 서버 : 웹서버, 웹 애플리케이션 서버(WAS), 데이터베이스 서버, 파일 서버 등

1-2-1. 웹서버

  • 클라이언트로부터 직접 요청을 받아 처리하는 서버, 저용량 정적파일 제공
  • Apache HTTP server, Microsoft Internet Service, Google Web Server 등
  • HTTP / HTTPS 지원 : 브라우저로부터 요청받아 응답할 대 사용되는 프로토콜
  • 통신기록 (Communication Log) : 처리한 요청들을 로그파일로 기록하는 기능
  • 정적 파일 관리(Managementing Static Files) : HTML,CSS, 이미지 등의 정적파일 저장 및 관리
  • 대역폭 제한(Bandwidth Throttling): 네트워크 트래픽의 포화를 방지하기 위해 응답속도를 제한하는 기능
  • 가상 호스팅(virtual Hosting) : 하나의 서버로 여러 개의 도메인 이름을 연결
  • 인증(Authentication) : 사용자가 합법적인 사용자인지를 확인하는 기능

1-2-2. 웹 애플리케이션 서버 (WAS : Web Application Server)

  • 정적인 콘텐츠를 처리하는 웹서버와 반대됨
  • 동적인 콘텐츠 처리하기 위해 사용되는 미들웨어 (=소프트웨어)
  • 데이터 접근, 세션관리, 트랜잭션 관리 등을 위한 라이브러리 제공
  • Apache Tomcat, IBM WebSphere, Oracle WebLogic, JEUS, JBoss, Jetty, Resin 등등

1-2-3. 데이터베이스 서버

  • 데이터베이스와 이를 관리하는 DBMS를 운영하는 서버
  • MySQL, IBM WebSphere, Oracle WebLogic

1-2-4. 파일 서버

  • 데이터베이스에 저장하기에는 비효율적이거나, 서비스 제공을 목적으로 유지하는 파일들을 저장하는 서버
  • AWS S3등

2. 소프트웨어 환경

  • 클라이언트와 서버 운영을 위한 시스템 소프트웨어와 개발에 사용되는 개발 소프트웨어로 구성됨
  • 시스템 소프트웨어 : 운영체제 (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

▶ 형상관리 도구

  • 산출물들을 버전별로 관리하여 품질 향상을 지원하는 소프트웨어
  • CVA, SVN(Subversion), GIT 등

3. 개발 언어의 선정 기준

  • 정성
  • 율성
  • 식성
  • 밀성
  • 용성
  • 적효이친범