정보처리기사

4. 서버 프로그램 구현

Daesiker 2021. 6. 1. 23:10
반응형

개발 도구

  • 빌드도구
    • ANT : 아파치 재단에서 만든 자바프로젝트의 공식 빌드도구
    • Maven : 자바 프로젝트의 빌드 도구 중 하나로 빌드와 컴파일 동시에 수행가능
    • Gradle : Android Studio 프로젝트의 공식 빌드 도구

  • 형상 관리 도구

    형상 관리는 소프트웨어의 개발과정에서 소프트웨어의 변경사항을 관리하기 위해 개발된 일련의 활동이다.

    • 순서 : 가져오기 → 인출 → 예치 → 동기화 → 차이
    • Subversion : 아파치 재단에서 제작(리비전으로 버전관리)
    • Git : 리눅스 커널 개발을 위해 초기 개발했다가 형상관리 도구로 바뀜(스냅샷으로 버전관리)

모듈

  • 정의 : 크게 독립된 하나의 소프트웨어 또는 하드웨어 단위를 지칭하는 용어
  • 모듈화 : 소프트웨어의 성능을 향상 시키거나 복잡한 시스템의 수정, 재사용, 유지관리 등이 용이하도록 기능 단위의 모듈로 분해하는 설계 및 구현 기법
  • 응집도 : 모듈의 독립성을 나타내는 개념
    1. 우연적 응집도 : 구성요소가 연관이 없음
    1. 논리적 응집도 : 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소
    1. 시간적 응집도 : 특정 시간에 처리되어야 하는 활동을 연관지음
    1. 절차적 응집도 : 기능을 순차적으로 수행할 경우
    1. 통신적 응집도 : 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여있을 경우
    1. 순차적 응집도 : 모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 사용할 경우
    1. 기능적 응집도 : 기능이 단일한 목적을 위해 수행되는 경우
  • 결합도 : 모듈 내부가 아닌 외부의 모듈과의 연관도 또는 상호 의존성
    1. 내용 결합도 : 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용
    1. 공통 결합도 : 모듈 밖에 선언되어 있는 전역변수를 참조하고 전력변수를 갱신하는 식으로 상호작용
    1. 외부 결합도 : 2개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜, 또는 디바이스와 공유할 경우
    1. 제어 결합도 : 단순 처리할 대산인 값만 전달되는 게 아니라 어떻게 처리를 해야된다는 제어요소가 전달
    1. 스탬프 결합도 : 모듈간의 인터페이스로 배열이나 객체 구조 등이 전달
    1. 자료 결합도 : 모듈간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호작용이 일어나는 경우

응집도는 강할수록 결합도는 낮을 수록 모듈의 크기는 작게 만들어야한다.

응집도와 결합도 순서 중요함

  • 모듈 패턴 종류
    1. 빌더패턴 : 복잡한 인스턴스를 조립하여 만드는 구조
    1. 싱글톤 패턴 : 전역변수를 사용하지 않고 객체를 하나만 생성
    1. 메멘토 패턴 : undo기능을 개발할 때 사용
    1. 데코레이터 패턴 : 기존에 구현되어 있는 클래스에 그때 그때 필요한 기능을 추가해 나가는 패턴
    1. 옵저버 패턴 : 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체도 자동으로 갱신

DBMS 접속

  • JDBC : Java 언어로 다양한 종류의 데이터베이스에 접속하는 표준 API
  • ODBC : 개발 언어에 관계없이 사용할 수 있는 DB에 접근하기 위한 표준 개방형 API
  • MyBatis : JDBC 코드를 단순화하여 사용할 수 있는 SQL Mapping 기반 오픈소스 프레임 워크
  • ORM : 객체지향 프로그래밍의 객체와 관계형 DB의 데이터를 연결하는 기술

서버 개발 프레임 워크

  • 특징 : 모듈화, 재사용성, 확장성, 제어의 역흐름
  • spring : java 기반 프레임워크
  • Node.js : JavaScript 기반 프레임워크
  • Django : Python을 기반으로 만든 프레임워크
  • Codeigniter : PHP를 기반으로 만든 프레임워크
  • Ruby on Rails : Ruby를 기반으로 만든 프레임워크

서버 개발과정

  • DTO : 데이터 교환을 위해 사용할 객체를 만드는 과정이다.
  • DAO : 데이터베이스에 접근하고, SQL을 활용하여 데이터를 실제로 조작하는 코드를 구현하는 과정이다.

배치 프로그램

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

    -스프링 배치 : 스프링 프레임워크의 3대 요소를 모두 사용할 수 있는 대용량 처리를 제공하는 스케줄러

    -쿼츠 스케줄러 : 스프링 프레임워크에서 수행하는 작업과 실행 스케줄을 정의하는 트리거를 분리하여 유연성을 제공하는 오픈 소스 기반 스케줄러

    -Cron 표현식 : 작업이 실행되는 시간 및 주기 등을 설정하여 배치 수행시간을 설정

    '*' : 모든 수

    ? : 해당 항목을 미사용

    '-' : 기간 설정

    . : 특정 기간 설정

    / : 시작시간과 반복간격 설정

    L : 마지막 기간에 동작

    W : 가장 가까운 평일에 동작

    '#' : 몇 번째 주, 요일 설정

스토리지

정의 : 서버와 저장장치를 연결하는 기술

-DAS : 서버와 저장장치를 전용 케이블로 연결하는 기술

- NAS : 서버와 저장장치를 네트워크를 통해 연결하는 기술

- SAN : 서버와 저장장치를 별도의 네트워크를 통해 연결하는 기술

반응형

'정보처리기사' 카테고리의 다른 글

6. 화면 설계  (0) 2021.06.07
5. 인터페이스 구현  (0) 2021.06.06
3. 통합구현  (0) 2021.05.31
2. 데이터 입출력 구현  (0) 2021.05.22
1. 요구사항 확인  (0) 2021.05.19