https://chobopark.tistory.com/210
1. 네트워크의 구성 및 유지를 위해 기지국이나 액세스 포인트와 같은 기반 네트워크 장치를 필요로 하지 않고, 멀티 홉 라우팅 기능에 의해 무선 인터페이스가 가지는 통신 거리상의 제약을 극복하며, 노드들의 이동이 자유롭기 때문에 네트워크 토폴로지가 동적으로 변화되는 특징이 있다. 응용 분야로는 긴급 구조, 긴급 회의, 전쟁터에서의 군사 네트워크 등이 있다.
형태 (성형, 망형, 링형 등...)
( 네트워크 장치를 필요로하지 않고 네트워크 토폴로지가 동적으로 변화되는 특징이 있으며 응용 분야로는 긴급 구조, 긴급 회의, 전쟁터에서의 군사 네트워크에 활용되는 네트워크)
AD-hoc Network (애드 훅 네트워크)
* 무선네트워크 구성 방식 *
- 애드 훅 네트워크 (AD-hoc Network)
=> 센서망, 재난망에 사용되며 구성이 빠르고 모든 단말이 동등한 자격으로 망을 구성.
=> 자율성 : 중앙 관리 장치 없이 무선 기기들이 서로 직접 통신 가능.
유연성 : 특정 상황에서 빠른 네트워크 구성 및 해체 가능.
임시성 : 특정 목적을 위해 임시로 구성되며, 불필요시 해체.
=> 특정장소에서 임시 네트워크가 필요한 상황에 적합. (재난 구호 활동, 임시 회의, 군사 작전)
- 인프라 네트워크 (Infrastructure Network)
=> 이동통신망, Wi-Fi에 사용되며 중앙집중형(AP, Access Point) 방식
=> 안정성 : 중앙 집중식 관리로 네트워크 안정성/보안성 강화.
확장성 : 엑세스 포인트를 추가하여 네트워크 범위 확장가능.
접근성 : 무선기기는 어디서든 AP범위 내에서 네트워크에 접속 가능.
=> 넓은 지역을 커버하며 많은 사용자가 인터넷에 접속해야 하는 환경에 적합. (사무실, 학교, 공공 장소)
- 매쉬 네트워크 (Mesh Network) _ 위 두가지 특징을 모두 가지고 있음
=> 여러 노드가 서로 연결되어 각각이 데이터를 직접적으로, 동적으로, 비동기적으로 전송.
=> 무선백본망*에 사용되며 신뢰성이 우수하고 계층적인 구조를 가지고 있음.
=> 자가 치유 : 하나 이상의 노드 연결이 실패하더라도, 자동으로 다른 경로를 통해 전송.
자가 구성 : 노드들은 네트워크에 자동으로 통합되며, 네트워크 구성 변경 시 스스로 재구성 가능.
분산된 네트워크 구조 : 중앙 집중형이 아닌, 모든 노드가 서로 연결되어 있어, 네트워크 부하 분산 및 효율성증가.
확장성 : 새로운 노드를 쉽게 추가하거나 제거할 수 있어, 네트워크의 크기를 유연하게 조절 가능.
* 무선 백본망 (Wireless Backbone Network)
여러 무선 네트워크 접속 지점 (APs : Access Points) 또는 노드들을 연결하는 고성능 무선 통신 네트워크 .
=> 포인트 투 포인트 (Point - to - Point) : 두 지점 간의 직접적인 무선 연결을 통해 데이터를 전송.
=> 포인트 투 멀티포인트 (Point - to - Multipoint) : 하나의 중앙 노드(허브 역할)가 여러 노드와 통신할 수 있는 구조.
* LAN (Local Area Network) 프로토콜
지역 네트워크 내의 데이터 통신을 위한 프로토콜. ( 하나의 빌딩, 대학 캠펴스 등..)
- Ethernet ( IEEE 802.3 )
=> 가장 널리 사용되는 유선 LAN 프로토콜로, 데이터를 고속으로 전송하는 데 사용.
=> 물리 / 데이터 링크 계층, CSMA/CD* 방식을 사용하여 네트워크 상의 충돌을 감지하고 처리.
- Wi-Fi ( IEEE 802.11 )
=> 무선 LAN 프로토콜로, 다양한 환경에서 기기들이 무선으로 데이터를 주고 받는 데 사용.
- Bluetooth
=> 주로 개인 영역 네트워크(PAN)에서 사용되는 무선 프로토콜로, 짧은 거리 내의 기기들 간 데이터 전송 시 사용.
* CSMA/CD, CSMA/CA
=> 데이터 충돌을 관리하기 위해 설계된 네트워크 프로토콜.
- CSMA/CD (Carrier Sense Multiple Access with Collision Detection)
유선 LAN(주로 Ethernet 네트워크)에서 사용.
여러 장치가 공통의 전송 매체(케이블)를 공유할 때 데이터 전송 충돌을 감지하고 처리하는 방법 제공.
- CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance)
무선 LAN(주로 Wi-Fi)에서 사용.
여러 장치가 동시에 통신할 때 데이터 전송 충돌을 방지하는 접근방식을 사용.
* Ethernet, TCP/IP 프로토콜 참고 *
2. 다음 (1), (2)에 알맞는 답안을 쓰시오.
(1) 사람의 감정이나 경험을 나타내는 개념
(사용자 경험의 약자로, 사용자가 어떠한 서비스/제품을 직간접적으로 이용하면서 느끼는 종합적인 만족)
(2) 사용자 인터페이스. 예로는 CLI이 있다.
(사용자가 제품/서비스와 상호작용할 수 있도록 만들어진 매개
1. UX (User Experience)
2. UI (User Interface)
[ 사용자 인터페이스의 기본 원칙 ]
- 직관성 : 누구나 쉽게 이해하고 사용할 수 있어야 한다.
- 유효성 : 사용자의 목적을 정확하고 완벽하게 달성해야 한다.
- 유연성 : 사용자의 요구사항을 최대한 수용하고 실수를 최소화해야 한다.
- 학습성 : 누구나 쉽게 배우고 익힐 수 있어야 한다.
3. 트랜잭션의 특징 중, 원자성에 대해 약술하십시오.
연산의 결과는 모두 반영되거나 모두 반영되지 않아야 한다.
* 트랜잭션
데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위,
한꺼번에 모두 수행되어야 할 일련의 연산들.
[ 트랜잭션 특성 ]
Atomicity (원자성) _ 모두 반영되거나(commit), 모두 반영되지 않거나(rollback).
Consistency (일관성)_ 트랜잭션 수행 전과 수행 완료 후의 상태가 같아야함.
Isolation (독립/격리성)_ 하나의 트랜잭션 실행중에 다른 트랜잭션 연산이 끼어들 수 없음.
Durability (지속/영속성)_ 성공적으로 완료된 트랜잭션의 결과는 영구적으로 반영되어야 함.
4. 다음은 제 ( ) 정규형으로써, 부분 함수적 종속성을 제거하여, 완전 함수적 종속을 만족하는 정규형은?
제 2정규형
제 1정규형 : 도메인이 원자값
제 2정규형 : 부분함수 종속 제거
제 3정규형 : 이행함수 종속 제거
BCNF : 결정자이면서 후보키가 아닌 것 제거
제 4정규형 : 다치종속 제거
제 5정규형 : 조인종속 이용
유일성 최소성
슈퍼키 O X Super Key
후보키 O O Candidate Key
기본키 O O Primary Key
대체키 O O Alternate Key
- 개념설계 : ERD
- 논리설계 : 정규화
=> 이상현상을 막기 위해 ( 삽입이상, 삭제이상, 갱신이상 )
- *물리설계 : 저장장치관련, 성능이 중요
* 반정규화 : 성능 향상을 위해 정규화된 데이터 모델을 통합, 중복, 분리 (정규화 원칙을 위배)
* CRUD : 데이터베이스 테이블에 변화를 주는 트랜잭션의 CRUD 연산에 대해 CRUD 매트릭스를 작성하여 분석
* Patition : 대용량의 테이블이나 인덱스를 작은 논리적단위인 파티션으로 분리
* Index : 데이터에 빠른 접근을 위한 데이터 구조, 별도의 저장공간
* hint ?
* 튜닝?
5. 학생 테이블에서 점수가 90점 이상인 학생의 과목평가를 'A'로 수정하는 SQL문을 완성하시오.
( 1 ) 학생 ( 2 ) 과목평가 = 'A' WHRE 점수 >= 90;
1. UPDATE
2. SET
6. 다음 SQL 보기에서 JOIN할 경우 괄호안에 알맞는 문장을 작성하시오.
SELECT * FROM 학생정보 a JOIN 학과정보 b ( 1 ) a.학과 = b.( 2 )
1. ON
2. 학과
7. 파이썬 비트 연산자 코드 결과
a = 100
result = 0
for i in range(1,3);
result = a >> i
result = result + 1
pirnt(result)
26
100 === 이진수변환 ===> 1100100
for문에서 i는 1, 2 까지만 *
i = 1일때 ==> 110010
result = result + 1 = 50 + 1 = 51
* a값은 변하지 않음 주의 *
i = 2일때 ==> 11001
result = result + 1 = 25 + 1 = 26
result = 26
( * 암호화 * )
8. 다음에 설명하는 대칭키 암호를 쓰시오.
- NIST가 주최한 공모전에서 채택된 Rijndael알고리즘을 가리킨다.
- DES를 대신하여 새로운 표준이 되었다.
- 블록 크기는 128bit이고, 키 길이는 128/192/256bit 이다.
- SPN 구조이다.
( 미국 국립 표준 기술연구소 (NIST), DES를 대체하며, 128 비트 블록 크기와 128,192,256비트 키 크기의 대칭 키 암호화 방식 )
AES (Advanced Encryption Standard)
대칭키 암호화 _ 대부분 이걸 사용
(비밀키 암호화, 개인키 암호화_ Private Key Encryption)
비대칭키 암호화 _ 많은 양을 암호화 시킬 수 없고 키의 길이가 길어 느림
(공개키 암호화 _ Public Key Encryption)
( * 커버리지 * )
9. 화이트박스 테스트 검중 중에, 각 번호에 해당하는 단어 선택해주시오. (실제 시험문제에서는 보기가 주어집니다.)
1. 최소 한번은 모든 문장 수행
(시험 대상의 전체 구문 중에 테스트에 의해 실행된 구문을 측정한다.)
2. 결정(Decision) 검증기준이라고도 하며, 조건별 참 / 거짓
(시험 대상의 전체 분기 중 테스트에 의해 실행된 것을 측정한다.)
3. 2번과 달리 전체 조건식을 무시하며, 조건 상관없이 개별 조건 참 / 거짓
(모든 조건식의 true, false 중 테스트에 의해 실행된 것을 측정한다.)
1. 구문(문장)커버리지 (Statement Coverage)
2. 결정(분기)커버리지 (Decision/Branch Coverage)
3. 조건 커버리지 (Condition Coverage)
10. SQL문에서 괄호안에 알맞은 답안을 작성하시오. (실제 시험에는 결과 이미지가 있습니다.)
('이름'이란 컬럼에 '이'로 시작하는 문자열을 '내림차순'하는 쿼리 결과 내용입니다.)
SELECT * FROM 학생 WHERE 이름 LIKE '이%' ORDER BY 이름 DESC
* 홑따옴표주의
%
_
이_ : '이'로 시작하는 두글자.
_이_ : '이'가 가운데 들어가는 세글자.
이% : '이'로 시작하는 모든글자.
_이% : 앞에 한글자, 두번째에 '이'가 들어가는 모든 글자.
11. 응집도 문제로써, 각 번호에 해당하는 응집도를 쓰시오. (실제 시험문제에서는 보기가 주어집니다.)
1. 입출력 간 연관성은 없으나, 순서에 따라 수행되는 것.
(모듈이 다수의 관련 기능을 가질 떄 모듈 내부의 기능 요소들이 그 기능을 순차적으로 수행할 경우)
2. 동일한 입력과 출력 사용.
(동일한 입력과 출력을 사용하는 소작업들이 모인 경우)
3. 하나의 기능에 모두 기여하고 밀접하게 연관되어 있는 것 (그룹화)
(모듈 내부의 모든 기능 요소들이 한 문제와 연관되어 수행되는 경우)
1. 절차적 응집도
2. 통신적 응집도
3. 기능적 응집도
모듈의 독립성을 높이기 위해 응집도는 높이고 결합도는 낮춰야 한다.
우논시절통순기 데스제외공내
* 응집도 * (높 -> 낮)
기능적 응집도 (Functional Cohesion)
순차적 응집도 (Sequential Cohesion)
통신(교환)적 응집도 (Communication Cohesion)
절차적 응집도 (Procedural Cohesion)
시간적 응집도 (Temporal Cohesion)
논리적 응집도 (Logical Cohesion)
우연적 응집도 (Coincidental Cohesion)
* 결합합도 * (낮 -> 높)
데이터(자료) 결합도 (Data Coupling)
스탬프(검인) 결합도 (Stamp Coupling)
제어 결합도 (Control Coupling)
외부 결합도 (External Coupling)
공통(공유) 결합도 (Common Coupling)
내용 결합도 (Content Coupling)
12. 패킷교환방식 중에서, 번호에 해당하는 방식을 적으시오.
1. 목적지 호스트와 미리 연결한 후, 통신하는 연결형 교환 방식
(패킷을 전송하기 전에는 논리적인 연결을 먼저 수행하여 패킷을 주고 받는다.)
2. 헤더에 붙어서 개별적으로 전달하는 비연결형 교환 방식
(각 전송 패킷을 미리 정해진 경로 없이 독립적으로 처리하여 교환하는 방식이다.)
1. 가상회선 방식
2. 데이터그램 방식
* 데이터 교환 방식 *
교환회선 방식
- 회선교환 방식
- 축척후교환 방식
-> 패킷교환 - 데이터그램(UDP), 가상회선방식(TCP)
-> 메시지교환
전용회선 방식
( * 디자인패턴 * )
13. 괄호 ( ) 안에 알맞는 단어를 쓰시오.
디자인 패턴 중에서 ( )패턴은 반복적으로 사용되는 객체들의 상호작용을 패턴화 한 것으로,
클래스나 객체들이 상호작용하는 방법이다. 알고리즘의 패턴에는 Interpreter, Observer, Command 가 있다.
(디자인 패턴 중 클래스나 서로 상호 작용하는 방법이나 책임 분배 방법을 정의하는 패턴)
행위
생성 패턴
- 추상팩토리 (Abstract Factory)
- 빌더 (Builder)
- 팩토리 메소드 (Factory Method)
- 프로토타입 (Prototype)
- 싱글톤 (Singleton)
구조 패턴
- 어댑터 (Adapter)
- 브리지 (Bridge)
- 컴포지트 (Composite)
- 데코레이터 (Decorator)
- 퍼싸드 (Facade)
- 플라이웨이트(Flyweight)
- 프록시 (Proxy)
행위 패턴
- 책임 연쇄 (Chain of Responsibility)
- 커맨드 (Command)
- 인터프리터 (Interpreter)
- 반복자 (Iterator)
- 중재자 (Mediator)
- 메멘토 (Memento)
- 옵서버 (Observer)
- 상태 (State)
- 전략 (Strategy)
- 템플릿 메소드 (Template Method)
- 방문자 (Visitor)
14. 병행제어기법 중, 접근한 데이터에 대한 연산을 모두 마칠때까지 상호배제하는 기법을 무엇이라 하는지 작성하시오.
(하나의 트랜잭션이 데이터를 액세스하는 동안 다른 트랜잭션이 그 데이터 항목을 액세스할 수 없도록 하는 병행 제어 기법)
로킹 (Locking)
* 병행제어 (Concurrency Control)
동시에 여러개의 트랜잭션을 병행수행할 때, 트랜잭션 간의 상호작용을 제어하는 것.
* 병행제어 기법의 종류
- 로킹(Locking)
- 타임 스탬프 순서 (Time Stamp Ordering)
- 최적 병행수행 (검증 기법, 확인 기법, 낙관적 기법)
- 다중 버전 기법
* 로킹 단위 (Locking Granularity)
병행제어에서 한꺼번에 로킹할 수 있는 객체의 크기.
로킹단위가 크면(로크수가 작음) 관리하기 쉬워 병행성 수준이 낮아짐.
로킹단위가 작으면(로크수가 많음) 관리하기 복잡해 병행성 수준이 높아짐.
15. 럼바우 데이터 모델링에 관한 설명으로써, 보기에 해당하는 답안을 작성하시오.
(실제 시험문제에서는 보기가 주어집니다.)
1. 프로세스들의 자료 흐름을 중심으로 처리 과정 표현 (입력값이 출력값일 때)
ex) 자료 흐름도(DFD)
2. 시간의 흐름에 따라 객체들 사이의 제어 흐름, 동작 순서 등의 동적인 행위를 표현 (시간에 따라 변하는 것)
ex) 상태 다이어그램(상태도)
3. 정보 모델링이라고도 하며 시스템에서 요구하는 객체를 찾고 객체들 간의 관계를 정의. 가장 중요하며 선행되어야함. ex) ER다이어그램(ERD)
3. 객체 모델링 (Object Modeling)
2. 동적 모델링 (Dynamic Modeling)
1. 기능 모델링 (Functional Modeling)
16. 다음은 C언어에 관한 소스코드이다. 실행 결과값을 작성하시오.
int main(){
int res;
res = mp(2,10);
printf("%d",res);
return 0;
}
int mp(int base, int exp) {
int res = 1;
for(int i=0; i < exp; i++){
res = res * base;
}
return res;
}
2^10 = 1024
( * Static * )
17. 클래스 내에서 객체 생성 없이 사용할 수 있는 메소드로써 출력 결과를 작성하시오.
public class Test {
public static void main(String[] args){
system.out.print(test.check(1));
}
( ) String check (int num) {
return (num >= 0) ? "positive" : "negative";
}
}
[출력결과]
positive
Static
Test test = new Test(); 와 같이 객체생성 필요.
객체 생성 없이 메모리 공간에 존재하려면 static 선언
( * 포인터 * )
18. 다음은 C언어 문제이다. 출력값을 작성하시오.
int main(){
int ary[3];
int s = 0;
*(ary+0)=1;
ary[1] = *(ary+0)+2;
ary[2] = *ary+3;
for(int i=0; i<3; i++){
s=s+ary[i]
}
print("%d",s);
}
8
0 1 2
a _1_ _3_ _4_
100 100 101 102
* (array + 0) = 1 => 100번지(array의 주소값)에 1값 넣어라.
array[1] = *(array + 0) + 1 => 100번지(array의 주소값)에 1을 더해 배열값으로 넣어라
array[2] = *array + 3 => 100번지 값에 3을 더해 배열값으로 넣어라
19. 다음은 JAVA 관한 문제이다. 알맞는 출력값을 작성하시오.
public class over1 {
public static void main(String[] args){
ovr1 a1 = new ovr1();
ovr2 a2 = new ovr2();
System.out.println(a1.sun(3,2) + a2.sun(3,2));
}
int sun(int x, int y){
return x + y;
}
}
class ovr2 extends ovr1 {
int sun(int x, int y){ // 오버라이딩
return x - y + super.sun(x,y);
}
}
11
a1.sun(3,2) + a2.sun(3,2)
5 + (3-2) + 5 = 5 + 6 = 11
( * 애플리케이션 테스트 * )
20. 다음 괄호 안에 알맞은 답안을 작성하시오.
- 테스트 하네스의 도구 구성 요소 중, 상향식 테스트시, 상위 모듈 역할을 대신하는 테스트 드라이버와 하향식 테스트 시, 하위 모듈 역할을 대신하는 테스트 ( ) 이 있다.
( - 특정 시스템 컴포넌트의 개발이 완료되지 않은 상황에서도 필요한 시험을 진행하기 위해 생성된 더미 컴포넌트이다. )
( - 하향식 통합 테스트에서 사용하는 임시 모듈이다. )
스텁 (stub)
* V-모델 * (개발 단계에 따른 애플리케이션 테스트)
요구사항 (Requirements) 인수 테스트 (Acceptance Test) _알파/베타 테스트
분석 (Specification) 시스템 테스트 (System Test) _ 기능/비기능 요구사항
설계 (Design) 통합테스트 (Integration Test) _ 상향식/하향식/빅뱅/백본 테스트
구현 (Code) 단위테스트 (Unti Test) _ 정적/동적 테스트
* 통합테스트 *
상향식 테스트 - 드라이버
하향식 테스트 - 스텁
빅뱅 테스트
백본 테스트 _ 상향식 + 하향식
https://www.youtube.com/watch?v=w63bfmZ2AkM&list=PLniy99c_7ZfpDRzBXv1ryJbW-KnHGp1Az&index=6
'정보처리기사 > 실기기출' 카테고리의 다른 글
[정처기실기] 2022년 1회 (0) | 2024.03.16 |
---|---|
[정처기실기] 2021년 3회 (0) | 2024.03.11 |
[정처기실기] 2021년 1회 (0) | 2024.02.09 |
[정처기실기] 2020년 2회 (0) | 2024.02.08 |
[정처기실기] 2020년 4회 (0) | 2024.02.03 |