Cohe
7장 아키텍처 설계와 패턴 본문
1. 시스템 아키텍처에 대한 설명으로 옳지 않는 것은?
물리적 구성을 기반으로 정의되는 시스템의 상세 설계도이다.
② 이해당사자들과의 상호 이해, 협상, 동의 및 의사 교환을 위한 도구이다.
③ 프로젝트 초기의 설계 결정으로 시스템 개발 및 유지보수 전반에 걸쳐 지속적인 영향 력 을 갖는다
④ 시스템에 관련 있는 이해당사자들의 요구사항을 고려하여 정의하여야 한다
2. 다음 중 스프트페어 아키텍처에서 설계에 필수적인 요소들로만 짝지워진 것은?
💡 소프트웨어 컴포넌트 클래스 다이어그램 소프트웨어 컴포넌트 사이의 관계를 나타내는 커넥터 E-R 다이어그램
1 ㄱㄴ 2 ㄱㄷ 3ㄱㄷ 4ㄷㄹ
3. 소프트웨어 아키텍처의 4+1 관점(View)에 대한 설명으로 옳지 않은 것은?
1 유스케이스 관점에서는 외부 행위자에 의해 인식되는 시스템의 기능 요구사항을 보여주 는 데 초점을 둔다.
2논리 관점에서는 계층 구조, 제약 사항, 코드 재사용 등과 같은 시스템 구현을 위한 요 건을 보여주는 데 초점을 둔다.
3 프로세스 관점에서는 독자적인 제어 스레드를 가질 수 있는 액티브 클래스에 초점을 둔다.
4 배치 관점에서는 물리적인 시스템을 구성하고 있는 각 부분들의 분산 형태와 설치에 초점을 둔다.
4. 어떤 시스템은 다음과 같은 구성과 동작 방식으로 운영된다. 이 시스템을 통해 만족할 수 있는 품질 속성(quality attribute)은 무엇인가?[정보시스템 김리사 자격감점. 공무원]
💡 시스템은 사용자에게 서비스를 제공하기 위해 동일한 기능을 수행하는 컴포넌트 A와 B, 이 외에 여러 컴포넌트로 구성된다. 컴포넌트 A가 동작 중에 실패가 발생하여 대기 중이었던 컴포넌트 B가 A를 대신하여 계속 서비스를 제공한다.
1가용성(availability)
2 상호운용성(interoperability)
3 성능(performance)
4 적응성(adaptability)
5. 다음 중에서 ISO/IEC 25010의 성능(pertormance eicency)과 관련된 지표를 모두 고 른 것은?
💡 가. 동시 접속 가능한 사용자수 나. 네트워크 Bandwidth 사용률
다. 평균 소요시간(turnaround time)
라. 단위 시간당 평균 처리량 마. 지원 가능한 프로토콜 수
① 가. 나
② 가. 나. 다
가 나 다. 라
④ 가, 나 다. 라. 마
6. 소프트웨어 아키텍처 스타일과 응용분야가 가장 적절하지 않게 연결된 것은? 정보시스 템 감리사 자격검정, 2015]
① 클라이언트/서버 아키텍처 - 웹 기반의 수강 신청 시스템
N-tier 아키텍쳐 - 운영체제
계층형 아키텍쳐 - 마이크로웨이브 오븐 제어 소프트웨어
MVC 아키텍처 - 모바일 애플리케이션
7. 파이프 필터 형태의 소프트웨어 아키텍처에 대한 설명으로 옳은 것은?
① 컴포전트 사이에 복잡한 상호작용이 필요한 시스템에 가장 적합하다.
② 사용자가 개입하여 데이터 호흡을 전환할 경우에 사용된다.
서브시스템이 입력 데이터를 받아 처리하고 결과를 다른 시스템에 보내는 작업이 반복 된다
모든 필터가 동시에 작동하는 병렬처리 형식이다.
8 아키텍쳐 유형의 관한 설명 중 옳지 않은 것은?
CORBA는 파이프 필터 유형의 아키텍쳐를 지원한다.
3-계층 구조는 클라이언트 서버 유형의 변형이라 할 수 있다
peer-to-peer 아키텍쳐 유형에서 각 서브시스템은 서비스를 제공하고 요청하는 능력이 있다.
계층 구조 유형에서는 하위 계층이 제공하는 서비스를 상위 제품의 서브시스템이 사용 하도록 구성된다.
9 다음 각 응용문제에 대하여 적합한 소프트웨어 아키텍쳐 스타일이 아닌 것은? 센서와 대이터를 처리하는 프로세스로 구성된 신호. 처리 시스템 - 파이프라인 구조 느슨하게 결합된 디자인 도구들 - 저장소 구조
분산 운영체제 - MVC 구조
웹기반 수강 신청 시스템 - 클라이언트 서버 구조
10 웹 기반 엔터프라이즈 응용에 계층형 아키텍처를 사용하는 적합한 이유만을 모은 것은?
💡 ㄱ 코딩 ㄴ 이식성 ㄷ 시스템 관리의 용이성 ㄹ 성능
1 ㄱㄴ 2 ㄴㄷ 3 ㄴㄷㄹ 4 ㄱㄴㄷ
11 상속을 사용하지 않고도 객체의 기능을 동적으로 확장할 수 있도록 해주는 패턴은? 데코레이터 패턴 ② 어뎁터 패턴 ③ 컴포지트 패턴 4퍼사트 패턴
12 Iterator 패턴에 대한 설명으로 옳지 않은 것은? [7급 국가직 공무원 시험.]
① 집합 객체의 요소들에 대해 순서대로 접근하는 방법을 제공한다.
②배열(Array), 배열리스트(Array List), 해시 테이블과 같은 객체를 처리하는 데 사용하 는 패턴이다.
서로 다른 인터페이스를 사용하기 때문에 각각의 객체를 참조하기 위한 다형성 코드
(polymorphic code)를 개발하는 것이 불가능하다.
④ 서로 다른 집합 객체 구조에 대해 동일한 방법으로 순회할 수 있다.
13 다음은 위임을 이용하여 adapter pattern을 구현한 클래스 다이어그램을 나타내고 있 다. (가)~ (다)에 가장 적합한 클래스명은?
1 가-adaptoe, 나-adapter, 다-target
(가) -adapter, (나)-adaptee, (다)-target
(가) - target. (나)-adapter, (다) - adaptee
(가) -target, (나)-adaptee, (다)-adapter
14 다음에 해당하는 소프트웨어 설계 패턴은?
💡 일대다의 객체 의존 관계를 정의하며, 한 객체의 상태키 변화 되었을 때 의존 관계에 있는 다른 객체들에게 자동적으로 변화를 통지한다.
1 옵서버 패턴
② 팩토리 메소드 패턴
3 데코레이터 패턴
4 전략 패턴,
15 다음 중, 디자인 패턴에 대한 설명으로 가장 거리가 먼 것은? [정보시스템 감리사 자격 검정, 2014]
① 여러 객체가 한 객체에 의존하여 이것이 변경될 때 영향을 받아 작업을 수행할 경우 옵 저버 패턴이 권장된다.
2 관련된 객체들의 매밀리를 스타일 선택에 의해서 생성할 때는 프로토타입 패턴이 권 장 된다.
오직 하나의 객체만을 생성하는 클래스의 경우에는 싱글분 패턴이 권장된다 동일한 역할은 하지만 다른 플레스의 작품을 생성할 때는 팩토리 패턴이 권장된다.
16 다음 클래스 다이어그램으로 표현한 설계에서 사용한 디자인 패턴은? [7급국가직공무 원]
1 Adapter 패턴
2 composite 패턴
observer 패턴
Factory Method 패턴
17 차량 네비게이션 소프트웨어에서 GPS 신호를 수신하는 경우와 수신하지 못하는 경우 에 따라의 위치를 구하는 다른 알고리즘을 선택하고자 할 때 가장 적합한 설계 패턴은?
Decorator 패턴 Adapter 패턴 composite 패턴 Stategy 패턴
18 다음 설명에 해당되는 디자인 패턴은? [7급 국가직 공무원 시험.]
문제 |
(서브시스템 인에서와 같이) 이중의 구현이나 인터페이스들에 대 해 공통적이고 통합된 인터페이스가 필요하다. 서브시스램 안의 많 은 것들이 바람직하지 않은 결합도를 갖거나 서브시스템의 구현이 바뀔 수 있다. 어떻게 해결하여야 하는가? |
해결책 |
서브시스템에 대한 단일 접촉지점을 정의한다. 즉, 외관인 객체는 서브 시스템을 감싼다. 이 객체는 하나의 통일된 인터페이스를 제 시하고 서브시스템 컴포넌트들과 협력할 책임을 갖는다. |
어댑터 패턴 퍼싸드 패턴 팩토리 패턴 싱글톤 패턴
19 다음은 사리오 기반 아키텍쳐 평가의 작업들이다 순서를 올바로 나일한 것은?
💡 가. 시나리오 우선순위 매김
나. 시나리오에 대하여 아키텍처 평가
다. 시나리오 도출
라. 아키텍처 기술
마. 결과 해석과 발표
1 가→ 다→ 나→ 라→ 마
2 가→ 라→ 다→ 나→ 마
3 라→ 다→ 가→ 나→ 마
4 라 → 다→ 나→ 가→ 마
20 ATAM에 기법을 적용하기 위하여 유틸리티 트리와 시나리오가 바르게 언결되지 않은 것은?
1 유지보수성 - 데이터베이스 용량 초과로 인한 로그기록 불가
② 성능 - 수강 과목 검색 기능의 속도 향상
③ 보안성 - 다른 시스템에서 접근할 때 제어하는 기능 .
④ 사용용이성 - 수강 신청 오류 처리 기능에서 도움말 기능 보완
21 소프트웨어 아키텍처란 무엇이며/ 왜 소프트웨어 개발 전 단계에서 중요한가? 270
a. SW시스템에서 높은 추상 수준의 구성요소
b. 시스템의 구조를 확립하는 SW개발의 중심축으로, 요구분석, 설계, 구현, 테스트까 지 아키텍처가 뼈대의 역할을 하므로
22 아키텍처를 UML로 표현하는 방법을 설명하고/ 패키지로 분할하는 원칙은 무엇인가? 274
a. 클래스를 논리적으로 그루핑하는 패키지 다이어그램으로 표현한다.
b. 기능적으로 관련있는 객체를 같은 서브시스템 안에 묶는다.
23 아키텍처를 설계할 때 스타일의 선정은 시스템의 타입이 고려되어야 한다. 다음 타입의 시
스템은 어떤 특징을 보이는지 설명하라. 275
(1) 대화형 시스템
a. 대화형 시스템의 상태를 파악하는 것은 곧 비즈니스 프로세스를 반영하는 것이다. 대화형 시스템을 모델링하고 설계하려면 액터가 구동시키는 비즈니스 프로세스를 나타내는 유스캐이스를 찾아내고 명세화하는 일부터 시작해야 한다. 그리고 시스템 속 객체들이 이를 위해 어떻게 협력, 상호작용하는지 상세하게 모델링한다.
(2) 이벤트 중심 시스템
a. 상태에 의존적이며 반응 동작을 보인다. 주로 임베디드 시스템에서 찾아볼 수 있다.
(3) 변환 시스템
a. 컴파일러 등의 엔지니어링 계산, 과학 계산 분야에서 많이 볼 수 있다. 작업에 따른 정보를 받아 작업의 흐름을 결정한다.
(4) 객체 영속 시스템
a. 저장 미디어를 숨기고 DB나 파일 시스템에 객체를 저장하고 검색할 수 있는 능력을 가짐. 분산시스템이라고도 부름. DB를 시스템에서 숨기고 DB구현에 대한 변경을 시스템이 잘 모르도록 보호함
24 디자인 패턴이란 무엇이며/ 알면 어떤 이로운 점이 있는가? 285 286
a. 아키텍처 수준보다 낮은 수준의 설계 문제에 재사용 가능한 솔루현을 제공한다.
b. 쉽게 재사용 가능, 쉬운 설계 작업, 설계관련 지식 정리, 디자인을 논의하기 위한 의 사소통이 쉬워짐
25 싱글톤 패턴이 해결하는 문제는 무엇이며/ 가능하게 하는 해결 방법을 설명하라.
a. 해당 클래스에 대해 작성된 오브젝트 수를 제어할 수 있음
b. 클래스 안에 자신을 정적 속성으로 갖게 하여 객체가 유일하게 함
→ 그 유일한 객체를 반환하는 정적 메서드를 사용해서만 접근하게 함
26. 그림판 같은 프로그램을 작성하려 한다 . 이미 직사각형을 위한 클래스
(LegacyRectangle)가 작성되어 있다. LegacyRectangle 클래스 안에 있는 display() 메소드는 네 가지 파 라미 터 x. y(왼쪽 위 꼭지점 좌표). w(폭). h(높이)를 받는다. 그러나 클라이언트 프로그램에 서 이 와는 다르게 왼쪽 위 꼭지점 좌표 x1 . y1과 오른쪽 아래 꼭지점 좌표 x2. y2를 매개변수 로 호출하고 싶다. 어댑터 패턴을 이용하여 설계하되 클래스 다이어그램으로 그려라. → 나중에 풀기 |
27. 성적을 출력하는 기능 예를 들면 입력된 성적 값을 출력하는 프로그램을 작성하고 있 다. 입력된 점수를 저장하느 c ScoreRecord 클래스와 점수를 목록의 형태로 출력하는 DataView 클래스를 설계 하였다. 성적을 출력하는 형태를 다양하게 하기 위하여 이 문 제
에 가장 알맞은 패턴은 무엇인가? 그 이유는?
a. 데코레이터 패턴
b. 입력에 장식 요소를 추가하는 등 기존 클래스의 동작을 가볍고 유연하게 확장함
28. 다음 해결하려는 문제에 적용할 가장 적합한 디자인 패턴은 무엇인가?
(1) 전체와 부분 관계의 구조를 동일하게 취급하게 하려고 할 때
a. 컴포지트 패턴 (교재에 안나오는데 구글링함)
(2) 인스턴스 한 개를 유지하면서 전역적인 접근을 허용하려고 할 때
a. 싱글톤
(3) 어떤 객체와 그 객체의 상태의 변화를 통지 받고 싶은 객체들 사이에 대다(1-to-many) 의 관계를 정의하려고 할 때
a. 옵저버(Observer)
(4) 복잡한 패키지 안에 손쉬운 API를 제공할 때
a. Facade 패턴 (교재에 없. 구글링하니까 최승훈교수님나옴 ㅋㅋㅋㅋ)
(5) 타겟 객체와 handshaking할 수 있도록 인터페이스를 제공하되 타겟 객체를 손대지
않고 새로운 인터 페이스를 정의할 때
a. 어댑터
(6) 객체들 사이의 다대다(many-to-many) 인터랙션 관계를 캡슐화할 때
a. 중재자 패턴 (교재에 없는데 구글링)
(7) 핵심적인 부분과 부수적인 부분으로 나누어 객체를 잘게 분할할 때
a. Fly Weight 패턴 (교재에 없는데 구글링)
29. SaleOrder 클래스의 상태는 NewOrder(주문), Registered(접수). Granted(환불). Shipped(배송), Invoiced(견적). Cancelled(취소)로 나눈다. 상태 패턴을 적용하여 UMLJ로 설계하라.
→ 나중에 풀기 |
30. 아키텍처 평가 기법 SAAM의 주요 입력물과 산출물은 무엇인지 나열하고 작업 과정을 설
명하라.
a. 입력물 : 시나리오
b. 산출물 : 시나리오 실행여부
c. 작업 과정 : 객관식 19번 참고
아키텍처 기술 → 시나리오 도출 → 시나리오 우선순위 → 시나리오에 대해 아키텍 처 평가 → 결과 발표
'소프트웨어 공학' 카테고리의 다른 글
6장 설계 원리 (2) | 2023.03.12 |
---|---|
5장 요구 모델링 (0) | 2023.03.12 |
4장 요구분석 연습문제 (0) | 2023.03.01 |
4장 설계 원리 (1) | 2023.03.01 |
3장 프로젝트 관리와 계획 연습문제 (0) | 2023.03.01 |