01. UML 다이어그램 중에서 동적 모델이 아닌 것은?
1. 유스케이스 다이어그램
2. 클래스 다이어그램
3. 활동 다이어그램
4. 순서 다이어그램
답: 2번
💠UML 다이어그램
- 동적 모델: 유스케이스 다이어그램, 활동 다이어그램, 순서 다이어그램
- 정적 모델: 클래스 다이어그램, 컴포넌트 다이어그램
02. UML 스테레오 타입에 관한 설명이 아닌 것은?
1. UML 요소의 의미를 바꾸거나 명확하게하기 위한 방법이다
2. <<parallel>> 같이 키워드를 << >>로 감싸 표현한다
3. 스테레오타입 대신 특별한 아이콘을 사용하여 표현할 때도 있다
4. 몇 개의 특별한 UML 요소들에만 적용할 수 있다
답: 4번
💠UML 스테레오타입이란?
- UML에서 기본 제공하는 표기 외에 사용자 정의 의미를 부여하기 위한 방법
- 요소의 의미를 확장하거나 특수화할 때 사용
- << >> 기호로 감싼 키워드 형태로 표기
- 스테레오 타입은 모델 요소 전반에 걸쳐 사용 가능 -> 클래스, 관계, 컴포넌트, 패키지, 액터, 유스케이스 등 다양한 요소에 적용 가능하다
03. UML 다이어그램은 다이어그램에서 표현하고자 하는 기본 개념의 유형에 따라 정적 다이어그램과 동적 다이어그램으로 분류할 수 있다 이러한 관점에서 볼 때 다음 중 다른 유형의 다이어그램은?
1. 컴포넌트 다이어그램
2. 유스케이스 다이어그램
3. 활동 다이어그램
4. 순차 다이어그램
답: 1번
04. 요구 사항 모델링에 사용되는 다이어그램은?
1. 클래스 다이어그램
2. 유스케이스 다이어그램
3. 컴포넌트 다이어그램
4. 통신 다이어그램
답: 2번
💠유스케이스 다이어그램 (Use Case Diagram)
- 시스템이 사용자(액터)와 어떻게 상호작용하는지를 시각화한 다이어그램
- 시스템의 기능 요구사항을 외부 관점에서 표현
- 요구 사항 분석 단계에서 가장 많이 사용됨
05. UML 구성 요소에서 {} 기호를 사용하여 이전 규칙을 수정하거나 새롭게 생성하기 위한 것은?
1. 스테레오 타입 -> << >> 기호로 표현, UML 의미 확장용
2. 꼬리표 값 -> 속성에 대한 메타데이터 표현
3. 제약
4. 공통 분할 -> 클래스/객체 분류 기준 표현
답: 3번
💠제약이란?
- UML에서 속성, 관계, 동작 등에 대한 제약 조건을 명시할 때 사용
- 중괄호 {} 안에 작성하며, 다이어그램 요소에 추가적인 의미나 제한 조건을 부여함
- 보통 OCL (Object Constraint Language) 형식 또는 자연어로 표현
06. 스테레오 타입의 올바른 표기법은?
1. {sub system}
2. {subsytem = 2.0)
3. <subsystem>
4. <<subsystem>>
답: 4번
07. {tag=value} 의 기호를 사용해 UML 구성 요소가 갖는 속성을 확장하여 구성 요소의 명세서에 새로운 정보를 생성하는 것
1. 꼬리표 값
2. 제약
3. 스테레오타입
4. 장식
답: 1번
08. 소프트웨어의 물리적 단위 구성과 의존관계를 표현하는 다이어그램은?
1. 유스케이스 다이어그램
2. 배치 다이어그램
3. 컴포넌트 다이어그램
4. 클래스 다이어그램
답: 3번
💠 다이어그램 종류
- 유스케이스 다이어그램: 시스템의 기능(요구사항)과 사용자 간 상호작용 표현 -> 요구사항 모델링
- 배치 다이어그램: 소프트웨어가 하드웨어에 배포되는 물리적 구조 표현 -> 배포/실행 환경 모델링
- 클래스 다이어그램: 클래스 간 정적 관계 표현 (상속, 연관 등) -> 구조 모델링
09. 정적 모델링에 사용되는 다이어그램이 아닌것은?
1. 클래스 다이어그램
2. 컴포넌트 다이어그램
3. 패키지 다이어그램
4. 상태 다이어그램
답: 4번
10. 그룹화와 관련 있는 것은?
1. 컴포넌트
2. 패키지
3. 통신
4. 노드
답: 2번
💠패키지란?
- UML에서 관련 있는 클래스, 인터페이스, 유스케이스, 컴포넌트 등을 묶는 단위
- 논리적 그룹화를 통해 복잡한 시스템을 구조화하고 관리하기 쉽게 만듦
- 코드에서는 자바의 package, 파이썬의 module, C++의 namespace와 유사
11. 관계의 종류에 속하지 않는 것은?
1. 의존 관계
2. 포함 관계
3. 연관 관계
4. 그룹 관계
답: 4번
💠UML의 주요 관계 종류
- 의존 관계 (Dependency)
- 한 요소가 다른 요소에 의존할 때 (예: 한 클래스가 다른 클래스의 메서드를 호출)
- 포함 관계 (Composition / Aggregation)
- 전체–부분 관계, 생명주기에 따라 합성 관계(●) 또는 집합 관계(◻)로 나뉨
- 예: 자동차 → 바퀴 포함
- 연관 관계 (Association)
- 두 클래스 간에 지속적인 연결이 존재할 때
- 예: 학생과 수업, 직원과 부서
12. 동적 모델링에 사용되는 다이어그램이 아닌 것은?
1. 순차 다이어그램
2. 통신 다이어그램
3. 클래스 다이어그램
4. 상태 다이어그램
답: 3번
13. 순차 다이어그램과 동일한 내용으로, 객체 사이의 데이터 흐름을 보여주는 다이어그램은?
1. 클래스 다이어그램
2. 활동 다이어그램
3. 상태 다이어그램
4. 통신 다이어그램
💠 통신 다이어그램
- 객체 간의 메시지 흐름과 상호작용을 표현하는 UML 행위 다이어그램
- 시퀀스 다이어그램(순차 다이어그램)과 동일한 정보를 표현하지만,
- 시퀀스 다이어그램은 시간 순서 중심
- 통신 다이어그램은 객체 간 연결 구조 중심
14. UML의 구성 요소를 설명하시오
UML은 시스템을 시각적으로 모델링하기 위해 다음과 같은 3가지 주요 구성 요소로 이루어져 있다.
- 사물(Things)
- 모델의 기본 요소 (예: 클래스, 유스케이스, 노트 등)
- 관계(Relationships)
- 사물들 간의 연결
- 종류: 연관(Association), 의존(Dependency), 일반화(Generalization), 실체화(Realization)
- 다이어그램(Diagrams)
- 사물과 관계를 시각적으로 표현
- 예: 클래스 다이어그램, 유스케이스 다이어그램, 시퀀스 다이어그램 등
15. 인터페이스에 대해 자바 코드를 예로 들어 설명하시오
인터페이스는 클래스가 반드시 구현해야 하는 기능의 집합(설계서 역할)입니다.
interface Animal {
void sound(); // 추상 메서드
}
class Dog implements Animal {
public void sound() {
System.out.println("멍멍");
}
}
- Animal은 인터페이스, Dog는 그것을 구현(implements)한 클래스입니다.
16. 클래스 다이어그램과 객체 다이어그램을 예를 들어 설명하시오
클래스 다이어그램
Class: Student
+ name: String
+ id: int
+ study(): void
객체 다이어그램
Object: student1:Student
name = "홍길동"
id = 202301
17. 유스케이스의 구성 요소와 그 역할을 설명하시오
구성 요소 | 역할 |
액터(Actor) | 시스템 외부 사용자 또는 다른 시스템 |
유스케이스(Use Case) | 시스템이 제공하는 기능 단위 |
시스템 경계(System Boundary) | 유스케이스가 포함되는 시스템 범위 |
관계(Relationships) | 액터-유스케이스, 유스케이스 간 포함/확장/일반화 관계 등 |
18. 클래스 다이어그램을 표현할 때 클래스 다이어그램에 표현되는 모든 특성을 설명하시오
예) 형식, 스테레오타입, public 등
- 형식(Notation): 사각형 박스(클래스 이름 / 속성 / 메서드)
- 접근 지정자
- +: public
- -: private
- #: protected
- 스테레오타입
- <<interface>>, <<entity>> 등 역할 설명
- 관계
- 연관, 집합(aggregation), 합성(composition), 상속 등
- 속성 및 메서드의 타입 명시
- 예: name: String, study(): void
19. 명세서 작성에 대해 예를 들어 설명하시오
명세서는 유스케이스의 내용을 상세하게 기술한 문서입니다.
예시: Place Order
- Actor: Customer
- Precondition: 로그인 상태
- Flow of events:
- 고객이 상품을 선택한다
- 장바구니에 담는다
- 결제를 진행한다
- Postcondition: 주문 정보가 저장되고 결제 완료됨
→ 개발자, 디자이너, 테스터 간의 공통 이해 문서로 활용됨
20. 스테레오 타입에 대해 예를 들어 설명하시오
스테레오타입(Stereotype)은 UML 요소의 의미를 확장하거나 특수화할 때 사용합니다.
형식: <<stereotype>>
예시:
- <<entity>>: 데이터 중심 클래스
- <<control>>: 처리 로직 중심 클래스
- <<boundary>>: 사용자 인터페이스 클래스
→ 소프트웨어 아키텍처의 역할 구분에 유용
'💾 lecture > 소프트웨어분석 및 설계' 카테고리의 다른 글
[객체 지향 설계와 분석을 위한 UML 기초와 응용] 4장 연습문제 (0) | 2025.04.12 |
---|---|
[객체 지향 설계와 분석을 위한 UML 기초와 응용] 3장 연습문제 (0) | 2025.04.12 |
[객체 지향 설계와 분석을 위한 UML 기초와 응용] 1장 연습문제 (0) | 2025.04.08 |
소프트웨어 분석 및 설계 3주차 정리 (0) | 2025.03.24 |
소프트웨어 분석 및 설계 2주차 (0) | 2025.03.24 |