Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

거인의 코딩일지

[정처산기_필기]Chapter01-3_애플리케이션 설계/02 본문

자격증/정처산기_필기

[정처산기_필기]Chapter01-3_애플리케이션 설계/02

코딩거인 2023. 5. 18. 21:02
728x90
다음 중 객체지향 구현 절차로 옳바른것은?

- 요건정의 > 객체에 대한 분석 > 객체 설계 및 구현 > 테스트

요건 정의 : 업무 요건 정의
객체지향 분석 : 객체 모델링, 동적 모델링, 기능 모델링 수행
객체지향 설계 및 구현 : 시스템 설계 및 객체 설계 , 객체지향 구현
테스트 및 배포 : 테스트, 페키지, 프로젝트 평가
객체 지향의 주요 개념에 대한 설명으로 틀린 것은?

- 캡슐화는 상위 클래스에서 속성이나 연산을 전달 받아 새로운 형태의 클래스로 확장하여 사용하는 것을 의미한다.

캡슐화는 서로 연관된 데이터와 함수를 함께 묶어 외부와 경계를 만들고, 필요한 인터페이스만을 밖으로 드러내는 기법이다.

상위 클래스에서 속성이나 연산을 전달받아 새로운 형태의 클래스로 확장하여 사용하는 것은 상속이다.
객체지향 분석 및 설계 방법과 거리가 먼 것은?

- 나씨 - 슈나이더만(Nassi - Schneiderman)

- 나씨 - 슈나이더만(Nassi - Schneiderman) 기법은 구조적 프로그래밍 표현을 위해 사용된다.

야콥슨
(Jacobson)
유스케이스에 의한 접근 방법으로 유스케이스를 모든 모델의 근간으로 활용 
럼바우
(Rumvaugh)
- 그래픽 표기법을 이용하여 소프트웨어 구성요소를 모델링 하는 방법론
- 분석 절차는 객체 모델링 > 동적모델링 > 기능모델링 순서로 진행
부치
(Booch)
- 설계 문서화를 강조하여 다이어그램 중심으로 개발하는 방법론
- 미시적(Micro) 개발 프로세스와 거시적(Macro)
Coad 와 Yourdon E-D 다이어그램을 사용하여 객체의 행위를 모델링하며, 객체 식별, 구조 식별, 주체 정의, 속성 및관계 정의, 서비스 정의 등의 과정으로 구성되는 객체지향 분석 방법 
객체지향 설계 원칙 중 서브 타입(상속받은 하위 클래스)은 어디서나 자신의 기반 타입(상위 클래스)으로 교체할 수 있어야 함을 의미하는 원칙은?

- LSP (Liskov Subsitiution Principle)

인터페이스 분리의 원칙 - Interface Segregation Principle
- 한 클래스는 자신이 사용하지 않는 인터페이스는 구현하지 말아야 한다는 원칙
의존성 역전의 원칙 - Dependenct Inversion Principle
- 실제 사용 관계는 바뀌지 않으며, 추상을 매개로 메시지를 주고 받음으로써 관계를 최대한 느슨하게 만드는 원칙
리스코프 치환의 원칙 - Liskov Subsitiution Principle
- 서브타입(상속받은 하위 클래스)은 어디서나 자신의 기반타입(상위 클래스)으로 교체할 수 있어야 한다는 원칙
단일 책임의 원칙 - Single Responsibility Principle
- 하나의 클래스는 하나의 목적을 위해서 생성되며, 클래스가 제공하는 모든 서비스는 하나의 책임을 수행하는 데 집중되어 있어야 한다는 원칙
- 객체 지향 프로그래밍의 5원칙 중 나머지 4원칙의 기초 원칙
럼바우와 객체지향 분석 기법에서 상태 다이어그램과 밀접한 관계가 있는것은?

- Dynamic Modeling

객체 지향 시스템 분석에서 사건들을 시나리오로 작성하여 시나리오마다 사건 추적도를 그리고 사건 흐름 다이어그램을 작성하는 단계는 어떤 단계인가?

- 동적 모형화

객체지향 분석에서 동적 모델링(Dynamic Modeling) 과정에서 주로 작성되는 다이어 그램은?

- 상태 다이어그램(State Diagram)

상태 다이어그램, 사건흐름 다이어그램을 활용하여 표현하는 모델링은 동적 모델링(
Dynamic Modeling)이다.
동적 모델링은 상태 다이어그램, 사건 흐름 다이어그램을 활용하여 표현한다.
객체지향 방법론 중에서 Rumbaugh 의 OMT 방법론과 Booch 의 Booch  방법론, Jacobson 의 OOSE 방법론을 통합하여 만든 모델링 개념의 공통 집합으로 객체지향 분석 및 설계 방법론의 표준 지정을 목표로 제안된 모델링 언어는?

- UML

OMT 방법론과, Booch 방법론, OOSE 방법론을 통합하여 만든 모델링 개념의 공통 집합으로 객체지향 분석 및 설계 방법론의 표준 지정을 목표로 UML 모델링 언어를 제안했다.
다음중 행위 패턴이 아닌것은?

- Singleton

디자인 패턴 종류 - 생성
생빌 프로 팩앱싱 생성(빌더/ 프로토타입/ 팩토리메서드/ 앱스트랙 팩토리/ 싱글톤)

디자인 패턴 종류 - 구조
구 브데 퍼플 프록 컴 어 구조 (브리지 / 데코레이터 / 퍼사이드 / 플라이웨이트 / 프록시 / 컴포지트 / 어댑터)

디자인 패턴 유형
생구행 생성 구조 행위
다음 설명에 해당하는 디자인 패턴은 무엇인가?

기존에 생성된 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할을 하는 인터페이스를 만드는 패턴으로, 상속을 이용하는 클래스 패턴과 위임을 이용하는 인스턴스 패턴의 두 가지 형태로 사용되는 디자인 패턴

- Adapter 패턴

Adapter 기존에 생성된 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할을 하는 인터페이스를 만드는 패턴
Bridge 기능의 클래스 계층과 구현의 클래스 계층을 연결하고 구현부에서 추상 계층을 분리하여 추상화된 부분과 실제 구현 부분을 독립적으로 확장할 수있는 디자인패턴
Decorate 기존에 구현되어 있는 클래스에 필요한 기능을 추가해 나가는 설계 패턴으로 기능 확장이 필요할 때 객체 간의 결합을 통해 기능을 동적으로 유연하게 확장할 수 있게 해주어 상속의 대안으로 사용하는 디자인패턴
Factory 상위 클래스에서 객체를 생성하는 인터페이스를 정의하고, 하위 클래스에서 인스턴스를 생성하도록 하는 방식으로 상위 클래스에서는 인스턴스를 만드는 방법만 결정하고 하위 클래스에서 그 데이터의 생성을 책임지고 조작하는 함수들을 오버라이딩 하여 인터페이스와 실제 객체를 생성하는 클래스를 분리 할 수있는 특성을 갖는 디자인 패턴
추상 팩토리 패턴에 대한 설명으로 옳은것은?

- 생성된 클래스에서는 사용자에게 인터페이스(API)를 제공하고, 구체적인 구현은 Concrete Product 클래스에서 이루어 지는 특징을 갖는 디자인 패턴

Absstract Factroy 생성된 클래스에서는 사용자에게 인터페이스(API)를 제공하고, 구체적인 구현은 Concrete Product 클래스에서 이루어 지는 특징을 갖는 디자인 패턴
Singleton 전역 변수를 사용하지 않고 객체를 하나만 생성하도록 하며, 생성된 객체를 어디에서든지 참조할 수 있도록 하는 디자인 패턴
Facade 복잡한 시스템에 대하여 단순한 인터페이스를 제공함으로써 사용자와 시스템 간 또는 여타 시스템과의 결합도를 낮추어 시스템 구조에 대한 파악을 쉽게하는 패턴
각 클래스 데이터 구조로부터 처리 기능을 분리하여 별도의 클래스를 만들어 놓고 해당클래스의 메서드가 각 클래스를 돌아다니며 특정 작업을 수행하도록 만드는 패턴으로 객체의 구조는 변경하지 않으면서 기능만 따로 추가하거나 확장할 때 사용하는 디자인 패턴은 무엇인가?

- Visitor 패턴

Visitor 각 클래스 데이터 구조로부터 처리 기능을 분리하여 별도의 클래스를 만들어 놓고 해당클래스의 메서드가 각 클래스를 돌아다니며 특정 작업을 수행하도록 만드는 패턴으로 객체의 구조는 변경하지 않으면서 기능만 따로 추가하거나 확장할 때 사용하는 디자인 패턴
Proxy '실체 객체에 대한 처리 대리 객체'로 실체 객체에 대한 접근 이전에 필요한 행동을 취할 수 있게 만들며, 이 점을 이용해서 미리 할당하지 않아도 상관없는 것들을실제 이용할 때 할당하게 하여 메모리 용량을 아낄 수 있으며, 실체 객체를 드러나지 않게 하여 정보 은닉의 역할도 수행하는 디자인 패턴 
Memento 클래스 설계 관점에서 객체의 정보를 저장할  필요가 있을 때 적용하는 디자인 패턴으로 Undo 기능을 개발할 때 사용하는 디자인 패턴 
객체 상태를 캡슐화 하여 클래스화 함으로써 그것을 참조하게 하는 방식으로 상태에 따라 다르게 처리할 수 있도록 행위 내용을 변경하여 변경시 원시 코드의 수정을 최소화 할 수 있고 유지보수의 편의성도 갖는 디자인 패턴은 무엇인가?

- State 패턴

State  객체 상태를 캡슐화 하여 클래스화 함으로써 그것을 참조하게 하는 방식으로 상태에 따라 다르게 처리할 수 있도록 행위 내용을 변경하여 변경시 원시 코드의 수정을 최소화 할 수 있고 유지보수의 편의성도 갖는 디자인 패턴
Strategy 알고리즘 군을 정의하고(추상클래스) 같은 알고리즘을 각각 하나의 클래스로 캡슐화한 다음 피룡할 때 서로 교환하여 사용할 수 있게 하는 패턴으로 행위를 클래스로 캡슐화해 동적 행위를 자유롭게 바꿀 수 있게 해주는 디자인 패턴 
Builder 복잡한 인스턴스를 조립하여 만드는 구조로, 복합 객체를 생성할 때 객체를 생성하는 방법(과정)과 객체를 구현(표현)하는 방법을 분리함 으로써 동일한 생성 절차에서 서로 다른 표현 결과를 만들수 있는 디자인 패턴
다음이 설명하는 디자인 페턴은 무엇인가??

모든 항목에 일일이 접근하는 작업을 반복자 객체에서 맡게 된다.
반복자를 사용하여 컨테이너를 가로지르며 컨테이너의 요소들에 접근하는 패턴이다.
템플릿 메서드 패턴
(Template Method)
어떤 작업을 처리하는 일부분을 서브 클래스로 캡슐화해 전체 일을 수행하는 구조는 바꾸지않으면서 특정 단계에서 수행하는 내역을 바꾸는 패턴
이터레이터 패턴
(Iterator)
컬렉션 구현방법을 노출시키지 않으면서도 그 집합체 안에 들어있는 모든 항목에 반복자(Iterator)를 사용하여 접근할 수 있는 패턴
다음 중 기능 모델링에 대한 설명으로 가장 알맞은 것은?

- 프로세스들의 자료흐름을 중심으로 처리과정을 표현하는 모델링이다.

객체 모델링
- 시스템에서 요구하는 객체를 찾고 객체들 간의 관계를 정의하는 모델링
- 가장 중요하며 선행되어 진행
- 객체 다이어그램을 활용하여 표현

동적 모델링
- 시간의 흐름에 따라 객체들 사이의 제어 흐름, 동작 순서 등의 동적인 행위를 표현하는 모델링
- 상태 다이어그램을 활용하여 표현

기능 모델링
- 프로레스들의 자료 흐름을 중심으로 처리 과정을 표현하는 모델링
- 자료 흐름도(DFD)를 활용하여 표현
728x90