정보처리기사 2020 실기

[정보처리기사실기] 4. 서버프로그램 구현 / 핵심 용어 정리

자바칩 프라푸치노 2020. 10. 13. 20:35

교재 - 수제비

 

■개발환경 구축

1. 개발도구의 분류

빌드도구/ 구현도구/ 테스트도구/ 형상관리 도구

 

2. 서버 하드웨어 개발환경

웹서버/ 웹 애플리케이션 서버/ 데이터베이스 서버/ 파일서버

 

3. WAS

사용자 요청 스레드를 처리하고, 데이터베이스에 접속하여 SQL쿼리문에 대한 결과 값을 반환하는 역할을 수행하는서버

 

4. 클라이언트 하드웨어 개발환경

클라이언트 프로그램/ 웹 브라우저/ 모바일 앱/ 모바일 웹

 

5. 소프트웨어 개발 환경

운영체제/ 미들웨어/ DBMS

 

6. JVM

자바 기반 애플리케이션을 위해 이식 가능한 실행 환경을 제공하는 소프트웨어

 

7. 형상관리

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

 

8. 형상관리의 목적

프로젝트 생명주기 동안 제품의 무결성과 변경에 대한 추적성을 확보할 수 있다.

 

9. 형상 관리의 절차

식통감기

형상 식별/ 형상 통제/ 형상 감사/ 형상 기록

 

10. 개발 환경 구축 절차

통합 개발 환경 설치/ 형상 관리 도구 설치/ 빌드 도구 설치

 

11. 형상 관리 도구

GIT, SVN

 

12. 브랜치

여러 개발자들이 동시에 다양한 작업을 할 수 있게 만들어주는 기능

 


■공통 모듈 구현

1. 모듈

크게 독립된 하나의 소프트웨어 또는 하드웨어 단위를 지칭하는 용어

응집도 높게, 결합도 낮게, 모듈의 크기는 작게 (독립성 높이려면)

 

2. 모듈화

소프트웨어의 성능을 향상시키거나 복잡한 시스템의 수정, 재사용, 유지 관리 등이 용이하도록 기능 단위의 모듈로 분해하는 설계 및 구현 기법

 

3. 모듈화 기법

루틴/ 메인루틴/ 서브루틴

 

4. 공통 모듈

전체 프로그램의 기능 중 특정 기능을 처리할 수 있는 실행 코드

자체적으로 컴파일이 가능하고 다른 프로그램에서 재사용 가능

 

5. 응집도

모듈의 독립성을 나타내는 개념으로 모듈 내부 구성요소 간 연관 정도

기순통절시논우(좋은순서)

기능적- 순차적- 통신적 - 절차적 - 시간적 - 논리적 - 우연적

 

 

6. 결합도

모듈 외부의 모듈과의 연관도 또는 모듈 간의 상호의존성

자스제외공내(좋은 순서)

자료 - 스탬프 - 제어- 외부 - 공통 - 내용

 

7. MVC 패턴

모델 - 애플리케이션이 무엇을 할 것인지를 정의

뷰- 화면에 무엇인가를 보여주기 위한 역할

컨트롤러 - 모델이 어떻게 처리할지 알려주는 역할

 

8. DTO

프로세스 사이에서 데이터를 전송하는 객체로 데이터 저장, 회수 외에 다른 기능이 없는 객체

 

9. VO

간단한 엔티티를 의미하는 작은 객체 가변 클래스인 DTO와는 달리 고정 클래스를 가지는 객체

 

10. DAO

특정 타입의 데이터베이스에 추상 인터페이스를 제공하는 객체로 세부 내용 노출 없이 데이터를 조작하는 객체이다.

 

11. 팬인

어떤 모듈을 호출하는 모듈의 수

 

12. 팬아웃

어떤 모듈에 의해 호출 되는 모듈의 수

 

13. 공통 모듈 테스트

화이트박스 테스트/ 메서드 기반 테스트/ 화면 기반 텟트/ 테스트 드라이버, 스텁

 


■서버 프로그램 구현

1. 백엔드

사용자와 만나지 않고 프론트엔드와 연동하여 핵심 로직을 처리하는 영역

 

2. 프론트엔드

사용자의 화면에 나타나는 웹 화면 영역으로 웹페이지를 그리는 기술

 

3. MyBatis

객체 지향 언어인 자바이 관계형 DB프로그래밍을 좀 더 쉽게 할 수 있게 도와주는 개발 프레임워크이다.

 


■배치 프로그램 구현

1. 배치 프로그램

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

 

2. 배치 프로그램의 유형

이벤트 배치/온디맨드 배치/ 정기배치

 

3. 배치 스케줄러

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

 

4. 배치 스케줄러의 종류

스프링배치/ 쿼츠 스케줄러

 

5. 스프링 배치

대용량 처리를 제공하는 스케줄러

 

6. 쿼츠 스케줄러

오픈 소스 기반 스케줄러

 

7. CRON표현식

스케줄러를 실행시키기 위해 작업이 실행되는 시간 및 주기등을 설정하는데 사용

초분시간일월요일연도

 

 

 

728x90