호랑사과

Chapter 02 소프트웨어 개발과 구조 연습문제 (p.80~85) 본문

작업실/C로 배우는 쉬운 자료구조

Chapter 02 소프트웨어 개발과 구조 연습문제 (p.80~85)

호랑사과 2013. 9. 21. 19:14

1. 소프트웨어 생명 주기와 각 단계를 시스템 예를 들어 설명하시오.

 

답 : 요구분석 → 시스템 명세 → 설계 → 구현 → 텍스트 → 유지보수

이게 정확한지는 모르겠습니다;;

 


2. 데이터베이스 설계 단계의 순서로 알맞은 것은?

① 물리적 설계 ② 구현 ③ 개념적 설계

④ 요구 조건 분석 ⑤ 논리적 설계

 

답 : 다. ④-③-⑤-①-②

 


3. 소프트웨어의 전통적 개발 단계 중 요구 분석 단계에 대한 설명으로 옳지 않은 것은?

 

답 : 라. ‘고품질의 소프트웨어를 개발하기 위해 소프트웨어의 내부 구조를 기술하는 단계’는 설계 단계에서 이루어진다.

 


4. 소프트웨어 개발 방법론에서 구현(Implementation)에 대한 설명으로 가장 적절한 것은?

 

답 : 다. 프로그래밍 또는 코딩이라고 불리며 설계 명세서가 컴퓨터가 알 수 있는 모습으로 변환되는 과정

 


5. 소프트웨어 개발을 위한 프로그래밍 언어의 선정 기준으로 거리가 먼 것은?

 

답 : 라. 4세대 언어 여부

사실 ‘다. 과거의 개발 실적’이랑 헛갈림.

 


6. 소프트웨어 개발의 생산성에 영향을 미치는 요소가 아닌 것은?

 

답 : 라. 소프트웨어 사용자의 능력

 


7. 소프트웨어의 재사용으로 얻어지는 이익이 아닌 것은?

 

답 : 가. 표준화의 원칙을 무시할 수 있다.

 


8. 소프트웨어의 재사용과 관련된 내용 중 가장 적절한 설명은?

 

답 : 라. 소프트웨어의 개발 생산성과 품질을 높이려는 주요 방법이다.

 


9. 상향식 통합 테스트(Bottom-Up Integration Test)의 과정이 옳게 나열된 것은?

드라이버(Driver)라는 제어 프로그램의 작성 

② 낮은 수준의 모듈들을 클러스터(Cluster)로 결합 

③ 클러스터의 검사 ④ 드라이버를 제거하고 클러스터를 상위로 결합

 

답 : 라. ①-②-④-③

 


10. 시스템 테스팅 단계의 순서가 적절하게 이루어진 것은?

 

답 : 가. 단위 테스트-통합 테스트-시스템 테스트-수용 테스트

 


11. 검증 시험(Validation Test)을 할 때 베타 테스트(Beta Test)에 대한 설명으로 옳은 것은?

 

답 : 라. 실업무를 가지고 사용자가 직접 시험한다.


 

12. 최종 사용자가 여러 장소의 고객 위치에서 소프트웨어에 대한 검사를 수행하는 검증 검사 기법의 종류는?

 

답 : 가. 베타 검사

 


13. 소프트웨어 라이프사이클 단계 중 가장 오랜 시간이 걸리며 대부분의 비용을 차지하는 단계는?

 

답 : 운용 및 유지 보수 단계

 


14. 유지 보수의 활동 종류로 볼 수 없는 것은?

 

답 : 나. 품질(Quality) 보수

 


15. 소프트웨어 유지 보수 작업의 목적으로 부적절한 것은?

 

답 : 라. 설계 수정

 


16. 소프트웨어 유지 보수에 관련된 설명으로 옳지 않은 것은?

 

답 : 라. 소프트웨어 비용 중 유지 보수 비용은 개발 비용보다 적다.

유지 보수는 모든 단계 중 가장 길고 비용이 많이 들어간다.

 


17. 소프트웨어 개발 단계에서 가장 많은 비용이 소요되는 단계는?

 

답 : 라. 유지 보수 단계

 


18. 소프트웨어에 새로운 기능을 추가하거나 성능을 개선하는 활동으로, 소프트웨어 유지 보수 활동 중 가장 많은 비용이 소요되는 것은?

 

답 : 다. 완전화 보수

 


19. 유지 보수의 종류 중 소프트웨어를 운용하는 환경 변화에 대응하여 소프트웨어를 변경하는 경우로써 운영체제나 컴파일러 같은 프로그래밍 환경의 변화와 주변 장치 또는 다른 시스템 요소가 향상되거나 변경될 때 대처할 수 있는 것은?

 

답 : 라. Adaptive Maintenance (적응형 유지 보수)

 


20. 좋은 소프트웨어의 조건이라고 할 수 없는 항목은?

 

답 : 라. 프로그램이 독창적이어야 한다.

 


21. 소프트웨어 품질 측정의 항목으로 거리가 먼 것은?

 

답 : 다. 간결성

 


22. 소프트웨어 품질 목표 중 사용자의 요구 기능을 충족시키는 정도를 의미하는 것은?

 

답 : 다. Flexibility (유지 보수성)

 


23. 시스템을 평가하는 목적으로 거리가 먼 것은?

 

답 : 라. 시스템 운영 요원의 재훈련

 


24. 알고리즘의 요건을 설명하시오.

 

답 : 알고리즘 수행에 필요한 자료가 외부에서 입력되어야 하고 수행 후 하나 이상의 결과를 출력해야 한다. 그리고 수행 뒤에 반드시 종료되어야 한다. 또한 수행할 작업의 내용과 순서를 나타내는 알고리즘의 명령어들은 명확하게 명세 되어야 하고 모든 명령어들은 기본적이며 실행이 가능해야 한다.

 


25. 다음의 알고리즘을 순서도를 사용하여 표현하시오.

for (i←1 ; i<=n ; i←i+1) do {

for (j←1 ; j<=n ; j←j+1) do

A ← A+B;

}

 

답은 휴가나가면 달겠습니다.

 


26. 문제 25번 알고리즘의 시간 복잡도를 빅-오(Big Oh) 표기법으로 표현하시오.

 

답 : n+(n-1)*(n+n-1)

 


27. 다음 순서도의 빈칸에 들어갈 답항을 선택하시오.

 

답 : ① SU+1, 1부터 500까지 차례대로 완전수인지 검토하기 위함.

② J+1, J는 약수의 일종임.

③ J, (SU/J)*J의 값이 수학 계산처럼 SU가 아니라 (SU/J)부터 차례대로 계산하기 때문에 SU값이랑 다르게 나오는 것을 이용하여 REM식이 그렇게 만들어짐.

④ SUM+J, 약수의 합계

⑤ SU, 완전수의 조건이 자신을 제외한 약수를 더한 값과 자신 값이 같아야함이기에 SU=SUM임.

 


28. 다음 순서도의 빈칸에 들어갈 답항을 선택하시오.

 

답 : ① J, 배열 ARRAY의 배열 크기를 나타내므로 J가 10이면 오른쪽 아래 알고리즘이 10번 돌았다는 의미임.

② SUM, 배열에 있는 정수를 더하기 위함.

③ ARRAY(J), ARRAY(J)>MAX가 성립되면 그 값이 최대값이므로 해당값을 MAX에 초기화 시킨다는 의미임.

④ SUM-MAX, 이때 SUM값은 10개의 정수를 모두 합한 것이므로 그 중 최대값만 빼면 원하는 답을 구하게 됨.

⑤ SUM/9, 최대값을 제외한 나머지 정수의 합의 평균을 내기 위함.