소프트웨어의 정의와 품질 (문제&정답)

2025. 4. 18. 14:39문제: 소프트웨어 공학

 

서술형

Q1. 소프트웨어 공학이란 무엇이며, 어떤 원리를 적용하는 학문인가요?


 

단답형

Q2. 소프트웨어 개발 생명주기의 단계들을 순서대로 나열하시오.
→ ( )


 

객관식

Q3. 다음 중 소프트웨어 공학의 주요 목표가 아닌 것은?

A. 개발 대상의 명확화
B. 하드웨어 자원 최적화
C. 개발 과정의 체계화
D. 사용자의 요구사항 충족


 

객관식

Q4. 다음 중 ‘관심사의 분할’과 가장 밀접한 관련이 있는 설명은?

A. 개발자의 성향에 따라 개발이 다르다
B. 전체 시스템을 한 번에 개발하지 않고 나눠서 개발
C. 복잡한 문제를 단순화하기 위해 기능을 분리
D. 재사용을 위한 모듈화를 강조함


빈칸 문제

Q5. 소프트웨어를 높은 응집도와 낮은 결합도로 설계하는 것은 __ 라고 한다.

Q6. 기능의 세부적인 사항을 감추고 주요 속성만 정의하는 것을 __ 이라고 한다.


 

객관식

Q7. 다음 중 소프트웨어 외적 품질 요소가 아닌 것은?

A. 정확성
B. 신뢰성
C. 재사용성
D. 견고성


빈칸 문제

Q8. Availability = __ / OperationTime

Q9. 평균 고장 간격을 나타내는 지표는 __ 이다.


서술형

Q10. 소프트웨어 품질이 정량적으로 측정하기 어려운 이유를 설명하시오.


 

객관식

Q11. 다음 중 유지보수 유형과 설명이 바르게 연결되지 않은 것은?

A. 수정 유지보수 - 오류 수정
B. 적응 유지보수 - 환경 변화 대응
C. 완전 유지보수 - 성능 개선
D. 예방 유지보수 - 리팩토링을 통한 코드 개선


빈칸 문제

Q12. 소프트웨어 이식성은 다양한 __ 에서 실행 가능한지를 의미한다.

Q13. 재사용성 계산 공식은 reusability(P) = __ / LOC(S) 이다.


 

객관식

Q14. 다음 중 프로세스 품질의 평가 항목이 아닌 것은?

A. 표준 준수성
B. 도구 적합성
C. 소프트웨어 성능
D. 프로젝트 데이터 관리 수준


✅ 정답 및 해설

A1. 품질 높은 소프트웨어를 경제적으로 개발하기 위해, 전 과정에서 공학적, 과학적, 수학적 원리를 적용하는 학문

A2. 계획 → 분석 → 설계 → 구현 → 테스트 → 유지보수

A3. B. 하드웨어 자원 최적화
(소프트웨어 공학은 주로 소프트웨어 개발을 위한 공학적 체계화가 목표)

A4. C. 복잡한 문제를 단순화하기 위해 기능을 분리

A5. 모듈화
A6. 추상화

A7. C. 재사용성 (→ 내적 품질 요소)

A8. UsableTime
A9. MTBF (Mean Time Between Failure)

A10. 소프트웨어는 물리적으로 존재하지 않기 때문에 직접 측정이 어렵고, 다양한 이해관계자마다 품질 기준이 달라 절대적인 평가가 어려움

A11. D. 예방 유지보수 - 리팩토링을 통한 코드 개선
(예방 유지보수는 미래 오류 예방 목적, 리팩토링은 완전 유지보수에 더 가까움)

A12. 플랫폼
A13. LOC(R)

A14. C. 소프트웨어 성능 (→ 이는 품질 평가 요소이지만 프로세스 품질 항목은 아님)

반응형