01 개발환경구축
개발 도구의 분류
⦁ 빌드 도구, 구현 도구, 테스트 도구, 형상관리 도구
하드웨어 개발 환경
⦁ 웹서버 : HTTP 를 이용한 요청/ 응답을 처리, 웹상의 정적 콘텐츠를 처리
⦁ 웹 애플리케이션 서버 : 동적 콘텐츠를 처리하기 위해 사용
⦁ 데이터베이스 서버: 데이터의 수집, 저장을 위한 용도로 사용
⦁ 파일 서버: 파일 저장 하드웨어로 물리 저장 장치를 활용한 서버
소프트웨어 개발 환경
⦁ 운영체제 : 서버의 하드웨어를 사용자 관점에서 편리하고 유용하게 사용하기 위한 소프트 웨어
⦁ 미들웨어 : 자바 기반 환경에서 JVM 을 설치하여 컨테이너로의 기능을 주로 이용
⦁ DBMS : 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고, 데이터 베이스 관리
형상관리
⦁ 소프트웨어 개발을 위한 전체 과정에서 발생하는 모든 항목의 변경 사항을 관리하기 위한 활동이다
형상관리 절차(식통감기)
⦁ 형상 식별 : 추적성 부여를 위해 ID 와 관리번호 부여
⦁ 형상 통제 : 형상 항목의 버전 관리를 위해 형상통제위원회 운영
⦁ 형상 감사 : 소프트웨어 베이스라인의 무결성 평가
⦁ 형상 기록 : 소프트웨어 형상 및 변경관리에 대한 각종 수행결과를 기록
형상관리 도구 유형
⦁ 공유 폴더 방식 (RCS , SCCS) : 매일 개발이 완료된 파일은 약속된 위치의 공유 폴더에 복사하는 방식
⦁ 클라이언트/서버방식 (CVS, SVN) : 중앙에 버전 관리 시스템을 항시 동작시키는 방식
⦁ 분산 저장소 방식(Git) : 로컬 저장소와 원격 저장소로 분리되어 분산 저장하는 방식
소프트웨어 형상관리 도구별 특징
⦁ CVS : 가장 오래된 형상 관리 도구 중 하나, 중앙 집중형 서버 저장소를 두고 클라이언트 가 접속해서 버전 관리를 실행하는 형상관리 도구
⦁ SVN : 중앙 집중형 클라이언트 - 서버 방식으로 하나의 서버에서 소스를 쉽고 유용하게 관리할 수 있도록 도와줌
⦁ RCS : 파일의 소스 수정을 한사람으로 제한 다수의 사람이 파일의 수정을 동시에 할 수 없음
⦁ Git : 속도에 중점을 둔 분산형 버전 관리 시스템
⦁ Bitkeeper : SVN 과 비슷한 형식 대규모 프로젝트에서 빠른 속도를 내도록 개발된 형상 관리 도구
02 공통 모듈 구현
재사용
⦁ 목표 시스템의 개발 시간 및 비용 절감을 위하여 검증된 기능을 파악하고 재구성하여 시스템에 응용하기 위한 최적화 작업이다
모듈
⦁ 하나의 완전한 기능을 수행할 수 있는 독립된 실체
모듈화
⦁ 성능을 향상시키거나 복잡한 시스템의 수정, 재사용, 유지 관리 등이 용이하도록 기능단위의 모듈로 분해하는 설계 및 구현 기법
응집도
⦁ 모듈의 독립성을 나타내는 정도
결합도
⦁ 모듈 내부가 아닌 외부의 모듈과의 연관도 또는 모듈 간의 상호의존성이다
응집도 유형 (우논시절 통신기)
⦁ Coincidental Cohesion(우연적 응집도) : 모듈 내부의 구성요소가 각 연관이 없을 경우
⦁ Logical Cohesion(논리적 응집도) : 유사한 성격, 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우
⦁ Temporal Cohesion(시간적 응집도) : 특정 시간에 처리 되어야 하는 활동들
⦁ Procedural Cohesion(절차적 응집도) : 모듈이 다수의 관련 기능을 갖고, 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할 경우
⦁ Communication Cohesion(통신적 응집도) : 동일한 입력과 출력을 사용해 다른 기능을 수행하는 활동들이 모임
⦁ Sequential Cohesion(순차적 응집도) : 모듈 내 한 활동으로부터 나온 출력값을 다른 활동이 사용할 경우
⦁ Functional Cohesion(기능적 응집도) : 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우
결합도 유형 (내공 외제 스자)
⦁ Content Coupling(내용 결합도) : 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우
⦁ Common Coupling(공통 결합도) : 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 갱신하는 식으로 상호작용하는 경우
⦁ External Coupling(외부 결합도) : 두 개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜, 또는 디바이스 인터페이스를 공유할 경우
⦁ Control Coupling(제어 결합도) : 어떻게 처리를 해야 한다는 제어요소가 전달되는 경우
⦁ Stamp Coupling(스탬프 결합도) : 모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우
⦁ Data Coupling(자료 결합도) : 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호 작용이 일어나는 경우
팬인(Fan-In) / 팬 아웃(Fan-Out)
⦁ 팬인 : 모듈 자신을 기준으로 들어오면 팬인
⦁ 팬 아웃 : 모듈 자신을 기준으로 나가면 팬 아웃
JUnit : 자바 프로그래밍 언어용 단위 테스트 도구
03 배치 프로그램 구현
배치 프로그램
일련의 작업들을 정기적으로 반복 수행하거나 정해진 규칙에 따라 일괄 처리하는 방법
⦁ 배치 프로그램 유형 : 이벤트 배치, 온디맨드(사용자의 명시적 요구) 배치, 정기 배치
배치 스케줄러
일괄 처리를 위해 주기적으로 발생하거나 반복적으로 발생하는 작업을 지원하는 도구
⦁ 배치 스케줄러 종류 : 스프링 배치, 쿼츠 스케줄러
Corn 표현식
⦁ 리눅스/유닉스 크론 표현식 : 분시일 월요연
⦁ 쿼츠 크론 표현식 : 초분시일 월요연
'정보처리기사' 카테고리의 다른 글
정보처리기사 실기 - 소프트웨어 개발 보안 구축(21일차) (0) | 2023.07.15 |
---|---|
정보처리기사 실기 - 인터페이스구현(19일차) (0) | 2023.07.14 |
정보처리기사 실기 - 데이터 입출력 구현(16~17일차) (0) | 2023.07.11 |
정보처리기사 실기 - UI 요구사항 확인(15일차) (0) | 2023.07.10 |
정보처리기사 실기 - SQL 응용 개념 정리 (8~9일차) (0) | 2023.07.04 |