본문 바로가기

카테고리 없음

정보처리기사 필기공부

럼바우 객체지향 분석 기법에서 동적 모델링에 활용되는 다이어그램은?

상태 다이어그램(State Diagram)

 

해설

동적모델링은 상태 다이어그램(상태도)를 이용해 시간 흐름에 따른 객체들간의 제어 흐름, 상호작용, 동작순서 등의 동적인 행위를

표현하는 모델링을 말한다.

 

객체지향 개념에서 연관된 데이터와 함수를 함께 묶어 외부와 경계를 만들고 필요한 인터페이스만을 밖으로 드러내는 과정은?

캡슐화(Encapsulation)

 

해설

1. 메시지: 객체의 행위를 표현

2. 캡슐화 : 추상화된 객체의 구현을 은닉, 시스템의 한 콤포넌트의 내부 구현이 다른 콤포넌트에 의존하지 않는 것, 객체 내부의 구현을 client에게 보이지 않게 하는 것 

3. 다형성 : 파생된 클래스와 관련되면서 또 다른 행위를 요구하는 것 

4. 상속 : 하나의 클래스가 다른 클래스로부터 애트리뷰트나 메소드를 물려받는 것

 

객체 지향 기법에서 상위 클래스의 메소드와 속성을 하위클래스가 물려받는 것을 의미하는것은?

Inheritance (상속성)

 

 

UML에서 시퀸스 다이어그램의 구성항목에 해당하지 않는것은?

확장

 

해설

시퀸스 다이어그램의 구성항목

액터, 활성객체,라이프라인(생명선),메세지,제어 삼각형 

 

코드화 대상 항목의 중량, 면적, 용량 등의 물리적 수치를 이용하여 만든 코드는?

표의 숫자 코드

 

해설

순차코드(Sequence Code)

자료의 발생순, 크기순, 가나다순 등 일정 순서대로코드

블록코드(Block Code)

코드화 대상을 미리 파악하여 블록으로 구분한 후 그 안에서 순서대로 코드를 부여

그룹 분류 코드(Group Classification Code)

구분 코드를 세분화한 형태로 대분류, 중분류 소분류 등 각 분류별로 자릿수를 구성

표의 숫자 코드(Singificant Digit Code)

표현하려는 대상의 의미는 제외하고 수치만을 모아 만든 것으로 대상이되는 물체의 중량, 면적 ,크기등을 직접 코드에 적용 

십진 분류 코드(Decimal Classification Code)

코드화 대상물을 일정한 소속으로 구분하여 십진수 한 자리씩 구분하여 대분류하고, 같은 방법으로 중분류 소분류한 코드 

연상코드(Mnemonic Code) 숫자나 문자를 조합해서 나타내는 것으로 어떤 내용을 기억할 수 있도록 표시한 기호코드 

약자코드(Letter Code)

일반적으로 사용해온 단위의 약자를 코드로 사용

끝자리 분류코드 (Final Digit Code) 

다른 종류의 코드와 조합해서 사용하며 코드의 끝에 붙여서 그 의미를 표현 

 

소프트웨어 아키텍쳐 설계에서 시스템 품질속성이 아닌것은?

독립성(Isolation)

 

해설

시스템 품질 속성은 가용성, 변경용이성, 성능, 보안성, 사용편의성, 시험용의성의 6가지가 있다.

 

객체지향 개념에서 다형성(Polymorphism)과 관련된 설명으로 틀린것은?

메소드 오버로딩(Overloading)의 경우 매개 변수 타입은 동일하지만 메소드명을 다르게 함으로써 구현, 구분할 수 있다.

 

오버로딩 

한 클래스 내에서 메서드의 이름은 동일하지만 매개변수의 수나 타입을 다르게 하여 재정의 하는 것

오버라이딩 

상속관계에서만 발생. 슈퍼클래스의 메서드를 서브클래스에서도 동일한 메서드를 재정의 하는 것

 

애자일(Agile) 기법 중 스크럼(Scrum)과 관련된 용어에 대한 설명이 틀린 것은?

스프린트(Sprint)는 하나의 완성된 최종 결과물을 만들기 위한 주기로 3달 이상의 장기간으로 결정된다.

 

해설

스프리트 

실제 개발을 2~4주간 진행하는 과정

스프린트 백로그에 작성된 Task를 대상으로 작업 시간을 측정한 후 담당 개발 자에게 할당한다.

Task는 할일, 진행중, 완료 상태로 구성된다.

 

시스템의 구성요소로 볼 수 없는 것은?

Maintenance는 유지보수로써 시스템 구성요소에는 포함되지 않음 

 

객체를 생성하기 위한 인터페이스를 정의하여 어떤 클래스가 인스턴트화 될 것인지는 서브클래스가 결정하도록 하는 것 

Virtual-Constructor 패턴이라고도함 

Factory Method 패턴 

 

해설

Visitor(방문자) 패턴 <행위패턴>

각클래스들의 데이터 구조에서 처리기능을 분리하여 별도의 클래스로 구성함

분리된 처리 기능은 각 클래스를 ㄹ방문하여 수행

Observer 패턴 <행위패턴>

한 객체의 상태가 변화하면 객체에 상속되어 있는 다른 객체들에게 변화된 상태를 전달

분산된 시스템 간에 이벤트 생성, 발행(Public), 이를 수신(Subscribe) 해야할 때 이용함

Bridge 패턴<구조패턴>

구현부와 추상층을 분리, 서로가 독립적으로 확장함 

기능과 구현을 두 개의 별도 클래스에서 구현함 

 

요구사항 개발 프로세스의 순서

도출(Elicitation) - 분석(Analysis) - 명세(Specification) - 확인(Validation)

 

데이터 흐름도 (DFD)의 구성요소에 포함되지 않는것은 ? 

data dictionary(데이터사전)

 

해설

데이터 흐름도(Data Flow Diagram) 구성요소에서는 

프로세스(Process), 자료흐름(Flow), 자료저장소(Data Store), 단말(Terminal) 이있다.

 

설계 기법 중 하향식 설계 방법과 상향식 설계방법에 대한 비교 설명으로 가장 옳지 않은 것은?

상향식 설계에서는 인터페이스가 이미 성립되어 있지 않더라도 기능 추가가 쉽다.

 

1. 상향식 통합 테스트 (Top Down Integration Test)

깊이 우선 통합법, 넓이 우선 통합법 사용

테스트 초기부터 사용자에게 시스템 구조를 보여줄 수 있다

상위 모듈에서는 tc를 사용하기 어렵다.

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

절차 

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

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

- 모듈이 통합될 때마다 테스트 실시

- 새로운 오류가 발생하지 않음을 보증하기 위해 회기 테스트 실시 

 

2. 하향식 통합 테스트( Bottom Up Integration Test)

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

가장 하위 단계의 모듈부터 통합 및 테스트가 수행되므로 스텁은 필요하지 않다.

하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터 는 필요하다

절차

- 하위 모듈을 클러스터로 결합

-상위 모듈에서 데이터의 입출력을 확인하기 위해 모듈인 드라이버 작성

-통합된 클러스터 단위로 테스터

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

 

상향식 설계는 최하위 수준에서 각각의 모듈을 상세하게 설계하고 이러한 모듈이 완성되면 전체적으로 이들을 결합하여 

설계하는 방식으로 인터페이스가 이미 성립되어 있어야지 기능 추가가 쉽다.

 

클래스의 다이어그램 요소로 다음 설명에 해당하는 용어는?

클래스의 동작을 의미한다

클래스에 속하는 객체에 대하여 적용될 메서드를 정읭한 것이다.

UML에서는 동작에 대한 인터페이스를 지칭한다고 볼 수 있다.

Operation 

 

분산 컴퓨팅 환경에서 서로 다른 기종간의 하드웨어나 프로토콜, 통신환경 등을 연결하여 응용프로그램과 운영환경 간에  원만한 통신이 

이루어질 수 있게 서비스를 제공하는 소프트웨어는 ?

미들웨어

 

객체에 대한 설명으로 틀린것은 ?

객체는 공통 속성을 공유하는 클래스들의 집합이다.

 

해설 

클래스는 공통 속성을 공유하는 객체들의 집합니다.

 

UML 모델에서 한 객체가 다른 객체에게 오퍼레이션을 수행하도록 지정하는 의미적 관계로 옳은 것은?

Realization(실체화)

 

럼바우 분석기법에서 정보모델링이라고도 하며 , 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 

규정하여 다이어그램을 표시하는 모델링은?

Object (객체) 

 

애자일 방법론에 해당하지 않는 것은?

모듈중심의 개발 

 

해설

애자일 방법론에는 익스트림 프로그래밍 , 스크럼, 익스트림모델링, 크리스털 패밀리 , 기능중심개발 이 있다.

하둡은 분산 환경에서 빅 데이터를 저장하고 처리할 수 있는 자바 기반의 오픈 소스 프레임 워크이다.

 

유스케이스 다이어그램에 관련된 내용으로 틀린것은?

시스템과 상호작용하는 외부시스템은 액터로 파악해서는 안된다.

 

해설

액터: 시스템과 상호작용하는 모든 것 (사람, 기계 , 시스템 등)

 

힙정렬 에 대한 설명으로 틀린것은?

최악의 수행시간은 O(2n⁴)이다.

 

해설

힙정렬은 평균 , 최악 수행시간 모두 O(nlogn)이다.

 

소프트웨어 공학에서 워크스루 에 대한 설명으로 틀린것은 ?

인스펙션과 동일한 의미를 가진다.

 

해설

워크스루: 요구사항 명세서 작성자를 포함하여 사전 검토한 후 짧은 검토 회의를 통해 결함을 발견

인스펙션: 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 요구사항 명세서를 확인하면서 결함을 발견

 

EAI(Enterprise Application Integration) 의 구축 유형으로 옳지 않은 것은?

Tree

 

해설

EAI 구축 유형 : 기업 내 각종 애플리케이션 및 플랫폼 간의 정보전달 연계 통합 등 상호연동 이 가능하게 해주는 솔류션 

point to point : 가장 기본적인 애플리케이션 통합방식 1:1 로 연결  

hub & spoke : 단일 접점인 허브 시스템을 통해 데이터 전송하는 중앙 집중형 방식 

message bus : 애플리케이션 사이에서 미들웨어를 두어 처리하는 방식  

hybrid 

 

위험 모니터링의 의미로 옳은것은 ?

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

 

소프트웨어 패키징에 대한 설명으로 틀린것은?

패키징은 개발자 중심으로 한다 

 

패키징은 소비자 중심이다 !! 

 

소프트웨어 품질 목표 중 주어진 시간동안 주어진 기능을 오류없이 수행하는 정도를 나타내는 것은 ?

신뢰성 

 

개별 모듈을 시험하는 것으로 모듈이 정확하게 구현되었는지 예정한 기능이 제대로 수행되는지를 점검하는 것이 주된

목적인 테스트는 ? 

단위 테스트 (Unittest)

 

소프트웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서만 발견된다는 법칙은?

Pareto (파레토) 법칙!

 

소프트우에어를 보다 쉽게 이해할 수 있고 적은 비용으로 수정할 수 있도록 겉으로 보이는 동작의 변화없이 

내부구조를 변경하는 것은 ? refactoring 

 

분할정복 (Divide and Conquer)에 기반한 알고리즘으로 피벗을 사용하며 최악의 경우

 

 

회의 비교를 수행해야 하는 정렬은 ? Quick Sort

 

해싱함수 중 레코드 키를 여러부분으로 나누고 나눈 부분의 각 숫자를 더하거나 xor 한 값을 홈 주소로 사용하는 방식은?

폴딩법 

 

다음중 단위 테스트 고구로 사용될 수 없는 것은 ?

IgpUnit 존재하지 않는 유닛임 

 

JUnit - 자바 프로그래밍 언어용 단위 테스트 도구 

HttpUnit -  웹 브라우저 없이 웹 사이트 테스트를 수행하는 데 사용되는 오픈 소스 소프트웨어 테스트 프레임워크

CppUnit - c++ 프로그래밍 언어용 단위 테스트 도구 

 

병렬 데이터 베이스 환경 중 수평 분할에서 활용하는 분할 기법이 아닌것은 ?

예측 분할

 

데이터페이스에 영향을 주는 생성, 읽기, 갱신, 삭제 연산으로 프로세스와 테이블 간에 매트릭스를 만들어서 트랜잭션을 분석하는 것은?

CRUD 분석 

 

정규화된 엔티티, 속성, 관계를 시스템의 성능 향상과 개발 운영의 단순화를 위해 중복, 통합 , 분리 등을 수행하는 데이터 모델링 기법은?

반정규화 

 

DDL 의 명령어 중 스키마, 도메인, 인덱스 등을 정의할 때 사용되는 SQL문은? Create

 

개체 - 관계 모델의 E-R 다이어그램에서 사용되는 기호와 그의미 ?

타원형 - 속성 

사각형 - 개체 

선- 개체타입과 속성 연결

마름모- 관계 타입

 

데이터베이스 설계시 물리적 설계 단계에서 수행하는 사항이 아닌것은 ?

목표 DBMS에 맞는 스키마 설계 

 

개념적 설계 : 사용자의 요구사항 분석 후 데이터베이스에 대한 추상적인 형태를 설계 

논리적 설계 : 논리적 모델을 이용하여 논리적 스키마 생성

물리적설계 : 특정 DBMS가 제공하는 물리적 구조에 따라 테이블 저장 구조 설계 

 

뷰(view)의 장점이 아닌것은 ?

뷰 자체로 인덱스를 가짐 

 

뷰는 자체적으로 인덱스를 가지지 않기 때문에 삽입 삭제 수정이 제한적이다.

뷰는 논리적으로만 존재한다.

 

분산 데이터베이스의 투명성(Transparency)에 해당하지 않는 것은?

Media Access Transparency

 

관계 대수중 순수 연산자가 아닌것은? 차집합(difference) 

 

릴레이션 조작시 데이터들이 불필요하게 중복되어 예기치 않게 발생하는 곤란한 현상을 의미하는것은?

anamaly (이상)

 

정규화 과정 중 1NF 에서 2NF 가 되기 위한 조건은?

1NF를 만족하고 키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속 관계를 만족 시켜야한다.

 

IPv6 에 대한 설명으로 틀린것은 ?

패킷 크기가 64byte로 고정되어있다

 

해설

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

IPv4의 패킷 크기가 64byte로 제한되어있다. 

 

운영체제에서 커널의 기능이 아닌것은 ?

사용자 인터페이스 

 

해설 

커널 : 프로세스(cpu스케줄링) 관리, 기억장치 관리, 파일관리, 입출력 관리, 프로세스간 통신, 데이터 전송 및 변환 등 여러가지 기능 수행

쉘 : 시스템과 사용자간의 인터페이스 담당 , 명령어 해석기 

 

Java 의 예외에 관한 설명으로 틀린것은 ?

문법 오류로 인해 발생한 것 

 

해설 

문법 오류는 컴파일 시 에러가 발생하기 때문에 프로그램의 정상적인 실행이 불가능 하므로 자바에서 정의한 예외 조건에 부합하지 않는다.

 

C언어에서 변수로 사용할 수 없는것은 ?

short

short은 시스템 예약어로 사용할 수 없다.

 

개발 환경 구성을 위한 빌드 도구에 해당하지 않는것은 ? 

Kerberos

 

라이브러리의 개념과 구성에 대한 설명중 틀린것은 ? 

외부 라이브러리는 프로그래밍 언어가 기본적으로 가지고 있는 라이브러리를 의미하며 표준라이브러리는 별도의 파일설치를 필요로 하는 라이브러리를 의미한다 (반대가 정답임)

 

TCP 프로토콜과 관련한 설명으로 틀린 것은 ?

인접한 노드 사이의 프레임 전송 및 오류를 제어한다 (데이터링크계층에 해당)

 

TCP는 패킷의 전송 및 오류를 제어한다 !! 

 

연산자 우선순위 높은곳 >> 낮은곳 

 

() - / - << - < - == - ||

 

SSH(Secure Shell) 에 대한 설명

SSH의 기본 네트워크 포트는 22 번이다