2025. 4. 18. 14:22ㆍ문제: 소프트웨어 공학
1. 소프트웨어 엔지니어의 정의로 가장 적절한 것은?
a) 하드웨어 시스템을 설계하고 유지보수하는 기술자
b) 소프트웨어를 구매하고 유지보수만 하는 역할
c) 사용자 요구를 분석하고 시스템을 설계·구현·유지보수하는 역할
d) 주로 회계 및 재무 시스템을 개발하는 사람
2. 요구사항 분석 단계에서 수행되는 작업이 아닌 것은?
a) 고객의 요구사항 조사
b) 명세서 작성
c) 알고리즘 구현
d) 일정 계획 수립
3. 시스템 설계 단계에서 수행되는 작업은?
a) 고객의 니즈 조사
b) 성능 테스트
c) 입력과 출력 구조 정의
d) 에러 로그 분석
4. 소프트웨어 아키텍처 분석의 주요 고려 요소로 적절하지 않은 것은?
a) 보안
b) 확장성
c) 하드웨어 구매
d) 성능
5. 구현(코딩) 단계에서 포함되지 않는 항목은?
a) 코드 품질 관리
b) 버전 관리
c) 알고리즘 선택
d) 코딩 스타일 가이드
6. 테스트 및 유지보수 단계에서 수행되는 작업이 아닌 것은?
a) 단위 테스트
b) 통합 테스트
c) 요구사항 분석
d) 필드 테스트
7.다음 중 소프트웨어 개발 시 고려 요소로 적절하지 않은 것은?
a) 고객의 요구사항
b) 예산 및 비용
c) 개발 언어의 역사
d) 법적 규제
8. MIPS는 어떤 것을 나타내는 지표인가?
a) 메모리 용량
b) 초당 처리 가능한 명령어 수
c) 소프트웨어 품질
d) 하드디스크 속도
9. CPU 성능을 나타내는 지표로 MIPS 외에 사용되는 것은?
a) API
b) DPI
c) CPI, FLOPS
d) RGB
10.시간 복잡도와 가장 밀접한 개념은?
a) 메모리 용량
b) 데이터베이스 구조
c) 연산 속도 및 처리 시간
d) 보안 인증
11. 순차적 계산에 강한 장치는?
a) GPU
b) SSD
c) DRAM
d) CPU
12. 병렬 계산 및 벡터 연산에 적합한 장치는?
a) CPU
b) HDD
c) GPU
d) SRAM
13. 공간 복잡도는 무엇과 관련이 깊은가?
a) 연산 정확도
b) 저장 공간 사용량
c) 사용자 인터페이스
d) 전력 소비량
14. 다음 중 캐시 메모리로 중 가장 빠른 메모리는?
a) DRAM
b) SSD
c) SRAM
d) HBM
15. GPU에서 주로 사용되며 병렬 처리가 가능한 메모리는?
a) SRAM
b) HDD
c) HBM
d) ROM
16. 소프트웨어 엔지니어에서 중요한 고려요소 5가지를 서술하시오
17.시스템 설계 (System Design) 단계에서 수행하는 작업을 서술하시오.
18. 소프트웨어 아키텍처 분석 (Software Architecture Analysis) 단계에서 수행하는 작업을 서술하시오
19. 시간 복잡도와 공간 복잡도의 개념을 서술하시오.
✅ 정답 및 해설
- 정답: c) 사용자 요구를 분석하고 시스템을 설계·구현·유지보수하는 역할
→ 소프트웨어 엔지니어의 핵심 역할은 사용자의 니즈를 반영한 시스템 전 개발과정 참여. - 정답: c) 알고리즘 구현
→ 알고리즘 구현은 설계 이후의 코딩 단계에서 수행됨. - 정답: c) 입력과 출력 구조 정의
→ 시스템 설계의 핵심은 입력과 출력 구조, 인터페이스, 알고리즘 등을 정의하는 것. - 정답: c) 하드웨어 구매
→ 아키텍처 분석은 소프트웨어 구조 설계로 하드웨어 구매와 직접 관련 없다. - 정답: c) 알고리즘 선택
→ 알고리즘 선택은 설계 단계에 포함되며, 구현 단계에서는 코드화가 중심. - 정답: c) 요구사항 분석
→ 요구사항 분석은 소프트웨어 개발의 초기 단계이다. - 정답: c) 개발 언어의 역사
→ 역사보다는 기술 선정, 비용, 법적 규제가 중요 고려 요소이다. - 정답: b) 초당 처리 가능한 명령어 수
→ MIPS는 "Million Instructions Per Second"의 약자로 명령어 처리 성능을 나타냄. - 정답: c) CPI, FLOPS
→ CPU 성능 지표로는 CPI(클럭당 명령어 수), FLOPS(부동소수점 연산 성능) 등이 있다. - 정답: c) 연산 속도 및 처리 시간
→ 시간 복잡도는 연산 처리 속도를 수치적으로 나타내는 개념이다. - 정답: d) CPU
→ CPU는 순차 처리에 특화되어 있음. - 정답: c) GPU
→ GPU는 병렬 처리와 벡터 계산에 강하다. - 정답: b) 저장 공간 사용량
→ 공간 복잡도는 연산 시 필요한 메모리 양을 의미. - 정답: c) SRAM
→ SRAM은 속도가 빠르고 캐시 메모리로 주로 사용됨. - 정답: c) HBM
→ HBM은 GPU에 사용되며 병렬 연결을 통해 높은 대역폭 제공. - 소비자의 Needs 파악, System의 Input과 Output 설계, 시스템 분석하기, 시스템 코딩하기, 시스템을 실행하고 에이징 테스트 수행
- 시스템이 처리할 입력과 출력의 구조를 정의함, 데이터 흐름 설계, 인터페이스 설계 , 알고리즘 설계
- 시스템을 계층적으로 분석하여 각 모듈의 역할을 정의함
- 시간 복잡도는 연산의 효율성을 측정하는 방법 중 하나이고 공간 복잡도는 연산을 수행하는 데 필요한 저장 공간을 측정하는 방법
'문제: 소프트웨어 공학' 카테고리의 다른 글
소프트웨어 개발 모델(문제&정답) (0) | 2025.04.19 |
---|---|
소프트웨어 개발 프로세스(문제&정답) (0) | 2025.04.19 |
인공지능 소프트웨어 품질(문제&정답) (0) | 2025.04.18 |
소프트웨어의 정의와 품질 (문제&정답) (0) | 2025.04.18 |
Software Crisis(문제&정답) (0) | 2025.04.18 |