서버프로그램구현 - 개발환경구축

서버프로그램구현

  • 응용소프트웨어 개발에 필요한 하드웨어 및 소프트웨어의 필요 사항을 검토하고, 이에 따라 개발환경에 필요한 준비를 수행
  • 응용소프트웨어 개발에 필요한 하드웨어 및 소프트웨어를 설치하고 설정하여 개발환경을 구축
  • 사전에 수립된 형상관리 방침에 따라 운영 정책에 부합하는 형상관리 환경을 구축

용어사전

  • 구현도구
    • 프로그램을 개발할 때 가장 많이 사용되는 도구로서 코드의 작성 및 편집, 디버깅 등과 같은 다양한 작업이 가능
  • 클라이언트
    • 시스템에서 제공하는 서버를 활용하기 위해 거래를 발생시키는 하드웨어
  • 형상관리
    • 소프트웨어 개발 과정에서 소프트웨어의 변경사항을 관리하기 위해 개발된 일련의 활동

개발환경 구축의 개념

  • 해당 프로젝트의 목적과 구축 설계에 대한 명확한 이해가 필요
  • 이에 맞는 하드웨어 소프트웨어 선정이 필요
  • 제품들의 성능과 라이선스 그리고 사용 편의성 등에 대한 내용 파악도 필요

개발 하드웨어 환경

1. Client 클라이언트 환경 구성

  • 서버 시스템에서 제공하는 서비스를 활용하기 위해 사용자와의 인터페이스를 제공하는 하드웨어
  • 종류
    • PC
    • 웹 브라우저 화면
    • 모바일 앱

2. Server 서버 환경 구성

  1. Web 웹 서버
  • 클라이언트에서 요청하는 서비스의 속도를 향상시키기 위해 정적파일들을 제공하는 웹 서버 애플리케이션이 설치되는 하드웨어
  1. WAS; Web Application Server 웹 애플리케이션 서버
  • 동적 웹 서비스를 제공하기 위해 Tomcat, Underflow, IIS 등 미들웨어인 WAS와 서비스에 관련된 애플리케이션이 설치되는 하드웨어
  1. Database 데이터베이스 서버
  • MySQL, Oracle
  1. 파일 서버
  • 서비스 제공을 위해 파일을 저장하고, 공유하기 위한 파일 저장 하드웨어

개발 소프트웨어 환경

1. 시스템 소프트웨어

  1. OS; Operation System 운영체제
  • 종류
    • Windows
    • Linux
    • UNIX
  1. JVM; Java Virtual Machine
  • Java 관련 응용프로그램을 가동하기 위한 인터프리터 환경
  1. Web Server
  • 정적 웹 서비스를 수행하는 미들웨어로서 웹 브라우저 화면에서 요청하는 정적파일 제공
  • 종류
    • Apache
    • Nginx
    • IIS
    • GWS
  1. WAS; Web Application Server
  • 웹 애플리케이션을 수행하는 미드뤠어로서 웹서버와 JSP/Servlet 애플리케이션 수행을 위한 엔진으로 구성
  • 종류
    • Tomcat
    • Undertow
    • JEUS
    • Weblogic
    • Websphere
  1. DBMS; Database Management System
  • 데이터 저장과 관리를 위한 데이터베이스 소프트웨어
  • 종류
    • Oracle
    • DB2
    • Sybase
    • SQL Server
    • MySQL

2. 개발 소프트웨어

  1. 요구사항 관리도구
  • 목표 시스템의 기능과 제약 조건 등 고객의 요구사항을 수집, 분석, 추적을 쉽게 할 수 있게 지원
  • 종류
    • JFeature
    • JRequisite
    • OSRMT
    • Trello
  1. 설계/모델링 도구
  • 기능을 논리적으로 결정하기 위해 통합 모델링한 언어(UML)지원
  • Database 설계 지원
  • 종류
    • ArgoUML
    • DB Designer
    • StarUML
  1. 구현 도구
  • 문제 해결방법을 소프트웨어 언어를 통해 구현 및 개발을 지원하는 도구
  • 종류
    • Eclipse
    • Intelli J
    • Vistual Studio
  1. 테스터 도구
  • 구현및 개발된 모듈들에 대하여 요구 사항에 적합하게 구현되어 있는지 테스트를 지원하는 도구
  • 종류
    • JUnit
    • CppUnit
    • Jmeter
    • SpringTest
  1. 형상관리 도구
  • 산출물의 변경 사항을 버전별로 관리하여 목표 시스템의 품질 향상을 지원하는 도구
  • 종류
    • CSV
    • SVN
    • Git

개발환경 구축 순서

1. 목표시스템의 환경 및 요구사항 분석

  • 제안 요청서, 제안서, 사업 수행 계획서, 요구사항 정의서, 시스템 아키텍처, 애플리케이션 아키텍처 등 분석 및 설계시의 산출물을 분석하여 개발환경 준비
  • 목표시스템의 환경 예시
    • 목표시스템
    • 개발언어
    • 개발인원 및 기간
    • 사양관련

2. 개발언어 설정

  • 기준

    • 적정성
      • 대상 업무의 성격
      • 개발하고자 하는 시스템이나 응용 프로그램의 목적에 적합
    • 효율성
      • 프로그래밍의 효율성이 고려
    • 이식성
      • 일반적인 PC 및 OS에 개발환경이 설치 가능
    • 친밀성
      • 프로그래머가 그 언어를 이해하고 사용할 수 있음
    • 범용성
      • 관거 개발 실적이나 사례가 존재하고, 광범위한 분야에서 사용되고 있어야 함

    3. 통합 개발환경 선정

    통합개발환경도구비교

    4. 프로그램의 배포 및 라이브러리 관리를 위한 빌드 도구 선정

    빌드도구비교

    • 빌드 도구의 선정
      • 프로젝트 팀원의 빌드 도구의 친밀도와 숙련도에 따라 결정
      • 형상관리 도구를 고려하여 빌드 도구 선정
      • 통합 개발 도구와 호환이 가능한 빌드 도구 선정

    5. 개발 인원을 고려한 형상관리 도구를 선정

    • 종류
      • CVS
      • SVN
      • Git
    • 목표 시스템 환경 등을 고려하여 선정
    • 통합 개발 도구와 호환이 가능한 빌드 도구를 선정

    6. 프로젝트 검증에 적합한 테스트 도구를 선정

    • 통합 개발 도구와 호환이 가능하고 널리 사용되는 테스트 자동화 도구를 선정
API API오용 Anaconda Beacon Bluetooth CRUD분석 Camera ChatBot DB관련신기술 DB관리기능 DB서버 DB표준화 ER다이어그램 ER모델 ETL Flask HW관련신기술 IDE도구 IP IoT Machine_Translation NLP배경 ORM프레임워크 Package Recurrent Neural Network SDLC SW개발방법론 SW개발방법론선정 SW개발보안정책 SW개발표준 SW관련신기술 Sequence_Tagging ShellScript TCP_UDP Vector WordCloud c 자료형 class embedding konlpy python python 자료형 가설검증 개발환경구축 객체지향프로그래밍언어 관계데이터베이스모델 관계데이터언어 국제표준제품품질특성 네트워크7계층 네트워크관련신기술 네트워크장비 네트워크침해공격용어 논리데이터모델개요 논리데이터모델품질검증 논리적데이터모델링 논문 단위모듈구현 단위모듈테스트 데이터검증 데이터모델개념 데이터베이스무결성 데이터베이스백업 데이터베이스암호화 데이터베이스용량설계 데이터베이스이중화구성 데이터베이스정규화 데이터분석 데이터분석 - 순열 - 조합 데이터분석 - 정규분포 데이터분석 - 통계기초 데이터사이언스개념 데이터입출력 데이터전환수행계획 데이터정제 데이터조작프로시저작성 데이터조작프로시저최적화 데이터조작프로시저테스트 데이터지역화 데이터타입 데이터표준확인 데이터품질분석 라이브러리 로그분석 메모리관리 모델화 몬테카를로 물리데이터모델설계 물리데이터모델품질기준 물리데이터저장소구성 물리요소조사분석 반정규화 배치프로그램 변수 보안기능 보안솔루션 보안아키텍처 보안취약성식별 분산데이터베이스 분산분석 비용산정모델 빌드자동화도구 사용자정의함수 상관분석 서버개발프레임워크 서버인증 서버장비운영 서버접근통제 서비스공격유형 선언형언어 세션통제 소스코드인스펙션 소프트스킬 소프트웨어개발프레임워크 소프트웨어버전관리도구 소프트웨어연계테스트 슈퍼디엠지 스크립트언어 시스템카탈로그와뷰 암호알고리즘 애플리케이션모니터링도구 애플리케이션배포도구 애플리케이션성능개선 애플리케이션테스트결과분석 애플리케이션테스트시나리오작성 애플리케이션테스트케이스작성 애플리케이션통합테스트수행 애플리케이션패키징 연산자 예외처리 오답노트 오류데이터측정 오류처리 오류처리확인및보고서작성 요구공학방법론 운영체제 웹서버 이벤트 인터넷구성의개념 인터페이스구현검증 인터페이스기능확인 인터페이스보안 입력데이터검증및표현 자료구조 자연어처리 재사용 절차적프로그래밍언어 정보보안침해공격용어 정보처리기사 제품소프트웨어매뉴얼작성 집계성DCL작성 체크리스트 초기데이터구축 취약점분석 칼럼속성 캡슐화 코드오류 클러스터링 키종류 테일러링기준 트랜잭션인터페이스 트리거 파일처리기술 파티셔닝 패키지 포트포워딩 프로세스스케줄링 프로토타입 한국어임베딩 핵심정리 현업도구 형상관리도구 환경변수 회귀분석
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×