20200729 정처기 필기 오답노트

야유로봇·2020년 7월 29일
0

20200729 필기 기술 오답노트

소프트웨어 설계

럼바우(Rumbaugh)의 객체지향 분석 절차

  1. 객체 모델링
    • 객체 다이어그램으로 표시
    • 가장 중요하며 가장 선행되어야 함
  2. 동적 모델링
    • 상태 다이어그램을 이용해 시간의 흐름에 따른 객체간의 제어흐름, 상호작용, 동작순서 등 동적인 행위를 표현하는 모델링
  3. 기능 모델링
    • 자료 흐름도를 이용해 다수의 프로세스 간 자료흐름을 중심으로 처리

객체지향 기법에서 클래스들 사이 부분-전체(part-whole) 또는 부분(is-a-part-of)의 관계로 설명되는 연관성을 나타내는 용어

  • 집단화: 클래스 간의 구조적인 집약관계, (part) 가 들어가면 집단화 고려할 것
  • 일반화: is a 클래스 간 개념적 포함 관계, 자식인 a 클래스는 부모인 b 클래스의 일종이다(is-a)
  • 캡슐화: 데이터와 메소드를 묶어 객체로 구성
  • 추상화: 현실세계를 객체 모델로 구성

객체지향 분석 방법론 중 E-R 다이어그램으로 객체 행위 모델링하며, 객체식별, 구조 식별, 주체 정의, 속성 및 관계 정의, 서비스 정의 등의 과정으로 구성되는 것은?

  • Wirfs-Brocks 방법 아님
  • Coad와 Yourdon 방법

소프트웨어 개발

정렬된 N개의 데이터를 처리하는 데 O(Nlog2N)의 시간이 소요되는 정렬 알고리즘음?

  1. 선택정렬 O(n^2)
  2. 삽입정렬 O(n)
  3. 버블정렬 O(n^)
  4. 합병(merge)정렬 O(n log2 n)

White Box Testing에 대한 설명으로 옳지 않은 것은?

  • White Box Testing
    • 모듈 안 작동을 직접 관찰 가능
    • Condition Testing, Loop Testing, Data Flow Testing 등
    • 소스 코드 모든 문장이 한 번 이상 수행됨
    • 산출물의 각 기능별 적절한 프로그램의 제어구조에 따라 선택, 반복을 수행
  • Black Box Testing: 모듈 안 작동을 직접 관찰 불가

소프트웨어 품질 측정을 위해 개발자 관점에서 고려해야 할 항목으로 거리가 먼 것은?

  • 간결성, 간결성은 코드 품질인듯?

인터페이스 구현 검증도구 중 아래에서 설명하는 것은?

- 서비스 호출, 컴포넌트 재사용 등 다양한 환경 지원

- 각 테스트 대상 분산 환경에 데몬 사용해 테스트 수행하고 통합, 자동화하는 검증 도구

  • STAF
  • xUnit 아님

트리 순회 종료

  • 전위순회: 루트 먼저 방문
  • 중위순휘: 왼쪽 하위트리 방문한 후 루트 방문
  • 후위순회: 하위트리 방문한 뒤 루트 방문

반정규화 유형 중 중복 테이블을 추가하는 방법에 해당하지 않는 것은?

  • 빌드 테이블의 추가
  • 집계, 진행, 특정 부분 포함 테이블 추가로 중복테이블을 추가한다

트리의 차수와 노드

  • 차수: 전체 트리에서 가장 큰 차수(자식 수)
  • 단말 노드: 자식이 없는 노드

시간복잡도 O(I)가 의미하는 것

  • 알고리즘 수행시간이 데이터와 무관하게 일정 O(1) 과 같은 듯?
  • O(n): 데이터 갯수만큼 증가
  • O(log n): 처음에 급증 나중에 조금 증가
  • O(n^2): 데이터 갯수 제곱으로 증가

검증 검사 기법 중 개발자의 장소에서 사용자가 개발자 앞에서, 통제된 환경에서 개발자와 함께 확인하는 검사

  • 알파 검사

데이터베이스 구축

데이터베이스의 논리적 설계 단계에서 수행하는 작업

  • 데이터베이스의 논리적 설계
    • 현실 세계 자료를 저장할 수 있게 논리적 자료구조로 변환하는 작업(데이터의 추상화)
    • 개념 세계 데이터를 데이터 타입과 타입간 관계로 표현되는 데이터로 모델화
  • 논리적 데이터베이스 구조로 매핑
  • 트랜잭션 인터페이스 설계
  • 스키마의 평가 및 정제
  • 레코드 집중의 분석 및 설계는 물리적 설계 단계에서 수행한다

이행적 함수 종속 관계

  • A -> B && B -> C = A -> C
  • 자식의 자식은 내 자식인 관계

하나의 어트리뷰트가 가질 수 있는 원자값들의 집합을 의미하는 것은?

  • 도메인
  • 어트리뷰트: 데이터의 가장 작은 논리적 단위, 원자 값만을 허용
  • 같은 타입의 모든 원자 값들의 집합을 도메인이라 한다
  • 도메인은 같은 도메인 값 끼리 비교 가능
  • 하나의 도메인의 여럿 어트리뷰트 가능
  • 한 릴레이션에서 어트리뷰트는 이름이 모두 달라야 한다

튜플 === Row (문제 잘 읽을 것)

트랜잭션의 특성

  • Durability (영속성): 성공적으로 완료된 트랜잭션 결과는 시스템 고장나도 영구적 반영돼야 한다.
  • Consistenct (일관성): 트랜잭션이 성공적으로 완료되면 언제나 일관적인 데이터베이스 상태로 변환한다.
  • Atomicity (원자성): 트랜잭션은 모두 반영하든가 모두 반영하지 말아야 한다.
  • Isolation (격리성): 트랜잭션 실행 중 연산 결과는 다른 트랜잭션이 접근 불가하다.

분산 데이터베이스의 목표

  • 위치 투명성: 데이터베이스의 실제 위리를 알 필요 없이 논리적 명칭으로 엑세스
  • 중복 투명성: 데이터가 여러 곳에 중복되어 있어도 하나의 데이터처럼 사용 가능
  • 병행 투명성: 다수의 트랜잭션이 동시에 실현되더라도 그 결과는 영향을 받지 않음
  • 장애 투명성: 트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 트랜잭션 정확히 처리

데이터 제어 언어의 기능

  • 데이터 보안, 무결성 유지, 병행 제어, 회복

병행제어의 로킹 단위의 대한 설명

  • 데이터베이스, 파일, 레코드 등이 로킹 단위
  • 로킹 단위가 커지면 로킹 오버헤드 감소
  • 로킹 단위가 작아지면 데이터베이스 공유도는 증가
  • 한꺼번에 로킹 할 수 있는 객체의 크기를 로킹 단위라 한다

후보키는 릴레이션에 있는 모든 튜플에 대해 유일성과 최소성을 만족시켜야 한다

정규화 과정

  • 1NF 조건: 원자값으로 구성
  • 2NF 조건: 부분 함수 종속 제거(완전 함수적 종속관계)
  • 3NF 조건: 이행 함수 종속 제거
  • BCNF 조건: 결정자 함수 종속
  • 4NF 조건: 다중값(다치) 종속성 제거
  • 5NF 조건: 조인 종속성 제거

프로그래밍 언어 활용

IPv6는 임의로 큰 크기의 패킷을 주고받을 수 있다.

TCP/IP 프로토콜

  • HTTP/FTP/SMTP: OSI 7 계층 중 7층인 응용계층에서 동작
  • TCP(Trasmission Control Protocol): 4 계층인 전송계층에서 동작

모듈 간 결합도에 대한 설명

  • 약하게 결합할 수록 유지보수 쉽고 모듈 독립성이 향상된다
  • 내용결합도는 자료결합도보다 결합도가 높다

은행가 알고리즘은 교착상태 해결 방법 중 회피기법이다

교착 상태 발생의 필요충분조건

  • 상호 배제
  • 점유와 대기
  • 환형 대기
  • 비선점

OSI-7 계층 중 종단 간 신뢰성있고, 효율적인 데이터를 전송하기 위해 오류검출과 복구, 흐름 제어하는 계층

  • 전송계층

IPv6의 주소체계

  • Unicast
  • Anycast
  • Multicast
  • 어디서나 묶어서 여러개

TCP/IP 네트워크에서 IP 주소를 MAC 주소로 변환하는 프로토콜은?

  • ARP

스레드에 대한 설명

  • 한 프로세스에 여러 스레드
  • 커널 스레드는 운영체제에 의해 스레드 운용
  • 사용자 스레드는 사용자가 만든 라이브러리를 사용해 운용
  • 스레드를 사용해 하드웨어, 운영체제의 성능과 처리율 향상

IEEE 802.11 워킹 그룹의 무선 LAN 표준화 현황 중 QoS 강화를 위해 MAC 지원 기능을 채택한 것은?

  • 802.11e

C에서 변수명에 -를 사용할 수 없다.

  • 숫자, unserscore 사용 가능
profile
덤벼라, 이 쓸모없는 쓰레기야

0개의 댓글