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.
[정보처리기사] 정처기 필기/실기 합격 후기 (0) | 2025.01.07 |
---|---|
[정보처리기사-실기] IX. 소프트웨어 개발 보안 구축 (1) | 2024.10.07 |
[정보처리기사-실기] VII. SQL 응용 (2) | 2024.10.01 |
[정보처리기사-실기] 목차 정리 (0) | 2024.09.09 |
[정보처리기사] 5과목: 정보 시스템 구축 관리 (0) | 2024.07.09 |
댓글 영역