상세 컨텐츠

본문 제목

[정보처리기사-실기] VIII. 서버 프로그램 구현

[SW]/정보처리기사 (2024) (완)

by 시원00 2024. 10. 4. 15:22

본문

728x90

VIII. 서버 프로그램 구현

 

01. 개발환경 구축

02. 모듈 구현

03. 배치 프로그램 구현


01. 개발환경 구축

- 개발 도구 분류: 빌구테형 (현 도구, 스트 도구, 상관리 도구, 드 도구)

- 하드웨어 개발환경

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

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

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

- 형상 관리(Configuration Management)

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

    절차: 식통감기 (형상 별, 형상 제, 형상 사, 형상 록)

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

*RCS(Revision Control System) - 공유 폴더 방식
- 소스 파일의 수정을 한 사람만으로 제한. 다수의 사람이 파일의 수정을 동시에 할 수 없도록 파일 잠금 방식으로 형상을 관리하는 도구.
*CVS(Concurrent Versions System) - 클라이언트/서버 방식
- 가장 오래된 형상 관리 도구 중 하나
- 주요 기능: 변경사항 동기화, 파일 단위 관리
*SVN(Subversion) - 클라이언트/서버 방식
- CVS의 단점을 보완
- 주요 기능: CVS 기능 제공, 바이너리 파일 관리, 롤백 기능 지원
*Git - 분산 저장소 방식
- 리눅스 커널의 개발을 위해 만든 형상 관리 시스템
- 주요 기능: 로컬/원격 형상 관리, 롤백 기능 지원

- 백업(Backup): 중요한 데이터나 정보를 안전하게 보관하기 위해 데이터를 복제하는 기법

    유형: 전차증 (체 백업(Full Backup), 등 백업(Differential Backup), 분 백업(Incremental Backup)


02. 모듈 구현

- 재사용(Reuse): 이미 개발되어 기능, 성능 및 품질을 인정받았던 소프트웨어의 전체 또는 일부분을 다시 사용하는 기법

   1) 종류: 재공학(Re-Engineering), 재개발(Re-Development)

- 모듈(Module) = 서브프로그램 = 서브루틴 = (소프트웨어 내의) 단위프로그램 = 작업단위

    하나의 완전한 기능을 수행할 수 있는 독립된 실체

   ▷ 독립성이 높은 모듈: 수정 시 다른 모듈들에 영향을 미치지 않고, 오류 발생 시 쉽게 해결할 수 있음

    독립성을 높이려면 결합도는 약하게, 응집도는 강하게, 모듈의 크기는 작게 만들어야 한다.

- 모듈화(Modularization)

    기법: 루틴, 메인 루틴, 서브 루틴

- 응집도(Cohesion): 모듈 내부 구성요소 간 연관 정도

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

- 결합도(Coupling): 외부의 모듈과의 연관도 또는 모듈 간의 상호의존성

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

- 펜인(Fan-In) 및 팬아웃(Fan-Out): 소프트웨어의 구성요소인 모듈을 계층적으로 분석하여 시스템의 복잡도를 측정할 수 있다.

- 모듈 테스트: IDE(Integrated Development Environment) 도구를 활용하여 개별 공통 모듈에 대한 디버깅을 수행

   화이트박스 기법 활용

   ▷ 대표적인 단위 테스트 도구인 xUnit(jUnit, CppUnit, HttpUnit)을 활용하여 테스트 코드 구현


03. 배치 프로그램 구현

- 배치 프로그램(Batch Program)

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

   ▷ 유형: 이온정 (벤트 배치, 디맨드 배치, 기 배치)

- 배치 스케줄러(Batch Scheduler)

   ▷ 일괄 처리(Batch Processing)을 위해 주기적으로 발생하거나 반복적으로 발생하는 작업을 지원하는 도구

   ▷ 종류: 스프링 배치(대용량 데이터 배치 처리), 쿼츠 스케줄러(다양한 스케줄 기능 지원)

- Cron 표현식: 초분시일 월요연

   ▷ 특수문자

* ? - , / L W #
모든 수 미사용 기간 특정 기간 시작시간/반복간격 마지막 기간 가장 가까운 평일 몇 번째 주, 요일

 

 

FIN.

728x90

관련글 더보기

댓글 영역