본문 바로가기
자격증/정보처리기사 실기 문제 풀이

정보처리기사 문제 1장 요구사항 확인

by 리드민 2021. 10. 2.
반응형

SECTION 001 소프트웨어 생명 주기

문제 1. 시제품을 끊임없이 제작하며 사이클을 반복하는 개발 방법론으로, 워터폴과 대조적이며, 소프트웨어 개발을 넘어 기업 경영 전반에서 사용되기 있다. 고객의 변화하는 요구사항과 환경 변화에 능동적인 이 소프트웨어 개발 방법론을 쓰시오.

답 : 애자일 모형

 

문제 2. 다음 괄호에 공통으로 들어갈 용어를 쓰시오.

(     )은 소프트웨어의 위기를 극복하기 위한 방안으로 연구된 학문이며, 여러 가지 방법론과 도구, 관리 기법들을 통하여 소프트웨어의 품질과 생산성 향상을 목적으로 한다.
(     )의 기본 원칙은 다음과 같다.
- 현대적인 프로그래밍 기술을 계속적으로 적용해야 한다.
- 개발된 소프트웨어의 품질이 유지되도록 지속적으로 검증해야 한다.
- 소프트웨어 개발 관련 사항 및 결과에 대한 명확한 기록을 유지해야 한다.

답 : 소프트웨어 공학

 

문제 3. 소프트웨어 개발 방법론과 관련하여 다음 설명에 해당하는 모형이 무엇인지 쓰시오.

소프트웨어 개발 각 단계를 확실히 매듭짓고 그 결과를 철저하게 검토하여 승인 과정을 거친 후에 다음 단계를 진행하는 개발 방법론이다.
소프트웨어 공학에서 가장 오래되고 가장 폭넓게 사용된 전통적인 소프트웨어 생명 주기 모형으로, 고전적 생명 주기 모형이라고도 한다.
소프트웨어 개발 과정의 한 단계가 끝나야만 다음 단계로 넘어갈 수 있는 선형 순차적 모형이다.

답 : 폭포수 모형

 

문제 4. 소프트웨어 개발 방법론과 관련하여 다음 설명이 해당하는 모형이 무엇인지 쓰시오.

보헴(Boehm)이 제안한 것으로, 폭포수 모형과 프로토타입 모형의 장점에 위험 분석 기능을 추가한 모형이다.
여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 완벽한 최종 소프트웨어를 개발하는 것으로 점진적 모형이라고도 한다.
소프트웨어를 개발하면서 발생할 수 있는 위험을 관리하고 최소화하는 것을 목적으로 한다.

답 : 나선형 모형

 

문제 5. 다음에 제시된 나선형(Spiral) 모델의 4가지 주요 활동을 순서대로 나열하시오.

위험 분석, 고객 평가, 계획 수립, 개발 및 검증

답 : 계획 수립 -> 위험 분석 -> 개발 및 검증 -> 고객 평가

 

문제 6. 다음 보기에서 애자일(Agile) 방법론에 해당하는 것만 골라 기호(ㄱ~ㄹ)를 쓰시오.

(ㄱ) 스크럼(Scrum)
(ㄴ) XP(eXtreme Programming)
(ㄷ) 기능 중심 개발(FDD)
(ㄹ) 모듈 중심 개발(MDD)

답 : ㄱ, ㄴ, ㄷ

 

SECTION 002 스크럼(Scrum) 기법

문제 1. 다음이 설명하는 소프트웨어 개발 기법이 무엇인지 쓰시오.

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

답 : 스크럼

 

문제 2. 스크럼의 팀 구성원 중 이해관계자들의 의견을 종합하여 백로그(Backlog)를 작성하는 주체가 누구인지 쓰시오.

답 : 제품 책임자

 

문제 3. 다음의 스크럼(Scrum) 개발 과정을 진행 순서에 맞게 기호(ㄱ~ㅁ)로 나열하시오.

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

답 : ㅁ -> ㄱ -> ㄷ -> ㄹ -> ㄴ

 

SECTION 003 XP(eXtreme Programming) 기법

문제 1. 소프트웨어 공학에서 리팩토링(Refactoring)을 하는 목적에 대해 간략히 서술하시오.

답 : 리펙토링의 목적은 프로그램을 쉽게 이해하고 수정하여 빠르게 개발할 수 있도록 하기 위함이다.

문제 2. 수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상시키는 익스트림 프로그래밍(eXtreme Programming)의 5가지 핵심 가치에는 의사소통(Communication), (1), 용기(Courage), (2), 피드백(Feedback)이 있다. 괄호(1, 2)에 각각 들어갈 적합한 핵심 가치를 쓰시오.

답 : 1. 단순성 2. 존중

문제 3. 다음 보기에서 XP(eXtreme Programming)의 주요 실천 방법을 모두 골라 기호(ㄱ~ㄹ)로 쓰시오.

ㄱ Linear Sequential Method
ㄴ Pair Programming
ㄷ Collective Ownership
ㄹ Continuous Integration

 ㄴ, ㄷ, ㄹ

 

SECTION 004 현행 시스템 파악

문제 1. 다음은 현행 시스템 파악 절차를 3단계로 구분한 것이다. 2단계에서 파악해야 할 내용 두 가지를 쓰시오.

답 : 아키텍처 구성 파악, 소프트웨어 구성 파악

 

문제 2.  다음은 현행 시스템 파악 절차 중 소프트웨어 구성 파악에 대한 설명이다. 괄호에 공통적으로 들어갈 가장 적합한 용어를 쓰시오.

소프트웨어 구성에는 단위 업무 시스템별로 업무 처리를 위해 설치되어 있는 소프트웨어들의 제품명, 용도, (     ) 적용 방식, (     ) 수 등을 명시한다.
시스템 구축비용 면에서 소프트웨어 비용이 적지 않은 비중을 차지하므로, 상용 소프트웨어의 경우 (     ) 적용 방식의 기준과 보유한 (     )의 파악이 중요하다.

답 : 라이선스

 

문제 3. 서비스의 연속성을 보장하기 위해 운용 서버에 장애가 발생했을 때 대기 서버로 서비스를 계속 제공하는 서버 구성 방식으로, 운용 서버의 자료 변경이 대기 서버에도 동일하게 복제되어 관리되는 방식을 가리키는 용어를 쓰시오.

답 : 서버의 이중화

 

SECTION 005 개발 기술 환경 파악

문제 1. DBMS 관련 요구사항 분석 시 고려사항에는 (1), 성능, 기술지원, (2), 구축 비용이 있다. 괄호(1, 2)에 들어갈 가장 알맞은 고려사항이 무엇인지 쓰시오.

1 : 가용성

2 : 구축비용

문제 2. 다음의 설명과 가장 부합하는 용어를 쓰시오.

사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어이다. 데이터 접근, 세션 관리, 트랜잭션 관리 등을 위한 라이브러리를 제공하는 것으로 주로 데이터베이스 서버와 연동해서 사용한다.

답 : 웹 애플리케이션 서버

문제 3. 누구나 별다른 제한 없이 사용할 수 있도록 소스 코드가 공개된 소프트웨어로, 사용 시 라이선스의 종류, 사용자 수, 기술의 지속 가능성 등을 고려해야 하는 소프트웨어를 가리키는 용어를 쓰시오.

답 : 오픈 소스

 

SECTION 006 요구사항 정의

문제 1. 다음의 설명과 부합하는 용어를 쓰시오.

소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 정상적으로 운영되는데 필요한 제약조건 등을 나타낸다.
소프트웨어 개발이나 유지 보수 과정에서 필요한 기준과 근거를 제공한다.
개발하려는 소프트웨어의 전반적인 내용을 확인할 수 있게 하므로 개발에 참여하는 이해관계자들 간의 의사소통을 원할하게 하는 데 도움을 준다.

답 : 

 

문제 2. 다음에 제시된 요구사항을 기능 요구사항과 비기능 요구사항으로 구분하시오.

ㄱ : 담당 교수는 자신이 맡은 과목을 성적을 입력 또는 수정한다.
ㄴ. 학적관리자는 학생 정보를 등록, 삭제할 수 있다.
ㄷ. 학생은 자신이 수강한 모든 과목의 성적을 조회할 수 있다.
ㄹ. 시스템 장애로 인한 정지시간이 1년에 10시간을 넘지 않아야 한다.

(1) 기능 요구사항 : 

(2) 비기능 요구사항 : 

 

문제 3. 요구사항의 4가지 유형을 쓰시오.

기능 요구사항, 비기능 요구사항, 사용자 요구사항, 시스템 요구사항

 

SECTION 007 요구사항 개발 프로세스

문제 1. 다음 보기에서 요구사항 개발 과정에서 필요한 기술을 모두 골라 기호(ㄱ~ㅂ)로 쓰시오.

ㄱ 청취와 인터뷰 질문 기술
ㄴ 분석과 중재 기술
ㄷ 설계 및 코딩 기술
ㄹ 관찰 및 모델 작성 기술
ㅁ 데이터 구조 분석 기술
ㅂ 인터페이스 연계 기술

답 : ㄱ, ㄴ, ㄹ

 

문제 2. 요구사항 명세 기법 중 다음의 설명과 가장 부합하는 기법을 쓰시오.

사용자의 요구를 표현할 때 수학적인 원리와 표기법을 이용한 기법으로, 주로 Z 기법을 사용하여 사용자의 요구사항을 표현한다. 사용자의 요구를 정확하고 간결하게 표현할 수 있다.

답 :  정형 명세 기법

 

문제 3. 다음에 제시된 요구사항 개발 프로세스 단계를 순서에 맞게 기호(ㄱ~ㄹ)로 나열하시오.

ㄱ. 도출 ㄴ. 확인 ㄷ. 명세 ㄹ. 분석

ㄱ, ㄹ, ㄷ, ㄴ

 

문제 4. 다음의 설명과 가장 부합하는 요구사항 개발 프로세스를 쓰시오.

개발 대상에 대한 사용자의 요구사항 중 명확하지 않거나 모호하여 이해되지 않는 부분을 발견하고 이를 걸러내기 위한 과정으로 사용자 요구사항의 타당성을 조사하고 비용과 일정에 대한 제약을 설정한다. 내용이 중복되거나 하나로 통합되어야 하는 등 서로 상충되는 요구사항이 있으면 이를 해결한다.

답 : 요구사항 분석

 

문제 5. 요구사항 개발 프로세스 중 요구사항 명세(Requirement Specification)가 무엇인지 그 개념을 간략히 서술하시오.

답 : 분석된 요구사항을 바탕으로 모델을 작성하고 문서화하는 것을 의미한다.

 

SECTION 008 요구사항 분석

문제 1. 소프트웨어 개발 과정 중 다음과 같은 작업이 수행되는 단계를 쓰시오.

비용과 일정에 대한 제약 설정
타당성 조사
요구사항 정의 문서화
목표 설정

답 : 요구사항 분석

 

문제 2. 소프트웨어 개발 단계 중 요구 분석 과정에서는 다양한 분석 도구가 사용된다. 다음 보기에서 설명하는 분석 도구가 무엇인지 쓰시오.

자료 흐름 그래프 또는 버블(Bubble) 차트라고도 한다.
구조적 분석 기법에 이용된다.
자료의 흐름을 명확하게 표현할 수 있다.
화살표, 원, 사각형, 직선(단선/이중선)을 이용하여 자료의 흐름을 표시한다.

답 : 자료 흐름도

 

문제 3. 요구사항 분석에서 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 자료 흐름도(Data Flow Diagram)의 4가지 구성 요소를 쓰시오.

답 : 프로세스, 자료 흐름, 자료 저장소, 단말

 

문제 4. 다음은 자료 사전(Data Dictionary)에서 사용하는 기호에 대한 설명이다. 괄호(1~ 3)에 들어갈 알맞은 기호를 쓰시오.

기호 의미
= 자료의 정의
+ 자료의 연결
( 1 ) 자료의 생략
( 2 ) 자료의 선택
( 3 ) 자료의 반복
* * 자료의 설명

(1) : ( )

(2) : [ ]

(3) : { }

 

문제 5. 다음 보기에서 구조적 분석 기법 도구에 해당하는 것을 모두 골라 쓰시오.

소단위 명세서, 자료 흐름도, 자료 사전

 

SECTION 009 요구사항 분석

문제 1. SoftTech 사에서 개발한 것으로, 구조적 요구 분석을 하기 위해 블록 다이어그램을 채택한 자동화 도구가 무엇인지 영문 약어로 쓰시오.

답 : SADT

 

문제 2. 다음의 설명과 가장 부합하는 용어를 영문 약어로 쓰시오.

시스템의 분석 및 설계, 또는 문서화에 사용되는 기법으로, 시스템 실행 과정인 입력, 처리, 출력의 기능을 나타내는 기법이다.
햐향식 소프트웨어 개발을 위한 문서화 도구이다.
차트의 종류에는 가시적 도표, 총체적 도표, 세부적 도표가 있다.
기능과 자료의 의존 관계를 동시에 표현할 수 있다.
기호, 도표 등을 사용하므로 보기 쉽고 이해하기 쉽다.

답 : HIPO

 

문제 3. 다음 <보기>에서 요구사항 분석용 자동화 도구를 모두 찾아 쓰시오.

SADT, SWOT, SREM, OSPF, PSL/PSA, CSMA, TAGS

답 : SADT, SREM, PSL/PSA, TAGS

 

SECTION 010 UML의 개요

문제 1. 시스템 개발 과정에서 의사소통이 원할하게 이루어지도록 표준화한 대표적인 객체지향 모델링 언어인 UML의 기본 구성 요소 3가지를 쓰시오.

답 : 사물, 관계, 다이어그램

 

문제 2. 다음의 설명과 가장 부합하는 용어를 쓰시오.

시스템 분석, 설계, 구현 등 시스템 개발 과정에서 시스템 개발자와 고객 또는 개발자 상호 간의 의사소통이 원할하게 이루어지도록 표준화한 대표적인 객쳊지향 모델링 언어이다.
Rumbaugh, Booch, Jacobson 등의 객체지향 방법론의 장점을 통합하였으며, 객체 기술에 관한 국제표준화기구인 OMG(Object Management Group)에서 표준으로 지정하였다.

답 : UML

 

문제 3. UML에서 사물(Things)은 모델을 구성하는 가장 중요한 요소이다. 사물에 대한 다음 설명에서 괄호(1, 2)에 들어갈 알맞은 사물의 종류를 쓰시오.

사물 내용
(   1   ) 시스템의 개념적, 물리적 요소를 표현
행동 사물(Behavioral Things) 시간과 공간에 따른 요소들의 행위를 표현
그룹 사물(Grouping Things) 요소들을 그룹으로 묶어서 표현
(   2   ) 부가적인 설명이나 제약조건 등을 표현

답 :

1. 구조 사물

2. 주해 사물

 

SECTION 011 UML -관계(Relationship)

문제 1. 아래의 UML 모델에서 '차' 클래스와 각 클래스의 관계를 쓰시오.

답 : 일반화 관계

문제 2. 다음의 UML 모델과 설명이 의미하는 관계가 무엇인지 쓰시오.

관리자가 접속할 때 로그인을 해야 하고 회원이 접속할 때도 로그인을 해야한다. 그러므로 관리자와 회원은 로그인이라는 기능으로 그룹화 할 수 있다.

답 : 실체화 관계

문제 3. UML에서 사용하는 관계 중 필요에 의해 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계가 무엇인지 쓰시오.

답 : 의존 관계

 

SECTION 012 UML - 다이어그램

문제 1. UML 다이어그램 중 럼바우(Rumbaugh) 객체지향 분석 기법에서 동적 모델링에 활용되는 다이어그램이 무엇인지 쓰시오.

답 : 

문제 2. 다음 보기의 다이어그램을 구조(Structural) 다이어그램과 행위(Behavioral) 다이어그램으로 구분하시오.

(1) 구조 다이어그램 : ㅁ, ㅂ

(2) 행위 다이어그램 : ㄱ, ㄴ, ㄷ

문제 3. UML 확장 모델에서 스테레오 타입 객체를 표현할 때 사용하는 기호를 쓰시오.

답 : <<>>

문제 4. UML 다이어그램 중 구현 단계에서 사용되는 다이어그램 2가지를 쓰시오.

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

문제 5. UML 다이어그램 중 결과물, 프로세스, 컴포넌트 등 물리적인 자원의 위치를 표현할 때 사용하는 다이어그램을 쓰시오.

답 : 배치 다이어그램

 

SECTION 013 유스케이스 다이어그램

문제 1. 다음 괄호에 공통적으로 들어갈 유스케이스(Use Case) 다이어그램의 요소가 무엇인지 쓰시오.

(     )는 사용자가 보는 관점에서 시스템이 액터에게 제공하는 서비스 또는 기능을 표현한 것이다.
타원으로 표현하며, 타원 안쪽이나 아래쪽에 (     ) 이름을 기술한다.
(     ) 이름은 액터와 시스템 사이에서 이뤄지는 상호 작용의 목적을 내포하되 단순 명료하게 기술해야 한다.

문제  2. 다음의 <요구사항>에 따라 작성된 유스케이스(Use Case) 다이어그램에서 괄호(1~3)에 들어갈 알맞은 용어를 쓰시오.

사용자는 '도서대출' 기능을 수행할 수 있다.
관리자는 '도서관린' 기능을 수행할 수 있다.
'도서대출'을 수행하거나 '도서관리'를 수행하려면, '도서검색'을 수행하야 한다.

답 : 1. 도서대출 2. 도서관리 3. <<include>>

 

문제 3. 유스케이스 다이어그램을 표현할 때 사용되는 구성 요소 4가지를 쓰시오.

답 : 시스템, 액터, 유스케이스, 관계

 

SECTION 014 활동(Activity) 다이어그램

문제 1. UML 다이어그램 중 다음과 같은 특징을 갖는 다이어그램은 무엇인지 쓰시오.

자료 흐름도(DFD, Data Flow Diagram)와 유사하다.
시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서에 따라 표현한 것이다.
유스케이스 안에서 혹은 유스케이스 사이의 복잡한 처리의 흐름을 표현할 수 있다.

답 : 활동 다이어그램

문제 2. 다음은 활동(Activity) 다이어그램의 요소 중 하나를 설명한 것이다. 설명에 해당하는 요소의 명칭을 쓰시오.

액티비티 수행을 담당하는 주체를 구분한다.
가로 또는 세로 실선을 그어 구분한다.

답 : 스윔레인

문제 3. 다음은 활동(Activity) 다이어그램의 요소를 나열한 것이다. 괄호(1, 2)에 들어갈 알맞은 명칭을 쓰시오.

답 : 1. 조건 노드 2. 포크 노드

문제 4. 활동 다이어그램의 요소 중 액션(Action)과 액티비티(Activity)의 차이점을 간략히 서술하시오.

답 : 액션이 더이상 분해할 수 없는 단일 작업이라면 액티비티는 몇 개의 액션으로 분리될수 있는 작업이다.

 

SECTION 015 클래스(Class) 다이어그램

문제1. UML 다이어그램 중 다음과 같은 특징을 갖는 다이어그램이 무엇인지 쓰시오.

시스템을 구성하는 요소에 대해 이해할 수 있는 구조적 다이어그램이다.
시스템을 구성하는 요소를 문서화하는 데 사용된다.
코딩에 필요한 객체의 속성, 함수 등의 정보를 잘 표현하고 있어 시스템을 모델링하는 데 자주 사용된다.
클래스, 제약조건, 관계 등으로 구성된다.

답 : 클래스 다이어그램

문제 2. 클래스 다이어그램의 구성 요소 중 클래스(Class)의 개념을 서술하시오.

답 : 각각의 객체들이 갖는 속성과 오퍼레이션(동작)을 표현한 것

문제 3. 다음 설명에서 괄호에 공통으로 들어갈 알맞은 용어를 쓰시오.

(     )는 연관 관계에 있는 두 클래스에 추가적으로 표현해야 할 속성이나 오퍼레이션이 있는 경우 생성하는 클래스이다.
두 클래스의 연관 관계를 타타내는 선의 가운데로부터 점선을 (     )로 이어 표시한다.
(     )의 이름은 연관 관계의 이름을 이요해 지정한다.

답 : 연관 클래스

 

SECTION 016 시퀀스(Sequence) 다이어그램
문제 1. 다음 보기에서 시퀀스 다이어그램의 구성 요소만 골라 쓰시오.

생명선, 실행 상자, 확장, 메시지, 유스케이스, 액티비티

답 : 

문제 2. UML 다이어그램 중 다음과 같은 특징을 갖는 다이어그램이 무엇인지 쓰시오.

시스템이나 객체들이 메시지를 주고받으며 시간의 흐름에 따라 상호 작용하는 과정을 액처, 객체, 메시지 등의 요소를 사용하여 그림으로 표현한 것이다.

반응형