Notice
Recent Posts
Recent Comments
Link
«   2025/12   »
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 31
Archives
Today
Total
관리 메뉴

Ga0's

2021년 2회 정보처리기사 실기 본문

Study IT/정보처리기사

2021년 2회 정보처리기사 실기

Ga0Kwon 2023. 4. 16. 18:09

문제 1

네트워크 및 인터넷과 관련된 다음 설명에 해당하는 용어를 쓰시오.

-  재난 및 군사 현장과 같이 별도의 고정된 유선망을 구축할 수 없는 장소에서 모바일 호스트(Mobile Host)만을 이용하여 구성한 네트워크이다.

-  망을 구성한 후 단기간 사용되는 경우나 유선망을 구성하기 어려운 경우에 적합하다.

-  멀티 홉 라우팅 기능을 지원한다.

 

애드 훅 네트워크(Ad-hoc Network)

 

[네트워크 관련 신기술]

 

- IoT(Internet of Things, 사물인터넷) 

   - 정보 통신 기술의 기반으로 실세계(Physical World)와 가상세계(Virtual World)의 다양한 사물들을 인터넷으로 서로 연결하여 진보도니 서비스를 제공하기 위한 서비스 기반 기술

 

- M2M(Machine to Machine, 사물 통신)

 - 무선 통신을 이용한 기계와 기계 사이의 통신

- 변압기 원격 감시, 전기, 가스 등의 원격 검침, 무선 시용카드 조회기, 무선 보안단말기, 버스 운행 시스템, 위치 추적 시스템, 시설물 관리 등을 무선으로 통합하여 상호작용하는 통신

 

- 모바일 컴퓨팅(Mobile Computing)

 - 휴대형 기기로 이동하면서 자유로이 네트워크에 접소갛여 업무를 처리할 수있는 환경

 

- 클라우드 컴퓨팅(Cloud Computing)

 - 각종 컴퓨팅 자원을 중앙 컴퓨터에 두고 인터넷 기능을 갖는 단말기로 언제 어디서나 인터넷을 통해 컴퓨터 작업을 수행할 수 있는 가상화된 환경

 

- 그리드 컴퓨팅(Grid Computing)

 - 지리적으로 분산되어 있는 컴퓨터를 초고속 인터넷망으로 연결하여 공유함으로써 하나의 고성능 컴퓨터처럼 활용하는 기술

 

- 모바일 클라우드 컴퓨팅(MCC; Mobile Cloud Computing)

 - 소비자와 소비자의 파트너가 클라우드 서비스를 이용하여 모바일 기기로 클라우드 컴퓨팅 인프라를 구성하여 여러 가지 정보와 자원을 공유하는 ICT 기술

 

- 인터클라우드 컴퓨팅(Inter-Cloud Computing)

 - 각기 다른 클라우드 서비스를 연동하거나 컴퓨팅 자원의 동적 할당이 가능하도록 여러 클라우드 서비스 제공자들이 제공하는 클라우드 서비스나 자원을 연결하는 기술

 

- 메시 네트워크(Mesh Network)

 - 차세대 이동통신, 홈네트워킹, 공공 안전등 특수 목적을 위한 새로운 방식의 네트워크 기술

 - 대규모 디바이스의 네트워크 생성에 최적화 되어 있음

 

- 와이선(Wi-SUN)

 - 스마트 그리드(=에너지 효율성을 높이는지능형 전력망 시스템)와 같은 장거리 무선 통신을 필요로하는 사물 인터넷(IoT) 서비스를 위한 저전력 장거리(LPWA; Low-Power-Wide Area)통신 기술

 

- NDN(Named Data Networking)

 - 콘텐츠 자체의 정보와 라우터 기능만으로 데이터 전송을 수행하는 기술

- 클라이언트와 서버가 패킷의 헤더에 내장되어 있는 주소 정보를 이용하여 연결되던 기존 IP(Internet Protocol)망을 대체할 새로운 인터넷 아키텍처로 떠오르고 있음 

 

- NGN(Next Generation Network, 차세대 통신망)

 - ITU-T에서 개발하고 있는 유선망 기반의 차세대 통신망

 - 유선망뿐만 아니라 이동 사용자를 목표로 하여, 이동 통신에서 제공하는 완전한 이동성(Full Mobility)제공을 목표로 개발되고 있음

 

- SDN(Software Defined Networking, 소프트웨어 정의 네트워킹)

 - 네트워크를 컴퓨터처럼 모델링 하여 여러 사용자가 각각의 소프트웨어로 네트워킹을 가상화하여 제어하고 관리하는 네트워크

 

- NFC(Near Field Communication, 근거리 무선 통신)

 - 고주파(HF)를 이용한 근거리 무선 통신 기술

 - 아주 가까운 거리에서 양방향 통신을 지원하는 RFID(사물에 전자채그를 부착하고 무선통신을 이용하여 사물의 정보 및 주변 정보를 감지하는 센서기술) 기술의 일종임

 

- UWB(Ultra WideBand, 초광대역)

 - 짧은 거리에서 많은 양의 디지털 데이터를 낮은 전력으로 전송하기 위한 무선 기술로 무선 디지털 펄스라고도 함

 - 0.5m/W 정도의 저전력으로 많은 양의 데이터를 1km의 거리까지 전송할 수 있을 뿐만 아니라, 땅속이나 벽면 뒤로도 전송이 가능함

 

- 피코넷(PICONET)

 - 여러 개의 독립된 통신장치가 블루투스 기술이나 UWB 통신 기술을 사용하여 통신망을형성하는 무선 네트워크 기술

 

- WBAN(Wireless Body Area Network)

 - 웨어러블(Wearable) 또는 몸에 심는(Implant) 형태의 센서나 기기를 무선으로 연결하는 개인 영역 네트워킹 기술

 

- GIS(Geographic Infomation System, 지리 정보 시스템)

 - 지리적인 자료를 수집, 저장, 분석, 출력할 수 있는 컴퓨터 응용 시스템

 - 위성을 이용해 모든 사물의 위치 정보를 제공해줌

 

- USN(Ubiquitous Sesor Network, 유비쿼터스 센서 네트워크)

 - 각종 센서로 수집한 정보를 무선으로 수집할 수 있도록 구성한 네트워크

 -  필요한 모든 것에 RFID 태그를 부착하고, 이를 통하여 사물의 인식정보는 물론 주변의 환경정보까지 탐지하여 이를 네트워크에 연결하여 정보를 관리함

 

- SON(Self Organizing NetWork, 자동 구성 네트워크)

 - 주변 상황에 맞추어 스스로 망을 구성하는 네트쿼읔 

 - SON의 목적은 통신망 커버리지 및 전송 요량 확장의 경제성 문제를 해결하고, 망의 운영과 관리의 효율성을 높이는 것

 

- 애드 훅 네트워크(Ad-hoc Network)

 - 재난 현장과 같이 별도의 고정된 유선망을 구축할 수 없는 장소에서 모바일 호스트(Mobile Host)만을 이용하여 구성한 네트워크

- 망을 구성한 후 단기간 사용되는 경우나 유선망을 구성하기 어려운 경우에 적합함

 

- 네트워크 슬라이싱(Network Slicing)

 - 네트워크에서 하나의 물리적인 코어 네트워크 인프라(Infrastructure)를 독립된 다수의 가상 네트워크로 분리하여 각각의 네트워크를 통해 다양한 고객 맞춤형 서비스를 제공하는 것을 목적으로 하는 네트워크 기술

 - SGPP를 포함한 여러 글로벌 이동 통신 표준화 단체가 선정한 5G(IMT-2020)의 핵심 기술 중 하나임

 

- 저전력 블루투스 기술(BLE; Bluetooth Low Energy)

 - 일반 블루투스와 동일한 2.4GHz 주파수 대역을 사용하지만 연결되지 않은 대기 상태에서는 절전 모드를 유지하는 기술

 

- 지능형 초연결망

 - 스마트 시티, 스마트 스테이션 등 4차 산업혁명 시대를 맞아 새로운 변화에 따라 급격하게 증가하는 데이터 트래픽을 효과적으로 수용하기 위해 시행되는 과학기술정보통신부 주관 사업임

 

- 파장 분할 다중화 (WDM, Wavelength Division Multiplexing)

 - 광섬유를 이용한 통신기술의 하나로, 파장이 서로 다른 복수의 신호를 보냄으로써 여러 대의 단말기가 동시에 통신 회선을 사용할 수 있도록 하는 것 

- 파장이 다른 광선끼리는 서로 간섭을 일으키지 않는 성질을 이용한 기술임

 

- 소프트웨어 정의 데이터 센터(SDDC, Software Defined Data Center)

 - 데이터 센터의 모든 자원을 가상화하여 인력의 개입없이 소프트웨어 조작만으로 관리 및 제어되는 데이터 센터를 의미

 - 컴퓨팅, 네트워킹, 스토리지, 관리 등을 모두 소프트웨어로 정의함

 - 다양한 소프트웨어 정의 기술이 사용 됨

 

- 개방형 링크드 데이터(LOD, Linked Open Data)

 - Linked Data와 Open Data의 합성어로 누구나 사용할 수 있도록 우베상에 공개된 연계 데이터를 의미

 - 웹상에 존재하는 데이터를 개별 URI(인터넷 식별자)로 식별하고 각 URI에 링크 정보를 부여함으로써 상호 연결된 웹을 지향하는 모형

 

문제 2

인터페이스에 관련된 다음 설명에서 괄호(①, ②)에 들어갈 알맞은 용어를 쓰시오.

 - (  ①  ) : 사용자가 시스템이나 서비스를 이용하면서 느끼고 생각하게 되는 총체적인 감정 및 경험

 - (  ②  ) : 사용자와 시스템 간의 상호작용이 원활하게 이뤄지도록 도와주는 장치나 소프트웨어

   ① UX

   ② UI

 

- 사용자 인터페이스(UI, User Interface)

 - 사용자와 시스템 간의 상호작용이 원활하게 이뤄지도록 도와주는 장치나 소프트웨어 분야를 의미

 

    - 사용자 인터페이스 구분

        - CLI(COmmand Line Interface) : 명령과 출력이 텍스트 형태로 이뤄지는 인터페이스

        - GUI(Graphical User Interface) : 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행하는 그래픽 환경의 인터페이스

        - NUI(Natural USer Interface) : 사용자의 말이나 행동으로 기기를 조작하는 인터페이스

 

    -  사용자 인터페이스이 기본 원칙

         - 직관성 : 누구나 쉽게 이해하고 사용할 수 있어야 함

         - 유효성 : 사용자의 목적을 정확하고 완벽하게 달성해야 함

         - 학습성 : 누구나 쉽게 배울고 익힐 수 있어야 함

         - 유연성 : 사용자의 요구사항을 최대한 수용하고 실수를 최소화해야 함

 

 

- HCI(Human Computer Interaction or Interface)

   - 사람이 시스템을 보다 편리하고 안전하게 사용할 수 있도록 연구하고 개발하는 학문

   

- UX(User  Ecperience, 사용자 경험)

  - 사용자가 시스템이나 서비스를 이용하면서 느끼고 생각하게 되는 총체적인 경험이다.

 

  -  UX 특징

     - 주관성(Subjecticity) : 사람들의 개인적, 신체적, 인지적 특성에 따라 다르므로 주관적임

     - 정황성(Contextuality) : 경험이 일어나는 상황 또는 주변 환경에 영향을 받음

     - 총체성(Holistic) : 개인이 느끼는 총체적인 심리적, 감성적인 결과임

 

- 감성공학

  - 제품이나 작업환경을 사용자의 감성에 알맞도록 설계 및 제작하는 기술

 

문제 3

데이터 베이스의 상태 변화를 일으키는 트랜잭션(Transaction)의 특성 중 원자성(Atomicity)에 대해 간략히 서술하시오

 

트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료(Commit)되든지 아니면 전혀 반영되지 않도록 복구(Rollback)되어야함

 

- 트랜잭션

  - 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미

  - 트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 논리적 단위로 사용

 

트랜잭션의 특성

  - Atomicity(원자성) : 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료(Commit)되든지 아니면 전혀 반영되지 않도록 복구(Rollback)되어야함

 - Consistenct(일관성) : 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환함

 - Isolation(독립성, 격리성, 순차성) : 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어들 수 없음

 - Durability(영속성, 지속성) : 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함

 

문제 4

데이터 베이스에 대한 다음 설명에서 괄호에 공통으로 들어갈 알맞은 답을 쓰시오

 

테이블을 만들 때는 이상(Anomaly)을 방지하기 위해 데이터들의 중복성 및 종속성을 배제하는 정규화를 수행한다. 아래 그림은 부분 함수적종 종속을 제거하기 위해 제 (      ) 정규형을 만드는 과정이다.

 

2021년 2회 정보처리기사 실기 문제4

<Table R>의 경우, C는 key에 해당하는 A와 B중 A에만 종속되는 부분 함수적 종속이다. 이 문제 해결을 위해 <Table R>에서 C를 분리하여 <Table R1>과 <Table R2>로 만들면 제 (      ) 정규형에 해당하는 테이블이 완성된다.

 

∴ 제 2 정규형

 

정규화

 - 테이블의 속성들이 상호 종속적인 관계를 갖는 특성을 이용하여 테이블의 무손실 분해하는 과정이다.

 제 N 정규화  수행하는 과정(내용)
비정규 릴레이션, 제 1정규화 도메인이 원자 값
1NF(제 1 정규형), 제 2정규화 부분적 함수 종속 제거
2NF(제 2 정규형), 제 3정규화 이행적 함수 종속 제거
3NF(제 3 정규형),
보이스코드 정규화(BCNF; Boyce-Codd Normal Form)
결정자이면서 후보키가 아닌 것 제거
BCNF, 제 4정규화 다치 종속 제거
4NF(제 4 정규형), 제 5정규화 조인 종속성 이용
5NF(제 5 정규형)  

- 도부이결다조 ≒ 두부이걸다줘 (정규화 과정 중 정규화별 만족하는 내용)

   - 도메인이 원자값(1NF)

   - 부분적 함수 종속 제거(2NF)

   - 이행적 함수 종속 제거(3NF)

   - 결정자이면서 후보키가 아닌 것 제거(BCNF)

   - 다치 종속 제거(4NF)

   - 조인 종속성 이용(5NF)

 

문제6

다음 <사원> 테이블과 <동아리> 테이블을 조인(Join)한 <결과>를 확인하여 <SQL문>의 괄호(①,②)에 들어갈 알맞은 답을 쓰시오.

2021년 2회 정보처리기사 실기 문제6

<SQL 문>

SELECT a.코드, 이름, 동아리명 FROM 사원 a LEFT JOIN 동아리 b( ① ) a.코드 = b.( ② );

ON

코드

 

JOIN

 - 2개의 릴레이션(테이블)에서 연관된 튜플들을 결합하여, 하나의 새로운 릴레이션을 반환한다.

 -  JOIN은 크기 INNER JOIN과 OUTER JOIN으로 구분

 

SQL JOIN

INNER JOIN : 내부조인 => 교집합

LEFT JOIN/RIGHT JOIN : 부분집합

OUTER JOIN : 외부조인 => 합집합

 

문제7

다음 Python으로 구현된 프로그램을 분석하여 그 실행 결과를  쓰시오.

        a = 100
        result = 0
        # 100 = 0110 0100

        for i in range(1, 3): # 1부터 2까지 반복 => 총 2번
            result = a >> i #비트 연산 [누적 더하기가 아니기때문에 i = 1은 계산할 필요 없음]
            # i = 1 a >> i = 0110 0100 >> 1 = result = 0011 0010(50) [ 계산 할 필요 없음 ]
            # i = 2 a >> i = 0110 0100 >> 2 = result = 0001 1001(25)
            # result에 a >> i값을 넣기 때문에 a값은 그대로
            result = result + 1
            # i = 1 result = result + 1 => 50+1 = 51 = result [ 계산할 필요 없음 ]
            # i = 2 result = result + 1 => 25+1 = 26 = result

        print(result)

 

문제9

테스트에 대한 다음 설명에서 각 지문(①~③)에 해당하는 커버리지(Coverage)를 <보기>에서 찾아 기호로 쓰시오.

① 최소 한번은 모든 문장이 수행되도록 구성하는 검증 기준

② 조건식이 참(True)/거짓(False)일 때 수행되도록 구성하는 검증 기준

③ ②번과 달리 조건식에 상관없이 개별 조건이 참(True)/거짓(False)일 때 수행되도록 구성하는 검증 기준

 

< 보기 >

ㄱ. 다중 조건 검증 기준                          ㄴ. 선택 검증 기준                                           ㄷ. 조건 검증 기준           

ㄹ. 결정(분기) 검증 기준                        ㅁ. 결정(분기)/조건 검증 기준                          ㅂ. 구문(문장)검증 기준

 

 

화이트 박스 테스트(White Box Test)

 - 원시 코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법

 

화이트 박스 테스트의 종류

 - 기초 경로 검사(Base Path Testing)

    - 테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해주는 테스트 기법

    - 대표적인 화이트 박스 테스트 기법

 - 제어 구조 검사(Control Structure Testing)

    - 조건 검사(Condition Testing) 

       - 프로그램 모듈 내에 있는 논리적 조건을 테스트하는 테스트하는 테스트 케이스 설계 기법

    - 루프 검사(Loop Testing) 

       - 프로그램의 반복(Loop) 구조에 초점을 맞춰 실시하는 테스트 케이스 설계 기법

    - 데이터 흐름 검사(Data Flow Testing) 

       - 프로그램에서 변수의 정의와 변수 사용의 위치에 초점을 맞춰 실시하는 테스트 케이스 설계 기법

 

화이트 박스 테스트의 검증 기준

 - 문자 검증 기준(statement Coverage)

    - 소스 코드의 모든 구분이 한번 이상 수행되도록 테스트 케이스를 설계함

 

 - 분기 검증 기준(Branch Coverage)

    - 소스 코드와 모든 조건문에 대해 조건식의 결과가 True인 경우와 False인 경우가 한 번 이상 수행되도록 테스트 케이스 를 설계함

    - 결정 검증 기준(Decision Coverage)라고도 함

 

 - 조건 검증 기준(Condition Coverage)

    - 소스 코드의 조건문에 포함된 개별 조건식의 결과가 True인 경우와 False인 경우가 한번 이상 수행되도록 테스트 케이스를 설계함

 

 - 분기/조건 기준(Branch/Condition Coverage)

   - 분기 검증 기준과 조건 검증 기준을 모두 만족하는 설계로, 조건문이 True인 경우와 False인 경우에 따라 조건 검증 기준의 입력 데이터를 구분하는 테스트 케이스를 설계함

 

문제10

다음은 <회원> 테이블에서 '이름'이 "이"로 시작하는 회원들을 '가입일' 순으로 내림차순 정렬하는 <SQL문>이다. 괄호(①,②)에 들어갈 알맞은 답을 쓰시오.

2021 2회 정보처리기사 실기 문제10

<SQL 문>

SELECT * FROM 회원 WHERE 이름 LIKE '(     ①     )' ORDER BY 가입일(    ②    );

이%

DESC

 

LIKE 연산자 : 대표 문자를 이용해 지정된 속성의 값이 문자 패턴과 일치하는 튜플을 검색하기 위해 사용된다.

대표 문자 % _ #
의미 모든 문자를 대표함 문자 하나를 대표함 숫자 하나를 대표함
    /*앞 뒤 글자가 뭐가 오던지 '이'라는 문자만 있으면 해당 ROW를 출력*/
    SELECT * FROM 회원 WHERE 이름 LIKE '%이%';

    /*데이터 앞에 무슨 글자가 오던지 '이'라는 문자로 끝나는 해당 ROW를 출력*/
    SELECT * FROM 회원 WHERE 이름 LIKE '%이';

    /*데이터 뒤에 무슨 글자가 오던지 '이'라는 문자로 시작하는 해당 ROW를 출력*/
    SELECT * FROM 회원 WHERE 이름 LIKE '이%';

    /*데이터 뒤에 아무 글자가 오던 상관없이 맨앞에 한글자 뒤애 라면 글자가 있으면 '이'라는 문자로 시작하는 해당 ROW를 출력*/
    SELECT * FROM 회원 WHERE 이름 LIKE '_이%';

    /*'이'앞에 한글자 '이' 뒤에 3글자인 해당 ROW를 출력*/
    SELECT * FROM 회원 WHERE 이름 LIKE '_이___';
 

ORDER BY : 해당 속성을 기준으로 SELECT문을 정렬하는 키워드

 - SELECT문으로 검색된 데이터를 오름차순(ASC)이나 내림차순(DESC)으로 정렬 시킬 때 사용

 - Default값은 Ascending(오름차순)으로써 ASC은 생략해도 됨(DESC =  descending)

 

문제11

모듈에 대한 다음 설명에서 각 지문(①~③)에 해당하는 응집도(Cohesion)를 <보기>에서 찾아 기호를 쓰시오.

① 내부의 요소들이 기능적으로 연관성이 없으나, 순차적으로 실행될 때의 응집도

② 서로 다른 기능을 수행하지만 동일한 입력과 출력을 사용할 때의 응집도

③ 하나의 기능에 밀접하게 관련되어 있거나 연관되어 있을 때의 응집도

 

< 보기 >

ㄱ. 기능적 응집도             ㄴ. 순차적 응집도           ㄷ. 교환적 응집도                ㄹ. 절차적 응집도

ㅁ. 시간적 응집도             ㅂ. 논리적 응집도           ㅅ. 우연적 응집도

 

① 

② 

③ 

 

응집도(Cohesion)

   - 모듈의 내부 요소들이 서로 관련되어 있는 정도

   - 기능적 응집도 > 순차적 응집도 > 교환적 응집도 > 절차적 응집도 > 시간적 응집도 > 논리적 응집도 > 우연적 응집도

 

응집도의 종류

 - 기능적 응집도(Functional Cohesion)

    -  모듈 내부의 모든 기능 요소들이 단일 문제와 연관되어 수행될 경우의 응집도

 

 - 순차적 응집도(Sequential Cohesion)

    - 모듈 내 하나의 활동으로부터 나온 출력 데이터를 그 다음 활동의 입력 데이터로 사용할 경우의 응집도

 

 - 교환(통신)적 응집도(Communicaion Cohesion)

   - 동일한 입력과 출력을 사용하여 서로 다른 기능을 수행하는 구성 요소들이 모였을 경우의 응집도

 

 - 절차적 응집도(Procedural Cohesion)

   - 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행할 경우의 응집도

 

 - 시간적 응집도(Temproal Cohesion)

   - 특정 시간에 처리되는 몇 개의 기능을 모아 하나의 모듈로 작성할 경우의 응집도

 

 - 논리적 응집도(Logical Cohesion)

   - 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들로 하나의 모듈이 형성되는 경우의 응집도

 

 - 우연적 응집도(Coincidental Cohesion)

   - 모듈 내부의 각 구성 요소들이 서로 관련 없는 요소로만 구성돤 경우의 응집도

 

문제12

네트워크에 관련된 다음 설명에서 괄호(①,②)에 들어갈 알맞은 용어를 쓰시오.

- (  ①  ) : 연결형 통신에서 주로 사용되는 방식으로, 출발지와 목적지의 전송 경로를 미리 연결하여 논리적으로 고정한 후 통신하는 방식

- (  ②  ) : 비연결형 통신에서 주로 사용되는 방식으로, 사전에 접속 절차를 수행하지 않고 헤더에 출바지에서 목적지까지의 경로 지정을 위한 충분한 정보를 붙여서 개별적으로 전달하는 방식

 

가상회선

데이터 그램

 

가상회선 패킷 교환 방식(Virtual Circuit)

 - 데이터를 전송하기 전에 논리적 연결이 설정되는데, 이를 가상회선이라고 한다.(연결 지향형)

 - 각 패킷에는 가상회선 식별 번호(VCI)가 포함되고, 모든 패킷을 전송하면 가상회선이 해제되고 패킷들은 전송된 순서대로 도착
 - 데이터 그램은 패킷마다 라우터가 경로를 선택하지만, 가상회선 방식은 경로를 설정할 때 한 번만 수행한다.

 

데이터그램 패킷 교환 방식(Datagram)

 - 데이터그램 네트워크는 *패킷교환 방식으로 동작하면서 *IP 주소를 사용하는 인터넷

 - 데이터를 전송하기 전에 논리적 연결이 설정되지 않으며 패킷이 독립적으로 전송(= 데이터그램)
 - 패킷을 수신한 라우터는 최적의 경로를 선택하여 패킷을 전송하는데 하나의 메시지에서 분할된 여러 패킷은 서로 다른 경로로 전송될 수 있다.(비연결 지향형)
 - 송신 측에서 전송한 순서와 수신 측

도착한 순서가 다를 수 있다.

 

문제13

디자인 패턴에 관련된 다음 설명에서 괄호에 들어갈 알맞은 답을 쓰시오.

디자인 패턴은 모듈 간의 관계 및 인터페이스를 설계할 때 참조할 수있는 전형적인 해결 방식 또는 예제를 의미한다. 그 중 (            )패턴은 클래스나 객체들이 서로 상호작용하는 방법이나 책임 분배 방법을 정의하는 패턴으로 Interpreter, Observer, Command등이 그 예에 해당한다.

 

∴ 행위

 

디자인 패턴

 - 모듈 간의 관계 및 인터페이스를 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제를 의미

 

 생성 패턴(Creational Pattern)

  - 클래스나 객체의 생성과 참조 과정을 정의하는 패턴

  - ex) 추상팩토리(Abstract Factory), 빌더(Builder), 팩토리 메소드(Factory Method), 프로토타입(Prototype), 싱글톤(Singleton)

 

 구조 패턴(Structural Pattern)

  - 클래스나 객체들을 조합하여 더 큰 구조로 만드는 패턴

  - ex) 어댑터(Adatper), 브리지(Bridge), 컴포지트(Composite), 데코레이더(Decorator), 퍼싸드(Facade), 플라이웨이트(Flyweight), 프록시(Proxy)

 

 행위 패턴(Behavioral Pattern)

  - 클래스나 객체들이 서로 상호작용 하는 방법이나 책임 분배 방법을 정의하는 패턴

  - ex) 책임 연쇄(Chain of Responsibility), 커맨드(Command), 인터프리터(interperter), 반복자(Iterator), 중재자(Mediator), 메멘토(Memento), 옵서버(Observer), 상태(State), 전략(Stategy), 템플릿 메소드(Template Method)

 

문제14

데이터베이스의 병행제어(Concurrency Control)기법 중 하나로, 접근한 데이터에 대한 연산을 모두 마칠 때까지 추가적인 접근을 제한함으로써 상호 배타적으로 접근하여 작업을 수행하도록 하는 기법을 쓰시오.

 

∴ 로킹(Locking)

 

병행제어(Concurrenct Control)

 - 다중 프로그램의 이점을 활용하여 동시에 여러 개의 트랜잭션을 병행수행할 때, 동시에 실행되는 트랜잭션들이 데이터베이스에 일관성을 파괴하지 않도록 트랜잭션 간의 상호작용을 제어하는 것

 - 만약 병행제어가 없다면 트랜잭션들이 데이터베이스에 동시에 접근하도록 허용할 경우 갱신 분실, 비완료 의존성, 모순성, 연쇄 복귀 등의 문제가 발생한다.

 

병행제어의 기법의 종류

 - 로킹(Locking)

    - 트랜잭션들이 어떤 로킹 단위를 액세스하기 전까지 Lock(잠금)을 요청해서 Lock이 허락되어야만 그 로킹 단위를 액세스할 수 있게 하는 기법

    - 주요 데이터의 액세스를 상호 배타적이라고 함

 

 - 타임 스탬프 순서(Time Stamp Ordering)

    - 트랜잭션과 트랜잭션이 읽거나 갱신한 데이터에 대해 트랜잭션이 실행을 시작하기 전에 시간표(Time Stamp)를 부여하여 부여된 시간에 따라 트랜잭션 작업을 수행하는 기법

    -  직렬성 순서를 결정하기 위해 트랜잭션 간의 처리 순서를 미리 선택하는 기법들 중에서 가장 보편적인 방법

 

 - 최적 병행 수행(검증 기법, 확인 기법, 낙관적 기법)

    - 병행 수행하고자 하는 대부분의 트랜잭션이 판돈 전용(Read Only)트랜잭션일 경우, 트랜잭션 간의 충돌률이 매우 낮아서 병행 제어 기법을 사용하지 않고 실행되어도 이 중의 많은 트랜잭션은 시스템 상태를 일관성 있게 유지한다는 점을 이용한 기법

 

 - 다중 버전 기법

   - 타임 스탬프의 개념을 이용하는 기법

   - 다중 버전 타임 스탬프 기법이라고도 함

   - 타임 스탬프 기법은 트랜잭션 및 데이터들이 이용될 때의 시간을 시간표로 관리하지만, 다중 버전 기법은 갱신될 때 마다의 버전을 부여하고 관리함

 

문제15

럼바우(Rumbaugh)데이터 모델링에 대한 다음 설명에서 각 지문(①~③)에 해당하는 모델링을 <보기>서 찾아 기호로 쓰시오.

 

① 다수의 프로세스들 간의 자료 흐름을 중심으로 처리 과정을 표현한 모델링

    예) 자료흐름도(DFD)

② 시간의 흐름에 따른 객체들 간의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위를 표현하는 모델링

    예) 상태 변화도(STD), 사건 추적도

③ 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정한느 표시하는 모델링

    예) ER 다이어그램(SRD)

 

 < 보기 >

   ㄱ. Operation               ㄴ. Sequence            ㄷ. Information          ㄹ. Transaction

   ㅁ. Function                 ㅂ. I/O                        ㅅ. Dynamic              o. Cause-Effect

 

 

 

럼바우Rumbaugh) 

  - 소프트웨어 구성 요소를 그래픽 표기법을 이용하려 모델링

  - 객체 모델링 기법(OMT, Object Modeling Techbuque)이라고도 함

  - 분석 활동

    - 객체 모델링(Object Modeling)

       - 객체 다이어그램(객체 관계 )로 정보 모델링이라고도 하며 시스템에서 요구하는 객체를 찾고 객체들 간의 관계를 정의, 가장 중요하며 선행되어야 함

 

    - 동적 모델링(Dynamic Modeling)

       - 상태 다이어그램, 시간의 흐름에 따라 객체들 사이의 제어 흐름, 동작 순서 등의 동적인 행위를 표현

 

    - 기능 모델링(Functional Modeling)

       - 자료 흐름도(DFD), 프로세스들의 자료 흐름을 중심으로 처리 과정 표현

 

 - 럼바우 객체 지향 분석 기법의 절차 객체 모델링 -> 동적 모델링 -> 기능 모델링 순서로 진행

 

문제20

통합 테스트에 관련된 다음 설명에서 괄호에 들어갈 알맞은 답을 쓰시오.

 

통합 테스트는 단위 테스트가 끝난 모듈을 통합하는 과정에서 발생하는 오류 및 결합을 찾는 테스트 기법으로, 하위 모듈에서 상위 모듈 방향으로 통합하는 상향식 통합 테스트와 상위 모듈에서 하위 모듈 방향으로 통합하는 하양식 통합 테스트가 있다. 상향식 통합 테스트는 미완성이거나 문제가 있는 상위 모듈을 대체할 수 있는 테스트 드라이버가, 하향식 통합 테스트는 미완성이거나 문제가 있는 하위 모듈을 대체할 수 있는 테스트 (        )이(가) 있어야 원활한 테스트가 가능하다.

 

스텁(Stub)

 

통합 테스트

 - 단위 테스트가 끝난 모듈을 통합하는 과정에서 발생하는 오류 및 결합을 찾는 테스트 기법

 - 종류

   - 비점진적 통합 방식

      - 단계적으로 통합하는 절차 없이 모든 모듈이 미리 결합되어 있는 프로그램 전체를 테스트하는 방법

      - 종류 : 빅뱅 통합 테스트 방식(모듈간의 상호 인터페시으를 고려하지 않고 단위 테스트가 끝난 모듈을 한꺼번에 결합시켜 테스트하는 방법)

   - 점진적 통합 방식

     - 모듈 단위로 단계적으로 통합하면서 테스트하는 방법

     -  종류 : 하향식 통합 테스트. 상향식 통합 테스트, 혼합식 통합 테스트

 

   하향식 통합 테스트

      - 상위 모듈에서 하위 모듈 방향으로 통합하면서 테스트하는 기법

      - 깊이 우선 통합법이나 넓이 우선 통합법을 사용한다.

      - 하향식 통합 테스트 절차

        1. 주요 제어 모듈은 작성된 프로그램을 사용하고, 주요 제어 모듈은 종속 모듈들을 스텁(Stub)으로 대체한다.

        2. 깊이 우선 또는 넓이 우선 등의 통합 방식에 따라 하위 모듈인 스텁들이 한 번에 하나씩 실제 모듈과 교체된다.

        3. 모듈이 통합될 때마다 테스트를 실시한다.

        4. 새로운 오류가 발생하지 않음을 보증하기 위해 회귀 테스트를 실시한다.

         * 스텁(Stub) : 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구로 일시적으로 필요한 조건만을 가지고 있는 시험용 모듈

 

   상향식 통합 테스트

      - 하위 모듈에서 상위 모듈 방향으로 통합하면서 테스트하는 기법

      - 상향식 통합 테스트 절차

         1. 하위 모듈들을 클러스터(Cluster)에 결합한다.

         2. 상위 모듈에서 데이터의 입 ▪ 출력을 확인하기 위해 더미 모듈인 드라이버(Driver)를 작성한다.

         3. 통합된 클러스터 단위로 테스트한다.

         4. 테스트가 완료되면 클러스터는 프로그램 구조의 상위로 이동하여 결합하고 드라이버는 실제 모듈로 대체된다.

         * 클러스터(Cluster) : 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹을 의미

         * 테스트 드라이버(Test Driver) : 테스트 드라이버는 테스트 대상의 하위 모듈을 호출하고, 파라미터를 전달하고, 모듈 테스트 수행 후의 결과를 도출하는 도구

 

   혼합식 통합 테스트

      - 하위 수준에서는 상향식 통합, 상위 수준에서는 하향식 통합을 사용하여 최적의 테스트를 지원하는 방식

      - 샌드위치(Sandwich)식 통합 테스트 방법

   

  회귀 테스팅(Regression Testing)

      - 통합 테스트로 인한 변경된 모듈이나 컴포넌트에 새로운 오류가 있는지 확인하는 테스트

      - 이미 테스트된 프로그램의 테스팅을 반복하는 것.

      - 수정한 ㅋ모듈이나 컴포넌트가 다른 부분에 영향을 미치는지, 오류가 생기지 않았는지 테스트하여 새로운 오류가 발생하지 않았음을 보증하기 위해 반복 테스트를 한다.

 

1