[정처기] 메타코드M 1강 기출 문제

정기홍·2024년 12월 29일

정보처리기사

목록 보기
24/28

시작하면서

해당 글은 메타 코드 M에서 지원하는 정처기 필기 장학생에 합격하여 글을 작성하게 되었습니다.

메타 코드 해당 강의 보러 가기

참고 사항

  • 플랫폼 => 이 뜻은 참고할 주제라는 뜻입니다.
  • 이렇게 형관펜이 되어 있는 곳은 시험에 나오거나, 강조하고 싶은 부분이 있을 때 표시할 것입니다.

해당 문제는 메타코드 M의 강의 기출 문제 관련 참고집입니다.

1. UML 다이어그램에서 순차 다이어그램에 대한 설명으로 틀린 것은?

UML 다이어그램이란?

  • 주로 객체 지향 소프투웨어 개발 시 산출물을 명세화, 시각화하기 위한 표준화된 모델링 언어
  • 사물 / 관계 / 다이어그램으로 구성

시퀀스 다이어그램(Sequence, 순차)

  • 시스템의 동적 측면을 모델링하며, 객체 간의 상호 작용을 시간 순서에 따라 시각적으로 보여줌
  • 시간의 흐름에 따라 객체들이 주고 받는 메시지의 전달 과정을 강조

2. 요구사항 분석에서 비기능적 요구 사항에 해당하는 것은?

  • 비 기능적 요구사항과 기능적 요구 사항
    • 기능적 요구사항은 시스템이 (무엇을?) 해야 하는지 초점
    • 비기능적 요구사항은 시스템이 (어떻게) 해야 하는지 초점

3. GoF(Gang of Four) 디자인 패턴 중 싱글톤(singleton) 패턴에 대한 설명으로 옳은 것은?

  • GOF : 디자인 패턴을 생성, 구조, 행위의 3가지 구분과 23개의 패턴으로 구분
    • 생성패턴 : 객체를 어떻게 생성하고 초기화할지에 대한 패턴
      • Factory method : 객체를 생성하기 위한 인터페이스를 정의하여 어떤 클래스가 인스턴스화 될 것인지, 서브 클래스가 결정하도록 하는 것
      • Prototype 패턴 : prototype 을 먼저 생성하고 인스턴스를 복제하고 사용하는 구조
      • singleton 패턴
        • 한 클래스에 한 객체만 존재하도록 제한
        • 생성된 객체를 어디에서든지 참조할 수 있도록 함.
      • Builder 패턴 : 객체의 생성과 표현을 분리한다.
    • 구조 패턴 : 클래스와 객체를 더 큰 구조로 조합하는 방법에 대한 패턴
      • adapter : 기존 클래스를 새로운 인터페이스에 맞게 변환한다.
    • 행위 패턴 : 객체 간의 상호 작용과 책임 분배에 대한 패턴
      • Strategy 패턴
        • 다양한 알고리즘을 캡슐화하여 알고리즘 대체가 가능하도록 한 행위 패턴
      • Mediator 패턴
        • 객체 간의 통제와 지시의 역할을 하는 중재자를 두어 객체 지향의 목표를 달성하도록 함.
    • iterator 패턴: 객체 집합을 순회하는 방법을 제공함.

4. 애자일(Agile) 소프트웨어 개발 방법론의 가치 중 옳지 않은 것은?

  • Agile 방법론
    • 고객의 요구사항 변화에 빠르게 적응하고, 개발 과정에서 지속적으로 개선해 나가는 것
  • 특징
    • 프로젝트의 요구사항을 모듈 중심이 아닌 기능 중심으로 개발
  • 핵심 가치 4가지
    • 개인과 상호작용
    • 작동하는 소프트웨어
    • 고객과의 협력이 우선
    • 계획에 따르는 것보다는 변화에 대응하는 것이 우선

5. UML의 관계 중 일반화 관계에 대한 설명으로 가장 적절한 것은?

  • 연관(Association) : 서로 어떤 방식으로 연결되어 있는지를 표현함.
  • 일반화(Generalization) : 상위 개념과 하위 개념 간의 관계(과일 → 사과)
    • 하위 클래스가 상위 클래스의 속성과 기능을 물려받는 관계
  • 의존(Dependency) : 한 요소가 다른 요소에게 종속적일 때의 관계(주문과 결제)
    : 한 요소의 변화가 다른 요소에게도 영향을 줌
  • 실체화(Realization) : 추상화된 개념과 실제로 이를 구현하는 개념 사이의 관계
  • 포함 (Composition)
    • 전체와 부분 간의 강한 관계(집과 방)
    • 전체 객체가 사라지면 부분 객체도 사라짐.
  • 집합(Aggregation)
    • 전체와 부분 간의 느슨한 관계(도서관과 책)
    • 전체 객체와 부분 객체가 독립적으로 존재할 수 있음.

8. 럼바우(Rumbaugh) 객체지향 분석 기법의 모델링 종류가 아닌 것은?

  • 럼바우(Rumbaugh) 방법론
    • 객체 모델 → 동적 모델 → 기능 모델로 나누어 순서대로 분석을 수행하는 방법
    • Object : 객체 / Dynamic : 동적 / Function : 기능
    • 객체 모델 : 시스템에 필요한 객체를 찾아내어 속성과 관계를 규정하여 다이어그램으로 표시
    • 동적 모델 : 상태 다이어그램, 사건 흐름 다이어그램 등을 통해 객체 간의 상호작용을 시간 순으로 표현
    • 기능 모델 : 시스템의 기능을 자료 흐름도(DFD)를 통해 표현

9. 객체지향 설계 원칙(SOLID) 중 개방-페쇄 원칙(Open-Closed Principle)에 대한 설명으로 옳은 것은?

  • 객체 지향 설계의 원칙(SOLID)
    • 객체 지향 설계를 위한 5가지 원칙으로, 유지보수성과 확장성에 도움을 줌
    • 단일 책임의 원칙
      • 하나의 클래스는 하나의 책임만, 즉 하나의 기능이나 역할만 담당해야 함.
    • 개방-폐쇄의 원칙 (Open-closed Principle)
      • 클래스는 확장에 대해 열려 있어야 하며, 변경에 대해 닫혀있어야 함.
      • 즉 새로운 기능을 추가할 때는 기존 코드를 수정하지 말아야 함.

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

  • 시스템과 상호작용하는 외부시스템은 액터가 될 수 있다.
  • 액터가 인식할 수 없는 시스템 내부의 기능을 하나의 유스케이스로 파악해서는 안된다.
  • 하나의 액터는 여러 유스케이스와 연결될 수 있다.

15. GoF 디자인 패턴의 구조 패턴에 해당하지 않는 것 은?

  • 구조 패턴
    • 클래스와 객체를 더 큰 구조로 조합하는 방법에 대한 패턴
    • Adapter, Bridge, Proxy, Decorator, Facade, Flyweight, Composite
  • 생성 패턴
    • 객체를 어떻게 생성하고 초기화할지에 대한 패턴
    • Builder, Singleton, Prototype, Abstract Factory, Factory Method

16. 모듈의 응집도(Cohesion) 유형 중 가장 낮은 것은?

18. 객체 지향 설계의 SOLID 원칙 중 인터페이스 분리 원칙(ISP)에 대한 설명으로 옳은 것은 ?

  • 인터페이스 분리의 원칙(Interface Segregation Principle)
    • 클라이언트는 자신이 사용하지 않는 메소드에 의존하지 않아야 함.

19. DFD의 구성요소가 아닌 것은?

  • DFD : 시간의 흐름을 명확히 표현할 수 없음.(논리적 흐름 위주)
  • DFD(Data Flow Diagram)의 구성 요소
    • 처리기
    • 데이터 흐름
    • 데이터 저장소
    • 단말(Terminator)

23. 애자일 개발 방법론의 스크럼(Scrum)에서 사용되는 용어와 설명이 잘못 연결된 것은?

25. 사용자 인터페이스의 기본 원칙 중 누구나 쉽게 이해하고 사용할 수 있어야 한다는 원칙은?

  • 직관성 : 누구나 쉽게 이해하고 사용할 수 있어야 함.
  • 유효성 : 정확하고 완벽하게 사용자의 목표가 달성되어야 함.
  • 학습성 : 모두가 쉽게 배우고 사용할 수 있게 제작되어야 함.
  • 유용성 : 사용자의 실수를 방지할 수 있게 제작되어야 함.

26. 다음 중 모듈의 결합도(Coupling)가 가장 높은 것은?

29. CASE(Computer-Aided Software Engineering)에 대한 설명으로 알맞은 것은?

  • CASE(Computer-Aided Software Engineering)
    • 소프트웨어 생명주기의 전 단계를 연결해주고 자동화하는 소프트웨어 도구
    • SW, HW, Database, 테스트 등을 통합하여 소프트웨어를 개발하는 환경을 조성
    • 개발 과정의 속도를 향상시키며, 소프트웨어 부품의 재사용을 가능하게 함.
  • CASE의 기능
    • 그래픽 지원
    • 소프트웨어 생명주기 전 단계의 연결
    • 다양한 소프트웨어 개발 모형 지원
    • 표준화된 개발환경 구축 및 문서 자동화 기능

32. XP(eXtreme Programming)의 5가지 가치가 아닌 것은?

  • XP(eXtreme Programming)
    • 소프트웨어 품질을 높이고, 개발 팀이 변화에 빠르게 대응할 수 있도록 하는 데 중점을 둔 방법론
    • 기술적인 실천과 지속적인 코드 개선 등 실용성에 중점을 둔 방법론
    • XP의 5가지 가치 : 용기, 단순성, 의사소통, 피드백, 존중

33. 다음 중 자료 사전에서 자료의 선택을 의미하는 것은?

34. 코드화 대상 항목의 무게, 면적 등 물리적 수치를 이용해 만든 코드는?

  • 코드 설계: 데이터의 분류나 사물의 표현을 위해 코드를 설계하는 것
  • 코드의 기능: 간소화, 표준화, 분류, 식별, 배열, 연상, 암호화, 오류 검출 등
  • 코드 설계의 종류
    • 연상 코드 : 약호를 통해 코드만 보도고 대상을 연상할 수 있도록 만든 코드
    • 블록 코드 : 공통성이 있는 것끼리 블록으로 구분하고, 각 블록 내에서 일련 번호를 부여하는 코드
    • 순차 코드 : 기준에 따라 순서대로 일련번호를 부여하는 코드
    • 표의 숫자 코드 : 코드화 대상 항목의 무게, 면적 등 물리적 수치를 이용해 만든 코드

36. 미들웨어 솔루션의 유형에 포함되지 않는 것은?

  • WAS : 웹 애플리케이션을 실행하기 위한 소프투웨어 환경을 제공
  • TP Monitor : 트랜잭션이 올바르게 처리되고 있는지 데이터를 감시하고 제어하는 미들웨어
  • RPC (Remote Procedure Call) : 응용 프로그램의 프로시저를 사용하여 원격 프로시저를 로컬 프로시저처럼 호출하는 방식의 미들웨어
  • 메시지 지향 미들웨어(MOM : Message Oriented Middleware)
    • 느리고 안정적인 응답을 필요로 할 때 적합
  • 객체 기반 미들웨어(ORB : Object Request Brokes)
    • CORBA 표준 스펙을 구현한 객체 지향 미들웨어

38. HIPO(Hierarchy Input Process Output)에 대한 설명으로 옳지 않은 것은?

  • HIPO(Hierarchy Input Process Output)
    • 하향식 소프트웨어 개발을 위한 문서화 도구
    • 보기 쉽고 이해하기 쉬움
    • 기능과 자료의 의존 관계를 동시에 표현할 수 있음
    • 가시적 도표, 총체적 도표, 세부적 도표의 세 종류

40. 요구사항 명세서를 미리 배포하여 사전 검토한 후 짧은 검토 회의를 통해 오류를 조기에 검출하는 데 목적을 두는 방법은?

  • 워크 스루 : 요구사항 명세서를 미리 배포하여 사전 검토한 후 짧은 검토 회의를 통해 오류를 조기에 검출하는 데 목적을 두는 방법
  • 동료 검토 : 요구사항 명세서 작성자가 요구사항 명세서를 설명하고 이해관계자들이 설명을 들으면서 결함을 발견
  • 인스펙션 : 소프트웨어 요구, 설계, 원시 코드 등의 저작자 외의 다른 전문가나 팀이 검사하여 오류를 찾아내는 검토 방법

41. 객체 지향 기법에서 클래스들 간의 공통된 특성을 추출하여 상위 클래스를 만드는 기법으로, ‘is-a’ 관계로 설명되는 관계성을 나타내는 기법은?

  • 연관화 : 객체 간의 일반적인 관계 (is-member-of)
    • 학생 - 교수
  • 분류화 : 객체를 공통된 특성에 따라 그룹화 (is-instance-of)
    • 동물을 포유류, 조류, 어류로 그룹화
  • 집단화 : 전체와 부분의 관계로, 부분은 독립적으로 존재 가능(is-a-part-of)
    • 팀과 선수
  • 일반화 : 여러 클래스의 공통된 특성을 추출하여 상위 클래스를 만드는 것(is-a)
    • 개와 고양이의 특성을 조합해 동물 클래스를 만듦.
  • 특수화 : 상위 클래스를 기반으로 더 구체적이고 특수한 하위 클래스를 만드는 것 (is-a)
    • 동물 클래스를 특수화하여 개와 고양이 클래스를 만듦.

42. 소프트웨어 설계에서 자주 발생하는 문제에 대한 일반적이고 반복적인 해결 방법

  • 디자인 패턴 : 소프트웨어 설계에서 자주 발생하는 문제에 대한 일반적이고 반복적인 해결 방법

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

  • Socket

메타코드 M 해당 강의 보러가기 (환급형 강의)

메타코드 M 해당 강의 보러가기 (일반형 강의)

profile
하나를 알고 그걸로 모든걸 관통한다.

0개의 댓글