ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 서버 프로그램 구현 - 개발환경 구축
    카테고리 없음 2020. 10. 5. 15:06

    미리 알아두기

     

     공통 모듈 구현

     - 소프트웨어 개발에 있어 기능을 분할하고 추상화하여 성능을 향상시키고 유지보수를 효과적으로 하기 위한 공통 컴포넌트 구현 기법

     

    응집도(Cohension)

     

     - 모듈의 독립성을 나타내는 개념으로, 모듈 내부 구성요소 간 연관 정도이다. 정보은닉 개념의 확장개념으로 하나의 모듈은 하나의

     

       기능을 수행

     

    결합도(Coupling)

     

     - 모듈 내부가 아닌 외부의 모듈과의 연관도 또는 모듈 간의 상호 의존성이다. 소프트웨어 구조에서 모듈 간의 관련성을 측정하는 척도

     

    공통 모듈 구현 대상

     

     - 화면 모듈, 화면에서 입력받은 데이터 처리를 위한 서비스 컴포넌트, 비즈니스 트랜잭션 컴포넌트 등이 있다.

     

    서버 프로그램 구현

     

     - 업무 프로세스를 기반으로 개발언어와 도구를 이용해 서비스 제공에 필요한 업무 프로그램을 구현

     

    배치 프로그램(Batch Programe)

     

     - 사용자와의 상호작용 없이 일련의 작업들을 작업 단위로 묶어 정기적으로 반복 수해앟거나 정해진 규칙에 따라 일괄 처리

     


    개발환경 구축

     

     - 개발환경 구성 시 구현될 시스템 요구사항의 명확한 이해가 필요하다

     

     - 개발 도구와 서버의 선정이 이루어져야 하고, 개발에 사용되는 도구들의 사용 편의성과 성능, 라이선스를 확인한다.

     

    개발 도구의 분류

    1. 구현 도구

     

     - 개발자의 코드 작성과 디버깅, 수정 등과 같은 작업을 지원하는 도구

     

     - 프로그램을 개발할 때 가장 많이 사용되는 도구

     

     - Eclipse, IntelliJ, Spring tool suite, NetBeans, Visual Studio

     

    2. 빌드 도구

     

     - 작성한 코드의 빌드 및 배포를 수행하는 도구

     

     - 각각의 구서용소와 모듈에 대한 의존성 관리를 지원

     

     - Ant, Maven, Gradle

     

    3. 테스트 도구

     

     - 코드의 기능 검증과 전체의 품질을 높이기 위해 사용하는 도구

     

     - 코드의 테스트, 테스트에 대한 계획, 수행 및 분석 등의 작업 가능

     

    4. 형상관리 도구

     

     - 개발자들이 작성한 코드와 리소스 등 산출물에 대한 버전 관리를 위한 도구

     

     - 프로젝트 진행 시 필수로 포함되는 도구


    개발환경 구성요소

    1. 하드웨어 개발 환경

     

     1) 서버 하드웨어 개발환경

     

     - 프로젝트 구성에 따라 웹 서버, 웹 애플리케이션 서버, 데이터베이스 서버, 파일 서버로 구분

    구분 설명
    웹 서버 - HTTP를 이용한 요청/응답을 처리
    - 웹 상의 정적 콘텐츠(CSS, Javascript, Image) 를 처리
    - WEB-WAS-DB의 3계층 구조를 실무에서 사용
    - 주요 제품으로 Apache 웹 서버, IIS웹 서버, Google Web Server, Nginx 등 존재
    웹 애플리케이션 서버(WAS) - 동적 컨텐츠(Servlet, JSP) 를 처리하기 위해 사용
    - 주요 제품으로 Tomcat, Weblogic, Jeus, Resin 등 존재
    데이터 베이스 서버 - 데이터의 수집, 저장을 위한 용도로 사용
    - 연계되는 주요 DBMS로 MySql, Oracle, MS-SQL, DB2 등 존재
    파일 서버 - 파일 저장 하드웨어로 물리 저장장치를 활용한 서버
    - 대용량 HDD, SSD 등의 장치가 존재

     

     2) 클라이언트 하드웨어 개발환경

     

     - 서버 개발환경에서 제공된 서비스를 사용하기 위해 UI를 제공한다.

     

     - 클라이언트 프로그램, 웹 브라우저, 모바일 앱, 모바일 웹으로 구분한다.

     

    2. 소프트웨어 개발 환경

     

     - 개발을 위한 기본적인 소프트웨어 개발환경을 선택 및 구성한다.

     

     - 큰 틀에서 프로젝트 요구사항에 부합한 운영체제, 미들웨어, 데이터베이스 시스템을 선정한다.

    구분 설명
    운영체제 - 서버의 하드웨어를 사용자 관점에서 편리하고 유용하게 사용하기 위한 소프트웨어 
    - 프로젝트의 성격에 따른 운영체제 사용
    미들웨어 - 컴퓨터와 컴퓨터간의 연결을 쉽고 안전하게 할 수 있도록 해주고 이에 대한 관리를 도와주는 소프트웨어
    - 자바 기반 환경에서 JVM을 설치하여 컨테이너로의 기능을 주로 이용
    DBMS - 사용자와 데이터베이스 사이엥서 사용자의 요구에 따라 정보를 생성해주고, 데이터 베이스를 관리해주는 소프트웨어
    - 데이터의 저장 및 활용을 위해 DBMS를 설치

    * JVM(Java Virtual Machine) : 시스템 메모리를 관리하면서 자바 기반 애플리케이션을 위해 이식 가능한 실행 환경을 제공하는 소프트웨어

     

     컨테이너(Container) : JSP와 서블릿을 실행시킬 수 있는 소프트웨어

     

    3. 형상 관리

     

     - 소프트웨어 개발을 위한 전체 과정에서 발생하는 모든 항목의 변경 사항을 관리하기 위한 활동

     

     - 형상 식별 -> 형상 통제 -> 형상 감사 -> 형상 기록

     

    목적

     

    - SW 생명 주기 동안 형상 관리를 통해 산출물을 체계적으로 관리하여 SW의 가시성, 추적성, 무결성 등의 품질보증을 할 수 있다.

     

    - 프로젝트의 변경이 발생 되었을 때 처리하는 메커니즘을 제공

     

     - 대표적인 메커니즘으로 형상관리 대상 파악, 베이스라인 지정, 버전 관리, 접근 제어 등이 있다.

     

    * 베이스라인(baseLine) : 개발 과정의 각 단계의 산출물을 검토, 평가, 조정, 처리 등 변화를 통제하는 시점의 기준

     

    절차

     

    절차 설명
    형상 식별 - 형상 관리 대상을 정의 및 식별하는 활동
    - 추적성 부여를 위해 ID와 관리번호를 부여
    - 변경 관련 이슈 발생 시 ID와 관리번호를 이용하여 추적
    형상 통제 - 형상 항목의 버전 관리를 위한 형상통제위원회 운영
    - 변경요구 관리, 변경제어, 형상 관리 등 통제 지원
    - 베이스라인에 대한 관리 및 형상 통제 수행 가능
    형상 감사 - 소프트웨어 베이스라인의 무결성 평가
    - 베이스라인 변경 시 요구사항과 일치 여부 검토
    형상 기록 - 소프트웨어 형상 및 변경관리에 대한 각종 수행결과를 기록
    - 형상결과 보고서 작성

    개발환경 구축 절차

     

     - 통합 개발환경을 구축하기 위한 절차를 명시한다.

    댓글

Designed by Tistory.