본문으로 바로가기

2017년 3월 5일에 친 정보처리기사 필기 소프트웨어 공학 관련 기출문제 관련 오답노트


소프트웨어공학도 학부때 수업을 듣지 않았기에 (그 교수님이 많이 싫었다)

계속 기출문제 풀면서 틀린것들을 정리했다. 두번째 틀린 문제가 생겨서, 그건 다른 마크를 붙여서 표기.



2014년05월25일 기출문제

CASE에 대한 설명으로 거리가 먼 것은?

     1. 정형화된 메커니즘을 소프트웨어 개발에 적용하여 소프트웨어 생산성 향상을 구현한다.

     2. 시스템 개발과정의 일부 또는 전체를 자동화시킨 것이다.

     3. 개발 도구와 개발 방법론이 결합된 것이다.

     4. 도형목차, 총괄도표, 상세도표로 구성되어 전개된다.

 

2008년05월11일 기출문제  

CASE에 대한 설명으로 거리가 먼 것은?       

     1. 소프트웨어 모듈의 재사용성이 향상된다.

     2. 자동화된 기법을 통해 소프트웨어 품질이 향상된다.

     3. 소프트웨어 사용자들이 소프트웨어 사용 방법을 신속히 숙지할 수 있도록 개발된 자동화 패키지이다.

     4. 소프트웨어 유지보수를 간편하게 수행할 수 있다.

 

20060305일 기출문제

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

     1. 소프트웨어 생명 주기(Life Cycle)의 전체 단계를 연결시켜 주는 통합된 도구를 제공한다.

     2. CASE 패키지의 3단계는 도식목차, 총괄 다이어그램, 상세 다이어그램으로 구분된다.

     3. 상위(Upper) CASE에서는 주로 코드를 작성하고 테스트하며, 문서화하는 작업을 지원한다. -> 하위 CASE

     4. 소프트웨어 개발의 생산성과 신뢰성에 저하를 가져와 널리 사용되지 못하고 있다.     


CASE

소프트웨어 개발 과정에서 사용되는 요구 분석, 설계, 구현, 검사 디버깅 과정 전체 또는 일부를 자동화하는 것이다.

소프트웨어 생명 주기의 전체 단계를 연결해 주고 자동화해 주는 통합된 도구를 제공해주는 기술

주요 기능 : 소프트웨어 생명주기 단계의 연결, 다양한 소프트웨어 개발 모형 지원, 그래픽 지원 .

 

 

2007년09월02일 기출문제  

자료 흐름도의 구성 요소가 아닌 것은?

     1. Process

     2. Data Store

     3. Data Dictionary

     4. Terminator

 

 

20130602일 기출문제  

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

세분화 된 자료 흐름도에서 최하위 단계 프로세스의 처리절차를 기술한 것으로, 작성 툴에는 서술문장, 구조적언어, 의사결정나무, 의사결정표, 그래프 등이 있다 

 

     1. ERD

     2. Mini-spec

     3. DD

     4. STD

 

2015년08월16일 기출문제

시스템의 구성 요소 중 자료를 입력하여 출력될 때까지의 처리 과정이 올바르게 진행되는지 감독하는 것은? 

     1. Feedback

     2. Process

     3. Output

     4. Control


① 입력 (Input) : 처리 방법, 처리할 데이터, 조건을 시스템에 투입하는 것

② 처리 (Process) : 입력된 데이터를 처리 방법과 조건에 따라 처리하는 것

③ 출력 (Output) : 처리된 결과를 시스템에서 산출하는 것

④ 제어 (Control) : 자료를 입력하여 출력될 때까지의 처리 과정이 올바르게 진행되는지 감독하는 것

⑤ 피드백 (Feed Back) : 출력된 결과가 예정된 목표를 만족시키지 못할 경우, 목표 달성을 위해 반복 처리하는 것

 

 

2012년08월26일 기출문제

나선형(Spiral) 모형에 대한 설명으로 옳지 않은 것은?

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

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

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

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

4번은 프로토타입 모형(Prototype Model)이다.

 

2014년05월25일 기출문제

각 단계마다 다음과 같은 작업이 실시되는 생명 주기 모형은? 

     1. Waterfall 모형

     2. Prototype 모형

     3. Spiral 모형

     4. 4GT 모형


나선형 모형(Spiral Model, 점진적 모형)

보헴(Boehm) 제안한 것으로, 폭포수 모형과 프로토타입 모형의 장점에 위험 분석 기능을 추가한 모형이다.

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

개발순서 : 계획 정의 ->위험분석 -> 공학적 개발-> 고객평가

장점 : 가장현실적인 모형으로, 대규모 시스템에 적합함

단점 : 위험성 평가에 크게 의존하기 때문에 이를 발견하지 않으면반드시 문제가 발생함.

 

2007년03월04일 기출문제

나씨-슈나이더만(Nassi-Schneiderman) 도표는 구조적 프로그램을 표현하기 위해 고안되었다.

이 방법에서 알고리즘의 제어구조는 3가지로 충분히 표현될 수 있는데, 이에 해당하지 않는 것은?

     1. 선택, 다중선택(if ∼ then ∼ else, case)

     2. 반복(repeat ∼ until, while, for)

     3. 분기(goto, return)

     4. 순차(sequential)


N-S Chart 

순차구조, 반복구조, 선택구조, 다중 선택 구조 등을 표현함

Sequence, While, Do~Until, IF~Then~Else, Case

Goto나 화살표를 사용하지 않으며 선택과 반복 구조를 시각적으로 표현함, 이해가 쉽고 코드 변환이 용이하다

 

2016년05월08일 기출문제

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

     1. Brooks의 법칙

     2. Boehm의 법칙

     3. Pareto의 법칙

     4. Jackson의 법칙


파레토 법칙(Pareto Principle)

파레토 기법은 1906년 이탈리아의 경제학자 Vilfredo Pareto가 그의 농장에서 

20%의 콩깍지에서 80%의 콩을 수확하는 사실에 기인하여 80 20의 법칙을 발표했다

 

2014년08월17일 기출문제  

브룩스(Brooks) 법칙의 의미로 가장 적절한 것은?       

     1. 프로젝트 개발에 참여하는 남성과 여성의 비율은 동일 해야 한다.

     2. 새로운 개발 인력이 진행 중인 프로젝트에 투입될 경우 작업 적응 기간과 부작용으로 인해 빠른 시간 내에 프로젝트는 완료될 수 없다.

     3. 프로젝트 수행 기간의 단축을 위해서는 많은 비용이 투입되어야 한다.

     4. 프로젝트 개발자가 많이 참여할수록 프로젝트의 완료 기간은 지연된다.

브룩스(Brooks)의 법칙

프로젝트 진행중에 새로운 인력을 투입할 경우 작업 적응 기간과 부작용으로 인해 일정을 지연시키고, 프로젝트 혼란을 가져오게 된다는 법칙.

 

20100905일 기출문제  

객체지향 분석 기법 중 다음 설명에 해당하는 것은?

 

- 미시적 개발 프로세스와 거시적 개발 프로세스를 모두 포함한다

- 클래스와 객체들을 분석 및 식별하고 클래스의 속성과 연산을 정의한다

- 클래스와 객체의 의미를 식별한다

- 클래스와 객체들의 관계를 식별한다

- 각 작업에 대한 다이어그램, 클래스 계층 정의, 클래스들의 클러스트링 작업을 수행한다.

- 클래스와 객체를 구현한다. 

    

     1. Wirfs-Brock 방법

     2. Jacobson 방법

     3. Booch 방법

     4. Coad Yourdon 방법

 

2012년08월26일 기출문제  

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

     1. E-R 다이어그램을 사용하여 객체의 행위를 데이터모델링 하는데 초점을 둔 방법이다.

     2. 객체, 동적, 기능 모델로 나누어 수행하는 방법이다.

     3. 미시적 개발 프로세스와 거시적 개발 프로세스를 모두 사용하는 방법이다.

     4. Use Case를 강조하여 사용하는 방법이다.


Rumbaugh(럼바우)방법

가장 일반적으로 사용되는 방법으로 분석 활동을 객체모델, 동적모델, 기능모델로 나누어 수행하는 방법이다.

Booch(부치) 방법

미시적(Micro) 개발프로세스와 거시적(Macro) 개발 프로세스를 모두 사용하는 분석방법

클래스와 객체들을 분석 및 식별하고 클래스의 속성과 연산을 정의한다.

Jacobson 방법

Use Case를 강조하여 사용하는 분석 방법

Coad와 Yourdon 방법

E-R다이어그램을 사용하여 객체의 행위를 모델링하며,

객체식별, 구조식별, 주제정의, 속성과 인스턴스 연결 정의, 연산과 메시지 연결정의등의 과정으로 구성하는 기법

Wirfs-Brock 방법

분석과 설계간의 구분이 없고, 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행하는 기법이다.

 

 

2012년03월04일 기출문제

소프트웨어 재사용에 대한 설명으로 틀린 것은? 

     1. 새로운 개발 방법론의 도입이 용이하다.

     2. 개발 시간과 비용이 감소한다.

     3. 프로그램 생성 지식을 공유할 있다.

     4. 기존 소프트웨어에 재사용 소프트웨어를 추가하기 어려운 문제점이 발생할 있다.

소프트웨어 재사용시 새로운 개발 방법론의 도입이 어렵다.

 

중요 2011년08월21일 기출문제

소프트웨어 역공학(Software reverse engineering)에 대한 설명으로 옳지 않은 것은? 

     1. 역공학의 가장 간단하고 오래된 형태는 재문서화라고 할 수 있다.

     2. 기존 소프트웨어의 구성 요소와 그 관계를 파악하여 설계도를 추출한다.

     3. 원시 코드를 분석하여 소프트웨어의 관계를 파악한다.

     4. 대상 시스템 없이 새로운 시스템으로 개선하는 변경 작업이다.


역공학(Software reverse engineering)

소프트웨어를 분석하여 소프트웨엉 개발과정과 데이터 처리과정을 분석 및 설계 정보를 재발견하거나 다시 만들어 내는 작업이다.

현재 프로그램으로부터 데이터, 아키텍쳐, 그리고 절차에 관한 분석 및 설계 정보를 추출하는 작업이다.

 

 

2015년08월16일 기출문제

장래의 유지보수성 또는 신뢰성을 개선하거나 소프트웨어의 오류발생에 대비하여 미리 예방수단을 강구해 두는 경우의 유지보수 형태는?

     1. Corrective maintenance

     2. Perfective maintenance

     3. Preventive maintenance

     4. Adaptive maintenance


수정(Corrective) 보수 :(수리․교정․정정․하자 보수) :시스템을 운영하면서 검사 단계에서 발견하지 못한 오류를 찾아 수정하는 활동 

적응(Adaptive) 보수 : (환경 적응, 조정 보수):소프트웨어 산물의 수명 기간 중에 발생하는 환경의 변화를 

    기존의 소프트웨어 산물에 반영하기 위하여 수행 하는 활동

완전화(Perfective) 보수 : (기능 개선, 기능 보수): 소프트웨어의 본래 기능에 새로운 기능을 추가하거나 성능을 개선하기 위해 

    소프트웨어를 확장 시키는 활동 ․ 유지보수 활동 중 가장 큰 업무 및 비용을 차지하는 활동

예방(Preventive) 보수: 미래에 유지보수를 용이하게 하거나 기능을 향상시키기 위해소프트웨어를 변경하는 활동 ․ 

    예방 유지보수를 소프트웨어 재공학이라고도 함

 

2005년03월20일 기출문제

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

     1. 처리공정(process)

     2. 자료흐름(data flow)

     3. 자료사전(data dictionary)

     4. 자료저장소(data store)

 

2012년03월04일 기출문제

형상관리(Configuration management)의 관리 항목과 거리가 먼 것은? 

     1. 정의 단계의 문서

     2. 개발 단계의 문서와 프로그램

     3. 유지보수 단계의 변경 사항

     4. 소프트웨어 개발 인력


형상관리 관리항목

정의 단계의 문서

개발 단계의 문서와 프로그램

유지보수 단계의 변경사항

 

2015년05월31일 기출문제

정형 기술 검토(FTR)의 지침 사항으로 거리가 먼 것은? 

     1. 사전에 작성한 메모들을 공유한다.

     2. 논쟁이나 반박을 제한하지 않는다.

     3. 의제를 제한한다.

     4. 참가자의 수를 제한한다.

 

2012년08월26일 기출문제

소프트웨어 품질보증을 위한 정형 기술 검토의 지침사항으로 옳지 않은 것은? 

     1. 논쟁과 반박의 제한성

     2. 의제의 무제한성

     3. 제품검토의 집중성

     4. 참가인원의 제한성


정형기술검토 지침사항

- 제품의 검토에만 집중하라

- 의제를 제한하여 진행하라

- 논쟁과 반박을 제한하라

- 문제의 영역을 명확히 표현하라

- 해결책과 개선책에 대해 논하지 마라

- 참가자의 수를 제한하라

- 체크 리스트를 개발하라

- 자원과 시간 일정을 할당하라

- 의미있는 훈련을 행하라

- 검토자들의 메모를 공유하라

- 검토 과정과 결과를 재검토하라

 

2007년03월04일 기출문제

다음은 소프트웨어의 특성에 대한 설명이다. 각 특성의 정의를 올바르게 짝지은 것은?

사용자의 기능 변경의 필요성을 만족하기 위하여 소프트웨어를 진화하는 것이 가능해야 한다

소프트웨어가 자원을 쓸데 없이 낭비하지 않아야 한다

소프트웨어는 적절한 사용자 인터페이스와 문서를 가지고 있어야 한다

     1. (1) 효율성, (2) 유지보수성, (3) 사용용이성

     2. (1) 사용용이성, (2) 유지보수성, (3) 효율성

     3. (1) 유지보수성, (2) 효율성, (3) 사용용이성

     4. (1) 효율성, (2) 사용용이성, (3) 유지보수성

 

 

2013년03월10일 기출문제

소프트웨어 개발 영역을 결정하는 요인 중 다음 사항과 관계되는 것은?

소프트웨어에 의해 간접적으로 제어되는 장치와 소프트웨어를 실행하는 하드웨어

새로운 소프트웨어를 연결하는 소프트웨어

I/O 장치를 통하여 소프트웨어를 연결하는 사람

순서적 연산을 통해 소프트웨어를 실행하는 절차

     1. 기능

     2. 인터페이스

     3. 성능

     4. 제약조건

 

2013년03월10일 기출문제  

블랙박스 검사에 대한 설명으로 옳지 않은 것은?       

     1. 인터페이스 결함, 성능 결함, 초기화와 종료 이상 결함 등을 찾아낸다.

     2. 각 기능별로 적절한 정보 영역을 정하여 적합한 입력에 대한 출력의 정확성을 점검한다.

     3. 블랙박스 검사는 기능 검사라고도 한다.

     4. 조건 검사, 루프 검사, 데이터 흐름 검사 등의 유형이 있다.


조건 검사, 루프 검사, 데이터 흐름 검사 등의 유형 등은 화이트 검사 유형

 

2007년03월04일 기출문제

다음 설명에 해당하는 소프트웨어 테스트 기법은?    

 - 소프트웨어 인터페이스에서 실시되는 검사로 설계된 모든 기능들이 정상적으로 수행 되는지 확인한다.

- 소프트웨어의 기능이 의도대로 작동하고 있는지, 입력은 적절하게 받아들였는지, 출력은 정확하게 생성 되었는지를 보여주는데 사용된다.

-Equivalence Partitioning Testing, Boundary Value Analysis 등이 이 기법에 해당한다.


     1. 화이트박스 테스트

     2. 블랙박스 테스트

     3. 레드박스 테스트

     4. 블루박스 테스트

화이트 박스 테스트: 논리검사

블랙 박스 테스트 : 물리적인 검사

 

2010년09월05일 기출문제

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

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


     1. Validation

     2. Coupling

     3. Cohesion

     4. Interface


응집도(Cohesion)

기능적 응집도 > 순차적 응집도 > 교환적 응집도 > 절차적 응집도 > 시간적 응집도 > 논리적 응집도  > 우연적 응집도

기능적 응집도(Functional)

모듈 내부의 모든 요소들이 단일 문제와 연관

순차적 응집도(Sequential)

모듈 내의 하나의 활동으로부터 나온 출력이, 다은 활동의 입력 데이터로 사용

교환적 응집도(Communication)

동일한 입력과 출력을 사용하여 서로 다른 기능을 수행하는 구성요소들이 모여 있을 때

절차적 응집도(Procedural)

모듈이 다수의 관련 기능을 가질 때, 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행

시간적 응집도(Temporal)

특정 시간에 처리되는 몇개의 기능을 모아, 하나의 모듈로 작성할 경우의 응집도

논리적 응집도(Logical)

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

우연적 응집도(Coincidental)

모듈 내부의 각 구성 요소들이 서로 관련 없는 다른 기능을 수행하는 경우의 응집도

 

 

2011년03월20일 기출문제  

다음 설명에 해당하는 결합도는?     

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

 

     1. control coupling

     2. content coupling

     3. stamp coupling

     4. common coupling

 

2004년09월05일 기출문제

모듈의 결합도를 높은 순서대로 옳게 표시한 것은?     

 (ㄱ) 공통 결합 (ㄴ) 제어 결합 (ㄷ) 스탭프 결합 (ㄹ) 자료 결합 (ㅁ)내용 결합


     1. (ㄱ) > (ㄴ) > (ㄷ) > (ㄹ) > (ㅁ)

     2. () > () > () > () > ()

     3. (ㄴ) > (ㄷ) > (ㄹ) > (ㅁ) > (ㄱ)

     4. (ㄷ) > (ㄹ) > (ㅁ) > (ㄱ) > (ㄴ)

내용 결합 > 공통 결합 > 외부 결합 > 제어 결합 > 스탬프 결합 > 자료 결합

자료 결합도(Data Coupling)

모듈 간의 인터페이스가 자료 요소로만 구성

스탬프 결합도(Stamp Coupling)

모듈간의 인터페이스로 배열이나 레코드 등의 자료구조 사용

제어 결합도(Control Coupling)

어떤 모듈이 다른 모듈의 논리적인 흐름을 제어 혹은 제어 요소(Function Code, Switch, Tag, Flag)를 사용

외부 결합도(External Coupling)

어떤 모듈에서 외부로 선언한 데이터를 다른 모듈에서 참조

공통 결합도(Common Coupling)

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

내용 결합도(Content Coupling)

한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 직접 참조하거나 수정

 


반응형