정보처리기사 실기 문제 정리 - 8. 서버 프로그램 구현

Cold Ui·2023년 7월 21일
0

정보처리기사 실기

목록 보기
8/12
post-thumbnail

8. 서버 프로그램 구현

01. 개발환경 구축

기출 문제

  1. 형상 통제는 형상 항목의 형상 관리를 위해 형상통제위원회를 운영하여, 소프트웨어 변경의 요구, 평가, 승인이 이루어진다.

  2. SVN

  3. 1) SVN
    2) CVS

    • 가장 오래된 형상 관리 도구 중의 하나로서 중앙 집중형 서버 저장소를 두고 클라이언트가 접속해서 버전 관리를 실행하는 형상 관리 도구로 파일 단위로 변경 사항 관리가 가능한 도구

    3) Git

예상 문제

  1. 1) 빌드
    2) 형상 관리
  2. 형상 관리 도구란 개발자들이 작성한 코드와 리소스 등 산출물에 대한 버전 관리를 위해 사용되는 도구이다./ 형상 관리 도구는 소프트웨어 프로젝트에서 나오는 결과물을 관리하는 소프트웨어이다.
  3. 1) 웹 애플리케이션 서버
    2) 파일 서버
    • 물리 저장 장치를 활용한 서버
    • 대용량 SSD, HDD 등의 장치가 존재
  4. 1) 웹 브라우저
    2) 모바일 웹
  5. 1) 운영체제
    • 서버의 하드웨어를 사용자 관점에서 편리하고 유용하게 사용하기 위한 소프트웨어
    2) DBMS
    • 데이터 저장 및 활용을 위해 DBMS를 설치
    • 사용자 요청에 따라 DBMS 제품을 선택

02. 공통 모듈 구현

응집도

  1. 응집도는 모듈의 독립성을 나타내는 정도로, 모듈 내부 구성요소 간 연관 정도이다.
  2. 하나의 모듈은 하나의 기능을 수행할수록 응집도가 높다.

우논시절 통순기

  • 우연적 응집도
    • 모듈 내부의 각 구성요소가 연관이 없을 경우의 응집도
  • 논리적 응집도
    • 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우의 응집도
  • 시간적 응집도
    • 연관된 기능이라기보다는 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우의 응집도
  • 절차적 응집도
    • 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할 경우의 응집도
  • 통신적 응집도
    • 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여 있을 경우의 응집도
  • 순차적 응집도
    • 모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 사용할 경우의 응집도
  • 기능적 응집도
    • 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우의 응집도

응집도가 높아질수록 품질이 좋아진다.

결합도

  1. 모듈 내부가 아닌 외부의 모듈과의 연관도 또는 모듈 간의 상호의존성이다.
  2. 소프트웨어 구조에서 모듈 간의 관련성을 측정하는 척도이다.

내공 외제 스자

  • 내용 결합도
    • 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우의 결합도
    • 하나의 모듈이 직접적으로 다른 모듈의 내용을 참조할 때 두 모듈은 내용적으로 결합되어 있는 경우의 결합도
  • 공통 결합도
    • 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호 작용하는 경우의 결합도
    • 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도
  • 외부 결합도
    • 두 개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜, 또는 디바이스 인터페이스를 공유할 경우의 결합도
    • 외부 모듈에서 선언한 데이터(변수)를 외부의 다른 모듈에서 참조할 때의 결합도
  • 제어 결합도
    • 어떤 모듈이 다른 모듈의 내부 논리 조직을 제어하기 위한 목적으로 제어 신호를 이용하여 통신하는 경우의 결합도
    • 하위 모듈에서 상위 모듈로 제어 신호가 이동하여 상위 모듈에게 처리 명령을 부여하는 권리 전도 현상이 발생하는 결합도
  • 스탬프 결합도
    • 모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우의 결합도
    • 두 모듈이 동일한 자료 구조를 조회하는 경우의 결합도이며, 자료 구조의 어떠한 변화는 모든 모듈에 영향을 미치게 됨
  • 자료 결합도
    • 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호 작용이 일어나는 경우의 결합도
    • 한 모듈의 내용을 변경하더라도 다른 모듈에는 영향을 미치지 않는 상태로 가장 바람직한 결합도

결합도가 낮을수록 품질이 좋아진다.


기출 문제

  1. F, H

  2. 1) Fan-In : A-0, B-1, C-1, D-1, E-1, F-3, G-3, H-1, I-2
    2) Fan-Out : A-3, B-3, C-1, D-1, E-1, F-2, G-1, H-1, I-0

  3. 1) 결합도
    2) 응집도

  4. 1) 내용 결합도

    • 내용 결합도는 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우의 결합도

    2) 자료 결합도 스탬프 결합도

    • 스탬프 결합도는 모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우의 결합도

    3) 외부 결합도 공통 결합도

    • 공통 결합도는 파라미터가 아닌 모듈 밖에 선언된 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호 작용하는 경우의 결합도
  5. Control Coupling

    • 제어 결합도는 단순 처리할 대상인 값만 전달되는 게 아니라 어떻게 처리를 해야 한다는 제어 요소가 전달되는 경우의 결합도를 말한다.
  6. 1) 절차적 응집도

    • 입출력 간 연관성은 없으나, 순서에 따라 수행될 필요가 있음

    2) 통신적 응집도(교환적 응집도)

    • 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동

    3) 기능적 응집도

    • 모든 기능들이 연관되어 있는 것, 그룹화
  7. jUnit

예상 문제

  1. 1) 결합도 2) 응집도
  2. 결합도
  3. 1) 논리적
    • 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우
    2) 절차적
    • 모듈이 다수의 관련 기능을 가질 때 모듈안의 구성요소들이 그 기능을 순차적으로 수행할 경우
    3) 기능적
    • 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우
  4. 1) 내용
    • 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우의 결합도
    2) 제어
    • 어떤 모듈이 다른 모듈의 내부 논리 조직을 제어하기 위한 목적으로 제어 신호를 이용하여 통신하는 경우의 결합도
    3) 스탬프
    • 모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우의 결합도
  5. 1) Model 2) Controller 3) View
  6. 1) Fan-In : A-0, B-1, C-1, D-1, E-1, F-1, G-3, H-1, I-1, J-1
    2) Fan-Out : A-4, B-2, C-1, D-1, E-1, F-0, G-2, H-0, I-0, J-0

03. 배치 프로그램 구현

예상 문제

  1. 배치 프로그램
    • 사용자와의 상호 작용 없이 일련의 작업들을 작업 단위로 묶어 정기적으로 반복 수행하거나 정해진 규칙에 따라 일괄 처리하는 방법이다.
  2. 1) 스프링 배치 2) 퀴츠 배치
  3. 쿼츠 Cron
  4. 1) 초 2) 분 3) 일
  5. 1) *
    2) ?
    3) L
  6. 스케쥴러를 매일 12시에 실행한다.
  7. 스케쥴러를 매주 월~토 7시 0분 0초에 실행한다.

단원 종합 문제

  1. 1) Fan-IN : 3 2) Fan-Out : 2
  2. 1) 구현 2) 테스트
  3. 모듈은 그 자체로 하나의 완전한 기능을 수행할 수 있는 독립된 실체이다.
  4. 1) 웹 서버 2) 데이터베이스 서버
  5. 웹 서버
  6. 미들웨어
    • 컴퓨터와 컴퓨터 간의 연결을 쉽고 안전하게 할 수 있도록 해주고 이에 대한 관리를 도와주는 소프트웨어
    • 자바 기반 환경에서 JVM을 설치하여 컨테이너로의 기능을 주로 이용
  7. 형상 관리란 소프트웨어 개발을 위한 전체 과정에서 발생하는 모든 항목의 변경 사항을 관리하기 위한 활동이다.
  8. 소프트웨어 형상 관리 베이스라인은 개발과정의 각 단계별 산출물을 검토, 평가, 조정, 처리 등의 변화를 통제하는 시점의 기준이며, 각 형상 항목들의 기술적 통제 시점이다.
  9. 1) 형상 통제 2) 형상 기록
  10. 추상화는 공통의 속성이나 기능을 묶어 이름을 붙이는 것으로, 객체 지향적 관점에서는 클래스를 정의하는 것을 추상화라고 할 수 있다.
  11. 1) 우연적 응집도
    • 모듈 내부의 구성요소들이 연관이 없는 경우
    2) 시간적 응집도
    • 연관된 기능이라기보다는 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리 할 경우
    3) 통신적 응집도
    • 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여 있을 경우
  12. 1) 공통 결합도
    • 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호 작용하는 경우의 결합도
    2) 외부 결합도
    • 두 개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜 또는 디바이스 인터페이스를 공유할 경우의 결합도
    3) 자료 결합도
    • 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호 작용이 일어나는 경우의 결합도
  13. 응집도
  14. 모듈화
    • 소프트웨어의 성능을 향상시키거나 시스템의 수정 및 재사용, 유지 관리를 용이하게 하여 프로그램을 효율적으로 관리할 수 있도록 시스템을 분해하고 추상화하는 기법
  15. MVC 패턴
    • 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 패턴
  16. 쿼츠 Cron
  17. 1) 시간 2) 요일 3) 연도
  18. 1) - 2) / 3) W
  19. 스케쥴러를 매일 12시 15분에 실행한다.
  20. 스케쥴러를 매일 5시부터 7시까지 10분 간격으로 실행된다.
profile
안녕하세요. 차니의 개발 블로그 입니다!

0개의 댓글