Chapter3 프로젝트 관리
문제 1. 다음 중 프로젝트 관리에서 수행해야 할 활동으로 옳지 않은 것은 무엇입니까
- 인력 선발 및 평가
- 보고서 작성 및 프레젠테이션
- 소프트웨어 코드 최적화
- 프로젝트 비용 계획
정답
정답:3
해설:
프로젝트 관리는 프로젝트의 계획, 일정 관리, 자원 배분, 비용 관리, 품질 관리 등을 총괄하는 활동입니다.
소프트웨어 코드 최적화는 기술적 작업으로, 소프트웨어 개발자가 수행하는 업무이며, 프로젝트 관리자가 직접 수행하는 활동에 포함되지 않습니다.
인력 선발, 보고서 작성, 비용 계획 등은 프로젝트 관리자의 역할입니다.
문제 2. 기능 점수(Function Point) 모델에서 소프트웨어의 규모를 측정하는 구성 요소에 해당하지 않는 것은 무엇입니까?
- 외부 입력(External Input)
- 외부 출력(External Output)
- 외부 인터페이스 파일(External Interface File)
- 시스템 구성(System Configuration)
정답: 4
해설:
기능 점수(Function Point) 모델은 소프트웨어의 크기를 기능적 요구사항에 따라 측정하는 기법입니다.
이 모델에서는 "외부 입력", "외부 출력", "외부 인터페이스 파일", "내부 논리 파일", "외부 질의"를 주요 요소로 사용합니다.
"시스템 구성"은 소프트웨어 크기 산정과는 직접적인 관련이 없으며, 기능적 요소로 간주되지 않습니다.
문제 3. UFP(Unadjusted Function Point) 산정 시 고려되는 요소가 아닌 것은 무엇입니까?
- 외부 입력
- 내부 논리 파일
- 외부 질의
- 소프트웨어의 개발 언어
정답
정답:4
해설:
UFP(Unadjusted Point)는 소프트웨어의 기능적 요구사항을 기준으로 소프트웨어의 크기를 산정하는 방식입니다.
이때 "외부 입력", "외부 출력", "내부 논리 파일", "외부 질의" 등이 고려됩니다.
"소프트웨어의 개발 언어"는 UFP산정에서 고려되지 않으며, 소프트웨어의 구현 방법에 대한 요소로만 작용합니다.
문제 4. 다음 중 VAF(Value Aductment Factor) 산정 시 고려되는 기술적 분야에 해당하지 않는 것은 무엇입니까?
- 데이터 통신
- 사용자 용이성
- 시스템의 하드웨어 사용
- 개발 팀의 구성원 수
정답
정답: 4
해설:
VAF(Value Adjustment Factor)는 소프트웨어의 복잡도와 기능적 특성에 따라 가중치를 적용하는 방법으로, 기술적 복잡도를 반영하는 요소들이 포함됩니다.
"데이터 통신", "사용자 용이성", "시스템의 하드웨어 사용" 등의 기술적 요소가 포함되며, "개발 팀의 구성원 수"는 소프트웨어 복잡도와 직접적인 연관이 없으므로 VAF 산정 시 고려되지 않습니다.
문제 5. 다음 중 계층형 팀에 해당하는 특징으로 적절한 것은?
- 민주주의 방식의 의사결정
- 의사교환이 활발하고 장기 프로젝트에 적합
- 초보 엔지니어가 중간 관리층으로 분산되어 관리 부담을 덜어줌
- 책임이 명확하지 않아 문제가 생길 수 있음
정답
정답:3
해설:
"계층형 팀"은 "관리자, 중간 관리층, 팀원" 등의 계층적 구조로 구성된 팀입니다.
이 팀 구조에서는 "초보 엔지니어가 중간 관리층으로 배치"되어 상위 관리자와 팀원 간의 의사소통과 작업 부담을 분산시킵니다.
이로 인해 관리자의 부담을 줄일 수 있으며, 조직 내 의사결정과 관리가 명확하게 이루어집니다.
문제 6. 다음 중 Egoless팀의 특징으로 가장 적절한 것은?
- 의사 결정이 빠르고 소규모 프로젝트에 적합하다.
- 작업 만족도가 높고 팀원 간의 의사 교환이 활발하다.
- 계층적으로 구성되어 있으며 의사 전달 경로가 길다.
- 의사 결정이 고위 관리자에게 집중되어 있다.
정답
정답:2
해설:
"Egoless 팀"은 계층적 구조를 따르지 않고, 팀원 간의 "협력과 의사소통이 활발"한 팀입니다.
모든 팀원이 동등한 권한을 가지며 민주주의 방식의 의사결정이 이루어집니다.
이 구조에서는 팀원들이 서로의 의견을 존중하고 책임을 나누기 때문에, 직업 만족도가 높고 의사교환이 활발하게 이루어집니다.
문제 7. 다음 중 책임 프로그래머 팀의 특징으로 가장 적절한 것은?
- 의사 결정이 분산되어 있어 각 팀원이 동등한 권한을 가진다.
- 대규모 프로젝트에 적합하며, 팀원의 역할이 자율적으로 정해진다.
- 의사 결정이 집중되어 있어 빠르게 의사 결정을 내릴 수 있다.
- 장기적인 프로젝트에 적합하며, 모든 팀원이 동일한 책임을 진다.
정답
정답: 3
해설:
"책임 프로그래머 팀"은 "책임 프로그래머"가 팀의 주요 의사 결정을 내리는 구조입니다.
이로 인해 의사결정이 빠르고 집중적으로 이루어져 소규모 프로젝트나 신속한 결정이 필요한 프로젝트에서 효과적입니다.
"책임 프로그래머"가 모든 팀원의 작업을 통제하며, 각 팀원은 구체적인 역할을 맡습니다.
이 구조는 "대규모 프로젝트"보다는 "소규모 프로젝트"에 더 적합합니다.
문제 8. 다음 중 소프트웨어 프로젝트 위험 관리 과정에 대한 설명으로 옳은 것은 무엇입니까?
- 위험 식별은 프로젝트 완료 후에 수행된다.
- 위험 분석 단계에서는 각 위험의 발생 가능성만 평가하고 심각성은 평가하지 않는다.
- 위험 대처 계획 수립 단계에서는 회피 전략, 최소화 전략, 비상 계획 등이 포함된다.
- 위험 모니터링은 프로젝트 초기에만 수행하며, 프로젝트 후반에는 필요하지 않다.
정답
정답: 3
해설:
위험 관리 프로세스는 위험 식별, 위험 분석, 위험 대처 계획 수립, 위험 모니터링 4단계로 이루어집니다.
각 단계에서 잠재적인 위험을 예측하고 그에 대한 대응 전략을 마련하는 것이 목적입니다.
1번은 잘못된 설명으로, 위험 식별은 프로젝트 초기나 중간 단계에서 수행됩니다.
2번은 위험 분석에서 발생 가능성과 심각성 모두 평가합니다.
4번도 위험 모니터링은 프로젝트 전반에 걸쳐 지속적으로 이루어져야 합니다.
Chapter4 요구사항 정의 및 개발
문제 9. 다음 중 도메인 분석의 이점이 아닌 것은 무엇입니까?
- 고객의 문제를 효율적으로 해결하는 솔루션을 결정할 수 있다.
- 빠른 요구사항 분석을 통해 개발 시간을 단축할 수 있다.
- 소프트웨어 엔지니어가 개발 외의 다른 도메인 지식까지 습득할 수 있다.
- 향후 시스템 확장 시 트렌드를 예측하고 적용할 수 있는 능력을 갖출 수 있다..
정답
정답:3
해설:
"도메인 분석"은 소프트웨어 개발에서 중요한 기술적 활동으로, 고객이 속한 비즈니스나 기술적 도메인에 대한 이해를 통해 요구사항을 도출하고 시스템 설계를 더 잘 이해하는 것을 목표로 합니다.
도메인 분석을 통해 "고객의 문제 해결", "효율적인 요구사항 분석", "시스템 확장 및 트렌드 예측"등이 가능합니다.
하지만, "개발 외의 다른 도메인 지식"을 깊이 습득하는 것은 도메인 분석의 직접적인 목적이 아닙니다.
소프트웨어 엔지니어는 도메인 지식에 대한 이해를 높이지만, "다른 분야의 전문가"수준의 깊은 지식까지 습득할 필요는 없습니다.
문제 10. 다음 중 비기능적 요구사항에 해당하는 것은?
- 사용자가 항공권을 예약할 때 입력한 정보를 결정하는 기능
- 예약된 항공권의 정보를 데이터베이스에 저장하는 기능
- 시스템의 응답 시간은 1초 이내여야 한다는 조건
- 항공기 요금 계산 방식을 결정하는 기능
정답
정답: 3
해설:
"비기능적 요구사항"은 시스템이 "어떻게" 동작해야 하는지를 규정하는 제약이나 성능, 효율성, 보완성 등을 다룹니다.
예를 들어 "시스템의 응답 시간"과 같은 요구사항은 "비기능적 요구사항"입니다.
반면 "기능적 요구사항"은 시스템이 "무엇을" 해야 하는지, 예를 들어 항공권 예약 정보의 입력과 같은 "기능적인 작업"을 정의합니다.
문제 11. 다음 중 브레인스토밍 방식의 요구사항 추출 방법에 대한 설명으로 올바른 것은 무엇입니까?
- 시스템 외부 기능을 체계적으로 분석하는 방법으로, 모든 기능을 포괄할 수 있다.
- 사용자의 업무를 관찰하며 기록하여 문제를 드러내는 방식이다.
- 여러 사람의 의견을 모다 그룹에서 아이디어를 도출하는 방식으로, 효율적인 정보 추출이 가능하다.
- 시스템을 시험적으로 구현하여 요구사항에 따른 빠른 피드백을 받을 수 있다.
정답
정답:3
해설:
"브레인스토밍"은 그룹으로 모여서 "자유롭게 의견을 교환"하고, 다양한 아이디어를 "효율적으로 도출"하는 방식입니다.
이 방식은 다양한 시각에서 문제를 탐구하고 "창의적인 해결책"을 제안하는 데 유리합니다.
1번은 "유스케이스 분석"에 관한 설명입니다.
유스케이스 분석은 특정 시나리오에 맞춰 시스템의 외부 기능을 분석하는 방식입니다.
2번은 "관찰 방법"에 해당합니다.
관찰을 통해 사용자의 업무 흐름을 기록하고 문제를 발견하는 방식입니다.
4번은 "프로토타이핑"을 설명합니다.
프로토타입을 통해 시스템을 시험적으로 구현하고 피드백을 빠르게 받을 수 있습니다.
문제 12. 다음 중 프로토 타이핑 방법에 대한 설명으로 옳은 것은 무엇입니까?
- 프로토타이핑은 최종 시스템을 한 번에 완성하여 요구사항을 확정하는 방법이다.
- 프로토타이핑은 시제품을 제작하여 요구사항에 대해 빠르게 피드백을 받는 데 적합하다.
- 프로토타이핑은 사용자의 업무를 관찰하여 문제를 기록하고 분석하는 방법이다.
- 프로토타이핑은 관련자들이 모여 자유롭게 아이디어를 내는 과정이다.
정답
정답: 2
해설:
프로토타이핑은 소프트웨어 개발에서 시제품을 제작하여 빠르게 사용자 피드백을 받는 방법입니다.
이를 통해 요구사항을 반복적으로 검증하고 수정할 수 있어, 불확실하거나 자주 변하는 요구사항이 있는 프로젝트에 적합합니다.
1번은 전통적 방식이고,
3번은 관찰에 해당하며,
4번은 브레인스토밍에 대한 설명입니다.
문제 13. 다음 중 요구사항 문서의 구성 요소로 올바르지 않은 것은 무엇입니까?
- 요구사항에 대한 배경 지식 제공
- 외부 인터페이스 요구사항 포함
- 비기능적 요구사항 정의
- 요구사항 변경을 위한 절차 및 비용 계획 포함
정답
정답:4
해설:
요구사항 문서의 구성에는 요구사항을 이해하는 데 도움이 되는 배경지식, 외부 인터페이스 요구사항, 기능적 및 비기능적 요구사항이 포함됩니다.
하지만 요구사항 변경을 위한 절차 및 비용 계획은 별도의 변경 관리 문서에서 다루어지며, 요구사항 문서의 구성 요소로는 포함되지 않습니다.
문제 14. 다음 중 요구사항 검토 시 고려해야 할 사항으로 가장 적절하지 않은 것은 무엇입니까?
- 요구사항이 시스템의 전체 목표와 부합하는지 확인
- 개발에 필요한 자원이 충분히 확보되었는지 확인
- 설계 과정을 통해 추가된 요구사항이 없는지 확인
- 요구사항을 만족시키기 위한 시스템 아키텍처를 완성하는 단계
정답
정답:4
해설:
요구사항 검토는 요구사항이 프로젝트의 목표와 부합하는지, 자원 확보 여부 및 추가된 요구사항의 유무 등을 검토하는 단계입니다.
하지만 시스템 아키텍처의 완성은 요구사항 검토 이후의 설계 단계에서 수행되므로, 4번이 옳지 않습니다.
'소프트웨어공학' 카테고리의 다른 글
[소프트웨어공학] 중간고사대비 연습문제 Chapter5 유스케이스 모델링, Chapter6 클래스 모델링 (1) | 2024.10.22 |
---|---|
[소프트웨어공학] 중간고사 대비 연습 문제 Chapter 1 소프트웨어 공학 개요. Chapter2 소프트웨어 프로세스 (3) | 2024.10.22 |
댓글