일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 병행성 관련 오류
- 타입 객체
- 멀티쓰레드
- 자료구조
- 운영체제
- 프로그래머스
- 다이나믹 프로그래밍
- 파일시스템 구현
- 컨디션 변수
- 영속성
- 디자인패턴
- I/O장치
- 병행성
- 그리디 알고리즘
- 알고리즘
- 락
- 렌더링 파이프라인
- 쓰레드
- OS
- codility
- 동적계획법
- 스케줄링
- DirectX12
- Direct12
- 그리디알고리즘
- 백준
- 다이나믹프로그래밍
- directx
- 멀티프로세서
- DirectX 12
- Today
- Total
기록공간
4장. 서버 프로그램 구현 본문
#1 개발환경 구축
개발환경 구축
1. 개발환경 구축의 개념
■ 개발환경 구성 시 구현될 시스템 요구사항의 명확한 이해가 필요하다.
2. 개발 도구의 분류 (빌구테형)
- 빌드 도구 : 작성한 코드의 빌드 및 배포를 수행하는 도구
- 구현 도구 : 개발자의 코드 작성과 디버깅, 수정 등의 작업을 지원하는 도구
- 테스트 도구 : 코드의 기능 검증과 전체의 품질을 높이기 위해 사용하는 도구
- 형상 관리 도구 : 개발자들이 작성한 코드와 리소스 등에 대한 버전 관리를 위한 도구
3. 개발환경 구성요소
■ 서버 하드웨어 개발환경
- 웹 서버 : HTTP를 이용한 요청/응답 처리, 정적 콘텐츠(Java Script, CSS, Image) 처리
- 웹 애플리케이션 서버 : 동적 콘텐츠(JSP, Servlet) 처리
- 데이터베이스 서버 : 데이터의 수집, 저장을 위한 용도로 사용
- 파일 서버 : 파일 저장 하드웨어로 물리 저장장치를 활용한 서버
■ 클라이언트 하드웨어 개발환경
- 클라이언트 프로그램 : 설치를 통해 사용자와 커뮤니케이션
- 웹 브라우저 : 웹 서비스 형태로 브라우저를 통해 사용자와 커뮤니케이션
- 모바일 앱 : 모바일 디바이스에 설치되어 활용되는 애플리케이션
- 모바일 웹 : 모바일상 웹 브라우저를 통해 서비스 제공
■ 소프트웨어 개발환경
- 운영체제
- 미들웨어
- DBMS
■ 형상관리의 개념
소프트웨어 개발을 위한 전체 과정에서 발생하는 모든 항목의 변경 사항을 관리하기 위한 활동이다.
■ 형상관리의 절차 (식통감기)
- 형상 식별
- 형상 통제
- 형상 감시
- 형상 기록
#2 공통 모듈 구현
공통 모듈 구현
1. 공통 모듈 구현의 개념
■ 모듈(Module)의 개념
모듈은 크게 독립된 하나의 소프트웨어 또는 하드웨어 단위를 지칭하는 용어이다.
■ 모듈화의 개념
소프트웨어의 성능 향상시키거나 복잡한 시스템의 수정, 재사용, 유지 관리 등이 용이하도록 기능 단위의 모듈로 분해하는 설계 및 구현 기법이다.
■ 모듈화 기법
- 루틴 : 소프트웨어 특정 동작을 수행하는 일련의 코드로 기능을 가진 명령들의 모임
- 메인 루틴 : 프로그램의 주요한 부분. 메인 루틴은 서브 루틴을 호출
- 서브 루틴 : 메인 루틴에 의해 필요할 때마다 호출되는 루틴
2. 소프트웨어 모듈 응집도
■ 응집도(Cohesion)의 개념
모듈의 독립성을 나타내는 개념으로, 모듈 내부 구성요소 간 연관 정도이다.
■ 응집도의 유형 (우논시절 통순기)
- 우연적 응집도 : (응집도 제일 나쁨) 구성요소가 연관이 없을 경우
- 논리적 응집도 : 유사한 성격을 가짐, 특정 형태로 분류
- 시간적 응집도 : 특정 시간에 처리
- 절차적 응집도 : 순차적으로 수행
- 통신적 응집도 : 동일한 입출력 사용
- 순차적 응집도 : 한 활동으로부터 나온 출력값을 사용
- 기능적 응집도 : (응집도 제일 좋음) 모든 기능이 단일한 목적을 위해 수행
3. 소프트웨어 모듈 결합도
■ 결합도(Coupling)의 개념
모듈 외부의 모듈과의 연관도 또는 모듈 간의 상호의존성이다.
■ 결합도의 유형 (내공 외제 스자)
- 내용 결합도 : (결합도 제일 높음) 다른 모듈 내부에 있는 변수, 기능을 다른 모듈에서 사용할 경우
- 공통 결합도 : 모듈 밖 전역 변수를 참조하고 갱신하는 식으로 상호작용 할 경우
- 외부 결합도 : 두 개의 모듈이 외부에서 도입된 기능을 공유할 경우
- 제어 결합도 : 값 뿐만 아니라 어떻게 처리해야 한다는 제어 요소가 전달되는 경우
- 스탬프 결합도 : 모듈간 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우
- 자료 결합도 : (결합도 제일 낮음) 전달되는 파라미터를 통해서만 상호 작용이 일어나는 경우
4. 공통 모듈 구현 절차
■ MVC 디자인 패턴
- Model(모델) : 애플리케이션이 무엇을 할 것인지 정의
- View(뷰) : 화면에 무엇인가를 보여주기 위한 역할
- Controller(컨트롤러) : 모델이 어떻게 처리할지를 알려주는 역할
5. 팬인(Fan-In) 및 팬아웃(Fan-Out)
■ 팬인
어떤 모듈을 제어(호출)하는 모듈의 수, 모듈 자신을 기준으로 모듈에 들어오면 팬인
■ 팬아웃
어떤 모듈에 의해 제어(호출)되는 모듈의 수, 모듈 자신을 기준으로 모듈에서 나가면 팬아웃
공통 모듈 테스트
1. 공통 모듈 테스트의 종류 (화메 화드스)
- 화이트박스 테스트
- 메서드 기반 테스트
- 화면 기반 테스트
- 테스트 드라이버 / 테스트 스텁
#3 서버 프로그램 구현
서버 프로그램 구현
1. 서버 프로그램 세부 구현 프로세스 (디스 다써클)
- DTO/VO
- SQL문
- DAO
- Service
- Controller
#4 배치 프로그램 구현
배치 프로그램
1. 배치 프로그램 개념
■ 사용자와의 상호작용 없이 일련의 작업들을 작업 단위로 묶어 정기적으로 반복 수행하거나 정해진 규칙에 따라 일괄 처리하는 방법이다.
2. 배치 프로그램의 필수 요소 (이온정)
- 이벤트 배치 : 사전에 정의해 둔 조건 충족 시 자동으로 실행
- 온디맨드 배치 : 사용자의 명시적 요구가 있을 때마다 실행
- 정기 배치 : 정해진 시점에 정기적으로 실행
3. 배치 스케줄러
■ 배치 스케줄러 개념
일괄 처리를 위해 주기적으로 발생하거나 반복적으로 발생하는 작업 지원하는 도구이다.
'자격증공부 > 정보처리기사_실기' 카테고리의 다른 글
6장. 화면 설계 (0) | 2020.11.22 |
---|---|
5장. 인터페이스 구현 (0) | 2020.11.22 |
3장. 통합 구현 (0) | 2020.11.21 |
2장. 데이터 입출력 구현 (0) | 2020.11.21 |
1장. 요구사항 확인 (0) | 2020.11.09 |