상세 컨텐츠

본문 제목

[정보처리기사 실기 공부] 소프트웨어 개발 환경 구성

정보처리기사 공부지식

by 소란한소란 2024. 2. 8. 18:47

본문

728x90

소프트웨어 개발 환경 구성: 현대적인 웹 개발을 위한 필수 구성 요소

최근의 소프트웨어 개발에서는 안정적이고 효율적인 환경을 구축하는 것이 매우 중요합니다. 이 블로그 포스트에서는 웹 개발을 위한 주요 구성 요소와 도구에 대해 살펴보겠습니다.

  • 웹 서버(WEB)
    • 클라이언트에게 정적 파일(HTML5, CSS3, JS , 이미지)를 제공하는 웹 서버 애플리케이션이 설치된 하드웨어 
  • 웹 애플리케이션 서버(WAS)
    • 동적인 웹 서비스를 제공하기 위한 미들웨어가 설치된 하드웨어
    • DB조회나 다양한 로직을 처리
  • 데이터베이스 서버(DBMS)
    • 데이터의 저장과 관리를 위한 데이터 베이스 소프트웨어가 설치된 하드웨어
  • 파일서버
    • 사용자의 파일을 저장하고, 파일을 공유할 목적으로 구성된 하드웨어
  • Load Balancer(로드 밸런서)
    • 여러 대의 서버가 존재할 경우 요청을 적절히 분배해주는 역할
      • 분배 방식
        • Random - 요청을 랜덤
        • Least loaded - 가장 적은 양의 작업처리
        • Round Robin - 순서를 정하여 동아가며 작업 분배
  • CDN
    • 용량이 큰 콘텐츠 데이터 (이미지, 비디오 등)을 빠른 속도로 제공하기 위해 사용자와 가까운 곳에 분산되어 있는 데이터 저장 서버
  • 시스템 아키텍처 고려사항
    • 확장성 : 클라이언트 수가 늘어났을 때 무리없이 요청 처리를 위해 확장성 고려
    • 성능 : 요청한 내용을 정확하고 빠르게 돌려주어야 함
    • 응답시간 : 모든 요청은 클라이언트가 불편하지 않도록 빠른 응답
  • 시스템 소프트웨어
    • 운영체제
    • JVM (★)
      • Java 관련 프로그램을 가동하기 위한 환경
      • 모든 개발자가 동일한 버전을 적용
    • Web Server
      • 정적 웹 서비스를 수행하는 서버
    • WAS
      • 동적 웹 서비스를 수행하는 미들웨어
    • DBMS
      • 데이터 저장과 관리를 위한 데이터베이스 소프트웨어
  • 개발 소프트웨어 도구
    • 요구사항 관리도구
    • 설계/모델링 도구
    • 구현 도구
    • 테스트 도구
      • JUnit (자바 테스트) (★)
      • CppUnit (C언어 테스트) (★)
      • JMeter
      • SpringTest
    • 형상관리 도구 (★)
      • 산출물 및 소스코드의 변경사항을 버전별로 관리하여, 목표 시스템의 품질 향상을 지원하는 도구 ex) Git, CVS, SVN 등
  • IDE 도구
    • 소프트웨어 개발에 필요한 많은 도구의 기능을 하나로 묶어 활용하는 소프트웨어
    • ex) 이클립스, 비쥬얼 스튜디오, 엑스 코드, 인텔리제이
  • IDE 도구의 기능
    • 텍스트 에디터
    • 컴파일
    • 디버거
    • 배포
    • 플러그인
  • IDE 도구 선정 시 고려 사항
    • 적정성
    • 효율성
    • 이식성
    • 친밀성
    • 범용성
  • 협업도구
    • 여러 사용자가 각기 별개의 작업 환경에서 통합된 하나의 프로젝트를 동시에 수행할 수 있도록 도와주는 소프트웨어
  • 클라우드 서비스 대표적
    • Iaas - 장비, 하드웨어 대여
    • Paas - 개발 환경 대여
    • Saas - 소프트웨어 대여
  • 협업 도구의 기능
    • 전자관리 : 전자 결재, 조직도 등
    • 프로젝트 관리 : 캘린더 , 타임라인, 간트차트, 대시보드 등
    • 자체 드라이브 공간
    • 문서 공유 지원
    • 커뮤니케이션
    • 다국어 지원
    • 타 협업툴 간 연동 지원
  • 분류
    • SNS형
    • 프로젝트 관리형
    • 통합형
  • 협업도구 도입 프로세스
    • 문제정의
    • 문제에 대한 솔루션, 기대효과 정의
    • 협업도구 분석
    • 협업 도구 최종 선정

 

이어지는 블로그 포스트에서는 형상관리 , 빌드 과정에 대한 논의를 진행할 것입니다. 계속해서 기대해 주세요!

2024년에 정보처리기사를 따기 위해 노력하는 모두에게 행운을 빕니다!

 

728x90

관련글 더보기