gi_dor

모의고사 1과목 오답노트 - 기록 본문

자격증/정보처리

모의고사 1과목 오답노트 - 기록

기돌 2024. 2. 18. 20:20

2023.2회차

정형 기술 검토(FTR)의 지침 사항으로 옳은 내용 모두를 나열한 것은?

1,2,3 번다 맞는거같은데 채점에는 왜 2번만이지?

① 의제를 제한한다.
② 논쟁과 반박을 제한한다.
③ 문제 영역을 명확히 표현한다.
④ 참가자의 수를 제한하지 않는다.


소프트웨어 개발 방법 중 요구사항 분석(requirements annalysis)과 거리가 먼 것은?

① 비용과 일정에 대한 제약설정
② 타당성 조사
③ 요구사항 정의 문서화
④ 설계 명세서 작성


CASE(Computer-Aided Software Engineering)의 원천 기술이 아닌 것은?

① 일괄처리 기술
② 프로토타이핑 기술
③ 정보 저장소 기술
④ 구조적 기법

📌 CASE는 소프트웨어 개발과정을 지원하는 도구들 집합임 


 객체지행 분석 방법론 중 Coad-Yourdon 방법에 해당하는 것은?

① E-R 다이어그램을 사용하여 객체의 행위를 데이터 모델링하는데 초점을 둔 방법이다.
② 객체, 동적, 기능 모델로 나누어 수행하는 방법이다.
③ 미시적 개발 프로세스와 거시적 개발 프로세스를 모두 사용하는 방법이다.
④ Use Case를 강조하여 사용하는 방법이다.

ER 다이어 그램은 데이터 모델링


시스템에서 모듈 사이의 결합도(Coupling)에 대한 설명으로 옳은 것은?

① 모듈간의 결합도를 약하게 하면 모듈 독립성이 향상된다. 
② 한 모듈 내에 있는 처리요소들 사이의 기능적인 연관정도를 나타낸다.
③ 결합도가 높으면 시스템 구현 및 유지보수 작업이 쉽다.
④ 자료결합도는 내용결합도 보다 결합도가 높다.

모듈 간의 결합도가 강하다는 것은 한 모듈이 다른 모듈에 의존적이고 서로 강하게 연결


 CASE(Computer Aided Software Engineering)에 대한 설명으로 틀린 것은?

① 소프트웨어 모듈의 재사용성이 향상된다.
② 자동화된 기법을 통해 소프트웨어 품질이 향상된다.
③ 소프트웨어 사용자들에게 사용 방법을 신속히 숙지시키기 위해 사용된다.
④ 소프트웨어 유지보수를 간편하게 수행할 수 있다.

CASE 는 개발 과정에서 쓰이는 자동화 기법


Gof - 생구행
- 생 - 추빌팩프싱
- 구 - 어브컴데퍼플프

- 구조적다이어그램 - 클객컴배복패
- 행위다이어그램 - 유시커상활타
- 유스케이스 - 일반 포함 확장 연관 그룹

 

 

UML 다이어 그램 순차 다이어그램에 틀린것은?
▶ 주로 시스템의 정적 측면을 모델링하기위해 사용
📌 순차 다이어 그램은 동적이다.


기본 유스케이스 수행 시 특별한 조건을 만족할 때 수행하는 유스케이스는?  ★

▶ 확장

  • 연관 : 기본 usecase와 actor의 관계
  • 확장 : 기본 usecase 수행시 특별한 조건을 만족 할 때 수행할 usecase
  • 포함 : 시스템의 기능이 별도의 기능을 포함
  • 일반 : 하위 usecase가 상위 usecase에게 기능 역할을 상속받음
  • 그룹 : 여러개의 usecase를 단순화하는 방법

통신을위한 프로그램을 생성해 포트를 할당하고 클라이언트의 통신 요청시 클라이언트와 연결하는 내.외부 송.수신 연계기술

▶ 소켓기술


모듈 F 에서 fan-in 과 fan-out 의 수는?

▶ fan-in : BCD 3개 , fan-out : GH 2개

📌 F를 제어하는 수 fan-in , F가 제어하는 수 fan-out


자료구조 사전에 의미

  • = 정의
  •  + 구성
  • [ ] 선택
  • { } 반복
  • ( ) 생략
  • ** 주석

UML 다이어 그램의 종류

📌 구조적 다이어 그램
클래스 객체 컴포넌트 배치 복합체 패키지
▶ 클객컴배복패

📌 행위 다이어 그램
유스케이스 시퀀스 커뮤니케이션 상태 활동 타이밍 상호작용
▶ 유시커상활타


Gof 디자인 패턴 생성 구조 행동 패턴 

📌 생성 - 추상 , 빌더 , 팩터리 , 프로토타입 , 싱글톤

📌 구조 - 어댑터 , 브릿지 , 컴포넌트 , 데코레이터 , 퍼싸트 , 플라이웨이트 , 프록시

📌 행동 - 역할사슬 , 커맨드 , 인터프리티 , 이터레이터 , 미디에이터, 메멘토 , 옵저버 , 상태 , 전략 , 템플릿 , 방문

생 - 추빌팩프싱
구 - 어브컴데퍼플프


상위 CASE 도구가 지원하는 주요 기능에 대해

CASE :  시스템 개발과정의 일부 또는 전체를 자동화 
- 소프트웨어 생명주기의 전체 단계를 연결해 주고 자동화해주는 통합된 도구를 제공
- 소프트웨어, 하드웨어, 데이터베이스, 테스트 등을 통합하여 소프트웨어를 개발하는 환경을 제공

상위 CASE :  요구분석 , 설계단계 지원

  • 모델 사이 모순검사
  • 모델 오류검증
  • 자료흐름도 작성

하위 CASE :  코드 작성 ,테스트 , 문서화

  • 원시코드 생성

통합 CASE : 소프트웨어 개발주기 전체과정 지원

 


DOS 및 Unix 운영체제에서 조작을 위해 사용하던것 , 정해진 문자열을 입력해 시스템 조작하는 사용자 인터페이스는?

▶ CLI

  • CLI : 텍스트 형태
  • GUI : 마우스로 선택
  • NUI : 사용자의 말이나 행동
  • VUI : 사용자의 음성
  • OUI : 모든 사물과 사용자간의 상호작용

응용프로그램의 프로시저를 사용해 원격 프로시저를 로컬 프로시저처럼 호출하는 방식의 미들웨어

▶ RPC

  • WAS : 애플리케이션 수행 미들웨어
  • MOM : 메시지 지향 미들웨어
  • RPC : 원격 프로시처 호출
  • OPB : 네트워크 호출

 

명백한 역할을 가지고 독립적으로 존재할 수 있는 시스템의 부분으로 넓은 의미에서는 재사용되는 모든 단위라고 볼 수 있으며, 인터페이스를 통해서만 접근할 수 있는 것은?

▶ Component

📌 컴포넌트
- 프로그래밍에 있어 재사용이 가능한 각각의 독립된 모듈
- 특정 기능 수행을 위해 독립적으로 분리

 


 소프트웨어 개발 단계에서 요구 분석 과정에 대한 설명?

1. 분석 결과의 문서화를 통해 향후 유지보수에 유용하게 활용 할 수 있다.
2. 자료흐름도, 자료 사전 등이 효과적으로 이용될 수 있다.
3. 보다 구체적인 명세를 위해 소단위 명세서(Mini-Spec)가 활용될 수 있다.

▶ 개발비용이 가장 많이 소요되는 단계는 유지보수단계


애자일 개발 방법론

  • 스크럼
  • 익스트림 (XP)
  • 기능주도 (FDD)
  • 적응형 소프트웨어 개발(ASD)

📌 Hadoop  은 빅데이터 처리 프레임워크


요구 사항 명세기법에 대한 설명

정형 명세기법의 특징
1. 수학적 기호, 정형화된 표기법으로 작성
2. 정확하고 간결하게 표현할 수 있지만 표기법이 어려워 사용자가 이해하기 어렵다.
3. 일관성이 있다.

비정형 명세기법의 특징
1. 일반 명사, 동사 등의 자연어를 기반으로 작성한다.
2. 이해가 쉽다.
3. 일관성이 떨어진다.


입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 처리하는 시간을 줄여주는 프로그램이나 하드웨어

▶ FEP

EAI: 기업 응용 프로그램 통합으로 기업용 응용 프로그램의 구조적 통합 방안을 가리킴
FEP : 입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 차지하는 시간을 줄여주는 프로그램이나 하드웨어
GPL : 자유 소프트웨어 재단(OSF)에서 만든 자유 소프트웨어 라이센스
Duplexing : 이중화(데이터베이스의 회복 기법 중 가장 간단한 것)


소프트웨어 아키텍처 모델 중 MVC(Model-View-Controller)와 관련한 설명

1. MVC 모델은 사용자 인터페이스를 담당하는 계층의 응집도를 높일 수 있고, 여러 개의 다른 UI를 만들어 그 사이에 결합도를 낮출 수 있다.
2. 뷰(View)는 모델(Model)에 있는 데이터를 사용자 인터페이스에 보이는 역할을 담당한다.
3. 제어(Controller)는 모델(Model)에 명령을 보냄으로써 모델의 상태를 변경할 수 있다.
4. 모델(Model)은 서브 시스템의 핵심 기능과 데이터를 보관하며 MVC 패턴에서는 여러 개의 뷰를 만들 수 있으므로 한 개의 모델에 대해 여러 개의 뷰를 필요로 하는 대화형 어플리케이션에 적합하다.


서브시스템이 입력 데이터를 받아 처리하고 결과를 다른 시스템에 보내는 작업이 반복되는 아키텍처 스타일은?
     
     1. 클라이언트 서버 구조 : 컴포넌트가 다른 컴포넌트에게 서비스를 요청. 데이터가 여러 컴포넌트를 거치며 처리.
     2. 계층 구조 : 모듈들로 응집된 계층 단위로 SW를 구성. 계층간에 사용 가능의 관계로 표현
     3. MVC 구조 :  모델-뷰-컨트롤러, 기능을 분리한 아키텍처
     4. 파이프 필터 구조 :  파이프를 통해 받은 데이터를 변경시키고 그 결과를 파이프로 전송

파이프- 필터 패턴은 데이터 통로인 파이프를 이용해 컴포넌트인 필터간에 데이터를 전송하는 구조로, 단방향, 양방향 모두 구현할 수 있으며, 필터간 이동 시 오버헤드가 발생한다


소프트웨어 공학에서 워크스루(Walkthrough)에 대한 설명으로 틀린 것은?
     
     1. 사용사례를 확장하여 명세하거나 설계 다이어그램, 원시코드, 테스트 케이스 등에 적용할 수 있다.
     2. 복잡한 알고리즘 또는 반복, 실시간 동작, 병행 처리와 같은 기능이나 동작을 이해하려고 할 때 유용하다.
     3. 인스펙션(Inspection)과 동일한 의미를 가진다.
     4. 단순한 테스트 케이스를 이용하여 프로덕트를 수작업으로 수행해 보는 것이다.

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

 


메시지 지향 미들웨어에 대한 설명으로 틀린것 

1. 느리고 안정적인 응답보다 즉각적인 응답이 필요한 온라인 업부에 적합
2. 독립적 애플리케이션을 하나의 통합된 시스템으로 묶기 위한 역할
3. 송신측과 수신측의 연결 시 메시지 큐를 활용
4. 상이한 애플리케이션 간 통신을 비동기 방식으로 지원

▶ 메시지 기반의 비동기형 메시지를 전달하는 방식
▶ 온라인 업무보다는 이기종 분산 데이터 시스템의 데이터 동기를위해 사용
▶ 즉각적인 응답이아닌 다소 느리고 안정적인 응답을 필요로 하는 경우 많이 사용


미들웨어(Middleware)에 대한 설명으로 틀린 것은? ★

1. 여러 운영체제에서 응용 프로그램들 사이에 위치한 소프트웨어이다.
2. 미들웨어의 서비스 이용을 위해 사용자가 정보 교환 방법 등의 내부 동작을 쉽게 확인할 수 있어야 한다.
3. 소프트웨어 컴포넌트를 연결하기 위한 준비된 인프라 구조를 제공한다.
4. 여러 컴포넌트를 1대 1, 1대 다, 다대 다 등 여러 가지 형태로 연결이 가능하다

- 미들웨어 솔루션은 미들웨어의 서비스 이용을 위해 사용자가 정보 교환 방법 등의 내부 동작을 확인할 필요가 없다.


 

유스케이스 다이어그램(Use Case Diagram)에 관련된 내용으로 틀린 것은?
     
1. 시스템과 상호작용하는 외부시스템은 액터로 파악해서는 안된다.
2. 유스케이스는 사용자 측면에서의 요구사항으로, 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술한다.
3. 시스템 액터는 다른 프로젝트에서 이미 개발되어 사용되고 있으며, 본 시스템과 데이터를 주고받는 등 서로 연동되는 시스템을 말한다.
4. 액터가 인식할 수 없는 시스템 내부의 기능을 하나의 유스케이스로 파악해서는 안된다.

액터:시스템과 상호작용하는 모든 외부요소로, 사람이나 외부시스템을 의미함


다음은 인스펙션(Inspection) 과정을 표현한 것이다. (가)~(마)에 들어갈 말을 보기에서 찾아 바르게 연결한 것은

1. (가) - ㉡, (나) - ㉢
2. (나) - ㉠, (다) - ㉢
3. (다) - ㉢, (라) - ㉤
4. (라) - ㉣, (마) - ㉢

가 - 사전교육
나 - 준비
다 - 인스펙션 회의
라 - 수정
마 - 후속조치

 


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

1. Dependency
2. Realization
3. Generalization
4. Association

    
Dependency(의존) : 한 사물의 명세서가 바뀌면 그것을 사용하는 다른 사물에게 영향을 끼치는 것을 말합니다 (Cascade 생각하셈)
Realization(실체화) : 한 객체가 다른 객체에 의해 오퍼레이션을 수행하도록 지정
Generalization(일반화) : 일반화된 사물과 좀 더 특수화된 사물 사이의 관계를 말합니다.('is-a')관계
Association(연관) : 두 사물간의 구조적 관계로, 어느 한 사물 객체가 다른 사물 객체와 연결되어 있음을 말함 ('has-a')관계라고도 합니다


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

1. 가용성 (Availability)
2. 독립성 (Isolation)
3. 변경 용이성 (Modifiability)
4. 사용성(Usability)

▶ 시스템 품질속성 = 가용성 , 변경 용이성 , 보안성 , 성능 , 사용 편의 , 시험용의

728x90