[정처기] 220424 기출 정리

최정윤·2023년 2월 7일
0

자격증

목록 보기
1/3

1. UML 다이어그램 중 순차 다이어그램에 대한 설명

  • 객체 간의 동적 상호작용을 시간 개념을 중심으로 모델링 하는 것이다.
  • 순차 다이어그램은 행위 다이어그램이므로 동적이고 순차적인 표현을 위한 다이어그램이다. (정적 측면 X)
  • 일반적으로 다이어그램의 수직 방향이 시간의 흐름을 나타낸다.
  • 회귀 메시지, 제어블록 등으로 구성된다.

2. 메시지 지향 미들웨어(MOM)에 대한 설명

  • 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어이다.
    ** 비동기는 동시에 일어나지 않는다를 의미하는 것으로 요청과 결과가 동시에 일어나지 않을거라는 약속
  • 온라인 업무보다는 이기종 분산 데이터 시스템의 데이터 동기를 위해 ㅁ낳이 사용한다.
  • 즉각적인 응답을 원하는 경우가 아니라 다소 느리고 안정적인 응답을 필요로 하는 경우에 많이 사용된다.
  • 독립적인 애플리케이션을 하나의 통합된 시스템으로 묶기 위한 역할을 한다.
  • 송신측과 수신측의 연결 시 메시지 큐를 활용하는 방법이 있다.
  • 상이한 애플리케이션 간 통신을 비동기 방식으로 지원한다.

3. 익스트림 프로그래밍에 대한 설명

  • 대표적인 애자일 방법론 중 하나이다.
    ** 애자일은 신속한 반복 작업을 통해 실제 작동 가능한 소프트웨어를 개발하여 지속적으로 제공하기 위한 소프트웨어 개발 방식이다.
  • 소규모 개발 조직이 불확실하고 변경이 많은 요구를 접하였을 때 적절한 방법이다.
  • 익스트림 프로그래밍을 구동시키는 원리는 상식적인 원리와 경험을 최대한 끌어 올리는 것이다.
  • 구체적인 실천 방법을 정의하고 있으며, 개발 문서 보다는 소스코드에 중점을 둔다.

4. 유스케이스의 구성 요소 간의 관계

  • 연관 관계: 유스케이스와 액터간의 상호작용이 있음을 표현한다.
  • 포함 관계: 하나의 유스케이스가 다른 유스케이스의 실행을 전제로 할 때 형성되는 관계이다.
  • 확장 관계: 확장 기능 유스케이스와 확장 대상 유스케이스 사이에 형성되는 관계이다.
  • 일반화 관계: 유사한 유스케이스 또는 액터를 모아 추상화한 유스케이스 또는 액터와 연결시켜 그룹을 만들어 이해도를 높이기 위한 관계이다.

5. 요구사항 분석에서 비기능적 요구에 대한 설명

  • 기능적 요구사항: 시스템이 실제로 어떻게 동작하는지에 관점을 둔 요구사항
  • 비기능적 요구사항: 시스템 구축에 대한 성능, 보안, 품질, 안정 등에 대한 성능, 보안, 품질, 안정성등으로 실제 수행에 보조적인 요구사항

6.

UML 다이어그램에서 사용하는 모델링 언어

  • Package Diagram
  • State Transition Diagram
  • Deployment Diagram
    정보공학방법론에서 데이터베이스 설계의 표현으로 사용하는 모델링 언어
  • Entity-Relationship Diagram

7. 미들웨어에 대한 설명

  • 클라이언트와 서버 간의 통신을 담당하는 시스템 소프트웨어이다.
  • 이기종 하드웨어, 소프트웨어, 네트웤, 프로토콜, PC환경, 운영체제 환경 등에서 시스템 간의 표준화된 연결을 도와주는 소프트웨어이다.
  • 표준화된 인터페이스를 통하여 시스템 간의 데이터 교환에 있어 일관성을 제공한다.
  • 표준화된 인터페이스를 통하여 시스템 간의 데이터 교환에 있어 일관성을 제공한다.
  • 운영체제와 애플리케이션 사이에서 중간 매개 역할을 하는 다목적 소프트웨어이다.
  • 미들웨어 솔루션은 사용자가 정보 교환 방법 등의 내부 동작을 확인할 필요가 없다.

8. UI의 설계 지침

  • 사용자 중심: 사용자가 이해하기 쉽고 편하게 사용할 수 있는 환경을 제공해 실 사용자에 대한 이해가 바탕이 되어야 함.
  • 일관성: 버튼이나 조작 방법을 사용자가 기억하기 빠르고 쉽게 습득할 수 있도록 설계해야 함.
  • 결과 예측 가능: 작동시킬 기능만 보고도 결과 예측이 가능해야함.
  • 단순성: 조작 방법은 가장 간단하게 작동되도록하여 인지적 부담 최소화.
  • 결과 예측 가능: 작동시킬 기능만 보고도 결과 예측이 가능해야 함.
    가시성: 주요 기능을 메인 화면에 노출하여 쉬운 조작이 가능해야 함.
    표준화: 디자인을 표준화하여 기능 구조의 선행 학습 이후 쉽게 사용 가능해야 함.
    접근성: 사용자의 직무, 연령, 성별 등이 고려된 다양한 계층을 수용해야 함.
    명확성: 사용자가 개념적으로 쉽게 인지해야함.
    오류 발생 해결: 사용자가 오류에 대한 상황을 정확하게 인지할 수 있어야 함.

9. 객체 지향 개념에서 다형성에 관련한 설명

  • 다형성은 현재 코드를 변경하지 않고 새로운 클래스를 쉽게 추가할 수 있게 한다.
  • 다형성이란 여러 가지 형태를 가지고 있다는 의미로, 여려 형태를 받아들일 수 있는 특징을 말한다.
  • 메소드 오버라이딩은 상위클래스에서 정의한 일반 메소드의 구현을 하위 클래스에서 무시하고 재정의할 수 있다. 상속관계에서만 발생하며 슈퍼클래스의 메서드를 서브 클래스에서도 동일한 메서드를 재정의 하는 것이다.
  • 메소드 오버로딩의 경우 한 클래 내에서 메서드의 이름은 동일하지만 매개 변수의 수나 타입을 다르게 하여 재정의 하는 것이다.

10. 인터페이스

  • 서로 다른 두 시스템이나 소프트웨어 등을 서로 이어주는 부분 또는 접속 장치를 의미
  • 소프트웨어에 의해 간접적으로 제어되는 장치와 소프트웨어를 실행하는 하드웨어
  • 기존의 소프트웨어와 새로운 소프트웨어를 연결하는 소프트웨어
  • 순서적 연산에 의해 소프트웨어를 실행하는 절차

11. 객체에 대한 설명

  • 객체는 상태, 동작, 고유 식별자를 가진 모든 것이다.
  • 클래스는 공통 속성을 공유하는 객체들의 집합이다.
  • 객체는 필요한 자료 구조와 이에 수행되는 함수들을 가진 하나의 독립된 존재이다.
  • 객체의 상태는 속성값에 의해 정의된다.

12.

  • 클래스: 하나 이상의 유사한 객체들을 묶는다.
  • 캡슐화: 서로 관련성이 ㅁ낳은 데이터들과 연산들을 묶는다. 속성과 관련된 연산을 클래스 안에 묶어서 하나로 취급한다.

13. 애자일 프로세스 모델에 대한 설명

  • 개발에 대한 개념적 방법론으로, 개발 프로젝트 기간을 짧은 주기로 나눠 반복적인 개발을 하는 것이 특징이다.
  • 고객관점의 효율적이고 민첩한 변화 대응을 중시한다.
  • 프로세스, 도구 < 사람과 상호작용
  • 광범위한 문서 < 실제 작동하는 제품
  • 계약 협상 < 고객 협력
  • 계획 < 변화 대응

14. 컴포넌트

  • 프로그래밍에 있어 재사용이 가능한 각각의 독립된 모듈
  • 특정 기능 수행을 위해 독립적으로 분리
  • 명백한 역할을 가지고 독립적으로 존재할 수 있는 시스템의 부분으로 넓은 의미에서는 재사용되는 모든 단위이다.
  • 인터페이스를 통해서만 접근할 수 있다.

15. Gof 디자인 패턴

  • 생성 패턴: 객체를 생성하는 것에 대한 패턴
    • 추상 팩토리, 빌더, 팩토리 메소드, 프로토타입, 싱글톤
  • 구조 패턴
    • 어댑터, 브릿지, 컴포지트, 데코레이터, 퍼사드, 플라이웨잇, 프록시
  • 행위 패턴
    • 역할 사슬, 커맨드, 미디에이터, 메멘토, 옵저버, 상태, 전략, 템플릿 메소드, 비지터

16. UI와 관련된 기본 개념 중 시스템의 상태와 사용자의 지시에 대한 효과를 보여주어 사용자가 명령에 대한 진행 상황과 표시된 내용을 해석할 수 있도록 도와주는 것은?

  • 피드백: 처리된 결과를 측정하고 목표에 도달되었는가를 검사하며 불충분할 경우 다시 입력하는 요소.

17. UI종류

  • CLI: 텍스트 형태 인터페이스
  • GUI: 마우스로 선택하여 작업하는 그래픽 환경 인터페이스
  • NUI: 사용자의 말이나 행동으로 기기 조작하는 인터페이스
  • VUI: 사람의 음성으로 기기 조작하는 인터페이스
  • OUI: 모든 사물과 사용자 간의 상호작용을 위한 인터페이스

18. 소프트웨어 모델링

  • 모델링 작업의 결과물은 다른 모델링 작업에 영향을 줄 수 있다.
  • 구조적 방법론에서는 DFD, DD 등을 사용하여 요구 사항의 결과를 표현한다.
  • 객체지향 방법론에서는 UML 표기법을 사용한다.
  • 소프트웨어 모델을 사용할 경우 개발될 소프트웨어에 대한 이해도 및 이해 당사자 간의 의사소통 향상에 도움이 된다.

19. 유스케이스 다이어그램에 관련된 내용

  • 시스템과 상호작용하는 모든 외부요소가 액터이다.
  • 유스케이스는 사용자 측면에서의 요구사항으로, 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술한다.
  • 시스템 액터는 다른 프로젝트에서 이미 개발되어 사용되고 있으며, 본 시스템과 데이터를 주고받는 등 서로 연동되는 시스템을 말한다.
  • 액터가 인식할 수 없는 시스템 내부의 기능을 하나의 유스케이스로 파악하면 안된다.

20. 소프트웨어 아키텍처 모델 중 MVC와 관련된 설명

  • MVC 모델은 사용자 인터페이스를 담당하는 계층의 응집도를 높일 수 있고, 여러 개의 다른 UI를 만들어 그 사이에 결합도를 낮출 수 있다.
  • 모델은 뷰와 제어 사이에서 전달자 역할을 하며, 한 개의 모델에 대해 여러 개의 뷰를 만들 수 있다.
  • 뷰는 모델에 있는 데이터를 사용자 인터페이스에 보이는 역할을 담당한다.
  • 제어는 모델에 명령을 보냄으로써 모델의 상태를 변경할 수 있다.

21. 통합 테스트와 관련한 설명

  • 시스템을 구성하는 모듈의 인터페이스와 결합을 테스트하는 것이다.
  • 하향식 통합 테스트의 경우 넓이 우선 방식으로 테스트를 할 모듈을 선택할 수 있다.
  • 모듈 간의 인터페이스와 시스템의 동작이 정상적으로 잘되고 있는지를 빨리 파악하고자 할 때 상향식 보다는 하향식 통합 테스트를 사용하는 것이 좋다.

상향식 통합 테스트

  • 프로그램의 하위 모듈에서 상위 모듈 방향으로 통합
  • 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터 필요
    하향식 통합 테스트
  • 상위 모듈에서 하위 모듈 방향으로 통합
  • 깊이 우선 통합법, 넓이 우선 통합법 사용
  • 초기부터 사용자에게 시스템 구조를 보여줌

23. 소프트웨어 공학에서 워크스루에 대한 설명

  • 사용사례를 확장하여 명세하거나 설계 다이어그램, 원시코드, 테스트케이스 등에 적용할 수 있다.
  • 복잡한 알고리즘 또는 반복, 실시간 동작, 병행 처리와 같은 기능이나 동작을 이해하려고 할 때 유용하다.
  • 단순한 테스트 케이스를 이용하여 프로덕트를 수작업으로 수행해 보는 것이다.

워크스루: 요구사항 명세서 작성자를 포함하여 사전 검토한 후에 짧은 검토 회의를 통해 결함을 발견
인스펙션: 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 요구사항 명세서를 확인하면서 결함을 발견.

24.소프트웨어 개발과정

  • 복호화: 디코딩, 즉 부호화된 데이터를 부호화 되기 전 형태로 바꾸어, 사람이 읽을 수 있는 형태로 되돌려 놓는것
  • 형상관리: 소프트웨어의 변경사항을 관리하기 위해 개발된 일련의 활동
  • 저작권: 창작물을 만든이가 자기 저작물에 대해 가지는 법적권리
  • 크랙: 소프트웨어를 수정하여 소프트웨어를 크랙하는 가람이 원하지 않는 기능들, 보통은 수정방식을 비활성화하거나 제거하는 일

25. 테스트 케이스와 관련된 설명

  • 테스트의 목표 및 테스트 방법을 결정하고 테스트 케이스를 작성해야 한다.
  • 프로그램에 결함이 있더라도 입력에 대해 정상적인 결과를 낼 수 있기 때문에 결함을 검사할 수 있는 테스트 케이스를 찾는 것이 중요하다.
  • 개발된 서비스가 정의된 요구 사항을 준수하는지 확인하기 위한 입력 값과 실행 조건, 예상 결과의 집합으로 볼 수 있다.
  • 테스트 케이스 실행이 통과되었는지 실패하였는지 판단하기 위한 기준을 테스트 오라클이라고 한다.

26. 객체지향 개념을 활용한 소프트웨어 구현과 관련한 설명

  • 객체란 필요한 자료 구조와 수행되는 함수들을 가진 하나의 독립된 존재이다.
  • JAVA에서 정보은닉을 표기할 때 private의 의미는 외부에서 클래스 내부 정보에 접근하지 못하도록 하는 '접근금지'이다.
  • 상속은 개별 클래스를 상속 관계로 묶음으로써 클래스간의 체계화된 전체 구조를 파악하기 쉽다는 장점이 있다.
  • 같은 클래스에 속하는 개개의 객체이자 하나의 클래스에서 생성된 객체를 인스턴스라고 한다.

27. DRM과 관련한 설명

  • 디지털 콘텐츠와 디바이스의 사용을 제한하기 위해 하드웨어 제조업자, 저작권자, 출판업자 등이 사용할 수 있는 접근 제어 기술을 의미한다.
  • 디지털 미디어의 생명 주기 동안 발생하는 사용 권한 관리, 과금, 유통 단계를 관리하는 기술로도 볼 수 이싿.
  • 클리어링 하우스는 사용자에게 콘텐츠 라이센스를 발급하고 권한을 부여해주는 시스템을 말한다.
  • 디지털 콘텐트의 지적재산권보호, 관리 기능 및 안전한 유통과 배포를 보장하는 솔루션이다.
  • 디지털 콘텐트의 지적재산권을 보호하는 권한통제기술, 사용권한제어 기술, 피키징 기술, 라이선스 관리를 포함한 유통체계이다.
  • 디지털 콘텐츠와 디바이스의 사용을 제한하기 위해 하드웨어 제조업자, 저작권자, 출판업자 등이 사용할 수 있는 접근 제어기술을 의미한다.

28. 위험 모니터링

  • 위험 요소 징후들에 대하여 계속적으로 인지하는 것

29. 동시에 소스를 수정하는 것을 방지하며 다른 방향으로 진행된 개발 결과를 합치거나 변경 내용을 추적할 수 있는 소프트웨어 버전 관리 도구는?

RCS

  • CVS와의 차이점은 소스 파일의 수정을 한 사람만으로 제한한다.
  • 다수의 사용자가 동시에 파일 수정을 할 수 없도록 파일 잠금 방식으로 버전을 관리하는 도구이다.
  • 다른 방향으로 진행된 개발 결과를 합치거나 변경 내용을 추적할 수 있다.

RPC

  • 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 리모트의 함수나 프로시저를 실행 할 수 있게 해주는 프로세스간 통신

30. 화이트박스 테스트와 관련한 설명

  • 화이트박스 테스트의 이해를 위해 논리흐름도를 이용할 수 있다.
  • 테스트 데이터를 이용해 실제 프로그램을 실행함으로써 오류를 찾는 동적 테스트에 해당한다.
  • 프로그램의 구조를 고려한다.
  • 테스트 데이터를 선택하기 위하여 검증기준을 정한다.

31. 알고리즘과 관련한 설명

  • 주어진 작업을 수행하는 컴퓨터 명령어를 순서대로 나열한 것
  • 검색은 정렬이 되지 않은 데이터 혹은 정렬이 된 데이터 중에서 키값에 해당되는 데이터를 찾는 알고리즘이다.
  • 정렬은 흩어져있는 데이터를 키값을 이용하여 순서대로 열거하는 알고리즘이다.
  • 선형검색은 처음부터 끝까지 하나씩 순서대로 비교하며 원하는 값을 찾아내는 검색이다.

34. 소프트웨어를 보다 쉽게 이해할 수 있고 적은 비용으로 수정할 수 있도록 겉으로 보이는 동작의 변화 없이 내부구조를 변경하는 것은?

  • 리팩토링

35. 단위 테스트와 관련한 설명

  • 구현 단계에서 각 모듈의 개발을 완료한 후 개발자가 명세서의 내용대로 정확히 구현되었는지 테스트한다.
  • 모듈 내부의 구조를 구체적으로 볼 수 있는 구조적 테스트를 주로 시행한다.
  • 필요한 데이터를 인자를 통해 넘겨주고, 테스트 완료 후 그 결과값을 받는 역할을 하는 가상의 모듈을 테스트 드라이버라고 한다.
  • 테스트 스텁은 인자를 통해 받은 값을 가지고 수행한 후 그 결과를 테스트할 모듈에 넘겨주는 역할을 한다.

36. IDE 도구의 각 기능에 대한 설명

  • Coding - 프로그래밍 언어를 가지고 컴퓨터 프로그램을 작성할 수 있는 환경을 제공
  • Compile - 고급언어의 프로그램을 저급언어 프로그램으로 변환하는 기능
  • Debugging - 프로그램에서 발견되는 버그를 찾아 수정할 수 있는 기능
  • Deployment - 소프트웨어를 최종 사용자에게 전달하기 위한 기능

41. BCNF

  • 테이블 R에 속한 모든 도메인이 원자값만으로 구성되어 있다.
  • 테이블 R에서 키가 아닌 모든 필드가 키에 대해 함수적으로 종속되며, 키의 부분 집합이 결정자가 되는 부분 종속이 존재하지 않는다.
  • 테이블 R에 존재하는 모든 함수적 종속에서 결정자가 후보키다.

42. Atomicity

  • 트랜잭션의 모든 연산들이 정상적으로 수행 완료되거나 아니면 전혀 어떠한 연산도 수행되지 않은 원래 상태가 되도록 해야한다.

46. SQL의 기능에 따른 분류 중에서 REVOKE문과 같이 데이터의 사용 권한을 관리하는데 사용하는 언어는?

48. 데이터 사전

  • 시스템 카탈로그 또는 시스템 데이터베이스
  • 데이터베이스에 대한 데이터인 메타데이터를 저장하고 있다.
  • 데이터 사전에 있는 데이터에 실제로 접근하는 데 필요한 위치 정보는 데이터 디렉토리라는 곳에서 관리한다.

49. 데이터베이스에서 릴레이션에 대한 설명

  • 모든 튜플은 다른 값
  • 하나의 릴레이션에서 튜플은 특정한 순서
  • 각 속성은 릴레이션 내에서 유일한 이름
  • 모든 속성 값은 원자 값

50. 데이터베이스에서의 뷰에 대한 설명

  • 뷰는 다른 뷰를 기반으로 새로운 뷰를 만든다.
  • 뷰는 일종의 가상 테이블이며, update에는 제약이 따른다.
  • 뷰는 기본 테이블을 만드는 것처럼 create view를 사용하여 만들 수 있다.
  • 뷰는 논리적으로만 존재한다.

51. 트랜잭션의 상태 중 트랜잭션의 마지막 연산이 실행된 직후의 상태로, 모든 연산의 처리는 끝났지만 트랜잭션이 수행한 최종 결과를 데이터 베이스에 반영하지 않은 상태는?

  • Partially Committed

52. SQL의 명령을 사용 용도에 따라 DDL, DML, DCL로 구분할 경우, 그 성격이 나머지 셋과 다른 것은?

  • DML
    • SELECT: 테이블에서 조건에 맞는 튜플 검색
    • INSERT: 테이블에 새로운 튜플 삽입
    • UPDATE: 테이블에서 조건에 맞는 튜플의 내용 갱신
    • DELETE: 테이블에서 조건에 맞는 튜플 삭제
  • DCL
    • COMMIT: 명령에 의해 수행된 결과를 실제 물리적 디스크로 저장하고, 데이터베이스 조작 작업이 정상적으로 완료됐음을 알려주는 명령어
    • ROLLBACK: 아직 COMMIT 되지 않은 변경된 모든 내용들을 취소하고, 데이터베이스를 이전 상태로 되돌리는 명령어
    • GRANT: 데이터베이스 사용자에게 사용 권한 부여
    • REVOKE: 데이터 베이스 사용자의 사용 권한 취소
profile
개발 기록장

0개의 댓글