[정보처리기사 실기] 2021 1회

bonnie·2021년 6월 30일
0
post-thumbnail

2021 1회 정보처리기사 실기 복원 문제를 바탕으로 정답 및 해답 정리하기
참고 : https://ss-o.tistory.com/140?category=967966

1. 물리주소(MAC 주소)로 IP주소를 찾는 프로토콜 : RARP

  • RARP(Reverse Address Resolution Protocal) : 네트워크 계층
    • 하드웨어 주소를 IP address로 변환 시켜주는 프로토콜
    • 로컬 디스크가 없는 네트워크상에 연결된 시스템에 사용
    • DHCP나 BOOTP처럼 IP를 자동으로 할당하지 않고 이미 다른 PC에 할당된 IP를 MAC주소만 가지고 알아옴
  • ARP(Address Resolution Protocol) : 네트워크 계층
    • IP Address를 물리적 네트워크 주소로 변환 시켜주는 프로토콜
    • IP Address의 중복여부를 찾을 수 있음
    • IP주소를 MAC(Media Access Contol) 주소로 대응시키기 위한 프로토콜
    • 스스로 수정이 가능함

2. 보기에 맞는 설계 단계 찾는 문제

  • [보기] 결과로 테이블 정의서, 명세서 등 → 물리적 설계
  • [보기] 결과로 E-R 다이어그램 → 개념적 설계
  • [보기] 과정에서 정규화 과정 수행 → 논리적 설계

3. 웹 서비스명, 제공위치, 메시지 포맷, 프로토콜 정보 등 웹 서비스에 대한 상세 정보가 기술된 XML 형식으로 구현되어 있는 언어 : WSDL

  • 웹 서비스
    웹이라는 네트워크 환경에 연결된 서로 다른 컴퓨터들이 동적으로 서로 연결되어 소통하고 실행될 수 있도록 하는 동적 환경 구현을 위한 소프트웨어 컴포넌트 묶음
    • UDDI(Universal Decscription, Discovery, and Integration) : 전역 비즈니스 레지스트리
      • 웹 서비스에 대한 정보인 WSDL을 등록하고 검색하기 위한 저장소
      • 공개적으로 접근, 검색이 가능한 레지스트리
      • 기업이나 단체, 개인이 자신들의 서비스 내용을 인터넷 상에 등록할 수 있게 하는 XLML 기반의 등록처
    • SOAP(Simple Object Access Protocol) : 단순 객체 접근 프로토콜
      • HTTP, HTTPS, SMTP 등을 사용하여 XML 기반의 메세지를 네트워크 상태에서 교환하는 실행 프로토콜
    • WSDL(Web Service Description Language) : 웹 서비스 기술 언어
      • 웹 서비스명, 제공위치, 메시지 포맷, 프로토콜 정보 등 웹 서비스에 대한 상제 정보가 기술된 XML 형식으로 구현되어 있는 언어

4. 빈 괄호에 맞는 개념 작성하기

(1) 기능적 요구사항은 시스템이 제공하는 기능 또는 서비스에 대해 상세하게 기술된 요구사항
(2) 비기능적 요구사항은 시스템 속성이나 시스템에 의해 제공되는 서비스나 기능에 대한 제약사항이 기술

  • 요구사항 : 소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 정상적으로 운영 되는 데 필요한 제약조건
  • 요구사항 개발 프로세스 : 도출 → 분석 → 명세 → 확인
    • 도출(요구사항 수집 단계) : 이해관계자 간의 의사소통 중요(인터뷰, 브레인스토밍, 유스케이스, 프로토타이핑)
    • 분석(요구사항 분석 단계) : 도출된 요구사항의 타당성 조사, 내용 정리(중복 제거, 요구사항 통합)
      • 개념 모델링 : 분류된 요구사항을 단순화하여 개념적으로 표현. UML 사용
      • 요구사항 할당 : 요구사항을 만족시키기 위한 요소들을 할당
      • 요구사항 협상 : 충돌되는 요구사항 해결
      • 정형 분석 : 구문과 의미를 갖는 언어 이용, 수학적 기호
    • 명세(요구사항 문서화 단계) : 승인을 위해 문서화 진행. 빠짐없이 명확하고 이해하기 쉽게 기록
    • 확인(요구사항 검증 단계) : 명세서 검증, 형상관리 수행
      • 요구사항 검토 : 가장 일반적. 훑어보기
      • 프로토타이핑 : 프로토타입을 만든 후 요구사항 반영하면서 지속적으로 프로토타입 재작성
      • 모델 검증 : 요구사항 분석 단계에서 개발된 모델이 요구사항을 충족 시키는지 검증
      • 인수테스트 : 사용자가 실제로 사용될 환경에서 요구사항들이 모두 충족 되는지 사용자 입장에서 확인하는 과정
      • 알파 테스트 : 선별된 사용자가 개발자와 함께 검사(통제된 환경)
      • 베타 테스트 : 선별된 사용자가 여러 사용자를 통해 검사(통제되지 않은 환경)

5. 파이썬 반복문 문제 : SKIDDP

class a:
	list = ["Se","Ky","In","Da","De","Pu"]
str01 = ''

for i in a.list:
	str01 = str01 + i[0]

print(str01)

변수 i = "Se","Ky","In","Da","De","Pu"
i의 0번째 인덱스는 SKIDDP


6. 표를 보고 SQL문에 맞는 결과 도출하기 : 1

SELECT COUNT(*) FROM [TABLE] WHERE EMPNO>100 AND SAL>=300 OR EMPNO=200

EMPNOSAL
1001000
2003000
3001500

7. Java 출력 문제 :

3
1
45
50
89

public class Test{
	public static void main(String[] args){
    		int a[][] = {{45, 50, 75}, {89}};
          	System.out.println(a[0].length);
          	System.out.println(a[1].length);
          	System.out.println(a[0][0]);
          	System.out.println(a[0][1]);
          	System.out.println(a[1][0]);
    }
}

a[0] = {45, 50, 75}
a[0].length = 3
a[1] = {89}
a[0].length = 1
a[0][0] = 45
a[0][1] = 50
a[1][0] = 89


8. 시스템의 성능 향상, 개발 과정의 편의성 등을 위해 정규화된 데이터 모델을 분할, 통합, 추가하는 과정으로 의도적으로 정규화를 위배하는 행위 : 반정규화(역정규화 or 비정규화)

  • 데이터 모델링 절차 : 개념적 데이터 모델링 → 논리적 데이터 모델링 → 물리적 데이터 모델링
    • 개념적 데이터 모델링 : 현실 세계의 인식을 추상적인 개념으로 모델링
    • 논리적 데이터 모델링 : 개념적 구조를 컴퓨터가 이해할 수 있는 형태로 변환
    • 물리적 데이터 모델링 : 논리 데이터 모델을 DBMS 특성 및 성능을 고려해 구체화 시킨 모델(반정규화는 물리 데이터 모델링에 속함)
  • 정규화 : 관계형 데이터베이스 설계 시 중복을 최소화하여 데이터를 구조화 하는 과정
  • 참고
    반정규화 테이블 병합을 위한 테이블 : 1:1 관계 | 1:M 관계 | 슈퍼/서브 타입 관계

9. 블랙박스 테스트

(1) 0 <= x <= 10 일 때 -1 0 10 11인 경우 사용하는 테스트 : 경계값 분석 테스트
(2) 유효값과 그렇지 않은 범위를 나눠야할 경우 사용하는 테스트 : 동등분할 테스트

  • 블랙박스 테스트
    • 프로그램 외부의 사용자 요구사항 명세를 보면서 수행하는 기능 테스트
    • 경계값 분석, 동등분할 테스트, 결정 테이블, 상태전이, 유스케이스
  • 화이트박스 테스트
    • 내부로직을 보면서 수행하는 구조 기반 테스트
    • 제어구조, 루프 테스트

10. 보기와 맞는 테스트 레벨 찾기

  • 테스트 레벨 : 한 번에 총체적으로 조직화하고 관리하는 테스트 활동의 묶음
    • 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트
  • 단위 테스트
    • 모듈 테스트라고도 불리며 사용자 요구사항에 대한 단위 모듈, 서브루틴 등을 테스트
    • 코딩 직후 SW 설계의 최소 단위인 모듈이나 컴포넌트에 초점을 맞춰 테스트
    • 사용자 요구사항을 기반으로 한 기능성 테스트 최우선
    • 주로 구조 기반(화이트박스 테스트)
  • 통합 테스트
    • 인터페이스 간 시스템이 정상적으로 실행되는지 확인하는 테스트
    • 단위 테스트를 통과한 개발 소프트웨어/하드웨어 컴포넌트 간 인터페이스 및 연동 기능 등을 구조적으로 접근하여 테스트
      • 빅뱅 통합 테스트 : 모든 모듈을 한꺼번에 통합하고 결합 격리가 어려움
      • 상향식 통합 : 가장 하부의 모듈부터 통합함. 드라이브가 필요
      • 하향식 통합 : 가장 상부의 모듈부터 통합함. 스텁 필요
      • 백본 통합 : 소프트웨어 리스크가 높은 것을 우선적으로 통합.
  • 시스템 테스트
    • 실제 환경과 가능한 유사한 환경에서 진행
    • 기능적 요구사항(명세기반 기법), 비기능적 요구사항(구조기반 기법)
    • 개발 조직과 독립된 테스트 조직에서 수행해야하고 사전 요구사항이 명확해야함
    • 단위, 통합 테스트가 가능한 완벽히 완료된 상태여야함

11. 프로토콜 주소의 비트 길이

(1) IPv6는 128비트
(2) IPv4는 32비트이며 8비트4분할


12. 프로세스 간 인터페이스, 공유 메모리, 소켓, 세마포어 : IPC 메서드

  • IPC 메서드(InterProcess Communication)
    • Shared Memory : 다수의 프로세스가 공유 가능한 메모리를 구성하여 프로세스 간 통신을 수행
    • Socket : 네트워크 소켓을 이용해 네트워크를 경유하는 프로세스들 간 통신을 수행
    • Semaphores : 공유 자원에 대한 접근 제어를 통해 프로세스 간 통신을 수행
    • Pipes&named Pipes : Pipe라고 불리는 선입선출 형태로 구성된 메모리를 여러 프로세스가 공유하여 통신을 수행
    • Message Queueing : 메세지가 발생하면 이를 전달하는 형태로 프로세스 간 통신을 수행

13. 간접 연계 방식 - 서로 다른 플랫폼 간의 연계 통합, Point-to-Point, Hub&Spoke, Message Bus 등이 있는 것 : EAI(연계 솔루션)

EAI : 기업에서 운영 되는 서로 다른 플랫폼 및 애플리케이션들 간의 정보 전달, 연계, 통합을 가능하게 해주는 솔루션

  • Point-to-Point : 가장 기본적. 변경 및 재사용이 어려움
  • Hub&Spoke : 허브 시스템. 확장, 유지보수 용이
  • Message Bus : 미들웨어를 두고 처리. 뛰어난 확장성
  • Hybrid : Hub&Spoke + Message Bus. 병목 현상 최소화

[EAI 방식 VS ESB 방식]

  • EAI
    • 미들웨어(Hub)를 이용하여 Biz 로직을 중심으로 기업 내 APP 통합 연계
    • 단일 접점인 허브 시스템을 통해 시스템을 통합하는 중앙집중방식
    • Hub 장애시 전체 영향
  • ESB
    • 미들웨어(Bus)를 이용하여 서비스 중심으로 서비스를 지원하기 위한 관련 시스템의 유기적 연계
    • 개발자가 서비스를 개발하고 적절한 API를 통해 서비스 간에 통신을 하는데 도움이 되는 인프라 스트럭처 소프트웨어
    • 각 시스템을 Bus를 통해 연결하므로 뛰어난 확장tjd, 유연성, 신속성 제공
    • network에 의존적

14. 카디널리티와 차수 구하기

  • 카디널리티(Cardinality) : 하나의 릴레이션에서 튜플(행)의 전체 개수를 말함 - 가로 줄의 개수
  • 차수(degree) : 하나의 릴레이션에서 속성(열)의 전체 개수를 말함 - 세로 줄의 개수

15. C언어 구조체 문제

Lee
38


16. 데이터 모델 구성요소 3가지에 대한 설명

<데이터 모델의 구성 요소>

  • 구조
    • 논리적으로 표현된 개체들간의 관계
  • 연산
    • 데이터베이스에 저장된 데이터를 처리하는 방법에 대한 명세
    • 데이터를 조작하는 기본 도구
  • 제약 조건
    • 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건
[출처] : https://velog.io/@ghgoo1798/%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%AA%A8%EB%8D%B8%EC%9D%98-%EA%B0%9C%EB%85%90

17. 시스템 객체의 접근을 개인 또는 그룹의 식별자에 기반한 방법으로 어떤 종류의 접근 권한을 가진 사용자가 다른 사용자에게 자신의 판단에 따라 권한을 허용하는 접근 제어 방식 : 임의적 접근 통제(DAC)

  • 데이터베이스 보안의 접근 통제
    • 데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한
    • 데이터에 대해 다음과 같은 통제를 함으로써 자원의 불법적인 접근 및 파괴를 예방
    • 무결성 모델 : 기밀성 모델에서 발생하는 불법적인 정보 변경을 방지하기 위해 무결성을 기반으로 개발된 모델. 무결성 보장이 최우선
  • 접근 통제 기술
    • 임의 접근 통제(DAC | Discretionay Access Control): 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여
    • 강제 접근 통제(MAC | Mandatory Access Control) : 주체와 객체의 등급을 비교하여 접근 권한을 부여
  • 접근 통제의 3요소 : 접근 통제 정책, 접근 통제 매커니즘, 접근 통제 보안모델

18. Java 출력 문제(풀어봤음) : 0+1+2+3+4+5=15


19. 결합도 문제

[결합도와 응집도]

  • 결합도 : 상호의존의 정보. 결합도가 약해야 품질이 상승
    (약) data < stamp < control < external < common < content (강)
    • 자료 : 어떤 모듈이 다른 모듈을 호출하면서 매개 변수나 인수로 데이터를 넘겨주고, 호출 받은 모듈은 받은 데이터에 대한 처리 결과를 다시 돌려주는 방식
    • 스탬프 : 두 모듈이 동일한 자료구조를 조회하는 경우
    • 제어 : 한 모듈이 다른 모듈의 상세한 처리 절차를 알고 있어, 이를 통제하는 경우나 처리 기능이 두 모듈에 분리되어 설계도니 경우. 다른 모듈에서 흐름을 제어
    • 외부 : 어떤 모듈에서 선언한 데이터를 외부의 다른 모듈에서 참조할 때
    • 공통 : 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때(전역 변수~)
    • 내용 : 한 모듈이 다른 모듈의 내부 기능 및 내부 자료를 직접 참조하거나 수정할 때(다른 모듈에서 사용하는 경우)
  • 응집도 : 정보은닉 개념 확장. 응집도가 강할 수록 품질 상승
    (약) coincidental < logical < temporal < procedural < communicaton < sequential < functional (강)
    • 우연적 : 모듈 내부의 각 구성요소들이 서로 관련 없는 요소로만 구성된 경우
    • 논리적 : 유사한 성격을 갖거나 특정 형태로 분류되는 처리요소들이 하나의 모듈이 되는 경우
    • 시간적 : 특정 시간에 처리되는 몇 개의 기능을 모아 하나의 모듈로 작성한 경우
    • 절차적 : 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행할 경우
    • 통신적 : 동일한 입출력을 사용하여 서로 다른 기능을 수행하는 구성 요소들이 모였을 경우
    • 순차적 : 모듈 내 하나의 활동으로부터 나온 출력 데이터를 그 다음 활동의 입력 데이터로 사용할 경우
    • 기능적 : 모듈 내부의 모든 기능 요소들이 단일 문제와 연관되어 수행될 경우

      결합도 : 자스제외공내
      응집도 : 우논시절통순기


20. '세션을 가로채다'라는 의미로 정상적 연결을 RST 패킷을 통해 종료 시킨 후 재연결시 희생자가 아닌 공격자에게 연결하는 공격 기법 : 세션 하이재킹


❗ 기억 안나는 부분, 몰랐던 부분 다시 한번 체크하고 외울 것

profile
괴발🐱개발🐶

0개의 댓글