자격증/정보처리필기

[정보처리산업기사] 58강 개발 환경 구축

동호다찌 2022. 3. 31. 20:12
반응형

1. 개발 환경 구축

응용 소프트웨어 개발을 위해 개발 프로젝트를 이해하고 소프트웨어 및 하드웨어 장비를 구축하는 것을 의미한다.

  • 응용 소프트웨어가 운영될 환경과 유사한 구조로 구축한다.
  • 개발 프로젝트의 분석 단계의 산출물을 바탕으로 개발에 필요한 하드웨어와 소프트웨어를 선정한다.
  • 하드웨어와 소프트웨어의 성능, 편의성, 라이선스 등의 비즈니스 환경에 적합한 제품들을 최종적으로 결정하여 구축한다.

2. 하드웨어 환경

사용자와의 인터페이스 역할을 하는 클라이언트 그리고 통신하여 서비스를 제공하는 서버로 구성된다.

  • 클라이언트는 PC, 스마트폰이 있다.
  • 서버는 사용 목적에 따라 웹 서버, 웹 애플리케이션 서버, 데이터베이스 서버, 파일 서버등으로 나뉜다.
  • 웹 서버(Web Server)
    • 클라이언트로부터 직접 요청을 받아 처리하는 서버로 저용량의 정적파일 들을 제공한다.
      • 정적파일: 인터넷 브라우저와 같은 클라이언트에서 별도의 처리 과정 없이 다운로드 하여 사용자에게 보여주는 파일로 HTML, CSS, 이미지 파일 등이 있다.
    • 웹 서버의 기능
      • HTTP/HTTPS 지원: 브라우저로부터 요청을 받아 응답할 때 사용하는 프로토콜
      • 통신 기록: 처리한 요청들을 로그 파일로 기록하는 기능
      • 정적파일 관리: HTML, CSS, 이미지 등의 정적 파일들을 저장하고 관리하는 기능
      • 대역폭 제한: 네트워크 트래픽의 포화를 방지하기 위해 응답 속도를 제한하는 기능
      • 가상 호스팅: 하나의 서버로 여러개의 도메인 이름을 연결하는 기능
      • 인증: 합벅적인 사용자인지를 확인하는 기능
  • 웹 애플리케이션 서버(Web Application Server)
    • 사용자에게 동적 서비스를 제공하기 위해 웹 서버로부터 요청을 받아 데이터 가공 작업을 수행하거나, 웹 서버와 데이터베이스 서버 또는 파일 서버 사이에서 인터페이스 역할을 수행하는 서버이다.
    • Apach Tomcat, IBM WebSphere, Oracle WebLogic
  • 데이터베이스 서버(DB Server)
    • 데이터베이스와 이를 관리하는 DBMS를 운영하는 서버이다.
  • 파일 서버(File Server)
    • 데이터베이스의 저장하기는 비효율적이거나, 서비스 제공을 목적으로 유지하는 파일들을 저장하는 서버이다.
    • AWS S3 등등...

3. 소프트웨어 환경

클라이언트와 서버 운영을 위한 시스템 소프트웨어와 개발에 사용되는 개발 소프트웨어로 구성된다.

  • 시스템 소프트웨어
    • 웹 서버 및 WAS 운용을 위한 서버 프로그램, DBMS 등등...
  • 개발 소프트웨어
    • 요구사항 관리 도구, 설계/모델링 도구, 구현 도구, 빌드 도구, 테스트 도구, 형상 관리 도구 등등..
      • 요구사항 관리 도구: 요구사항의 수집과 분석, 추적 등을 편리하게 도와주는 소프트웨어
      • 설계/모델링 도구: UML을 지원하며 전 과정에서 설계 및 모델을 도와주는 소프트웨어
      • 구현 도구: 개발 언어를 통해 애플리케이션의 실제 구현을 지원하는 소프트웨어
      • 빌드 도구: 작성된 소스의 빌드 및 배포, 관리를 지원하는 소프트웨어
      • 테스트 도구: 요구사항에 적합하게 구현되었는지 테스트하는 소프트웨어
      • 형상관리 도구: 산출물들을 버전별로 관리하여 품질 향상을 지원하는 소프트웨어

 개발 언어의 선정 기준

  • 적정성 : 개발의 목적에 적합해야 함
  • 효율성 : 코드의 작성과 구현이 효율적이어야 함
  • 이식성 : 다양한 시스템 및 환경에 적용이 가능해야 함
  • 친밀성 : 개발자들의 이해도와 활용도가 높아야 함
  • 범용성 : 다른 개발 사례가 존재하고 여러 분야에서 활용되고 있어야 함
반응형