8. 서버 프로그램 구현

정보처리기사 정보처리기사요약 개발환경구축 공통모듈 서버프로그램 배치프로그램

개발환경 구축

개발환경 구축 :star::star::star:

  • 개발 도구의 분류: 드 도구, 현 도구, 스트 도구, 상관리 도구 #빌구테형

  • 개발환경 구성요소

    • 서버 하드웨어 개발환경: 웹 서버, 웹 애플리케이션 서버, 데이터베이스 서버, 파일 서버

    • 클라이언트 하드웨어 개발환경: 클라이언트 프로그램, 웹 브라우저, 모바일 앱, 모바일 웹

    • 소프트웨어 개발환경: 운영체제, 미들웨어, DBMS

    • 형상 관리

      • 절차: 형상 별, 형상 제, 형상 사, 형상 #식통감기

      • 유형: 유 폴더 방식(RCS), 라이언트/서버 방식(CVS, SVN), 산 저장소 방식(Git) #공클분

  • 개발환경 구축 절차: 통합 개발 환경 설치 →형상 관리 도구 설치 → 빌드 도구 설치

공통 모듈 구현

공통 모듈 구현 :star::star:

  • 공통 모듈 구현 개념

    • 모듈의 개념: 그 자체로 하나의 완전한 기능수행할 수 있는 독립된 실체이다.

    • 모듈의 개념 및 기법: 루틴, 메인 루틴, 서브 루틴

  • 소프트웨어 모듈 응집도

    • 개념: 모듈의 독립성을 나타내는 정도로, 모듈 내부 구성요소 간 연관 정도이다.

    • 유형: 연적 응집도, 리적 응집도, 간적 응집도, 차적 응집도, 신적 응집도, 차적 응집도, 능적 응집도 #우논시절 통순기

  • 소프트웨어 모듈 결합도

    • 개념: 모듈 내부가 아닌 외부의 모듈과의 연관도 또는 모듈 간상호의존성이다.

    • 유형: 용 결합도, 통 결합도, 부 결합도, 어 결합도, 탬프 결합도, 료 결합도 #내공 외제 스자

  • 공통 모듈 구현 절차: DTO/VO → SQL문 → DAO → Service → Controller → View

  • 팬인(Fan-In) 및 팬아웃(Fan-Out)

    • 팬인 개념: 어떤 모듈을 제어하는 모듈의 수

    • 팬아웃 개념: 어떤 모듈에 의해 제어되는 모듈의 수

공통 모듈 테스트 :star:

  • 공통 모듈 테스트

    • 개념: 도구를 활용하여 개별 공통 모듈에 대한 디버깅을 수행한다. 화이트박스 기법을 활용한다.

서버 프로그램 구현

서버 프로그램 구현 :star:

  • 절차: DTO/VO 구현 → SQL문 구현 → DAO 구현 → Service 구현 → Controller 구현 → 화면 구현 #디스다 써클

배치 프로그램 구현

배치 프로그램 :star:

  • 개념: 사용자상호 작용 없이 일련의 작업들을 작업 단위로 묶어서 정기적으로 반복 수행하거나 일괄 처리하는 방법이다.

  • 유형: 벤트 배치, 디맨드 배치, 기 배치 #이온정

  • 배치 스케줄러

    • 개념: 주기적으로 발생하거나 반복적으로 발생하는 작업을 지원하는 도구이다.

    • 종류: 스프링 배치, 쿼츠 스케줄러

  • Cron 표현식

    • 리눅스/유닉스: 분, 시간, 일, 월, 요일, 연도(생략 가능)

    • 쿼츠 크론 표현식: 초, 분, 시, 일, 월, 요일, 연도(생략 가능)

    • 기호: 모든 수(*), 해당 항목을 미사용(?), 기간 설정(-), 특정 기간 설정(,), 시작시간과 반복간격 설정(/), 마지막 기간에 동작(L), 가장 가까운 평일에 동작(W), 몇 번째 주, 요일 설정(#)