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

HaYeong Jang·2021년 4월 5일
0

정보처리기사

목록 보기
6/7
post-thumbnail

📝 Chapter 01. 개발환경 구축

✔️ 개발 도구의 분류

빌드 도구: 작성한 코드의 빌드 및 배포를 수행하는 도구
구현 도구: 개발자의 코드 작성과 디버깅, 수정 등과 같은 작업을 지원하는 도구
테스트 도구: 코드의 기능 검진과 전체의 품질을 높이기 위해 사용하는 도구
형상 관리 도구: 개발자들이 작성한 코드와 리소스 등 산출물에 대한 버전 관리를 위한 도구

✔️ 서버 하드웨어 개발환경

웹 서버: HTTP를 이용한 요청/응답을 처리 & 웹 상의 정적 콘텐츠(Css, Javascript, Image) 처리
웹 애플리케이션 서버: 동적 콘텐츠(Servlet, JSP) 처리
데이터베이스 서버: 데이터의 수집, 저장을 위한 용도로 사용
파일 서버: 파일 저장 하드웨어로 물리 저장장치를 활용한 서버

✔️ 클라이언트 하드웨어 개발환경

클라이언트 프로그램: 설치를 통해 사용자와 커뮤니케이션하는 프로그램
웹 브라우저: 일반적인 형탱의 웹 사이트가 해당
모바일 앱: 모바일 디바이스에 설치되어 활용되는 애플리케이션
모바일 웹: 모바일상 웹 브라우저를 통해 서비스 제공

✔️ 소프트웨어 개발환경

운영체제: 서버의 하드웨어를 사용자 관점에서 편리하고 유용하게 사용하기 위한 소프트웨어
미들웨어: 컴퓨터와 컴퓨터 간의 연결을 쉽고 안전하게 할 수 있도록 해주고 이에 대한 관리를 도와주는 소프트웨어
DBMS: 데이터베이스를 관리해주는 소프트웨어

✔️ 형상 관리의 절차

형상 식별: 형상 관리 대상을 정의 및 식별하는 활동
형상 통제: 소프트웨어 변경의 요구, 평가, 승인
형상 감사: 소프트웨어 베이스라인의 무결성 평가
형상 기록: 형상결과 보고서 작성

✔️ 소프트웨어 형상 관리 도구 유형

공유 폴더 방식(RCS, SCCS): 약속된 위치의 공유 폴더에 복사하는 방식
클라이언트/서버 방식(CVS, SVN): 중앙에 버전 관리 시스템을 항시 동작시키는 방식
분산 저장소 방식(Git): 로컬 저장소, 원격 저장소에 분리 저장하는 방식

📝 Chapter 02. 공통 모듈 구현

✔️ 모듈과 모듈화의 개념

모듈: 하나의 완전한 기능을 수행할 수 있는 독립된 실체
모듈화: 기능 단위의 모듈로 분해하는 설계 및 구현 기법
공통 모듈: 전체 프로그램의 기능 중 특정 기능을 처리할 수 있는 실행 코드

✔️ 응집도

응집도: 모듈의 독립성 (모듈 내부 구성요소 간 연관 정도)
응집도 유형: 기순교절시논우 (기능적-순차적-교환적-절차적-시간적-논리적-우연적) 응집도 높음->낮음

✔️ 결합도

결합도: 모듈 간의 상호의존성 (외부 모듈과의 연관도)
결합도 유형: 자스제외공내 (자료-스탬프-제어-외부-공통-내용) 결합도 낮음->높음

✔️ MVC 패턴 역할

Model: 내부 비즈니스 로직을 처리하기 위한 역할
View: 모델, 컨트롤러가 보여주려고 하는 것들을 화면에 처리
Controller: 모델이 어떻게 처리할지를 알려주는 역할, 뷰에 화면 요청 결과 전달

✔️ 팬인(Fan-In) 및 팬아웃(Fan-Out)

팬인: 어떤 모듈을 호출하는 모듈의 수
팬아웃: 어떤 모듈에 의해 호출되는 모듈의 수

✔️ 공통 모듈 테스트

화이트박스 테스트: 응용 프로그램의 내부 구조와 동작을 검사하는 소프트웨어 테스트 방식

📝 Chapter 03. 서버 프로그램 구현

✔️ 서버 프로그램 구현 절차

Back End: DTO/VO 구현 -> SQL문 구현 -> DAO 구현 -> Service 구현 -> Controller 구현
Front End: 화면 구현

- DAO(Data Access Object): 데이터베이스에 추상 인터페이스를 제공하는 객체
- DTO(Data Transfer Object): 프로세스 사이에서 데이터를 전송하는 객체 
- VO(Value Object): 고정 클래스

📝 Chapter 04. 배치 프로그램 구현

✔️ 배치 프로그램의 개념

배치 프로그램: 사용자와의 상호작용 없이 일련의 작업을 정기적으로 반복 수행하는 것

✔️ 배치 프로그램의 유형

이벤트 배치: 사전에 정의해둔 조건 충족 시 실행
온디맨드 배치: 사용자의 요구가 있을 때 실행
정기 배치: 정해진 시점에 정기적으로 실행

✔️ 배치 프로그램의 종류

스프링 배치: 대용량 처리를 제공하는 스케줄러 배치 애플리케이션
쿼츠 스케줄러: 수행하는 작업과 실행 스케줄을 정의하는 트리거를 분리하여 유연성을 제공하는 오픈 소스 기반 스케줄러

profile
기억하기 위해 기록하는 개발로그👣

0개의 댓글