40. 소프트웨어 버전 관리에 대한 다음 설명 중 가장 적절하지 않은 것은?
① Git과 Subversion 모두 commit 명령으로 새로운 버전을 생성할 수 있다.
② 분산 버전 관리 시스템인 Git은 버전 저장소에서 컴포넌트 버전 간 차이인 델타를 이용하여 공간을 절약한다.
③ Subversion은 하나의 마스터 저장소에 모든 컴포넌트의 버전을 유지하는 중앙집중 버전 관리 시스템 이다.
④ 베이스라인은 시스템을 구성하는 컴포넌트 버전들의 집합을 의미한다. 소프트웨어 개발 과정 중 특정 시점이나 목적을 위하여 만들어진 산출물의 집합 이다.
▣ 델타(deltas) 를 사용한 저장소 관리
- 버번 관리 시스템이 처음 개발되었을 때, 저장소 관리는 가장 중요한 기능중의 하나였음
- 디스크 공간의 값이 비쌌으므로, 컴포넌트의 여러 복사본들에 의해 사용되는 디스크 공간을 최소화하는 것이 중요했음
- 각각의 버전의 완전한 내용을 유지하는 것 대신, 버전 사이의 차이(delta)들의 목록을 저장함
- 공간을 아낄 수 있으나 모든 delta를 적용하는데 시간이 많이 소요됨
- Git 은 delta 를 사용하지 않고 저장된 파일들 그리고 연관된 메타 저옵에 대해 표준 압축 알고리즘(zlib) 을 적용함(delta 를 포함한 packfile 개념 사용)

정답 : ②
41. 문제를 일으킬 가능성 때문에 리팩토링(refactoring)이 필요한 코드는 ‘악취(bad smell)’가 있다고 표현 한다. 다음 설명에 가장 적절한 코드 악취(bad smell)는?
· 변경을 할 때마다 많은 클래스를 조금씩 수정해야 한다.
· 변경해야 할 것이 여러 군데 널려 있기 때문에 찾기도 어렵고 변경해야 할 중요한 사항을 놓치기도 쉽다. |
① 기능에 대한 욕심(feature envy)
② 데이터 덩어리(data clump)
③ 산탄총 수술(shotgun surgery)
④ 확산적 변경(divergent change)
▣ Code smell 종류 및 해결방법

정답 : ③
공감과 댓글은 아이티신비에게 큰 힘이 됩니다.
블로그 글이 유용하다면 블로그를 구독해주세요.♥
'정보시스템 감리 기출문제해설 > 소프트웨어공학 해설' 카테고리의 다른 글
(제 22회) 소프트웨어 공학 / (44)~(45) 해설 (3) | 2024.11.20 |
---|---|
(제 22회) 소프트웨어 공학 / (42)~(43) 해설 (0) | 2024.11.19 |
(제 22회) 소프트웨어 공학 / (38)~(39) 해설 (1) | 2024.11.17 |
(제 22회) 소프트웨어 공학 / (36)~(37) 해설 (2) | 2024.11.16 |
(제 22회) 소프트웨어 공학 / (34)~(35) 해설 (1) | 2024.11.15 |