반응형

1과목 소프트웨어 설계 ( 인터페이스 설계 )

 

시스템 인터페이스 요구사항 분석

1. 다음 중 시스템 인터페이스 요구사항 명세서의 구성에 포함되지 않는 것은?

① 연계 대상 시스템

② 수신 데이터

③ 인터페이스 이름

④ 인터페이스 주기

 

정답 : 2

포함되는 것은 인터페이스 이름, 연계 대상 시스템, 연계 범위 및 내용, 연계 방식, 송신 데이터, 인터페이스 주기, 기타 고려사항이 포함된다.

시스템 인터페이스 요구사항 명세서의 구성에는 송신 데이터만 포함된다.

 

2. 다음 중 시스템 인터페이스 요구사항 분석에 대한 설명으로 옳지 않은 것은?

① 시스템 인터페이스 요구사항 분석은 요구사항 명세서를 통해 요구사항을 기능. 비기능적 요구사항으로 분류하고 명세화 하는 것이다.

② 시스템 인터페이스 요구사항 분석은 소프트웨어 요구사항 분석 기법을 적절히 사용한다.

③ 시스템 인터페이스 요구사항 분석 시 정의된 인터페이스 요구사항은 분해할 수 없다.

④ 시스템 인터페이스 요구사항 분석 시 요구사항의 중요도에 따라 우선순위를 부여할 수 있다.

 

정답 3 필요한 경우 인터페이스 요구사항을 분해할 수 있습니다.

 

3. 다음 중 시스템 인터페이스 요구사항 분석 절차를 올바르게 나열한 것은?

a. 요구사항 분석 및 명세서 구체화

b. 요구사항 분류

c. 요구사항 관련 자료 준비

d. 요구사항 선별

e. 요구사항 명세서 공유

① c - b - d - a - e

② d - b - c - a - e

③ c - d - b - a - e

④ d - c - b - a - e

 

정답 4

 

4. 시스템 인터페이스 관련 요구사항 중 비기능적 요구사항에 해당하지 않는 것은?

① 인사 및 조직 정보 등록

② 운영 접근 통제

③ 처리 속도 및 시간

④ 시스템 장애 대응

 

정답 : 1

 

인터페이스 요구사항 검증

1. 다음 중 인터페이스 요구사항 검증에 대한 설명으로 틀린 것은?

① 인터페이스 요구사항 검증은 요구사항 명세서의 요구사항에 오류가 없는지 확인하는 작업이다.

② 인터페이스 요구사항 검증 방법에는 프로토타이핑, 동료 검토, 테스트 설계 등이 있다.

③ 인터페이스 요구사항 검증은 ‘계획 수립 -> 베이스라인 설정 -> 요구사항 검토 및 오류 수정’의 순으로 수행된다.

④ 인터페이스 요구사항 검토 시 오류를 발견하면 오류 목록과 시정 조치서를 작성한다.

 

정답 : 3 인터페이스 요구사항 검증은 계획수립 -> 요구사항 검토 및 오류 수정 -> 베이스라인 설정의 순으로 수행된다.

 

2. 다음 중 요구사항 검증 방법 중 요구사항 검토에 대한 설명으로 틀린 것은?

① 요구사항 검토는 검토 담당자들이 수작업으로 분석하는 방법이다.

② 요구사항 검토 중 워크스루는 짧게는 일주일 길게는 한달 동안 요구사항을 확인하여 결함을 발견하는 방법이다.

③ 요구사항 검토 중 동료 검토는 요구사항 명세서 작성자가 직접 설명하면서 결함을 발견하는 방법이다.

④ 요구사항 검토 중 인스펙션은 요구사항 명세서 작성자를 제외한 다른 검토 전문가나 그룹이 결함을 발견하는 방법이다.

 

정답 : 2 워크스루는 검토 회의 전에 요구사항 명세서를 미리 배포하여 사전 검토하므로 회의 시간이 1~2시간으로 짧은 편이다.

 

3. 다음 중 인터페이스 요구사항 검증의 주요 항목으로 가장 먼 것은?

① 보안성 ② 완전성 ③ 기능성 ④ 추적가능성

 

정답 : 1 인터페이스 요구사항 검증의 주요 항목에는 완전성, 일관성, 명확성, 기능성, 검증 및 추적 가능성, 변경 용이성 등이 있습니다.

 

인터페이스 시스템 식별

1. 다음 중 인터페이스 시스템 식별에 대한 설명으로 틀린 것은?

① 인터페이스 요구사항 명세서와 인터페이스 요구사항 목록을 기반으로 인터페이스 시스템을 식별한다.

② 식별된 내외부 시스템 간 인터페이스에 참여하는 시스템들을 송신 측과 수신 측으로 구분한다.

③ 인터페이스가 내부 시스템 간 또는 내 외부 시스템 간에 발생하는지를 파악하여 대 내외 여부를 기재한다.

④ 개발하고자 하는 시스템과 타 시스템 사이의 인터페이스를 유일하게 식별할 수 있도록 인터페이스명을 부여한다.

 

정답 : 1 인터페이스 요구사항 명세서와 인터페이스 요구사항 목록을 기반으로 식별하는 것은 개발할 시스템과 이와 연계할 내 외부 시스템 사이의 인터페이스입니다.

 

2. 다음 중 개발할 시스템과 내 외부 인터페이스 시스템 식별에 대한 설명으로 가장 옳지 않은 것은?

① 인터페이스 관련 자료들을 기반으로 개발하고자 하는 시스템과 연계할 내 외부 시스템을 정의한다.

② 시스템 목록 작성 시 대내 시스템의 경우 시스템 레벨은 한국정보화진흥원의 CBD SW개발 표준 산출물 관리가이드에 따라 정의한다.

③ 내 외부 시스템의 연계를 위한 네트워크 연결 정보를 확인한다.

④ 내 외부 시스템의 실제 운용 환경과 하드웨어 관리 주체를 확인한다.

 

정답 : 2 대내 시스템의 경우 시스템 레벨은 기업의 분류 체계를 기반으로 정의한다.

 

송수신 데이터 식별

1. 다음 중 송 수신 시스템 사이에서 교환되는 데이터에 대한 설명으로 가장 옳지 않은 것은?

① 송 수신 데이터 항목은 인터페이스별로 전송되는 데이터 항목과 순서가 다르다.

② 인터페이스 표준 항목 중 시스템 공통부는 개념 모델링과정에서 도출한 개체 타입과 관련 속성, 식별자 등에 대한 개별적인 정보이다.

③ 인터페이스 표준 항목 중 거래 공통부는 연동 처리 시 필요한 직원, 승인자, 기기, 매체 등으로 구성된다.

④ 대 내외 연계 시 사용하는 공통 코드와 연계 시스템 등에서 사용하는 상태 또는 오류 코드 등과 같은 공통 코드 항목에 대해 코드 값과 코드명, 코드 설명 정보 등을 공통 코드로 관리해야 한다.

 

정답: 2 시스템 공통부는 시스템 간 연동 시 필요한 공통 정보를 의미합니다.

 

2. 다음 중 송.수신 데이터 식별에 대한 설명으로 가장 옳지 않은 것은?

① 개발하고자 하는 시스템과 연계할 내 외부 시스템 사이의 정보 흐름과 데이터베이스 산출물들을 기반으로 송 수신 데이터를 식별하고 정의한다.

② 송수신 데이터를 식별하는데 필요한 데이터베이스 산출물에는 테이블 정의서, 코드정의서, ERD등이 있다.

③ 데이터베이스 산출물들을 기반으로 송.수신 시스템 사이에서 교환되는 범위를 파악하고 데이터 항목을 식별한다.

④ 코드성 데이터 항목에 대해 연계 시스템에서 사용하는 코드명과 코드값이 다를 경우 공통 코드 정보를 확보한다.

 

정답: 4 코드성 데이터 항목에 대해 연계 시스템에서 사용하는 코드명과 코드값이 다를 경우 코드 매핑 대상으로 식별하고 양쪽 시스템에서 사용하는 코드 정보를 확보합니다.

 

3. 다음 중 개발할 시스템과 내 외부 시스템 사이의 정보 흐름에 대한 설명으로 가장 옳지 않은 것은?

① 인터페이스 목록에 있는 인터페이스 각각을 검토하여 송신 시스템과 수신 시스템 사이의 정보 흐름을 식별한다.

② 송.수신 시스템 간 정보 흐름을 기반으로 송.수신 시스템 사이에서 교환되는 주요 데이터 항목 또는 정보 그룹을 도출한다.

③ 인터페이스에 참여하는 송.수신 시스템 사이에서 단방향을만 이동하는 정보 또는 정보들을 파악한다.

④ 정보 흐름은 필요 시 표나 다이어 그램 형태로 작성할 수도 있다.

 

정답 : 3 정보 흐름은 송 수신 시스템 사이에서 단방향 또는 양방향의 일정한 방향으로 이동하는 정보를 확인한다.

 

인터페이스 방법 명세화

1. 다음 중 인터페이스 송.수신 방법을 명세화 하는데 포함되는 항목이 아닌 것은?

① 인터페이스 발생 시점

② 인터페이스 통신 유형

③ 인터페이스 처리 유형

④ 인터페이스 연계 방식

정답 : 1 인터페이스 송.수신 방법 명세화 하면 인터페이스 ‘연계 방식, 처리 유형, 통신 유형, 발생주기’ 라는 것을 기억합시다.

 

2. 다음 보기에 해당하는 시스템 연계 표준 기술은 무엇인가?

<보기>

서버는 통신을 위한 소켓을 생성하여 포트를 할당하고 클라이언트의 통신 요청 시 클라이언트와 연결하여 통신하는 네트워크 기술이다.

① DB Link

② Socket

③ Web Service

④ DB Connection

 

정답 : 2

 

3. 다음 중 인터페이스 통신 유형으로 올바르게 구성된 것은?

① 단방향, 실시간, 동기

② 단방향, 동기, 비동기

③ 동기, 비동기, 배치

④ 실시간 지연, 배치

 

정답 : 2 인터페이스 통신 유형하면 단방향, 동기, 비동기!!!!

 

4. 다음 중 인터페이스 처리 유형과 발생 주기에 대한 설명으로 가장 옳지 않은 것은?

① 인터페이스 처리 유형은 업무의 성격 및 전송량을 고려하여 정의한다.

② 인터페이스 발생 주기는 업무 성격과 송수신 데이터 양을 고려하여 매일, 수시 등으로 정의한다.

③ 인터페이스 처리 유형 중 지연 처리 방식은 데이터를 매 건 단위로 처리할 경우 비용이 많이 발생할 때 사용한다.

④ 인터페이스 처리 유형 중 배치 방ㅅ힉은 소량의 데이터를 처리할 경우 사용한다.

 

정답 : 4 배치방식은 소량이 안리ㅏ 대량의 데이터를 처리할 경우 사용한다.

 

시스템 인터페이스 설계서 작성

1. 시스템의 내 외부 인터페이스를 식별하고 인터페이스의 명세를 기술하기 위해 작성하는 문서는?

① 시스템 인터페이스 제안 요청서

시스템 인터페이스 설계서

③ 시스템 인터페이스 요구사항 정의서

④ 시스템 인터페이스 요구사항 목록

 

정답 : 2 인터페이스 식별 및 명세 기술하면 시스템 인터페이스 설계서!

 

2. 다음 중 시스템 인터페이스 정의서에 대한 설명으로 가장 옳지 않은 것은?

① 시스템 인터페이스 정의서에는 데이터 송수신 시스템간의 데이터 저장소와 속성 등을 작성한다.

② 인터페이스 ID와 인터페이스명 등 기본 정보는 송.수신 데이터 명세를 참고하여 기재한다.

③ 최대 처리 횟수는 단위 시간당 처리할 수 있는 해당 인터페이스 최대 수행 건수를 기재한다.

④ 데이터 크기는 해당 인터페이스 1회 처리 시 소요되는 데이터의 평균 및 최대 크기를 기재한다.

 

답 : 2 인터페이스 ID, 인터페이스명, 처리 유형, 통신 유형 등은 시스템 인터페이스 목록에 기록하는 내용입니다.

 

3. 다음 중 시스템 인터페이스 설계서의 구성으로만 올바르게 묶은 것은?

① 시스템 인터페이스 정의서, 시스템 인터페이스 제안 요청서

② 시스템 인터페이스 정의서, 시스템 인터페이스 업무 정의서

③ 시스템 인터페이스 목록, 시스템 인터페이스 제안 요청서

④ 시스템 인터페이스 목록, 시스템 인터페이스 정의서

 

정답 : 4 시스템 인터페이스 설계서는 시스템 인터페이스 목록과 이를 참고하여 작성한 시스템 인터페이스 정의서로 구성됩니다.

 

미들웨어 솔루션 명세

1. 다음 중 미들웨어 솔루션의 유형에 대한 설명으로 가장 옳지 않은 것은?

① ORB는 객체 지향 미들웨어로 코바 표준 스펙을 구현한 미들웨어이다.

② DB는 데이터베이스 벤더에서 제공하는 클라이언트에서 데이터베이스와 연결하기 위한 미들웨어이다.

③ WAS는 웹 환경보다는 클라이언트/서버 환경을 구현하기 위한 미들웨어이다.

④ MOM은 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어이다.

 

정답 : 3 WAS는 클라이언트/서버 환경보다는 웹 환경을 구현하기 위한 미들웨어입니다.

 

2. 다음 중 개발 및 운영 환경에서 사용될 미들웨어 솔루션을 확인하는 방법에 대한 설명으로 가장 옳지 않은 것은?

① 아키텍처 구성 정보를 검토한다.

② 프로젝트의 구매 SW를 검토한다.

③ 프로젝트에서 사용될 미들웨어 솔루션에 대해 정리한다.

④ 솔루션의 제약사항에 대해 검토한다.

 

정답 : 4 솔루션 제약사항의 검토는 미들웨어 솔루션의 명세서를 작성할 때 수행합니다.

 

3. 다음 중 미들웨어 솔루션에 대한 명세서를 작성하는 방법에 대한 설명으로 가장 옳지 않은 것은?

① 누락된 솔루션에 대해 검토한다.

② 제조사의 제품 소개서 내용을 검토한다.

③ 솔루션의 제공 기능 및 특징 등에 대해 검토한다.

④ 솔루션의 제약사항에 대해 검토한다.

 

정답 : 1 누락된 솔루션에 대한 검토는 미들웨어 솔루션을 확인할 때 수행합니다.

 

4. 다음이 설명하는 미들웨어는?

- 은행 계정, 항공기와 버스 예약 업무 등 온라인 트랜잭션 업무에서 트랜잭션을 처리하고 감시하는 미들웨어이다.

- 사용자 수가 증가하여도 빠른 응답 속도를 유지해야 하는 업무에 적합한 미들웨어이다.

 

① TP-Monitor

② MOM

③ ORB

④ WAS

 

정답 : 1

 

예상 문제 은행

1. 다음 중 인터페이스 요구사항에 대한 설명으로 틀린 것은?

① 인터페이스 요구사항은 목표 시스템과 외부 시스템을 연동하는데 필요한 인터페이스에 대한 요구사항을 기술한 것이다.

② 인터페이스 요구사항의 인터페이스 이름은 보안을 위해 사람들이 이해하기 어려운 이름으로 지정한다.

③ 인터페이스 요구사항의 인터페이스 전송 주기는 수시, 매일, 주 1회 등으로 지정한다.

④ 인터페이스 요구사항에 인터페이스 관련 담당자도 명시해야 한다.

 

정답 : 2 인터페이스 이름은 사업 고유 식별자나 표준 자료 요소 이름 등 사람들의 협의하기 쉽고 간단하며 의미 있는 이름으로 지정해야 한다.

 

2. 다음 중 시스템 인터페이스 요구사항 명세서 작성 시 포함되는 항목이 아닌 것은?

인터페이스 이름

연계 범위 및 내용

③ 송수신 데이터

인터페이스 주기

 

정답 : 3 시스템 인터페이스 요구사항 명세서의 항목에는 인터페이스 이름, 연계 대상 시스템, 연계 범위 및 내용, 연계 방식, 송신 데이터, 인터페이스 주기, 기타 고려사항 등이 있다.

 

3. 시스템 인터페이스 관련 요구사항 중 기능적 요구사항이 아닌 것은?

① 은행 자금 관리 서비스 연동

② 대내외 인터페이스 구현 방안

③ 인사 및 조직 정보 연계

④ 고객 대상 채널 업무 연계 기능 구현

 

정답 2 기능적 요구사항은 시스템이 무엇을 하는지, 어떤 기능을 하는지에 대한 것이고, 비기능적 요구사항은 기능적 요구사항을 제외한 시스템이나 프로젝트 개발과정 등에서 지켜야 할 제약사항을 의미한다.

 

4. 다음 중 요구사항 검토 방법이 아닌 것은?

① 개발자 검토

② 인스펙션

③ 워크스루

④ 동료검토

 

정답 : 1 요구사항 검토 방법에는 동료 검토, 워크스루, 인스펙션 등이 있다.

 

5. 다음 중 인터페이스 요구사항 검증 항목에 포함되지 않는 것은?

① 명확성

② 일관성

③ 변경 용이성

④ 가용성

 

정답 : 4 인터페이스 요구사항 검증의 주요 항목에는 완전성, 일관성, 명확성, 기능성, 검증 가능성, 추적 가능성, 변경 용이성 등이 있다.

 

6. 요구사항 명세서 작성자가 명세서의 내용을 직접 설명하고 이해관계자들이 이를 들으면서 결함을 발견하는 형태로 진행하는 요구사항 검토 방법은?

① 워크스루

② 인스펙션

③ 동료 검토

④ 개발자 검토

 

정답 : 3

 

7. 다음 중 송수신 데이터 식별 시 해당하는 데이터 종류가 아닌 것은?

① 오류 식별 항목

② 공통 코드

③ 인터페이스 표준 항목

④ 송수신 데이터 항목

 

정답 : 1

공통 코드 : 시스템들에서 공통적으로 사용하는 코드

인터페이스 표준 항목: 송수신 시스템을 연계하는데 표준적으로 필요한 데이터

송수신 데이터 항목: 송수신 시스템이 업무를 수행하는 데 사용하는 데이터

 

8. 인터페이스 처리 유형 중 데이터를 매건 단위로 처리할 경우 비용이 많이 발생할 때 사용하는 방식은?

① 실시간 방식

② 지연 처리 방식

③ 일괄 처리 방식

④ 배치 방식

 

정답 : 2

 

 

9. 교환되는 데이터의 종류인 인터페이스 표준 항목 중 다음이 설명하는 것은 무엇인가?

- 시스템 간 연동 시 필요한 공통 정보를 말하며, 인터페이스 ID, 전송 시스템 정보, 서비스 코드 정보, 응답 결과 정보, 장애 정보 등으로 구성한다.

- 공통적으로 사용되는 코드 정보는 공통 코드로 추출하고 시스템에서 공통으로 관리한다.

① 거래 공통부

② 전문 종료부

③ 전문 개발부

④ 시스템 공통부

 

정답 : 4

 

10. 다음 중 시스템 연계 기술에 대한 설명으로 가장 옳지 않은 것은?

① DB Link는 수신 시스템에서 DB Link를 생성하고 송신 시스템에서 해당 DB Link를 직접 참조하는 방식이다.

② 연계 솔루션은 EAI 서버와 송.수신 시스템에 설치되는 클라이언트(Client)를 이용하는 방식이다.

③ Socket은 클라이언트는 통신을 위한 소켓(Socket)을 생성하여 포트를 할당하고 서버의 통신 요청 시 서버와 연결하고 통신하는 네트워크 기술

④ Web Service는 웹 서비스에서 WSDL과 UDDI, SOAP 프로토콜을 이용하여 연계하는 방식이다.

 

정답 : 3

Socket은 서버가 통신을 위한 소켓을 생성하여 포트를 할당하고 클라이언트의 통신 요청 시 클라이언트와 연결하여 통신하는 네트워크 기술이다.

 

11. 다음 중 인터페이스 송.수신 데이터 명세화에 대한 설명으로 가장 옳지 않은 것은?

① 인터페이스 시 필요한 데이터를 확인하고 인터페이스 송수신 데이터 명세를 작성하는 것이다.

② 보안이 중요한 데이터 항목은 인터페이스 설계자 및 운영자 등이 상의하여 암호화 대상을 선택한다.

③ 송수신 데이터 항목의 데이터 타입, 길이, 필수 입력 여부, 식별자 여부를 정의한다.

④ 코드성 데이터 항목에 대해서는 공통 코드 여부, 코드 값 범위를 정의한다.

 

정답 : 2 보안이 중요한 데이터 항목은 법률적 근거와 기업의 개인정보 규정 등을 참고하여 암호화 대상을 선택한다.

 

12. 다음 중 인터페이스 오류 식별 및 처리 방안 명세화에 대한 설명으로 옳지 않은 것은?

① 오류가 발생하는 영역을 구분할 수 있는 발생 영역 구분자를 정의한다.

② 오류 발생 시 오류 코드, 오류 메시지, 오류 설명 및 해결 방법 등을 정의한다.

③ 오류를 식별하는 오류 코드는 오류 발생 시기와 위치를 참조하여 정의한다.

④ 오류 처리에 참고할 수 있도록 오류 발생 원인 등 상세한 설명을 포함해서 정의한다.

 

정답 : 3

오류 코드는 오류 발생 영역 구분자와 오류 그룹 번호 등을 참조하여 정의한다.

 

13. 다음 중 시스템 인터페이스 설계서에 대한 설명으로 가장 옳지 않은 것은?

① 시스템 인터페이스 설계서는 시스템의 내외부 인터페이스를 식별하고 인터페이스의 명세를 기술하기 위해 작성한다.

② 시스템 인터페이스 설계서는 시스템 인터페이스 목록과 시스템 인터페이스 정의서로 구성된다.

③ 시스템 인터페이스 목록은 개념 모델링 과정에서 도출한 개체 타입과 관련 속성, 식별자 등에 대한 전반적인 정보를 포함한다.

④ 시스템 인터페이스 정의서는 데이터 송신 시스템과 수신 시스템 간의 데이터 저장소와 속성 등의 상세 내역을 포함한다.

 

정답 : 3

시스템 인터페이스 목록은 연계 업무와 연계에 참여하는 송수신 시스템의 정보, 연계 방식과 통신 유형 등에 대한 정보를 포함한다.

개념 모델링 과정에서 도출한 개체 타입과 관련 속성, 식별자 등에 대한 개괄적인 정보를 포함하는 것은 개체 정의서이다.

 

14. 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어로, 이기종 분산 데이터 시스템의 데이터 동기를 위해 많이 사용되는 것은?

① MOM

② DB

③ ORB

④ RPC

 

답 : 1

DB: 데이터베이스 벤더에서 제공하는 클라이언트에서 원격의 데이터베이스와 연결하기 위한 미들웨어

ORB: 객체 지향 미들웨어로 코바 표준 스펙을 구현한 미들웨어

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

 

15. 코바(CORBA) 표준 스펙을 구현한 객체 지향 미들웨어로, 최근에는 TP-모니터가 가지고 있는 장점인 트랜잭션 처리, 모니터링 등을 추가로 구현한 미들웨어는?

① DB

② MOM

③ WAS

④ ORB

 

답 : 4

MOM: 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어

 

16. 인터페이스 요구사항 검증의 설명으로 가장 옳지 않은 것은?

① 요구사항 검토 기준과 검토 방법, 검토 일정과 참여자등은 요구사항 검토 계획 단계에서 선정한다.

② 인터페이스 요구사항 검토 방법과 기준 등의 선정 시 프로젝트 규모와 참여 인력, 검토 기간 등을 고려해야 한다.

③ 인터페이스 요구사항 검토는 검토할 인터페이스 요구사항 명세서와 체크리스트 내용을 확인한다.

④ 인터페이스 요구사항 검증 후 검증에 참여했던 사람인 경우에 한해 요구사항을 변경할 수 있다.

 

답 : 4

인터페이스 요구사항 검증 후 인터페이스 요구사항의 변경은 공식적인 변경 통제 절차로만 가능하다.

 

 

 

 

출처 : 2020 시나공 정보처리기사 문제 중 일부입니다.

 

자세한 설명과 문제는 책을 구입하셔서 확인하시는 걸 권장합니다.

 

 

 

출처 : 2020 시나공 정보처리기사 문제 중 일부입니다.

 

자세한 설명과 문제는 책을 구입하셔서 확인하시는 걸 권장합니다.

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

애플리케이션 설계

소프트웨어 아키텍처

1. 소프트웨어 아키텍처 설계의 기본 원리 중 다음 설명에 해당하는 것은?

- 다른 객체에게 자신의 정보를 숨기고 자신의 연산만을 통하여 접근한다.

- 유지보수와 소프트웨어 확장 시 오류를 최소화할 수 있다.

① Abstraction

② Information Hiding

③ Inheritance

④ Polymorphism

정답 : 2

 

2. 소프트웨어 아키텍처 설계의 기본 원리 중 다음 설명이 의미하는 것은?

객체의 성질을 분해하고 공통된 성질을 추출하여 슈퍼 클래스를 선정하는 것이다. 즉 불필요한 부분을 생략하고 객체의 속성 중 가장 중요한 것에만 중점을 두어 개략화, 모델화 하는 것이다. 예를 들면, 자동차와 자전거란 클래스에서 ‘타는 것’ 이란 클래스를 만드는 것이다.

① Inheritance

② Abstraction

③ Polymorphism

④ Encapsulation

정답 : 2

 

3. 소프트웨어 아키텍처 설계의 기본 원리에 해당하지 않는 것은?

① 모듈화

② 캡슐화

③ 단계적 분해

④ 추상화

정답 : 2

 

4. 소프트웨어 아키텍처 설계의 모듈화에 대한 설명으로 옳지 않은 것은?

① 시스템의 수정 및 재사용, 유지 관리 등을 위해 기능별로 분해하는 것을 의미한다.

② 자주 사용되는 기능을 공통 모듈로 구성할 수 있다.

③ 모듈의 개수가 많으면 모듈 하나의 개발 비용이 적어진다.

④ 모듈의 크기가 크면 모듈 간의 통합비용이 많이 든다.

정답 :4 모듈의 크기가 크면 모듈간의 통합비용이 적어지는 대신 모듈 하나의 개발 비용이 커지게 된다.

 

5.소프트웨어 아키텍처의 품질 속성에 대한 설명으로 옳지 않은 것은?

① 가용성은 장애 없이 정상적으로 서비스를 제공하는 것을 의미한다.

② 사용성은 사용자가 불편 없이 소프트웨어를 사용할 수 있도록 구현하는 것이다.

③ 구축 가능성은 적절한 업무 분배를 통해 유연한 일정 변경을 가능하도록 하는 것이다.

④ 성능은 사용자가 요구한 기능을 만족스럽게 구현하는 것을 의미한다.

정답: 4 성능은 사용자의 요청과 같은 이벤트가 발생했을 때, 이를 적절하고 빠르게 처리하는 것을 의미한다.

 

아키텍처 패턴

1. 소프트웨어 아키텍처의 패턴 중 Pipe-Filter에 대한 설명으로 옳은 것은?

① 컴포넌트 간의 인터페이스가 복잡한 시스템에 적합하다.

② 유저가 직접 데이터 흐름에 간섭할 필요가 있는 경우에 사용된다.

③ 모든 컴포넌트가 동시에 처리되어야 하는 병렬처리 시스템에 적합하다.

④ 하나의 컴포넌트에서 처리가 끝나면 다음 컴포넌트가 결과물을 받아 처리하는 과정이 반복된다.

정답 : 4 Pipe-Filter Pattern은 각 단계를 필터 컴포넌트로 캡슐화하여 앞의 컴포넌트에서 처리한 결과를 파이프를 통해서 전송하면 뒤의 컴포넌트에서 결과를 받아 다음 작업을 수행하는 구조로 구성되어 있습니다.

 

2. 네트워크 프로토콜의 OSI 참조 모델과 가장 관련이 깊은 아키텍처 모델은?

① Peer-To-Peer Model

② Mvc Model

③ Layers Model

④ Client-Server Model

정답 : 3 OSI 참조 모델은 네트워크 프로토콜을 계층 별로 구분한 모델입니다.

 

3. 아키텍처 패턴에서 사용되는 MVC(Model-View-Controller) 모델은 서브시스템을 모델, 뷰, 컨트롤러로 구조화한다. 이중 Model 부분의 기능은?

① 사용자에게 정보 표시

② 데이터 처리 및 보관

③ 사용자 인터페이스를 담당

④ 뷰의 제어

정답 : 2 1번은 뷰, 3번과 4번은 컨트롤러의 기능입니다.

 

4. 아키텍처 패턴에 대한 설명 중 가장 옳지 않은 것은?

① 소프트웨어 초기 설계에서 발생하는 문제들을 해결하기 위한 전형적인 해결방식들을 의미한다.

② 검증된 구조로 개발하기 때문에 오류가 적어 개발시간을 단축할 수 있다.

③ 서브시스템들에 대한 역할을 정의하고 있지만, 그들 간의 인터페이스에 대한 지침은 없다.

④ 시스템에 대한 이해가 쉬워지고, 특성을 예측할 수 있게 된다.

정답 : 3 아키텍처 패턴은 서브시스템들의 역할을 사전에 정의할 뿐만 아니라, 시스템 간의 관계를 정리하기 위한 규칙과 지침이 포함되어 있습니다.

 

5. 다음 중 클라이언트-서버 모델에 대한 설명으로 가장 거리가 먼 것은?

① 사용자는 클라이언트를 통해서 요청을 전달하며, 서버는 이에 응답하는 방식이다.

② 서버는 클라이언트의 요청에 대비하여 항상 대기 상태를 유지한다.

③ 서버와 클라이언트는 서로 독립적이다.

④ 다수의 서버와 하나의 클라이언트로 구성되는 패턴으로 분산 환경 시스템에 적합하다.

정답 : 4 클라이언트-서버패턴은 하나의 서버와 다수의 클라이언트로 구성되는 패턴입니다.

 

6. 여러 컴포넌트들 중 각 컴포넌트들이 서비스를 제공하는 서버가 될 수도 있고, 서비스를 요청하는 클라이언트도 될 수 있는 패턴으로 전형적인 멀티스레딩을 사용하는 방식의 패턴을 무엇이라 하는가?

① 클라이언트 - 서버

② 블랙보드

③ 이벤트 - 버스

④ 피어- 투 - 피어

정답: 4 패턴의 종류 중 멀티스레드 방식하면 피어 투 피어라는 것을 명심하세요.

 

 

객체지향

1. 객체 지향 소프트웨어 공학의 상속에 대해 바르게 설명한 것은?

① 상위 클래스의 메서드와 속성을 하위 클래스가 물려받는 것

② 다른 객체에서 자신의 정보를 숨기는 것

③ 클래스로부터 만들어진 하나의 인스턴스

④ 객체가 연산을 수행할 때 하나의 메시지에 대해 각 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 것

정답 : 1

 

2. 기존의 소프트웨어 공학 기법들과 차별화될 수 있는 객체지향 개념이 아닌 것은?

① 캡슐화

② 상속

③ 다형성

④ 모듈화

정답: 4

 

3. 객체에 대한 설명으로 가장 옳지 않은 것은?

① 객체는 실세계 또는 개념적으로 존재하는 세계의 사물들이다.

② 객체는 공통적인 특징을 갖는 클래스들을 모아둔 것이다.

③ 객체는 데이터를 가지며 이 데이터의 값을 변경하는 함수를 가지고 있는 경우도 있다.

④ 객체들 사이에서 통신을 할 때는 메시지를 전송한다

정답 : 2 객체를 모아둔 것이 클래스입니다.

 

4. 객체 지향 기법에서 어떤 클래스에 속하는 구체적인 객체를 의미하는 것은?

① Instance ② Message ③ Method ④ Operation

정답 : 1

 

5. 객체지향 기법에서 캡슐화에 대한 설명으로 옳지 않은 것은?

① 캡슐화를 하면 객체 간의 결합도가 높아진다.

② 캡슐화된 객체들은 재사용이 용이하다.

③ 프로그램 변경에 대한 오류의 파급효과가 적다.

④ 인터페이스가 단순해진다.

정답 : 1

 

모듈

1. 시스템을 설계할 때 필요한 설계 지침으로 두 모듈 간의 상호 의존도 또는 두 모듈 사이의 연관 관계를 나타내는 것은?

① 결합도 ② 응집도 ③ 신뢰도 ④ 종합도

 

정답: 1 여러 모듈 간의 상호 의존도를 나타내는 것은 결합도, 하나의 모듈 안에서 구성 요소 간의 관련 정도를 나타내는 것은 응집도입니다.

 

2. 모듈이 파라미터나 인수로 다른 모듈에게 데이터를 넘겨주고 호출 받은 모듈은 받은 데이터에 대한 처리 결과를 다시 돌려주는 유형의 모듈 결합도를 무엇이라고 하는가?

① 내용 결합도 ② 외부 결합도 ③ 제어 결합도 ④ 데이터 결합도

 

정답 : 4 모듈이 파라미터나 인수로 데이터를 주고 받는 것은 데이터 결합도입니다.

 

3. 결합도가 강한 순서대로 옳게 나열한 것은?

① 내용 결합도 > 공통 결합도 > 제어 결합도 > 스탬프 결합도 > 데이터 결합도

② 공통 결합도 > 내용 결합도 > 제어 결합도 > 데이터 결합도 > 스탬프 결합도

③ 데이터 결합도 > 내용 결합도 > 제어 결합도 > 공통 결합도 > 스탬프 결합도

④ 공통 결합도 > 내용 결합도 > 제어 결합도 > 스탬프 결합도 > 데이터 결합도

 

정답 : 1 결합도가 강하다는 것은 의존하는 정도가 높다는 것입니다. 즉 각 모듈들 간에 중요하거나 많은 부분을 함께 사용한다는 것을 의미합니다.

 

4. 다음 설명의 ( )내용으로 옳은 것은?

( )는(은) 한 모듈 내부의 처리 요소들 간의 기능적 연관도를 나타내며, 모듈 내부 요소는 명령어, 명령어의 모임, 호출문, 특정 작업수행 코드 등이다.

① Validation

② Coupling

③ Interface

④ Cohesion

 

정답: 4 응집도(Cohesion)는 하나의 모듈을 구성하는 구성 요소 간의 관계, 결합도(Coupling)는 다른 모듈과의 의존도를 의미합니다.

 

5. 모듈의 구성 요소가 하나의 활동으로부터 나온 출력 자료를 그 다음 활동의 입력 자료로 사용하는 같은 모듈 내에서의 응집의 정도를 나타내는 것은?

① 절차적 응집도

② 논리적 응집도

③ 기능적 응집도

④ 순차적 응집도

 

정답 : 4

절차적 응집도는 모듈 내부의 요소들이 여러 관려 srlsmd이 있을 경우 순차적으로 수행될 때

논리적 응집도는 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들로 하나의 모듈이 형성될 때

기능적 응집도는 모듈의 모든 기능 요소가 단일 문제와 연관될 때의 응집도

 

6. 응집도가 강한 것부터 약한 순서로 옳게 나열된 것은?

① Sequential -> Functional -> Procedural -> Coincidental -> Logical

② Procedural -> Coincidental -> Functional -> Sequential -> Logical

③ Functional -> Sequential -> Procedural -> Logical -> Coincidental

④ Logical -> Coincidental -> Functional -> Sequential -> Procedural

 

정답: 3 모듈 요소들 간의 관련성이 많으면 응집도가 높은 것입니다.

기능적 응집도(Functional) > 순차적(Sequential) > 교환(통신)적(Communication) > 절차적(Procedural) > 시간적(Temporal) > 논리적(Logical) > 우연적(Coincidental)

 

공통모듈

 

1. 효과적인 모듈 설계를 위한 유의사항으로 옳지 않은 것은?

① 모듈의 기능을 예측할 수 있도록 정의한다.

② 모듈은 단일 입구와 단일 출구를 갖도록 설계한다.

③ 결합도는 강하게, 응집도는 약하게 설계하여 모듈의 독립성을 확보할 수 있도록 한다.

④ 유지보수가 용이해야 한다.

 

정답: 3 효과적인 모듈 설계는 결합도는 약하게, 응집도는 강하게 한다.

 

2. 소프트웨어 재사용을 통한 장점이 아닌 것은?

① 개발 시간과 비용을 감소시킨다.

② 소프트웨어 품질을 향상시킨다.

③ 생산성을 증가시킨다.

④ 고급 프로그래머 배출이 용이하다.

 

정답: 4

 

3. 공통 모듈에 대한 설명으로 틀린 것은?

① 시스템 내에서 공통적으로 사용되는 모듈이다.

② 소프트웨어의 재사용성을 향상시키기 위해 구현할 필요가 있다.

③ 자주 사용되는 계산식이나 로그인 기능이 공통 모듈로 구성하기에 적합하다.

④ 외부 모듈과의 결합도가 높아야 한다.

 

정답 : 4

 

4. 공통 모듈의 명세 기법 중 공통 기능들 간에 상호 충돌이 발생하지 않도록 작성해야 한다는 기법은?

① Correctness

② Completeness

③ Consistency

④ Clarity

 

정답: 3 1번은 정확성, 2번은 완전성, 3번은 일관성, 4번은 명확성

 

코드

1. 코드의 주요 기능으로 거리가 먼 것은?

① 식별 기능 ② 분류 기능 ③ 배열 기능 ④ 호환 기능

 

정답: 4 코드의 기능은 식별, 분류, 배열

 

2. 사원 본호의 발급 과정에서 둘 이상의 서로 다른 사람에게 동일한 번호가 부여된 경우에 코드의 어떤 기능을 만족시키지 못한 것인가?

① 표준화 기능 ② 식별 기능 ③ 배열 기능 ④ 연상 기능

 

정답: 2

 

3. 회사에서 각 부서의 명칭을 코드화하기 위하여 대분류, 중분류, 소분류 등으로 나누어 나타내고자 한다. 이 때 가장 적합한 코드의 종류는?

① 구분 코드(Block Code)

② 그룹 분류 코드(Group Classification Code)

③ 연상 기호 코드(Mnemonic Code)

④ 순차 코드(Sequence Code)

 

정답 :

 

4. 코드화 대상 항목의 길이, 넓이, 부피, 무게 등을 나타내는 문자, 숫자 혹은 기호를 그대로 코드로 사용하는 코드는?

① 그룹 분류식 코드(Group Classification Code)

② 기호 코드(Mnemonic Code)

③ 표의 숫자 코드(Significant Digit Code)

④ 합성 코드(Combined Code)

 

정답: 3 표의 숫자 hem는 대상체의 성질을 그대로 표시하므로 기억하기 쉽습니다.

 

5. 코드화 대상 자료 전체를 계산하여 이를 필요로 하는 분류 단위로 블록을 구분하고, 각 블록 내에서 순서대로 번호를 부여하는 방식으로, 적은 자릿수로 많은 항목의 표시가 가능하고 예비 코드를 사용할 수 있어 추가가 용이하다. 구분 순차 코드라고도 하는 이것을 무엇이라 하는가?

① 순차 코드

② 표의 숫자 코드

③ 블록 코드

④ 연상 코드

 

정답: 3

 

6. 코드 부여 체계에 대한 설명으로 옳지 않은 것은?

① 모듈이나 컴포넌트에 식별할 수 있는 코드를 부여하는 것을 말한다.

② 프로그래머가 모듈을 개발할 때 마다 임의로 코드를 부여한다.

③ 하나 이상의 코드를 조합하여 사용한다.

④ 코드 부여 체계의 담당자는 코드 규칙을 상세히 정의해야 한다.

 

정답 : 2 코드 부여 체계는 모듈이나 컴포넌트 등에 코드를 부여하는 방식을 의미하기 때문에 코드는 프로그래머가 임의로 부여하는 것이 아닌 코드 부여 체계에 맞게 부여해야 합니다.

 

 

디자인 패턴

1. <보기1>의 디자인 패턴 분로와 보기2>의 디자인 패턴을 바르게 연결한 것은?

<보기1>

ㄱ. 생성 패턴 ㄴ. 구조 패턴 ㄷ.행위 패턴

<보기2>

a. Prototype b. Facade c. Command

 

① ㄱ-a, ㄴ-b, ㄷ-c

② ㄱ-b, ㄴ-a, ㄷ-c

③ ㄱ-c, ㄴ-a, ㄷ-b

④ ㄱ-a, ㄴ-c, ㄷ-b

 

정답: 1 프로토타입은 객체를 생성하는 패턴이고, 퍼싸드는 복잡한 구조를 간편하게 해주는 패턴, 커맨드는 요청이 들어왔을 때 이를 처리하는 방법을 구현한 패턴입니다.

 

2. Iterator 패턴에 대한 설명으로 옳지 않은 것은?

① 내부 표현 방법의 노출 없이 접근이 가능하다.

② 클라이언트는 독립적으로 원하는 알고리즘을 선택하여 사용할 수 있다.

③ 배열이나 리스트 같은 자료 구조를 처리하는 데 사용된다.

④ 집합 객체의 각 요소들에 대해 순차 접근하는 방식이다.

 

정답: 2 반복자(Iterator) 패턴은 음악을 들을 때 누르는 ‘다음 곡 재생’ 버튼을 생각!

 

3. 다음에서 설명하는 디자인 패턴에 해당하는 것은?

기존에 만들어진 클래스를 사용하려고 하는데 인터페이스가 일치하지 않거나, 관련이 없어 사용하지 못했던 클래스들을 다시 사용할 수 있게 만들고자 한다.

① Command

② Factory Method

③ Adapter

④ Memento

정답: 3 호환성이 없는 클래스의 인터페이스를 다른 클래스가 이용할 수 있도록 변환해 주는 패턴은 어댑터 패턴이다.

 

4. 다음 중 디자인 패턴에 대한 설명으로 가장 거리가 먼 것은?

① 객체의 생성과 표현이 분리되어 있어, 동일한 객체 생성에도 다른 결과를 내야 할 대는 빌더 패턴이 권장된다.

메모리를 절약하기 위해 인스턴스를 공유해서 사용할 때는 플라이웨이트 패턴이 권장된다.

③ 관련된 객체들의 묶음을 스타일 선택에 의해서 생성할 때는 프로토 타입 패턴이 권장된다.

④ 각 클래스의 처리 기능을 분리하여 캡슐화한 후 필요할 때 마다 해당 클래스에 방문해서 처리할 때는 비지터 패턴이 권장된다.

 

정답 : 3 프로토타입 패턴은 원본 객체를 복제하는 방법으로 객체를 생성하는 패턴입니다.

 

5. 다음 중 유형이 다른 디자인 패턴끼리 연결된 것은?

① Builder Pattern - Prototype Pattern

② Singleton Pattern - Abstract Factory Pattern

③ Bridge Pattern - Proxy Pattern

④ Chain of Responsibility Pattern - Facade Pattern

 

정답: 4 책임 연쇄 패턴(Chain of Responsibility Pattern)은 행위 패턴에 속하고, 퍼싸드 패턴은 구조 패턴에 속한다.

 

6. 다음 설명에 해당하는 디자인 패턴은?

문제

Java에서 new를 통해 인스턴스를 매번 생성하다 보니 메모리 사용량이 급격하게 증가하였다. 이로 인해 프로그램이 무거워져서 원할한 사용을 위해 수정이 불가피해졌다. 어떻게 해결해야 하는가?

해결책

동일한 객체가 존재할 경우 해당 객체를 공유하여 사용함으로써 메모리를 절약하고, 존재하지 않을 경우만 새로 객체를 생성하여 사용하도록 한다.

① Adapter 패턴

② Bridge 패턴

③ Flyweight 패턴

④ Chain of Responsiblity 패턴

 

정답 : 3 공유, 메모리 절약이라는 단어 확인

 

예상 문제 은행

1. 소프트웨어 아키텍처 설계에 있어서 정보 은폐의 근본적인 목적은?

① 코드를 개선하기 위하여

② 코드의 길이를 짧게 하기 위하여

③ 고려되지 않은 영향(Side Effect)들을 최소화하기 위하여

④ 인터페이스를 최소화하기 위하여

 

정답 : 3

 

2. 추상화의 유형에서 이벤트 발생의 구체적인 절차 또는 방법을 정의하지 않고 대표할 수 있는 표현으로 대체하는 것을 무엇이라고 하는가?

① 과정 추상화 ② 데이터 추상화 ③ 제어 추상화 ④ 이벤트 추상화

정답: 3

과정 추상화 : 자세한 수행 과정을 정의하지 않고, 전반적인 흐름만 파악할 수 있게 설계하는 방법

데이터 추상화 : 데이터의 세부적인 속성이나 용도를 정의하지 않고 , 데이터 구조를 대표할 수 있는 표현으로 대체 하는 방법

 

 

3. 소프트웨어 아키텍처 설계에 대한 설명으로 옳지 않은 것은?

① 이해 관계자들의 의사소통 도구로 활용된다.

② 설계된 모듈을 프로그래밍 언어를 통해 구현한다.

③ 애플리케이션을 모듈로 분할하고, 모듈 간 인터페이스를 결정하는 과정이다.

④ 기본 원리에는 모듈화, 추상화, 단계적 분해, 정보은닉이 있다.

 

정답: 2은 아키텍처 구현에 대한 설명

 

4. 소프트웨어 아키텍처의 품질 속성 중 다음 설명이 의미하는 것은?

- 개발 비용을 더 투자하여 유연성이 높은 아키텍처를 만들 것인지를 결정하는 것이다.

- 유연성이 떨어지는 경우 이후 유지보수에 많은 비용이 소모될 수 있다는 것을 고려해야 한다.

① 비용과 혜택

② 시장 적시성

③ 가용성

④ 구축 가능성

 

정답: 1

시장 적시성 : 정해진 시간에 맞춰 프로그램을 출시하는 것

가용성 : 장애 없이 정상적으로 서비스를 제공하는 것

구축 가능성 : 모듈 단위로 구분된 싯템을 적절하게 분배하여 유연하게 일정을 변경할 수 있도록 하는 것

 

5. 소프트웨어 아키텍처의 설계 과정을 순서대로 가장 옳게 나열한 것은?

a. 시스템과 서브시스템의 타입을 결정한다.

b. 서브시스템의 기능과 서브시스템 간의 인터페이스를 정의한다.

c. 표준 아키텍처를 설계한다.

d. 요구사항을 분석하여 전체 시스템의 설계 목표를 설정한다.

① d - a - b - c

② d - b - a - c

③ d - c - a - b

④ d - a - c - b

 

정답: 4 소프트웨어 아키텍처의 설계 과정은 설계 목표 설정, 시스템 타입 결정, 아키텍처 패턴 적용, 서브시스템 구체화, 검토 순이다.

 

6. 아키텍처의 패턴에 관한 설명 중 가장 옳지 않은 것은?

① 레이어 패턴은 하위 계층이 제공하는 서비스를 상위 계층의 서브시스템이 사용하도록 구성된다.

② 브로커 패턴은 사용자가 원하는 서비스와 특성을 요청하면, 적합한 컴포넌트를 연결해준다.

③ 이벤트-버스 패턴은 이벤트 메시지를 발행하고 구독하는 형태로 이루어진다.

④ 피어-투-피어 패턴에서 각 서브시스템은 서비스를 요청하고 제공하는 능력이 있다.

 

정답 : 1 레이어 패턴은 상위 계층이 제공하는 서비스를 하위 계층의 서브시스템이 사용하도록 구성되어 있는 패턴이다.

 

7. 다음은 아키텍처 스타일과 이를 기반으로 하는 시스템의 관계를 짝지은 것으로 가장 옳지 않은 것은?

① Layer Pattern - OSI 참조 모델

② Master - Slave Pattern - 장애 허용 시스템

③ Blackboard Pattern - 차량 식별 시스템

④ MVC Pattern - 병렬 컴퓨팅 시스템

 

정답: 4 MVC 패턴은 대화형 애플리케이션에 적합하며, 병렬 컴퓨팅 시스템에 적합한 패턴은 마스터-슬레이브 패턴이다.

 

8 아키텍처 패턴의 장점에 해당되지 않는 것은?

① 시행착오를 줄여 개발시간이 최대화되고, 고품질의 소프트웨어를 생산할 수 있다.

② 전형적인 아키텍처를 기반으로 이해를 공유하여 개발자들 간의 의사소통이 간편해진다.

③ 개발에 참여하지 않아도 시스템의 이해가 쉬워 유지보수가 용이하다

④ 시스템 개발 전에 시스템의 특성을 예측할 수 있다.

 

정답 : 1 아키텍처 패턴은 시행착오를 줄여주기 때문에 개발 시간이 최소화 되고, 고품질의 소프트웨어를 생산할 수 있다.

 

10. 다음이 설명하고 있는 아키텍처 패턴은?

- 데이터 변환 시스템과 같이 데이터 스트림을 처리해야 하는 소프트웨어에서 주로 사용된다.

- 한 모듈이 데이터 스트림을 입력받아 처리하면, 다음 모듈이 결과를 이어받아 처리하는 형식이다.

- 모듈의 재사용과 추가가 간편하여 확장성이 뛰어나다.

① MVC Pattern

② Pipe-Filter Pattern

③ Peer-To-Peer Pattern

④ Broker Pattern

 

정답 : 2

MVC 패턴 : 서비시스템을 3개의 부분으로 구조화하는 패턴

피어-투-피어 패턴 : 피어를 하나의 컴포넌트로 간주하며, 각 피어는 서비스를 호출하는 클라이언트가 될 수도, 서비스를 제공하는 서버가 될 수도 있다.

브로커 패턴 : 사용자가 원하는 서비스와 특성을 브로커 컴포넌트에 요청하면 브로커 컴포넌트가 요청에 맞는 컴포넌트와 사용자를 연결해줌

 

11. 객체 지향 프로그램의 장점으로 거리가 먼 것은?

① 자연적인 모델링이 가능하다.

② 실행 속도가 빨라진다.

③ 소프트웨어의 재사용률이 높아진다.

④ 소프트웨어의 유지보수성이 향상된다.

 

정답: 2

객체지향은 기존의 절차지향 방식에 비해 실행속도가 느리다는 단점이 있다.

 

12. 객체에 대한 특성을 설명한 것으로 가장 옳지 않은 것은?

① 객체마다 각각의 상태를 갖고 있다.

② 식별성을 가진다

③ 행위에 대하여 그 특징을 나타낼 수 있다.

④ 일정한 기억장소를 가지고 있지 않다.

 

정답 : 4

 

13. 객체지향 개념 중 하나 이상의 유사한 객체들을 묶어 공통된 특성을 표현한 데이터 추상화를 의미하는 것은?

① 메소드

② 클래스

③ 상속성

④ 추상화

 

정답 : 2

추상화 : 문제의 전체적이고 포괄적인 개념을 설계한 후 차례로 세분화하여 구체화 시켜 나가는 것.

 

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

① 정보 은닉

② 클래스

③ 캡슐화

④ 통합

 

정답 : 3

 

15. 객체지향 기법에서 상속의 결과로 얻을 수 있는 가장 주요한 이점은?

① 모듈 라이브러리의 재이용

② 객체지향 DB를 사용할 수 있는 능력

③ 클래스와 오브젝트를 재사용할 수 있는 능력

④ 프로젝트를 보다 효과적으로 관리할 수 있는 능력

 

정답 : 3

상속은 상위 클래스의 속성과 연산을 하위 클래스가 사용할 수 있기 때문에 객체와 클래스의 재사용, 즉 소프트웨어의 재사용을 높이는 중요한 개념이다.

 

16. ASCII File을 print하는 method를 갖고 있는 object, Binary File을 print하는 method를 갖고 있는 object, Picture File을 print하는 method를 갖고 있는 object들은 모두 "print"라는 method를 갖고 있으므로, “print"란 메시지를 받으면 수행하게 된다. 그러나 각각의 method에서 print를 수행하는 방법은 모두 다를 것이다. 객체지향 시스템에서 이와 같이 서로 다른 Class들이 같은 의미의 응답을 하는 특성을 무엇이라고 하는가?

① 캡슐화

② 상속성

③ 다형성

④ 추상화

 

정답 : 3

 

17. 한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 참조하는 경우, 이를 무슨 결합이라고 하는가?

① 내용 결합

② 제어 결합

③ 공통 결합

④ 스탬프 결합

 

정답 : 1

제어 결합도 : DJejS 모듈이 다른 모듈 내부의 논리적인 흐름을 제어하기 위해 제어 신호를 이용하여 통신하거나 제어 요소를 전달하는 결합도.

공통 결합도 : 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도

스탬프 결합도 : 모듈 간의 인터페이스로 배열이나 레코드 등의 자료 구조가 전달될 때의 결합도

 

18. 두 모듈이 동일한 자료 구조를 조회하는 경우의 결합성이며 자료 구조의 어떠한 변화, 즉 포맷이나 구조의 변화는 그것을 조회하는 모든 모듈 및 변화되는 필드를 실제로 조회하지 않는 모듈에 까지도 영향을 미치게 되는 결합성은?

① Data Coupling

② Stamp Coupling

③ Control Coupling

④ Content Coupling

 

정답 : 2

 

19. 결합도(Coupling)에 대한 설명으로 틀린 것은?

① 데이터 결합도(Data Coupling)는 두 모듈이 매개변수로 자료를 전달할 때 자료 구조 형태로 전달되어 이용될 때 데이터가 결합되어 있다고 한다.

② 내용 결합도(Content Coupling)는 하나의 모듈이 직접적으로 다른 모듈의 내용을 참조할 때 두 모듈은 내용적으로 결합되어 있다고 한다.

③ 공통 결합도(Common Coupling)는 두 모듈이 동일한 전역 데이터를 접근한다면 공통 결합되어 있다고 한다.

④ 결합도(Coupling)는 두 모듈간의 상호작용, 또는 의존도 정도를 나타내는 것이다.

 

정답: 1

데이터 결합도 : 매개 변수나 인수로 데이터를 전달할 때의 결합도이며, 자료 구조 형태로 전달하는 결합도는 스탬프 결합도이다.

 

 

20. 모듈의 응집도(Cohesion)에 대한 설명 중 틀린 것은?

① 모듈의 응집도란 모듈 안의 요소들이 서로 관련되어 있는 정도를 말한다.

② 기능적 응집도(Functional Conhesion)는 한 모듈 내부의 한 기능 요소에 의한 출력자료가 다음 기능 요소의 입력 자료로서 제공되는 형태이다.

③ 교환적 응집도(Communication Cohesion)는 동일한 입력과 출력을 사용하는 소작업들이 모인 모듈에서 볼수 있다.

④ 논리적 응집도(Logical Cohesion)는 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들로 하나의 모듈이 형성되는 경우이다.

 

정답 : 2

기능적 응집도는 모듈 내부의 모든 기능 요소들이 단일 문제와 연관되어 수행될 경우의 응집도이며, 2번의 내용은 순차적 응집도에 대한 설명이다.

 

21. 응집도의 종류 중 서로 간에 어떠한 의미 있는 연관관계도 지니지 않은 기능요소로 구성되는 경우이며, 서로 다른 상위 모듈에 의해 호출되어 처리상 연관성이 없는 서로 다른 기능을 수행하는 경우의 응집도는?

① Coincidental Cohesion

② Functional Cohesion

③ Sequential Cohesion

④ Logical Cohesion

 

정답 :

수나적 응집도 : 모듈 내 하나의 활동으로부터 나온 출력 데이터를 그 다음 활동의 입력데이터로 사용할 경우의 응집도

논리적 응집도: 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들로 하나의 모듈이 형성되는 경우의 응집도.

 

22. 모듈을 설계하기 위해서 바람직한 응집도(Cohesion)와 결합도(Coupling)의 관계는?

① 응집도는 약하고 결합도는 강해야 한다.

② 응집도는 강하고 결합도는 약해야 한다.

③ 응집도도 약하고 결합도도 약해야 한다.

④ 응집도도 강하고 결합도도 강해야 한다.

 

정답 : 2

모듈은 독립성이 높을수록 좋은 모듈이라 할 수 있으며, 독립성을 높이려면 응집도는 강하고 결합도는 약해야 한다.

 

24. 효과적인 모듈 설계 방법으로 가장 거리가 먼 것은?

① Coupling은 약하게 Cohesion는 강하게 설계 한다.

② Complexity는 줄이고 Redundancy를 최대한 늘릴 수 있도록 설계한다.

③ Maintenance가 용이하도록 설계한다.

④ Module 크기는 시스템의 전반적인 기능과 구조를 이해하기 쉬운 크기로 설계한다.

 

정답 : 2

모듈의 중복성은 가능한 최소화 하는 것이 좋다.

 

25. 소프트웨어 재사용에 대한 내용 중 옳지 않은 것은?

① 비용을 절감하고 개발 시간을 단축하여 생산성이 증가한다.

② 재사용되는 대상은 외부 모듈과의 결합도가 낮아야 한다.

③ 규모에 따라 변수, 함수, 객체, 컴포넌트 단위로 재사용된다.

④ 재사용을 위해서는 사용법이 공개되어야 한다.

 

정답: 3

규모에 따른 재사용 대상들에는 함수, 객체(클래스, 메소드), 컴포넌트, 애플리케이션 등이 있다.

 

26. 공통 모듈을 설계할 때 공통 부분을 명세하기 위한 기법에 해당하지 않는 것은?

① 독립성 ② 명확성 ③ 일관성 ④ 정확성

 

정답 : 1

공통 모듈을 설계할 때 공통 부분을 명세하기 위한 기법에는 정확성, 명확성, 완전성, 일관성, 추적성이 있다.

 

27. 코드화 대상 항목을 10진 분할하고, 다시 그 각각에 대하여 10진 분할하는 방법을 필요한 만큼 반복하는 코드로서, 코드 대상 항목의 추가가 용이하며 무제한적으로 확대할 수 있으나 자릿수가 길어질 수 있고 기계 처리에 적합하지 않은 코드는?

① Sequence Code

② Group Classification Code

③ Block Code

④ Decimal Code

 

정답 : 4

순차코드 : 일정 기준에 따라 순차대로 일련번호를 부여

그룹 분류 코드: 기준에 따라 분류하여 각 분류 내에서 일련 번호를 부여

블록 코드 : 공통성 있는 것들을 블록으로 분류하여, 블록 내에서 일련번호를 부여

 

28 다음과 같이 주로 도서 분류 코드에 사용되는 코드는?

도서 목록

부여코드

국문학

100

철학

200

정보학

300

 

① 10진 코드

② 순서코드

③ 문자 코드

④ 분류 코드

 

정답 : 1

 

29. 코드의 종류 중 코드화 대상 항목을 자료의 발생순서, 크기 순서, 가나다라 순서 등과 같이 어떤 일정한 기준에 따라 일련번호를 부여하는 것은?

① Block Code

② Group Code

③ Sequence Code

④ Decimal Code

 

정답 : 3

 

30. 다음과 같은 표현 방법으로 부여하는 코드는?

제품

부여 코드

냉장고(235L)

RF-235

형광등(30W 220V 흰색)

K-30-220-W

텔레비전(17인치 흑백)

T-17

텔레비전(25인치 컬러)

T-25-C

 

① Sequence Code

② Mnemonic Code

③ Block Code

④ Group Classification Code

 

정답 : 2

코드화 대상 항목의 명칭이나 약호와 관계있는 숫자나 문자, 기호를 이용하여 코드를 부여하는 방법은 연상 코드(Mnemonic Code)이다.

 

31 관찰 대상의 데이터가 변화하면 이를 탐지하여 여러 가지 방식으로 사용자에게 출력하는 프로그램을 작성하고자 한다. 이 프로그램에 적용 가능한 디자인 패턴은?

① Composite 패턴

② Facade 패턴

③ Bridge 패턴

④ Observer 패턴

 

정답 : 

컴포지트 패턴 : 여러 객체를 가진 복합 객체와 단일 객체를 구분없이 다루고자 할 때 사용하는 패턴

퍼싸드 패턴 : 복잡한 서브클래스들을 피해 더 상위에 인터페이스를 구성함으로써 서브클래스들의 기능을 간편하게 사용할 수 있도록 하는 패턴

브리지 패턴: 구현부에서 추상층을 분리하여, 서로가 독립적으로 확장할 수 있도록 구성한 패턴

 

32. 다음 중 복잡한 서브 클래스들을 피해 더 상위에 인터페이스를 구성함으로써 서브 클래스들의 기능을 간편하게 사용할 수 있도록 하는 패턴은?

① Abstract Factory패턴

② Facade 패턴

③ Singleton 패턴

④ Interpreter 패턴

 

정답 : 2

추상 팩토리 패턴 : 구체적인 클래스에 의존하지 않고, 인터페이스를 통해 서로 연관. 의존하는 객체들의 그룹으로 생성하여 추상적으로 표현하는 패턴

싱글톤 패턴: 하나의 객체를 생성하면 생성된 객체를 어디서든 참조할 수 있지만, 여러 프로세스가 동시에 참수할 수는 없는 패턴

인터프리터 패턴 : 언어에 문법 표현을 정의하는 패턴

 

33. 다음 중 디자인 패턴에 대한 설명으로 옳지 않은 것은?

① Singleton : 하나의 객체를 생성하여 해당 객체를 어디에서든 참조할 수 있도록 한다.

② Bridge : 구현에서 추상을 분리하여, 독립적으로 다양성을 가질 수 있다.

③ Chain of Responsibility : 한 객체가 처리하지 못한 요청을 다음 객체가 처리하는 형태이다.

④ Strategy : 알고리즘을 하나로 캡슐화하여 원하는 알고리즘의 선택이 가능하지만, 알고리즘의 변경이 미치는 영향이 크다.

 

정답 : 4

전략 패턴은 알고리즘들을 개별적으로 캡슐화하여 필요할 때마다 원하는 알고리즘을 선택하여 사용할 수 있는 패턴이다.

 

34. 차량 네비게이션 소프트웨어에서 GPS를 수신하는 경우와 수신하지 못하는 경우에 따라 차량의 위치를 구하는 다른 알고리즘을 선택하고자 할 때 가장 적합한 설계 패턴은?

① 데코레이션 패턴

② 전략 패턴

③ 어댑터 패턴

④ 플라이웨이트 패턴

 

정답 :2

데코레이션 패턴 : 객체 간의 결합으로 능동적으로 기능들을 확장할 수 있는 패턴

어댑터 패턴 : 호환성이 없는 클래스들의 인터페이스를 다른 클래스가 이용할 수 있도록 변환해주는 패턴

플라이웨이트 : 인스턴스가 필요할 때마다 매번 생성하는 것이 아니고 가능한 공유해서 사용함으로써 메모리를 절약하는 패턴

 

35. 다음 중 성격이 다른 설계패턴은?

① 상태 패턴

② 전략 패턴

③ 메멘토 패턴

④ 컴포지트 패턴

 

정답 : 4

GoF 패턴의 분류

-생성 패턴 : 추상팩토리, 빌더, 팩토리 메소드, 프로토타입, 싱글톤

- 구조 패턴 : 어댑터, 브리지, 컴포지트, 데코레이션, 퍼싸드, 플라이웨이트, 프록시

- 행위 패턴 : 책임 연쇄, 커맨드, 인터프리터, 반복자, 중재자, 메멘토, 옵서버, 상태, 전략, 템플릿 메소드, 방문자

 

36. 상속을 사용하지 않고도 객체의 기능을 동적으로 확장할 수 있도록 해주는 설계 패턴은?

① 데코레이터 패턴

② 프록시 패턴

③ 빌더 패턴

④ 커맨드 패턴

 

정답 : 1

프록시 패턴 : 접근이 어려운 객체와 여기에 연결하려는 객체 사이에서 인터페이스를 수행하는 패턴

빌더 패턴 : 작게 분리된 인스턴스를 건축하듯이 조합하여 객체를 생성하는 패턴

커맨드 패턴 : 요청을 객체의 형태로 캡슐화하여 재이용하거나 취소할 수 있도록 요청에 필요한 정보를 저장하거나 로그에 남기는 패턴

 

37. 여러 객체들이 서로 메시지를 주고 받는 상호작용을 특정 객체 안에 캡슐화하여 서로의 존재를 모르는 상태에서도 메시지를 주고 받으며 협력할 수 있도록 하는 설계패턴은?

① Template Method

② Mediator

③ Visitor

④ Bridge

 

정답 : 2

템플릿 메소드 : 상위 클래스에서 골격을 적의하고, 하위 클래스에서 세부 처리를 구체화하는 구조의 패턴

방문자 패턴 : 자료구조와 같이 접근이 잦은 객체에 대해 동일한 인터페이스를 사용하도록 하는 패턴

브리지 패턴 : 구현부에서 추상층을 분리하여, 서로가 독립적으로 확장할 수 있도록 구성한 패턴

 

 

 

 

 

 

 

 

출처 : 2020 시나공 정보처리기사 문제 중 일부입니다.

 

자세한 설명과 문제는 책을 구입하셔서 확인하시는 걸 권장합니다.

 

 

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

사용자 인터페이스

1. 사용자 인터페이스(UI)를 설계할 때 일반적으로 고려할 사항으로 틀린 것은?

① 일관성 : 전체 구조나 구성 요소는 일관성 있게 설계해야 한다.

② 개인성 : 사용자의 경험이나 능력 등 개인의 특성에 맞게 설계해야 한다.

③ 가시성 : 메인 화면에 주요 기능을 시각적으로 노출시켜 정보 흡수와 작업 수행이 쉽도록 설계해야 한다.

④ 사용 편리성 : 정보접근이 용이하고 기억하기 쉬워야 한다.

정답 : 2

 

2. 사용자 인터페이스를 설계할 때 주의해야 할 사항으로 가장 적합하지 않은 것은?

① 사용자가 콘텐츠를 쉽게 찾을 수 있도록 단순하고 간결하게 구성한다.

② 콘텐츠의 연결이 일관성이 있고 논리적이어야 한다.

③ 세부 콘텐츠를 먼저 배치한 후에 중요한 콘텐츠를 배치한다.

④ 텍스트와 그래픽 요소를 적절히 조화시킨다.

정답 : 3

 

3. 소프트웨어 아키텍처에 관한 설명으로 가장 옳지 않은 것은?

① 아키텍처의 결정은 비기능적 요구사항과 큰 관련이 있다.

② 물리적 구성을 바탕으로 정의하는 시스템의 상세 설계도이다.

③ 초기 계획 단계에서 작성되어 개발 및 유지보수 작업등에 영향을 준다.

④ 작업자들 간의 상호 이해, 타협 및 의사소통을 위해 사용된다.

정답 : 2 아키텍처는 시스템의 논리적인 구성을 정의하는 것으로, 초기 설계 또는 개략 설계라고도 합니다.

 

4. 소프트웨어 사용자 인터페이스에 대한 설명으로 가장 적합하지 않은 것은?

① 좋은 사용자 인터페이스를 설계하려면 실사용자를 분석할 필요가 있다.

② 좋은 사용자 인터페이스를 설계하려면 인간의 사물에 대한 인식 방법, 지각 능력 등을 분석할 필요가 있다.

③ 사용자 인터페이스에 대한 사용자의 요구사항을 알아야 한다.

④ 모든 사용자에게 동일한 사용자 인터페이스를 제공해야 한다.

정답 : 4 사용자 인터페이스는 사용자에 따라 다르 종류의 사용자 인터페이스를 제공할 수 있습니다.

 

UI 표준 및 지침

1. 장애인이 비장애인과 동등하게 웹 콘텐츠를 접근할 수 있도록 설계하기 위한 지침 사항이 아닌 것은?

① 멀티미디어 콘텐츠에서는 자막, 수화 등을 제공해야 한다.

② 차트와 같이 복잡한 콘텐츠는 사용자가 해당 콘텐츠를 파악할 수 있도록 대체 텍스트를 제공해야 한다.

③ 콘텐츠에 포함된 소리는 자동으로 재생되어야 한다.

④ 모든 콘텐츠는 시각적으로 구분될 수 있도록 설계해야 한다.

정답 : 3 콘텐츠에 포함된 소리는 사용자가 요구할 경우에만 재생할 수 있도록 해야 한다.

 

2. 장애 유무 등에 상관없이 웹 사이트에서 제공하는 모든 기능을 운용할 수 있도록 하기 위한 지침 사항이 아닌 것은?

① 모든 기능은 키보드만으로도 사용할 수 있어야 한다.

② 시간제한이 있는 콘텐츠는 응답시간을 조절할 수 있어야 한다.

③ 광과민성 증후가 발생하지 않아도 초당 3~50회 주기로 깜빡이거나 번쩍이는 콘텐츠를 제공해야 한다.

④ 주변 맥락을 통해 용도나 목적지를 명확하게 이해할 수 있도록 링크 텍스트를 제공해야 한다.

정답 : 3 초당 3~50회 주기로 깜빡이거나 번쩍이는 콘텐츠는 광과민성 증후가 발생할 수 있으므로 제공하지 말아야 합니다.

 

3. 다음 설명에 해당하는 것은?

정보 구조가 완성되면 이들 정보 사이를 자유롭게 이동할 수 있어야 하고, 위계적인 구조 외에도 사이트 맵, 검색 창, 링크 등 다양한 경로와 방법을 통해 원하는 정보를 쉽고 빠르게 접근할 수 있어야 한다.

① 사용자 인터페이스

② 내비게이션

③ 시나리오

④ 프로토타입

정답 : 2 운전할 때 목적지까지 길을 안내하듯이 웹 사이트에서도 정보를 찾을 수 있도록 도와주는 것이 내비게이션입니다.

 

4. 다음 중 내비게이션에서 대한 설명으로 가장 거리가 먼 것은?

① 내비게이션은 전체적으로 일관성이 있도록 만들어야 한다.

② 사용자들의 다양한 설치 환경을 고려해서 만들어야 한다.

③ 전체 내용을 한꺼번에 볼 수 있도록 메뉴는 될 수 있으면 많이 만들어야 한다.

④ 각 페이지를 연결하는 링크가 끊어진 곳이 없어야 한다.

정답 : 3

 

5. 사용자가 웹 페이지를 쉽게 이동하고 탐색할 수 있도록 해주는 내비게이션 구조의 요소들에 대한 설명이 틀린 것은?

① 이미지 맵 : 웹사이트의 전체 구조를 한눈에 알아볼 수 있도록 트리 구조 형태로 만든 것으로 지도와 같은 역할을 한다.

② 사이트 메뉴바 : 웹사이트의 좌측이나 우측에 메뉴, 링크 등을 모아둔 것을 말한다.

③ 디렉터리 : 주체나 항목을 카테고리 별로 계층적으로 표현하는 방식이다.

④ 내비게이션 바 : 메뉴를 한 곳에 모아놓은 그래픽이나 문자열 모음을 말한다.

정답 1 사이트의 전체 구조를 한눈에 알아볼 수 있도록 트리 구조 형태로 만드는 것은 사이트 맵입니다.

 

6. 다음 중 전자정부 웹 표준의 준수 지침에 대한 설명으로 틀린 것은?

① 웹 페이지의 모든 문서는 적절한 인코딩 방식을 지정해야 한다.

② 웹 서비스에 사용된 스크립트는 비표준 문법의 확장도 고려해야 한다.

③ 모든 웹 문서는 반드시 문서 타입을 명시해야 한다.

④ 콘텐츠의 구조를 파악하여 구조적인 페이지를 작성한다.

정답 : 2 비표준 스크립트는 모든 브라우저에서 정상적으로 작동한다는 보장이 없기 때문에 스크립트의 비표준 문법을 확장하는 것은 배제되어야 합니다.

 

UI 설계 도구

1. 다음 중 사용자 인터페이스를 설계할 때 사용하는 툴이 아닌 것은?

① 파워포인트

② 파워 목업

③ 드림위버

④ 액슈어(Axure)

정답 : 3

드림위버는 웹페이지 개발에 사용하는 응용 프로그램입니다.

 

2. UI를 설계할 때 화면 단위로 전개될 가상 경로를 예상하여 기획하는 것으로, 화면 설계도이며 구체적인 작업 지침서 역할을 하는 것은?

① 유스케이스

② 레이아웃

③ 내비게이션

④ 스토리보드

정답 : 4

구체적인 작업 지침서는 무엇일까요?

 

3. 유스케이스에 관한 설명으로 잘못된 것은?

① 사용자의 요구사항을 정리하고 기록하기 위한 도구이다.

② 와이어프레임에 인터랙션을 적용한 모형이다.

③ 유스케이스는 일반적으로 다이어그램 형식으로 작성된다.

④ 완성된 유스케이스에 대해 유스케이스 명세서를 작성한다.

정답 : 2

와이어프레임에 인터랙션을 적용한 동적인 형태의 모형은 프로토타입입니다.

 

4. 다음 중 사용자 인터페이스(User Interface)의 설계 도구에 대한 설명으로 틀린 것은?

① 화면 설계 도구에는 파워포인트, 스토리보드, 와이어프레임, 목업 등이 있다.

② 와이어프레임(Wireframe)은 기획 단계에서 페이지 레이아웃이나 구성 요소 등 뼈대를 설계하는 단계이다.

③ 목업(Mockup)은 와이어프레임의 내용에 디스크립션을 추가한 문서이다.

④ 프로토타입(Prototype)은 테스트가 가능하도록 만든 일종의 샘플이다.

정답 : 3

와이어프레임에 디스크립션을 추가한 것은 스토리보드입니다. 목업은 와이어프레임에 비해 실제 화면과 좀 더 유사하지만 디스크립션을 표시하지는 않습니다.

 

UI 요구사항 확인

1. 사용자의 요구사항을 조사하기 위해 인터뷰를 진행하려고 한다. 인터뷰 진행 시 유의사항이 아닌 것은?

① 될 수 있으면 많은 사람을 인터뷰하기 위해 그룹별 인터뷰를 진행해야 한다.

② 인터뷰를 통해 사업적, 기술적인 요구사항을 명확히 이해해야 한다.

③ 인터뷰는 될 수 있으면 한 시간을 넘지 않도록 해야 한다.

④ 인터뷰는 사용자 리서치를 하기 전에 먼저 진행해야 한다.

정답 : 1

인터뷰는 개별적으로 진행해야 합니다.

 

2. 사용자들의 UI 요구사항을 작성하려고 한다. 다음 중 틀린 것은?

① 요구사항은 사용자 인터뷰를 통해서만 수집해야 한다.

② 요구사항 작성 관점은 반드시 실사용자 중심이어야 한다.

③ 요구사항은 여러 사람의 인터뷰를 통해 다양한 의견을 수렴하여 작성하는 것이 매우 중요하다.

④ 정황 시나리오를 작성한 후 이를 토대로 요구사항을 작성한다.

정답 : 1

UI 요구사항은 인터뷰 외에 리서치 등 여러 경로를 통해 수집해야 합니다.

 

3. 다음 중 정황 시나리오에 대한 내용으로 틀린 것은?

① 정황 시나리오는 육하원칙에 따라 간결하고 명확하게 작성해야 한다.

② 정황 시나리오는 요구사항 정의에 사용되는 시나리오 초안이다.

③ 정황 시나리오는 개발할 프로그램 관점에서 기능 위주로 작성해야 한다.

④ 정황 시나리오를 작성한 이후에는 경험이 풍부한 사람에게 검토를 의뢰하는 것이 좋다.

정답 : 3

정황시나리오는 사용자의 요구사항을 도출하기 위한 것으로 사용자 관점에서 기능 위주로 작성해야 한다.

 

품질 요구사항

1. ISO/IEC 9126에서 정의하고 있는 6가지의 품질 특성이 아닌 것은?

① 기능성 ② 신뢰성 ③ 재사용성 ④ 유지 보수성

ISO/IEC 9126의 품질 특성 6가지는 기능성, 신뢰성, 사용성, 효율성, 유지 보수성, 이식성

 

2. 소프트웨어 품질 체계인 ISO/IEC 9126의 품질 특성 중 신뢰성에 속하지 않는 특성은?

① 성숙성 ② 결함 허용성 ③ 회복성 ④ 정확성

정답 : 4 정확성은 ISO 9126의 품질 특성 중 기능성에 속합니다.

 

3.ISO 9126에서 정의한 소프트웨어가 갖추어야 할 품질의 특성 중 정화가고 일관된 결과를 오류 없이 수행할 수 있는 정도를 나타내는 척도는?

① 효율성 ② 사용 용이성 ③ 신뢰성 ④ 이식성

정답 : 3

 

4. ISO/IEC 9126의 품질 특성 중 시스템 운영 환경의 변화나 사용자의 새로운 요구사항에 따라 소프트웨어를 쉽게 변경할 수 있는 특성으로 가장 옳은 것은?

① 재사용성 ② 사용성 ③ 유지보수성 ④ 신뢰성

정답 : 3

 

UI 프로토타입 제작 및 검토

1. 다음은 무엇에 대한 설명인가?

- 사용자의 요구사항을 취합하여 만드는 모델이다.

- 가장 단순한 형태로는 종이에 화면 순서를 기술하여 사용자에게 무엇이 어떻게 일어나는지를 보여주는 것이다.

① 관찰 ② 유스케이스 ③ 브레인스토밍 ④ 프로토타입

정답 : 4

 

2. UI 프로토타입에 대한 설명으로 틀린 것은?

① 프로토타입은 사용자의 요구사항을 기반으로 만든 모형으로 테스트가 가능하다.

② 일부 핵심적인 기능만을 제공하는 프로토타입을 작성하면 중요한 기능이 생략될 수 있으므로 반드시 전체를 대상으로 프로토타입을 작성해야 한다.

③ 프로토타입을 통해 UI의 개발 시간을 단축시키고 개발 전에 오류를 발견할 수 있다.

④ 프로토타입은 사용자의 요구사항을 개발자가 맞게 했는지 검증하기 위한 것으로, 최대한 간단하게 만드는 것이 좋다.

정답 : 2

 

3. 사용자의 요구사항을 기반으로 하여 UI 프로토타이핑을 진행하려고 한다. 다음 설명 중 틀린 것은?

① 프로토타이핑은 프로젝트의 실제 분석 작업이 완료된 이후 진행하여야 한다.

② 프로토타입을 통해 발생하는 이슈는 모두 취합하고 해결 방법을 제시해야 한다.

③ 프로토타이핑을 진행하면서 가장 많은 시간이 소요된 구간을 찾고 그 원인을 분석하여 해결 방법을 제시한다.

④ 프로토타이핑을 진행하면서 표준 가이드를 확정한다.

정답 1 일반적으로 아키텍처가 확정된 이후 프로젝트의 실제 분석 작업이 완료되기 이전에 진행해야 합니다.

 

UI 설계서 작성

1.UI 설명서는 초안을 작성한 후 내용을 수정할 때마다 개정 이력을 정리해야 한다. 이에 대한 설명으로 틀린 것은?

① UI 설계서가 수정될 때마다 어떤 부분이 어떻게 수정되었는지 명시해야 한다.

② 처음 작성 시에는 ‘초안 작성’으로 기입하고 버전을 1.0으로 설정한다.

③ 버전은 설계서를 수정 또는 보완할 때마다 1씩 더한다.

④ 개정 이력은 UI설계서에 반드시 포함되어야 한다.

정답 : 3

 

2. 다음 내용이 설명하는 것은 무엇인가?

- 화면의 정보를 한눈에 파악하기 위한 시각적인 콘텐츠 모형을 말한다.

- 일반적으로 데이터 형태로 되어 있고, 위에서부터 아래로 내려가며 정보를 찾을 수 있는 계층형으로 되어 있는 것이 보통이다.

① 스토리보드

② 사이트 맵

③ 레이아웃

④ 내비게이션

정답 : 2

 

유용성 평가

1. UI를 설계하다가 보면 개발자가 설계한 UI가 사용자가 생각한 것과 다르게 실행되는 경우가 있다. 이런 일을 예방하기 위한 방법으로 틀린 것은?

① 개발자는 사용자의 목적을 명확히 파악한 후 불필요한 기능이나 중복되는 기능이 있는지 확인한다.

② 개발자는 특정 기능을 사용하기 위한 행위 순서를 세분화시킨 뒤 순서대로 제시해야 한다.

③ 특정 작업을 수행하기 위한 단계는 최소화시켜야 하고, 혼동되지 않게 한 가지의 방법만을 제공해야 한다.

④ 특정 기능을 수행하는 순서는 사용자의 기존 경험에 비추어 가능한 한 친숙하게 설계한다.

정답 : 3

 

2. 다음 중 사용자가 원하는 목적과 UI의 실행 결과가 최대한 비슷하게 UI를 설계하려고 할 때의 방법으로 틀린 것은?

① 사용자가 특정 작업을 수행하면 최대한 빨리 반응하도록 설계한다.

② 특정 작업으로 인한 현재 시스템의 변화는 다른 작업에 방해되지 않도록 간접적으로 표시해야 한다.

③ 키 조작으로 변화된 시스템의 상태 정보를 가능한 한 단순하고 이해하기 쉽게 제시해야 한다.

④ 사용자의 의도가 시스템을 통해 충족되었는지 사용자가 쉽게 파악할 수 있도록 설계해야 한다.

정답 : 2

 

UI 상세 설계

1. 다음 중 사용자의 인터페이스의 시나리오 문서에 포함되는 내용이 아닌 것은?

① 다양한 상황에서의 예외 처리 방식

② 대표 화면 간 인터랙션 흐름

③ GUI

④ 기능구조

정답: 3 UI시나리오 문서가 완성되면 이것을 토대로 GUI를 설계합니다.

 

2. 완성된 UI 시나리오 문서를 가지고 다음 작업을 진행하는 담당자가 아닌 것은?

① 인터랙션 디자이너

② 개발자

③ 품질 관리자

④ GUI 디자이너

정답 : 1 인터랙션 디자이너는 UI 시나리오 문서를 작성하는 사람입니다.

 

3. 다음 중 형판, 형틀이라는 뜻으로 화면의 기본적인 레이아웃 형태를 의미하는 것은?

① 텍스트

② 인터페이스

③ 프레임

④ 템플릿

정답 : 4 기본적인 레이아웃 형태 하면 템플릿!

 

4. 다음 중 UI 시나리오 문서에 대한 설명으로 틀린 것은?

① 해당 시스템의 기능에 초점을 맞춰 작성한다.

② 시각적인 효과를 위해 여백이나 빈 페이지, 하이라이팅을 일관성 있게 지정한다.

③ 시나리오의 수정 또는 개선이 쉬워야 한다.

④ 변경 사항이 있을 경우 언제, 어떤 부분이, 왜 발생했는 지 쉽게 추적할 수 있어야 한다.

정답 : 1 UI 시나리오 문서는 해당 시스템의 기능보다는 사용자의 태스크에 초점을 맞춰 작성해야 합니다.

 

HCI / UX/ 감성공학

1. 감성공학을 디자인의 기능적인 측면에서 봤을 경우 해당하는 기능은?

① 물리적 기능

② 생리적 기능

③ 심리적 기능

④ 사회적 기능

정답 : 3

 

2. 다음 설명에 가장 근접한 것은 무엇인가?

사람과 컴퓨터 시스템 간의 상호작용을 연구하고 설계하는 것으로, 사람이 컴퓨터를 편리하게 사용할 수 있도록 한다

① UX ② UI ③ HCI ④ IA

정답: 3

HCI 사람이 시스템을 편리하고 안전하게 사용할 수 있도록 연구하고 개발하는 학문

UX : 사용자가 시스템이나 서비스를 이용하면서 느끼고 생각하게 되는 총체적인 경험

 

예상문제은행

1. 사용자 인터페이스 설계 시 고려 사항으로 가장 거리가 먼 것은?

① 가시성 ② 다양성 ③ 단순성 ④ 일관성

정답 : 2 사용자 인터페이스는 다양성이 아닌 표준화를 고려해야 한다.

 

2. 사용자 인터페이스를 설정할 때의 고려사항이 아닌 것은?

① 누가 보더라도 이해할 수 있도록 직관성을 제공한다.

② 사용자의 목적을 정확하게 달성할 수 있도록 유효성을 제공한다.

③ 사용자의 요구사항을 최대한 수용하고 오류를 최소화 할 수 있도록 유연성을 제공한다.

④ 버튼이나 조작 방법 등을 사용자가 쉽게 습득할 수 있도록 다양성을 제공한다.

정답: 4 사용자가 조작 방법 등을 쉽게 습득하게 하려면 다양성을 제공하는 것이 아니라, 기능 구조와 디자인을 표준화하여 한 번 학습한 이후에는 쉽게 사용할 수 있어야 한다.

 

3. 다음 중 내비게이션에 대한 설명으로 틀린 것은?

① 웹 콘텐츠를 분류하고 체계화시킨 후 이들을 연결시켜 방문자로 하여금 웹사이트를 이용할 수 있게 하는 체계를 말한다.

② 아이콘이나 그래픽 등을 일관성 있게 사용하여 홈페이지를 사용하는 사용자가 어디서라도 필요한 정보를 쉽게 찾을 수 있도록 하는 것이다.

③ 원하는 정보를 쉽게 찾을 수 있도록 시스템 위주로 설계되어야 한다.

④ 사이트의 이동 경로나 방법, 이동을 돕는 구조와 인터페이스 등을 모두 포함하는 개념이다.

정답 : 3 내비게이션은 시스템이 아니라 사용자 중심으로 설계되어야 한다.

 

4. 다음 중 웹콘텐츠 접근성을 높이기 위한 고려사항이 아닌 것은?

① 모든 콘텐츠는 사용자가 그 내용을 이해할 수 있도록 비선형 구조로 작성되어야 한다.

② 사용자가 맥락을 이해할 수 있도록 논리적인 순서를 제공해야 한다.

③ 사용자가 의도하지 않은 기능은 실행되지 않도록 해야 한다.

④ 사용자의 실수로 오류가 발생할 경우 이를 정정할 수 있는 방법을 제공해야 한다.

정답 : 1 모든 콘텐츠는 비선형이 아니라 선형 구조로 작성되어야 한다.

 

5. 다음 중 정부기관의 홈페이지 구축 시 반영해야 할 지침으로 가장 옳지 않은 것은?

① 스크립트 비사용자를 위한 대체 정보를 제공해야 한다.

② 호환성이 보장되지 않는 플러그인의 사용은 지양한다.

③ 웹사이트에서 제공하는 미디어는 특정 운영체제에 종속적인 포맷을 사용해야 한다.

④ 다양한 인터페이스로 웹 사이트를 이용할 수 있어야 한다.

정답 : 3 홈페이지에서 제공하는 미디어는 운영체제의 종류에 상관 없이 사용할 수 있도록 특정 운영체제에 종속적인 포맷은 최소화하여 사용하여야 한다.

 

6. 다음 중 웹사이트의 내비게이션 요소가 아닌 것은?

① 디렉터리

② 메뉴

③ 탬플릿

④ 사이트 맵

정답 : 3

 

7. 다음은 중 화면 단위로 삽입될 구성 요소나 콘텐츠, 기능 들을 구체적으로 정리해 놓은 문서는 무엇인가?

① 레이아웃

② 내비게이션

③ 스토리보드

④ 동영상

정답 : 3

 

8. 다음 중 사용자 인터페이스의 설계 도구에 대한 설명으로 틀린 것은?

① 목업은 실제 화면과 유사한 동적인 형태의 모형이다.

② 와이어프레임을 통해 정보의 시각적인 구조를 이해할 수 있다면 프로토타입을 통해 인터페이스의 상호 작용을 시뮬레이션 할 수 있다.

③ 프로토타입에는 페이퍼 프로토타입과 디지털 프로토타입이 있다.

④ 와이어프레임은 기획 초기 단계에 사용된다.

정답 : 1 목업은 실제 화면과 유사하지만 실제로는 구현되지 않은 정적인 형태의 도형이다.

 

9. 사용자 인터페이스는 사용자와 시스템 간의 상호 작용이 원활하게 수행되도록 도와주는게 연계 작업이다. 다음 중 사용자 인터페이스의 설계 툴이 아닌 것은?

① 스케치

② 프로토나우

③ 아파치

④ 발사믹 목업

정답: 3 아파치는 UI 설계 도구가 아니라 서버 프로그램이다.

 

10 사용자의 요구사항을 조사하기 위한 인터뷰 진행 시 유의사항으로 틀린 것은?

① 인터뷰는 실사용자들을 대상으로 진행해야 한다.

② 사용자들의 요구사항이나 불편사항 등을 파악하기 위해 사용자 리서치를 먼저 수행한 후 사용자 인터뷰를 진행한다.

③ 가능한 많은 사람을 인터뷰하여 다양한 의견을 수렴하되, 다수의 의견으로 인해 개인의 중요한 의견을 놓치지 않도록 주의해야 한다.

④ 인터뷰를 진행한 후 사용자들의 의견이 수렴된 비즈니스 요구사항을 정의해야 한다.

정답 : 2 사용자 인터뷰를 진행한 후 파악된 요구사항을 토대로 사용자 리서치를 계획하고 진행해야 한다.

 

11. 사용자 인터페이스 설계 시 주의할 사항이 아닌 것은?

① 컴퓨터의 사용 환경을 고려하여 설계한다.

② 오류 발생 시 사용자가 쉽게 인지할 수 있도록 설계한다.

③ 초보자가 쉽게 사용할 수 있도록 CLI 방식으로 설계한다.

④ 실사용자에 대한 이해를 바탕으로 설계한다.

정답 : 3 초보자가 쉽게 사용할 수 있도록 설계하려면 GUI방식으로 설계해야 한다.

CLI(Command Line interface): 명령과 출력이 텍스트 형태로 이뤄지는 인터페이스

GUI(Graphical User Interface) : 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행하는 그래픽 환경의 인터페이스

 

12. ISO/IEC 9126은 국제적으로 소프트웨어 제품의 품질을 측정하는데 이용되고 있다. 다음 중 ISO/IEC 9126에서 정의한 소프트웨어의 품질 특성이 아닌 것은?

① 유지 보수성

② 사용성

③ 기능성

④ 가시성

정답: 4 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성

13. 다음의 사용자 인터뷰는 ISO/IEC 9126의 품질 특성 중 어떤 특성에 가장 적합한가?

컴퓨터가 다운되면 20초 내에 정상적으로 작동되도록 해주시고, 제가 자리를 비울 경우 다른 사람이 이 컴퓨터를 사용할 수 없게 해주세요.

① 효율성, 신뢰성

② 기능성, 신뢰성

③ 기능성, 유지보수성

④ 사용성, 이식성

정답: 2

기능성 : 소프트웨어가 사용자의 요구사항을 정확하게 만족하는 기능을 제공하는지 여부

신뢰성 : 소프트웨어가 요구된 기능을 정확하고 일관되게 오류 없이 수행할 수 있는 정도를 나타냄

 

14. ISO/IEC 9126에 규정된 품질의 주 특성과 부 특성 간의 연결이 잘못된 것은?

① Maintainability - Testability

② Usability - Stability

③ Functionality - Accuracy

④ Reliability - Fault Tolerance

정답 : 2 안전성은 유지보수성에 해당한다.

 

15. UI 프로토타입에 대한 설명으로 가장 옳지 않은 것은?

① 실제 구현된 것처럼 만든 동적인 형태의 모형이다.

② 프로토타입을 작성하면 사용자를 설득하고 이해시키기 쉽다.

③ 프로토타입은 사용자의 요구사항이 모두 반영될 때까지 계속하여 개선하고 보완해야 한다.

④ 프로토타입은 될 수 있으면 정교하게 만들어야 한다.

정답: 4 프로토타입은 사용자의 요구사항을 개발자가 맞게 해석했는지 검증하기 위한 것으로, 최대한 간단하게 만드는 것이 좋다.

 

16. 사용자를 이해시키기 위해 UI 프로토타입을 작성하려고 한다. 다음 설명 중 틀린 것은?

① 개발 툴, 테스트 툴, 빌드 및 배포 툴, 형상 관리 등 프로토타입 개발에 필요한 환경을 마련해야 한다.

② 프로토타입을 작성하면서 가장 많은 시간이 소요된 구간을 찾고 그 해결방법을 실제 프로젝트에 적응하면 많은 시간을 절약할 수 있다.

③ 프로토타입으로 검증할 범위는 많은 내용을 포함할 수 있도록 가급적 넓게 잡는 것이 좋다.

④ 프로토타입을 시연할 때는 프로토타입의 개발 목적을 구체적으로 설명해야 한다.

정답: 3 프로토타입으로 검증할 범위를 너무 넓게 잡거나 기간을 길게 잡으면 원하는 목표가 너무 커져 오히려 문제가 될 수도 있다. 검증 범위는 작은 범위와 적은 인원으로 최소한의 기간 내에 검증할 수 있도록 지정하는 것이 좋다.

 

17. 다음 중 UI 설계서에 대한 설명으로 틀린 것은?

① UI 설계서는 사용자의 요구사항을 바탕으로 UI 설계를 구체화한 문서이다.

② UI 설계서는 상세 설계이후에 작성한다.

③ UI 설계서는 개정 이력, 요구사항 정의서, 시스템 구조, 사이트 맵, 프로세스 정의서, 화면 설계 등으로 구성된다.

④ 사이트 맵을 통해 웹사이트의 전체 구조를 한 눈에 알아볼 수 있다.

정답 : 2 UI설계서는 상세 설계 이전에 작성한다.

 

출처 : 2020 시나공 정보처리기사 문제중 일부입니다...

자세한 설명이나 더 많은 문제들이 보고 싶으면 책구입을 권장합니다.


반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

-소프트웨어 수명 주기 모형 중 폭포수 모형에 대한 설명으로 옳지 않은 것은? 4

1. 폭포수 모형의 적용사례가 많다.

2. 단계별 정의가 분명하다. 

3. 단계별 산출물이 명확하다. 

4. 요구사항의 변경이 용이하다. 

 

- 나선형 모형에 대한 설명으로 옳지 않은 것은? 4

1. 여러 번의 개발 과정을 고쳐 점진적으로 완벽한 소프트웨어를 개발한다.

2. 대규모 시스템의 소프트웨어 개발에 적합하다.

3. 위험성 평가에 크게 의존하기 때문에 이를 발견하지 않으면 문제가 발생할 수 있다.

4. 실제 개발될 소프트웨어에 대한 시제품을 만들어 최정 결과물을 예측하는 모형이다.

 

- 다음 중 애자일 프로세스 모델이 아닌 것은? 4

1. XP

2. ASD

3. 스크럼

4. SM (spiral model 나선형 모델)

 

- 애자일 선언문에 대한 설명으로 옳지 않은 것은? 4

1. 계획에 따르기 보다는 변화에 대앙하는 거셍 더 가치를 둔다.

2. 방대한 문서보다 제대로 실행되는 소프트웨어에 더 가치를 둔다.

3. 프로세서와 도구보다 개인과 그들의 협업에 더 가치를 둔다.

4. 고객과의 협력보다는 계약 협상에 더 가치를 둔다. 

스크럼 관련 예상 문제

- 다음이 설명하는 프로세스 모델은 무엇인가?

1. 팀원들이 스스로 팀을 구성하며, 개발 작업의 모든 것을 스스로 해결할 수 있어야 한다.2. 개발에 필요한 요구사항에 우선순위를 부여한 제품기능 목록을 작성한다.3. 개발 주기를 의미하는 스프린트는 2~4주 정도의 기간으로 진행한다.4. 스프린트 회고를 통해 스프린트 동안 발생한 문제점을 파악하고 이에 대한 해결방안을 모색한다.

1. 익스트림 프로그래밍

2. 크리스털

3. 칸반

4. 스크럼

 

-스크럼의 팀 구성 요소 중 이해관계자들의 의견을 종합하여 백로그를 작성하는 주체는 누구인가

1. 스크럼 마스터(SM)

2. 제품 책임자(PO)

3. 고객(Customer)

4. 개발팀(DT)

 

- 다음의 스크럼 개발 과정을 진행 순서에 맞게 올바르게 나열한 것은? 4

ㄱ. 스프린트ㄴ. 스프린트 회고ㄷ. 일일 스크럼 회의ㄹ. 스프린트 검토회의ㅁ. 스프린트 계획 회의

1. ㅁ - ㄷ - ㄱ - ㄴ - ㄹ

2. ㅁ - ㄱ - ㄷ - ㄹ - ㄴ

3. ㅁ - ㄷ - ㄱ - ㄹ - ㄴ

4. ㅁ - ㄹ - ㄱ - ㄴ - ㄷ

 

1. 결과물, 프로세스, 컴포넌트 등 물리적인 자원의 위치를 표시하는 것으로 구현 단계에서 사용되는 UML 다이어그램은?

① 컴포넌트(Component) 다이어그램

② 통신(Communication) 다이어그램

③ 배치(Deployment) 다이어그램

④ 상태(State) 다이어그램

정답: 3

배치 다이어그램: 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현한다.

노드와 의사소통(통신) 경로로 표현한다, 구현 단계에서 사용되는 다이어그램이다.

오답 :

1. 컴포넌트 다이어그램: 실제 구현 모듈인 컴포넌트 간의 관계나 컴포넌트 간의 인터페이스를 구현한다.

2. 통신(Communication) 다이어그램 : 시퀀스 다이어그램과 같이 동작에 참여하는 객체들이 주고 받는 메시지를 표현하는데, 메시지뿐만 아니라 객체들 간의 연관까지 표현한다.

4. 상태 다이어그램: 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호 작용에 따라 상태가 어떻게 변하는지를 표현한다.

2. UML(Unified Modelling Language)의 구성 요소 중 사물(Thing)에 속하지 않는 것은?

① 구조(Structural) 사물

② 분석(Analysis) 사물

③ 행동(Behavioral) 사물

④ 주해(Annotation) 사물

정답 : 2

UML의 사물(Thing)에는 보기에 제시된 3가지와 그룹사물이 있습니다.

3. 다음 중 동적인 행위를 표현하기 위한 UML 다이어 그램이 아닌 것은?

① 시퀀스 다이어그램

② 상태 다이어그램

③ 활동 다이어그램

④ 배치 다이어그램

정답 : 4 (시퀀스, 상태, 활동 다이어그램은 행위 다이어그램)

행위 다이어그램의 종류: 유스케이스, 시퀀스, 커뮤니케이션, 상태, 활동, 상호작용 개요, 타이밍 다이어그램

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

4. 다음 중 UML 다이어그램이 아닌 것은?

① 사용사례 다이어그램

② 순차 다이어그램

③ 클래스 다이어그램

④ 변화 다이어그램

정답: 4

5. UML 다이어그램 중 구현 단계에서 사용하기에 가장 적합한 것은?

① 유즈케이스 다이어그램

② 컴포넌트 다이어그램

③ 활동 다이어그램

④ 클래스 다이어그램

정답 : 2

구현 단계에서 사용하는 다이어그램 2종류

컴포넌트 다이어그램, 배치 다이어그램

1. 소프트웨어 생명 주기 모델 중 아래 보기가 설명하는 모형은?

a. 고객과의 의사소통을 통해 계획 수립과 위험 분석, 구축, 고객 평가의 과정을 거쳐 소프트웨어를 개발한다.

b. 가장 큰 장점인 위험 분석 단계에서 기술과 관리의 위험요소들을 하나씩 제거해 나감으로써 완성도 높은 소프트웨어를 만들 수 있다.

c. 반복적인 작업을 수행하는 점증적 생명 주기 모델이다.

d. 비용이 많이 들거나 시간이 많이 소요되는 대규모 프로젝트나 큰 시스템을 구축할 때 유리하다.

① 프로토타입 모델

② 폭포수 모델

③ 나선형 모델

④ RAD 모델

정답 : 3

프로토타입 모델: 사용자의 요구사항을 정확히 파아갛기 위해 실제 개발도리 소프트웨어에 대한 견본품을 만들어 최종 결과물을 예측하는 모형

폭포수 모델: 소프트웨어 개발도 각 단계를 확실히 매듭짓고 그 결과를 철저하게 검토하여 승인 과정을 거친 후에 다음 단계를 진행하며 이전 단계로 넘어갈 수 없는 방식

RAD 모델 : 소프트웨어의 구성 요소를 사용하여 매우 QK르게 선형 순차적 모델을 적용시킴으로써 빠른 개발 주기를 가지는 점진적 소프트웨어 개발 방식

2. 소프트웨어 공학 패러다임에 해당하지 않는 것은?

① 폭포수 모형

② 프로토타입 모형

③ 나선형 모형

④ 3세대 기법

정답 : 4

소프트웨어 공학 패러다임: 폭포수 모형, 프로토타입 모형, 나선형 모형(Spiral Model), 4세대 기법(4GT), 애자일 모형

3. 소프트웨어 공학에서 가장 폭넓게 사용되고 있는 모형은?

① 폭포수 모형

② 프로토타입 모형

③ 나선형 모형

④ 3세대 기법

정답: 1

나선형 모형: 폭포수 모형과 프로토 타입 모형의 장점을 위험 분석 기능을 추가한 모형

4세대 기법(4GT): 사용자와 개발자가 쉽게 접근하고 사용할 수 있는 4세대 언어를 이용하여 개발자가 조사한 요구사항 명세서로부터 원시 코드를 자동 생성할 수 있게 해주는 모형

4. 다음 중 소프트웨어 개발 모형이 가장 적절하게 선택된 경우는?

① 구축하고자 하는 시스템의 요구사항이 불분명하여 프로토타입 모형을 선택하였다.

② 개발 중에도 고객의 요구사항에 맞게 수정 작업을 할 수 있도록 폭포수 모형을 선택하였다.

③ 위험 분석을 통해 점증적으로 시스템 개발할 수 있도록 폭포수 모형을 선택하였다.

④ 응용 분야가 단순하고 설치 시점에 제품 설명서가 요구됨에 따라 나선형 모형을 선택하였다.

정답 : 1

2: 프로토타입 모형, 3: 나선형 모형 4: 폭포수 모형

5. 프로토타입 모델 개발 방법이 가장 적절하게 적용될 수 있는 경우는?

① 테스트 작업이 중요하지 않을 경우

② 고객에 빠른 시간 내에 개발의 완료를 요구할 경우

③ 구축하고자 하는 시스템의 요구사항이 불명확한 경우

④ 고객이 개발 과정에는 참여하지 않고자 하는 경우

정답 : 3

6. 고전적 생명 주기 모델에 프로토타입 모형의 장점과 위험분석 기능을 추가한 패러다임은?

① Waterfall Model

② Sprial Model

③ Jackson Model

④ 4GT

정답 : 2

오답 : 4GT: 사용자와 개발자가 쉽게 접근하고 사용할 수 있는 4세대 언어를 사용하는 모델

7. 소프트웨어 생명 주기 모형 중 Spiral Model에 대한 설명으로 옳지 않은 것은?

① 대규모 시스템에 적합하다

② 초기에 위험 요소를 발견하지 못할 경우 위험 요소를 제거하기 위해 많은 비용이 소모될 수 있다.

③ 소프트웨어를 개발하면서 발생할 수 있는 위험을 관리하고 최소화하는 것을 목적으로 한다.

④ 소프트웨어 개발 과정의 앞 단계가 끝나야만 다음 단계로 넘어갈 수 있는 선형 순차적 모형이다.

정답 : 4 폭포수 모형에 대한 설명이다.

 

8. 소프트웨어 생명 주기 모형 중 프로토타입 모형의 가장 큰 장점은?

① 개발 비용의 절감

② 4세대 언어의 적용

③ 개발단계의 명확성

④ 요구사항의 정확한 파악

정답 : 4

 

9. 소프트웨어 개발 모형 중 나선형 모델의 활동 과정이 아닌 것은?

① 계획 및 정의

② 위험 분석

③ 개발

④ 유지보수

정답 :4 나선형 모델의 활동 과정은 계획 및 정의 -> 위험 분석 -> 공학적 개발 -> 고객 평가 순이다.

 

10. 여러 번의 개발 과정을 거쳐 완벽한 최종 소프트웨어 개발하는 점진적 모형으로 보헴이 제안한 소프트웨어 생명 주기 모델은?

① 4GT

② Spiral

③ Waterfall

④ Prototype

 

정답 :

 

11. 소프트웨어 공학의 전통적인 개발 방법인 선형 순차 모형의 순서가 옳은 것은?

① 구현 -> 분석 -> 설계 -> 테스트 -> 유지보수

② 유지보수 -> 테스트 -> 분석 -> 설계 -> 구현

③ 분석 -> 설계 -> 구현 -> 테스트 -> 유지보수

④ 테스트 -> 설계 -> 유지보수 -> 구현 -> 분석

정답 : 3 (폭포수 모형)

 

12. 폭포수 모델에 대한 설명으로 옳지 않은 것은?

① 소프트웨어 개발 과정의 각 단계가 순차적으로 진행된다.

② 앞 단계에서 발견하지 못한 오류를 다음 단계에서 발견했을 때 오류 수정이 용이하다.

③ 두 개 이상의 과정이 병행 수행되거나 이 전 단계로 넘어가는 경우가 없다.

④ 개발 과정 중에 발생하는 새로운 요구나 경험을 설계에 반영하기 힘들다.

정답 : 2

 

13. 다음 특징에 맞는 개발 접근 방식은?

a. 유용한 소프트웨어를 빠르고, 지속적으로 제공하여 고객을 만족시킨다.

b. 개발 막바지에도 요구사항 변경을 환영한다.

c. 같은 사무실에서 얼굴을 맞대고 의견을 나눈다.

d. 동기가 부여된 개발자로 팀을 구성하고, 신뢰하고, 개발환경을 제공하고 지원한다.

① 컴포넌트 기반 개발

② 정보 공학 개발

③ Agile Programming

④ 객체 지향 개발

정답 : 3

지문에 제시된 내용은 애자일 기법이다.

객체 지향 개발이란 현실 세계의 개체를 기계의 부품처럼 하나의 객체로 만들어, 기계적인 부품들을 조립하여 제품을 만들 듯이 소프트웨어를 개발할 때에도 객체들을 조립해서 작성할 수 있도록 하는 개발 기법이다.

 

14. 폭포수 모형과 애자일을 비교했을 때 애자일의 특징이 아닌 것은?

① 새로운 요구사항의 반영이 쉽다.

② 개발에 있어 계획보다는 고객을 중심으로 한다.

③ 개발이 완료되면 최종적으로 모든 기능을 테스트한다.

④ 지속적으로 고객과 의사소통을 수행한다.

정답 : 3

애자일은 짧은 개발 주기를 반복하며, 반복되는 주기마다 만들어지는 결과물에 대한 고객의 평가와 요구를 적극 수용한다. 개발이 완료되면 최종적으로 모든 기능을 테스트하는 것은 폭포수 모형의 특징이다.

 

15. 다음 중 스크럼에 대한 설명으로 잘못된 것은?

① 제품 개발에 필요한 모든 요구사항(User Story)을 우선순위에 따라 나열한 제품 백로그를 사용한다.

② 소멸 차트를 통해 작업의 진행 상황을 확인할 수 있다.

③ 스프린트 검토 회의에서 개선할 사항에 대한 피드백이 정리되면 스크럼 마스터는 이를 다음 스프린트에 반영할 수 있도록 제품 백로그를 업데이트한다.

④ 스프린트 동안 진행될 작업들을 개발자별로 할당할 때는 개발자들이 자신에게 맞는 작업을 스스로 선별하여 담당할 수 있도록 하는 것이 좋다.

정답: 3

스프린트 검토 회의에서 개선할 사항에 대한 피드백이 정리되면 제품 책임자(Product owner)는 이를 다음 스프린트에 반영할 수 있도록 제품 백로그를 업데이트 한다.

 

16. 다음에 제시된 XP(eXtreme Programming)의 개발 프로세스를 순서에 맞게 나열한 것은?

a. 주기

b. 승인 검사

c. 릴리즈 계획 수립

d. 소규모 릴리즈

① a - b - c - d

② b - c - d - a

③ c - b - a - d

④ c - a - b - d

정답 : 4

 

17. 다음 중 오픈 소스 사용에 따른 고려사항에 속하지 않는 것은?

① 라이선스의 종류

② 사용자 수

③ 기술의 지속 가능성

④ 라이선스의 비용

4 오픈 소스란 누구나 제한 없이 무료로 사용할 수 있도록 소스 코드를 공개한 것이다.

 

18. 사용자 요구사항 추출 방법 중 시스템 수행 결과를 설명하기 위해 종이에 화면 순서를 기술하여 고객과 사용자에게 보여주는 것과 관련된 것은?

① 인터뷰

② 설문

③ 브레인스토밍

④ 프로토타이핑

정답:4

 

19. 요구 분석에 대한 설명으로 옳지 않은 것은?

① 고객이나 개발자 누구나 알 수 있는 내용은 요구사항에서 생략하여도 무방하다.

② 요구사항은 소프트웨어를 개발하고 검증하는 기반이 된다.

③ 요구사항은 명확하고 구체적이며 검증이 가능해야 한다.

④ 요구사항은 크게 기능적인 요구사항과 비기능적 요구사항으로 분류된다.

정답 : 1

요구사항은 제품 개발 과정에서 검증 테스트를 위한 기반이 되므로 개발에 필요한 모든 요소가 빠짐없이 완전하게 기술되어야 한다.

 

20. 다음은 서점 시스템의 요구사항에 대한 내용이다. 비기능 요구사항에 대한 설명은?

① 사용자는 로그인 또는 비로그인을 통해 책을 구매할 수 있어야 한다.

② 사용자가 책을 현금으로 구매하였을 경우 현금 영수증 처리를 할 수 있어야 한다.

③ 동시에 100명 이상이 주문을 요청해도 처리할 수 있어야 한다.

④ 사용자가 마이페이지에 저장해 놓은 도서 목록은 일정 기간 동안 그대로 저장되어 있어야 한다.

정답 : 3

3번은 시스템의 품질에 관한 요구사항으로 비기능 요구사항에 해당된다.

 

21. 요구사항 협상은 요구사항이 서로 충돌하는 경우 이를 적절히 해결하는 과정이다. 다음 중 요구사항이 서로 충돌되어 적절한 기준점을 찾아 합의해야 하는 경우가 아닌 것은?

① 두 명의 이해관계자가 요구하는 요구사항이 서로 충돌되는 경우

② 요구사항이 서로 우선순위가 다른 경우

③ 요구사항과 자원이 서로 충돌되는 경우

④ 기능 요구사항과 비기능 요구사항이 서로 충돌되는 경우

정답 : 2

이미 우선순위가 부여된 요구사항은 충돌이 발생하지 않는다.

 

출처 : 2020 시나공 정보처리기사 문제 중.. 자세한 설명이나 더 많은 문제들이 보고 싶으면 책구입을 권장합니다.

 

 

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

1. XP

  XP는 수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상시키는 방법이다.

  XP의 5가지 핵심가치 : 의사소통, 단순성, 용기, 존중, 피드백

 

문제

- 익스트림 프로그래밍 테스팅에 대한 설명으로 옳지 않은 것은?

1. 테스트는 최종 완제품을 고객에게 전달하기 바로 전에 수행한다.

2. 각 사용자 스토리에 대해 테스트 케이스를 작성한다.

3. 실제 코드를 작성하기 전에 테스트 케이스를 우선 작성한다.

4. 자동화된 테스팅 도구 사용을 권장한다.

[XP의 특징 중 하나는 짧은 개발 주기를 반복하며 그때마다 만들어진 제품을 테스트하여 새로이 발생되는 요구사항을 적극 반영하는 것입니다.]

 

- 다음 중 익스트림 프로그래밍에 대한 설명으로 옳지 않은 것은?

1. 테스트 이후 새로운 요구사항이 작성되거나 요구사항의 상대적 우선순위가 변경 될 수 있다.

2. 고객의 요구사항에 좀 더 유연하게 대응할 수 있도록 릴리즈 규모를 크게 한다.

3. 하나의 릴리지를 더 세분화한 한 단위를 이터레이션이라고 한다.

4. 모든 개발자들이 전체 코드에 대한 공동책임을 가지며, 개발자 누구든지 어떤 코드라도 변경할 수 있다.

[부분적으로 기능이 완료된 제품을 제공하는 것을 릴리즈라고 합니다. 고객의 요구사항에 좀 더 유연하게 대응하려면 릴리즈로 확인하는 기능이 좀 더 세분화되어야 합니다.]

 

- 애자일 방법 중에 제일 많이 알려진 것이 익스트림 프로그래밍인데, 다음 중 XP와 가장 연관성이 적은 것은?

1. Whole Team

2. Large Releases

3. Pair Programming

4. Continuous Integration

[XP의 주요 실천 방법 중 하나는 고객의 요구 변화에 신속히 대응할 수 있도록 릴리즈 기간을 짧게 반복하는 것입니다.]

 

- 익스트림 프로그래밍(XP)의 5가지 핵심 가치에 속하지 않는 것은?

1. 의사소통

2. 단순성

3. 용기

4. 효율성

[익스트림 프로그래밍의 5가지 핵심 가치는 보기로 제시된 내용 외에 존중, 피드백이 있습니다.]

 

1.2.2.4

 

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

1. 스크럼의 개요

  스크럼이란 팀이 중심이 되어 개발의 효율성을 높인다는 의미가 내포된 용어입니다. 

  스크럼은 팀원 스스로가 스크럼 팀을 구성해야 하며, 개발 작업에 관한 모든 것을 스스로 해결할 수 있어야 합니다. 스크럼 팀은 제품 책임자, 스크럼 마스터, 개발팀으로 구성됩니다.

 

스크럼 관련 예상 문제

- 다음이 설명하는 프로세스 모델은 무엇인가?

1. 팀원들이 스스로 팀을 구성하며, 개발 작업의 모든 것을 스스로 해결할 수 있어야 한다.
2. 개발에 필요한 요구사항에 우선순위를 부여한 제품기능 목록을 작성한다.
3. 개발 주기를 의미하는 스프린트는 2~4주 정도의 기간으로 진행한다.
4. 스프린트 회고를 통해 스프린트 동안 발생한 문제점을 파악하고 이에 대한 해결방안을 모색한다.

1. 익스트림 프로그래밍

2. 크리스털

3. 칸반

4. 스크럼

 

-스크럼의 팀 구성 요소 중 이해관계자들의 의견을 종합하여 백로그를 작성하는 주체는 누구인가

1. 스크럼 마스터(SM)

2. 제품 책임자(PO)

3. 고객(Customer)

4. 개발팀(DT)

 

- 다음의 스크럼 개발 과정을 진행 순서에 맞게 올바르게 나열한 것은? 4

ㄱ. 스프린트
ㄴ. 스프린트 회고
ㄷ. 일일 스크럼 회의
ㄹ. 스프린트 검토회의
ㅁ. 스프린트 계획 회의

1. ㅁ - ㄷ - ㄱ - ㄴ - ㄹ

2. ㅁ - ㄱ - ㄷ - ㄹ - ㄴ

3. ㅁ - ㄷ - ㄱ - ㄹ - ㄴ

4. ㅁ - ㄹ - ㄱ - ㄴ - ㄷ

 

 

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

1. 소프트웨어 생명 주기

  • 소프트웨어 생명 주기는 소프트웨어 개발 단계와 각 단계별 주요 활동, 그리고 활동의 결과에 대한 산출물로 표현한다. 소프트웨어 수명 주기라고도 한다.
  • 소프트웨어 생명 주기를 표현하는 형태를 소프트웨어 생명 주기 모형이라고 하며, 소프트웨어 프로세스 모형 또는 소프트웨어 공학 패러다임이라고도 한다.
  • 개발자는 문제의 유형이나 개발 방법 등에 따라 특정 모형을 선택하여 사용할 수도 있고, 개별적인 모형을 사용할 수도 있다.
  • 일반적으로 사용되는 소프트 웨어 생명 주기 모형에는 폭포수 모형, 프로토타입 모형, 나선형 모형, 애자일 모형등이 있다.

2. 폭포수 모형

  소프트웨어 개발도 이전 단계로 돌아갈 수 없다는 전제하에 각 단계를 확실히 매듭짓고 그 결과를 철저하게 검토하여 승인과정을 거친 후에 다음 단계를 진행하는 개발 방법론이다.

  • 소프트웨어 개발 과정의 한 단계가 끝나야만 다음 단계로 넘어갈 수 있는 선형 순차적 모형이다.
  • 제품의 일부가 될 메뉴얼을 작성해야 한다.
  • 각 단계가 끝난 후에는 다음 단계를 수행하기 위한 결과물이 명확하게 산출되어야 한다.
  • 두 개 이상의 과정이 병행하여 수행되지 않는다.

타당성검토 -> 계획 -> 요구분석 -> 설계 ->구현(코딩) -> 시험(검사) -> 유지보수

 

3. 프로토타입 모형

  프로토타입 모형은 사용자의 요구사항을 정확히 파악하기 위해 실제 개발될 소프트웨어에 대한 견본품을 만들어 최종 결과물을 예측하는 모형이다.

  • 시제품은 사용자와 시스템 사이의 인터페이스에 중점을 두어 개발을 해야 한다.
  • 시스템의 일부 혹은 시스템의 모형을 만드는 과정으로서 요구된 소프트웨어를 구현하는데, 이는 추후 구현 단계에서 사용될 골격 코드가 된다.
  • 소프트웨어의 개발이 완료된 시점에서 오류가 발견되는 폭포수 모형의 단점을 보완하기 위한 모형이다.

4. 나선형 모형(Spiral Model, 점진적 모형)

  나선형 모형은 보헴이 제안한 것으로, 폭포수 모형과 프로토타입 모형의 장점에 위험 분석 기능을 추가한 모형이다.

  • 나선을 따라 돌듯이 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 완벽한 최종 소프트웨어를 개발하는 것으로, 점진적 모형이라고도 한다.
  • 소프트웨어를 개발하면서 발생할 수 있는 위험을 관리하고 최소화하는 것을 목적으로 한다.
  • 점진적으로 개발 과정이 반복되므로 누락되거나 추가된 요구사항을 첨가할 수 있고, 정밀하며, 유지보수 과정이 필요없다.

5. 애자일 모형

  애자일은 '민첩한', '기민한'이라는 의미로, 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발과정을 진행한다.

  • 애자일 모형은 어느 특정 개발 방법론이 아니라 좋은 것을 빠르고 낭비 없게 만들기 위해 고객과의 소통에 초점을 맞춘 방법론을 통칭한다.
  • 애자일 모형은 스프린트 또는 이터레이션이라고 불리는 짧은 개발 주기를 반복하며, 반복되는 주기마다 만들어지는 결과물에 대한 고객의 평가와 요구를 적극 수용한다.
  • 각 개발주기에서는 고객이 요구사항에 우선순위를 부여하여 개발 작업을 진행한다.
  • 소규모 프로젝트, 고도로 숙달된 개발자, 급변하는 요구사항에 적합하다.

문제.

-소프트웨어 수명 주기 모형 중 폭포수 모형에 대한 설명으로 옳지 않은 것은?

1. 폭포수 모형의 적용사례가 많다.

2. 단계별 정의가 분명하다. 

3. 단계별 산출물이 명확하다. 

4. 요구사항의 변경이 용이하다. 

 

- 나선형 모형에 대한 설명으로 옳지 않은 것은?

1. 여러 번의 개발 과정을 고쳐 점진적으로 완벽한 소프트웨어를 개발한다.

2. 대규모 시스템의 소프트웨어 개발에 적합하다.

3. 위험성 평가에 크게 의존하기 때문에 이를 발견하지 않으면 문제가 발생할 수 있다.

4. 실제 개발될 소프트웨어에 대한 시제품을 만들어 최정 결과물을 예측하는 모형이다.

 

- 다음 중 애자일 프로세스 모델이 아닌 것은?

1. XP

2. ASD

3. 스크럼

4. SM

 

- 애자일 선언문에 대한 설명으로 옳지 않은 것은?

1. 계획에 따르기 보다는 변화에 대앙하는 거셍 더 가치를 둔다.

2. 방대한 문서보다 제대로 실행되는 소프트웨어에 더 가치를 둔다.

3. 프로세서와 도구보다 개인과 그들의 협업에 더 가치를 둔다.

4. 고객과의 협력보다는 계약 협상에 더 가치를 둔다. 

 

 

 

 

정답 : 4, 4, 4, 4

반응형
블로그 이미지

꽃꽂이하는개발자

,