ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [정보처리기사 실기] 과목8 - 서버 프로그램 구현, 오답노트
    CS/정보처리기사 2023. 7. 17. 03:13
    반응형

     

     Chapter ① 개발환경 구축

     

    • 형상 관리의 절차

            형상 관리는 다음과 같은 절차를 통해 품질 보증의 목적으로 수행된다.

    절차 설명
    형상 - 형상 관리 대상을 정의 및 식별하는 활동
    - 추적성 부여를 위해 ID와 관리번호를 부여
    - 변경 관련 이슈 발생 시 ID와 관리번호를 이용하여 추적
    형상 - 형상 항목의 버전 관리를 위한 형상통제위원회 운영
    - 변경요구 관리, 변경제어, 형상 관리 등 통제 지원
    - 베이스라인에 대한 관리 및 형상 통제 수행 가능
    형상 - 소프트웨어 베이스라인의 무결성 평가
    - 베이스라인 변경 시 요구사항과 일치 여부 검토
    형상 - 소프트웨어 형상 및 변경관리에 대한 각종 수행결과를 기록
    - 형상결과 보고서 작성

     


     

    • 개발 도구의 분류
    구분 설명
    드 도구 - 작성한 코드의 빌드 및 배포를 수행하는 도구
    - 각각의 구성요소와 모듈에 대한 의존성 관리를 지원
    현 도구 - 개발자의 코드 작성과 디버깅, 수정 등과 같은 작업을 지원하는 도구
    - 프로그램을 개발할 때 가장 많이 사용되는 도구
    스트 도구 - 코드의 기능 검증과 전체의 품질을 높이기 위해 사용하는 도구
    - 코드의 테스트, 테스트에 대한 계획, 수행 및 분석 등의 작업 가능
    상 관리 도구 - 개발자들이 작성한 코드와 리소스 등 산출물에 대한 버전 관리를 위한 도구
    - 프로젝트 진행 시 필수로 포함되는 도구

     


     

    • 클라이언트 하드웨어 개발환경
    구분 설명
    클라이언트 프로그램 - 설치를 통해 사용자와 커뮤니케이션하는 프로그램
    - Visual Basic, C#, Delphi 등으로 개발되어 사용
    웹 브라우저 - 웹 서비스의 형태로 서버에서 웹 애플리케이션을 응답 시 브라우저를 통해 사용자와 커뮤니케이션
    - 일반적인 형태의 웹 사이트가 해당
    모바일 앱 - 모바일 디바이스에 설치되어 활용되는 애플리케이션
    - 앱 스토어, 안드로이드 마켓 등을 통해 다운로드 가능
    모바일 웹 - 웹 브라우저와 동일한 형태로 모바일상 웹 브라우저를 통해 서비스를 제공
    - 모바일에 최적화되어 제공되는 웹사이트가 해당

     


     

    • 소프트웨어 개발환경
    구분 설명
    운영체제 - 서버의 하드웨어를 사용자 관점에서 편리하고 유용하게 사용하기 위한 소프트웨어
    - 프로젝트의 성격에 따른 운영체제 사용
    미들웨어 - 컴퓨터와 컴퓨터 간의 연결을 쉽고 안전하게 할 수 있도록 해주고 이에 대한 관리를 도와주는 소프트웨어
    - 자바 기반 환경에서 JVM을 설치하여 컨테이너로의 기능을 주로 이용
    DBMS - 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해주는 소프트웨어
    - 데이터의 저장 및 활용을 위해 DBMS를 설치

     

     

    Chapter ② 공통 모듈 구현

     

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

     


     

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

     


     

    • 공통 모듈 테스트의 개념
    • 공통 모듈 테스트를 위해 IDE(Integrated Development Environment) 도구를 활용하여 개별 공통 모듈에 대한 디버깅을 수행한다.
    • 공통 모듈 테스트는 화이트박스 기법을 활용한다.
    • 대표적인 단위 테스트 도구인 jUnit을 활용하여 테스트 코드를 구현한다.

     


     

    • 화이트 박스(Whitebox) 기법

            프로그램의 로직을 이해하고, 내부 구조와 동작을 검사하는 소프트웨어 테스트 방식이다.

     


     

    • 팬인(Fan-In) 및 팬아웃(Fan-Out) 계산 방법
    팬인
    (Fan-In)
    모듈 자신을 기준으로 모듈에 들어오면 팬인(in)
    팬아웃
    (Fan-Out)
    모듈 자신을 기준으로 모듈에서 나가면 팬아웃(out)

     


     

    • 루틴(Routine)의 개념

            소프트웨어에서 특정 동작을 수행하는 일련의 코드로 기능을 가진 명령들의 모임

     

     

    Chapter ③ 서버 프로그램 구현

     

    • Mybatis란?

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

     


     

    • DAO vs DTO vs VO?
    DAO(Data Access Object) 특정 타입의 데이터베이스에 추상 인터페이스를 제공하는 객체세부내용 노출 없이 데이터 조작
    DTO(Data Transfer Object) 프로세스 사이에서 데이터를 전송하는 객체데이터 저장, 회수 외에 다른 기능 없음
    VO(Value Object) 간단한 엔티티를 의미하는 작은 객체 가변 클래스인 DTO와 달리 고정 클래스를 가짐

     

     

    Chapter ④ 배치 프로그램 구현

     

    • 배치 프로그램(Batch Program)의 개념

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

     


     

    • 배치 스케줄러의 종류
    종류 설명
    스프링 배치
    (Spring Batch)
    스프링 프레임워크의 DI, AOP, 서비스 추상화 등 스프링 프레임워크의 3대 요소를 모두 사용할 수 있는 대용량 처리를 제공하는 스케줄러 배치 애플리케이션
    쿼츠 스케줄러
    (Quartz Scheduler)
    스프링 프레임워크에 플러그인되어 수행하는 작업(Job)과 실행 스케줄을 정의하는 트리거를 분리하여 유연성을 제공하는 오픈 소스 기반 스케줄러

     


     

    • Cron 표현식
    • 스케쥴러를 실행시키기 위해 작업이 실행되는 시간 및 주기 등을 설정하게 되는데 크론 표현식을 통해 배치 수행시간을 설정한다.
    • 크론 표현식은 크게 리눅스(Linux)/유닉스(Unix)쿼츠(Quartz)로 구분된다.

     


     

    • Cron 표현식 특수문자 의미
    사용 예 의미
    0 0 12 * * ? 매일 12시에 실행
    0 15 10 * * ? 매일 오전 10시 15분에 실행
    0 * 14 * * ? 오후 14시에서 15시 사이에 매 분마다 실행
    0 0/5 14,20 * * ? 매일 14시에 시작하여 14시 55분까지 5분마다 실행, 20시 정각부터 20시 55분 까지 5분마다 실행
    0 0 20 ? * MON-FRI 매주 월요일과 금요일 사이 20시에 실행
    0 15 10 15 * ? 매달 15일 10시 15분에 실행
    0 15 10 L * ? 매달 마지막 날 10시 15분에 실행
    0 15 10 ? * 6L 2020-2021 2020년부터 2021년 매달 마지막 토요일 10시 15분에 실행
    0 15 10 15 * ? 매달 15일 10시 15분에 실행
    0 11 11 1 1 ? 1월 1일 11시 11분마다 실행

     

     

    Reference

     

    2022 수제비 정보처리기사 실기 (1권+2권 합본세트) - YES24

    NCS 기반으로 재구성한 합격비법서로 NCS 기반 반영 문제(예상문제, 단원종합문제, 모의고사, 2021년 기출문제)를 수골하였다. 2022년 합격을 위한 NCS 기반 모의고사, 궁극의 암기비법(두음 쌤)과 학

    www.yes24.com

     

     

     

    반응형
Designed by Tistory.