728x90

Cardinality를 Car와 Tire를 예를 들어 설명하시오.

Car 0..1 ◆ㅡ 4 Tire : 0이 있어서 말이 된다, 0이 없으면 말이 안 됨, 타이어 가게가 있어서, 0은 차가 없어도 타이어가 존재할 수 있어서
Car * ◇ㅡ 4 Tire : 말이 안된다, 여러 차가 타이어를 공유는 있을 수 없음

 

Cardinality를 Student와 Class를 예를 들어 설명하시오.

Student 1 ㅡ 0..* Registration 0..* ㅡ 1..* Class

 

Order the strengths of 5 class diagram relationship types. Justify the ordering.

Inheritance
Composition : 소멸까지
Aggregation :  Classifier 간의 관계에서 사용. +  집합 + 필수요소
Association : Classifier 간의 관계에서 사용. + 필수는 아님
Dependency :  Method  간의 관계에서 사용.

 

cardinality가 중요한가? 꼭 정확히 적어야 하나?

cardinality를 정확히 써야 array를 써야할지 아닐지 명확히 할수 있다.
코딩은 이 cardinality(요구사항)을 그대로 따르게 되어 있다.
객체간 관계가 1 - 1 인데 0이 나오는 것을 허용하게 하면 안된다.

 

association과 dependency 차이?

dependency 주로 함수내에서 instance를 생성, 사용, 호출하거나 매개변수로 쓰이는 등 instance를 잠시 사용할때 사용. 주로 class diagram에서는 생략
association : instance의 reference를 계속 유지하고 있을 경우

 

association과 aggregation 왜 구분해서 사용하나? 둘다 멤버변수 가지는데?

aggregation : new Car(new Engine)처럼 car에 engine을 강제할수있게 됨.
whole-part 관계를 나타낼때 사용. 부품(part)없이 전체를 만들수 없다.
association : new Car()해도 쓸수 있는것

 

class 관계에서 strong과 weak의 의미는 뭔가요?

상호작용이 강하다. 약하다의 의미
life time관련해서 둘이 서로 depend하는지
method invoke 관점
link persistence : dependency 빼면 나머지 4개는 다 link를 보존하고 있음

 

Use Case Diagram 무엇인가요?

Actor가 목표를 위해 시스템을 어떻게 이용하는지를 표현함, Functional requirement 를 나타냄.
Action을 중심으로 시스템을 구성하고 시스템의 범위와 기능을 정의한 모델

 

Component Diagram 무엇인가요?

컴포넌트들과 시스템이 어떻게 연결되어 있는지 모델링한 다이어그램
Provided Interface
Required Interface

Component Diagram의 Components 와 Deployment Diagram의 Components 의 차이점은 무엇인가요?

컴포넌트 다이어그램의 컴포넌트는 만드는 소스파일, 개발중인 것
디플로이먼트 다이어그램에의 컴포넌트는 런타임 수준, 컴포넌트의 인스턴스

 

Sequence Diagram 시퀀스 다이어그램은 언제 사용하나요?

Usecase 1개의 시간의 순서에 따른 컨트롤 플로우.
특정기능(usecase 1개)에 대해서 객체간에 메시지 흘러가는 순서를 나타낼때.

 

Applying MVC style paradigm in drawing Sequence Diagram

MVC style paradigm을 적용하여 CRUD 류의 Sequence diagram을 그릴 수 있음 (User - View - Control - Model)

Sequence Diagram, alt와 opt 차이는?

alt는 워크플로우의 조건 if else에서 각 조건을 표시한다
opt는 하나의 영역만 조건에 존재 하는 경우에 사용한다.

Sequence Diagram, 기타 용어

critical : 하나의 스레드만 접근하여 표현하는 operator
ignore : 특정 메시지를 무시할 경우
consider : 특정 메시지를 중요하게 고려할 경우
assert : 절대 처리(정의된 로직이 반드시 성립되는 처리) 
neg : negative 절대 발생하면 안되는 상황
State Machine Diagram
What is Event in State Machine Diagram? Give examples.
도어는 "열림", "닫힘" 또는 "잠김"의 세 가지 상태 중 하나일 수 있습니다. 열기, 닫기, 잠금 및 잠금 해제 이벤트에 응답할 수 있습니다. 모든 이벤트가 모든 상태에서 유효한 것은 아닙니다. 예를 들어 문이 열려 있으면 닫을 때까지 잠글 수 없습니다. 또한 상태 전환에는 가드 조건이 첨부될 수 있습니다. 문이 열림이면 doorWay->isEmpty 조건이 충족되는 경우에만 닫기 이벤트에 응답할 수 있습니다. 

어떤 경우에 적용하면 좋나요?

state sensitive, state dependent한 behavior가 있고, 
state에 따라 할수 있는 action이 고정되어 있는 경우.
시스템안에 set of state가 잘 정의될 수 있는 경우.
예) 자동차 시동은 P에서만 걸리고 D에서는 안걸린다
구현은 간단한 것은 enum state로, 복잡하다면 state pattern 사용

구성요소 설명해 보시오.

Transition : 오브젝트가 다른 상태로 변경
Event(Trigger) : system에 영향을 미치는 어떠한 동작 (구체적이지 않은)
Guard(Condition) : event의 파라미터의 값으로 동적으로 체크되는 Boolean expressions
Action(Effect) : 하나의 event가 dispatch되면 state machine은 action을 수행하는 것으로 응답 한다.  
Orthogonal State: State의 동시성을 표기하는 기능
Swallow History : Composite state의 같은 Level의 첫 state로 복원
Deep History :  Last State로 복원

 

Class Diagram과 일관성 확인 방법은?

State Action에 대해서 Class의 Attribute가 제공되어야하고
Event는 Class의 Method로 제공되어야 한다.

 

Timing Diagram 언제 쓰는가?

타이밍 다이어그램은 시퀀스 다이어그램 의 특수한 형태입니다 . 타이밍 다이어그램과 시퀀스 다이어그램의 차이점은 축이 반대로 되어 왼쪽에서 오른쪽으로 시간이 증가하고 생명선이 수직으로 배열된 별도의 구획에 표시된다는 것입니다.

 

Activity Diagram, When would you use an Activity Diagram?

각 기능 블록에 대한 Action과 Activity를 정의
단계별 작업흐름을 그림으로 표현
둥근네모를 액티비티, 화살표를 액션, 마름모를 디시젼 심볼

 

Deployment Diagram 무엇인가요?

시스템이 적용되는 환경을 설명합니다
Define Nodes
Define Network Connectivity
Deploy Software Artifacts

 

UML Constructs for Parallel Processing, 무슨 다이어그램을 쓰면 되나요?

Using an activity diagram, fork and join, can display parallel processing via UML.
Sequence, State

728x90

+ Recent posts