본문 바로가기

Study/UML14

[UML] 타이밍 다이어그램(Timing Diagram) - 시간에 따른 각 객체의 상태와 그 상태를 변경시키는 방아쇠 역할을 하는 메시지들을 보여주는 도표 - 순차 다이어그램과 상태 머신 다이어그램을 합쳐 놓은 것과 같다. - 각 신호들이 시간별로 처리되는 과정을 그림으로 나타낸 것 - 신호의 동작을 정확한 타이밍에 맞춰 이뤄지게 하여 발생할 수 있는 충돌이나 간섭을 방지할 수 있음 1) 시간축 - 시간의 흐름을 나타내는 수평선 2) 신호 - 수직선으로 표시되고 상태 변화에 따라 높은 레벨과 낮은 레벨로 표시됨 3) 클럭 - 시스템의 타이밍 신호로 주기적으로 반복되는 신호로 표시됨 - 시스템의 동작을 동기화함 4) 지연 - 신호의 전달이나 처리에 소요되는 시간을 나타냄 5) 상태 전이 - 신호의 상태 변화를 표현 2023. 10. 13.
[UML] 프로필 다이어그램(Profile Diagram) - UML 요소, 커넥터 및 구성 요소를 확장하는 패키지에서 만든 것 - 도메인과 플랫폼의 관계를 정의할 수 있는 다이어그램 - 스테레오타입을 스테레오타입이 있는 클래스로 표시하고 프로필을 스테레오타입이 있는 패키지로 표시한다. - 스테레오타입을 생성하고 리소스 중심 인터페이스를 통해 구성 또는 일반화와 연관시킬 수 있음 - 스테레오타입의 태그 값을 정의하고 시각화도 할 수 있음 2023. 10. 13.
[UML] 패키지 다이어그램(Package Diagram) - 어떤 구성요소라도 더 높은 수준의 단위로 묶을 수 있도록 해주는 구조 - 클래스와 같은 여러 모델 요소들을 그룹화하여 표현하기 위한 수단 - 각 패키지는 네임스페이스를 나타냄 - 모든 클래스는 자신이 속한 패키지 내에서 유일해야 함 - 규모가 큰 시스템에서는 패키지 다이어그램을 보아야 해당 시스템의 구조를 이해하고 제어할 수 있음 1) 패키지 - 여러 클래스들로 구성된 묶음 2) 의존 관계 - 하나의 패키지가 다른 패키지를 사용하는 관계 3) - 어떤 패키지가 너무 많은 곳에 쓰여서 의존을 표시하면 다이그램이 보기 힘들어질 때 키워드를 붙여 사용 - 패키지를 바라보는 시각에 따라 아래와 같이 여러가지 방법으로 표현될 수 있다. 2023. 10. 12.
[UML] 상호 작용 개요 다이어그램(Interaction Overview Diagram) - 시스템 구성 요소들 사이의 상호 작용을 표현하는 다이어그램 중 하나 - 객체들 간에 주고받는 메시지를 통해 상호 작용을 명세 - 여러 조건 분기를 적용하기에 적절함 - 활동 순서를 시각화한다는 것에서 활동 다이어그램과 유사 - 각 개별 활동인 중첩된 상호 작용 다이어그램을 포함할 수 있는 프레임으로 표시됨 - 활동 다이어그램과 같은 표기(초기,최종,결정,병합,분기,조인)를 사용하고 추가로 '상호 작용 발생', '상호 작용 요소'를 사용함 - if-then-else 경로를 단일 시퀀스 다이어그램으로 설명해야하는 복잡한 시나리오 분석에 유용함 2023. 10. 12.
[UML] 복합 구조 다이어그램(Composite Structure Diagram) - 클래스 내부 부분들을 나타내기 위해 사용 - 복합 구조의 클래스와 컴포넌트 내부 구조를 표현한다. - 클래스를 계층적인 내부 구조로 분해하여 복잡한 객체를 여러 개의 부분으로 나눔 1) 부분(Part) - 클래스 내부의 요소들을 나타냄 - "이름:클래스"의 형태로 나타내는데 둘 다 선택사항이다.(생략가능함) - 대괄호 속에 '[1]' 이런식으로 표시하여 다중성을 나타낸다. 2) 연결자(Connector) - 부분들 사이에 선으로 이어진 부분을 말한다. 3) 포트(Port) - 외부와 내부가 연결되는 지점 - 작은 네모로 표시 4) 대리 연결자(Delegation connector) - 포트와 부분 사이를 연결 - 화살표로 표시 - 같은 모델인데 왼쪽은 클래스, 오른쪽은 복합 구조 다이어그램을 나타냄 2023. 10. 12.
[UML] 상태 머신 다이어그램(State Machine Diagram) - 객체의 행동 다이어그램 중 하나 - 객체는 특정 상태를 지니며 이 상태는 이벤트와 같은 액션에 의해서 변경되는데, 이러한 객체의 상태와 상태의 변화를 도식화 한 다이어그램이 상태 머신 다이어그램이다. - 상태 머신을 이용해 각 객체의 행동을 모델링한다. 1) 시작 마크(First State) - 프로세스에서 처음 상태를 나타냄 - 해당 마크와 이어진 상태가 처음 상태임 2) 상태(State) - 프로세스의 상태를 나타냄 - 둥근 모서리의 네모박스 3) 이벤트(Event)와 상태 변경/전이(Transition) - 이벤트는 상태 변경을 일으키는 무언가를 뜻한다. - 이벤트를 통해 외부에 의한 액션이 있을 수 있고, 아니면 시간의 경과에 따른 결과가 될 수도 있다. - 기존 상태에서 새로운 상태로 변화하.. 2023. 10. 10.
[UML] 배치 다이어그램(Deployment Diagram) - 시스템의 물리적인 구조를 보여주며, 어떤 소프트웨어가 어떤 하드웨어에서 동작하고 있는지를 보여준다. - 무엇이 어디에 배치되는지를 보여준다. - 시스템 설계 단계의 마지막에 작성한다. 1) 노드(node) - 소프트웨어를 실행할 수 있는 어떤 것 - 장치(device)와 하드웨어 두 가지의 형태로 존재 2) 실행 환경(execution environment) - 스스로 실행하거나 다른 소프트웨어를 포함하는 소프트웨어 - 운영체제, 컨테이너 프로세스 등이 해당한다. 3) 아티팩트(artifact) - 노드에 포함되며, 소프트웨어의 물리적인 모습을 뜻한다. - 클래스 상자로 보여주거나 이름을 나열하여 표현하는데 문서 아이콘 상자나 키워드를 붙여 표시한다. - .exe, .bin,DLL, JAR, 어셈블리.. 2023. 10. 10.
[UML] 컴포넌트 다이어그램(Component Diagram) - 각각의 컴포넌트들이 어떻게 서로 연결되어 더 큰 컴포넌트나 소프트웨어 시스템을 구성하는지를 보여줌 - 시스템을 구성하는 소프트웨어의 조각, 임베디드 컨트롤러 등 그들의 조직과 종속성을 보여준다. - 클래스 다이어그램보다 높은 수준의 추상화를 가진다. - 일반적으로 컴포넌트는 하나 이상의 클래스에 의해 구현된다. - 시스템의 많은 부분을 포함할 수 있도록 구축 블록을 구축한다. 1) 컴포넌트 - 논리적 요소들을 물리적으로 패키지화한 것 - 행동의 제공과 필요한 인터페이스에 의해 정의되는 시스템의 모듈 부분을 의미한다. - 일반적으로 탭이 달린 직사각형의 형태로 표현한다. - 내부에 컴포넌트의 이름을 포함하고, 컴포넌트가 패키지에 포함되어 있다면 이름 앞에 패키지의 이름을 붙여서 나타낼 수 있다. 2) .. 2023. 10. 6.
[UML] 유스케이스 다이어그램(Use Case Diagram) - 시스템과 사용자의 상호작용을 다이어그램으로 표현한 것이다. - 사용자의 관점에서 시스템의 서비스, 기능 및 그와 관련한 외부와의 관계를 보여준다. - 프로젝트에 대한 요구사항을 정의하고 세부기능을 분석하여 개발 범위를 정할 때 작성한다. 1) 시스템(System) - 만들고자 하는 프로그램을 나타냄 - 유스케이스들을 둘러싼 사각형 틀로 시스템 명칭을 안쪽 상단에 작성한다. 2) 액터(Actor) - 시스템의 외부에 있고 시스템과 상호작용을 하는 사람(시스템의 기능을 사용하는 사람), 시스템(시스템에 정보를 제공하는 또 다른 시스템)을 말한다. - 원과 선을 조합하여 사람모양으로 표현 - 액터명은 위나 아래에 표시하여 액터의 역할을 작성 3) 유스케이스(Usecase) - 사용자 입장에서 바라본 시스템.. 2023. 10. 6.
[UML] 객체 다이어그램(Object Diagram) - 특정 시점의 객체들이 동작하는 상황을 표현 - 클래스가 아닌 인스턴스를 보여주기에 인스턴스 다이어그램이라고도 함 - 클래스 다이어그램으로 이해하기 어려울 때 이해를 쉽게하기 위해서 사용한다. 1) 객체 - 사각형에 객체의 이름을 표기하고 밑줄을 그음 2) 링크 - 객체 간의 연관 관계를 의미하면 실선으로 연결하여 표시 - 연결된 객체들끼리 메시지를 주고받음 - 클래스 간에 관계를 맺고 있음을 의미함 - 객체들은 해당 클래스의 제약 조건을 모두 만족해야 함 3) 상태 - 속성의 값들로 객체의 상태가 표현됨 - 특정 순간에 객체가 가지고 있는 속성값들이 객체의 상태가 됨 4) 동적바인딩 - 객체 다이어그램은 템플릿에 대한 동적 바인딩을 표현 - 동적 바인딩은 클래스가 아닌 객체로 만들어질 때 타입을 알려.. 2023. 10. 5.
[UML] 순차 다이어그램(Sequence Diagram) - 시스템이 전달하는 메시지의 시간적 흐름을 나타내려고 하는 상호작용 다이어그램이다. - 객체간의 동적 상호작용을 시간적 개념을 중심으로 모델링하는 과정이다. - 객체가 서로 긴밀하게 일을 분담하여 처리함으로써 주어진 문제를 해결하는 방식이 전제되는 체계이다. - 다이어그램의 수직방향이 시간의 흐름을 나타낸다. - 객체 간의 관계, 메시지의 시간적 순서 강조 표현 - UseCase 시나리오를 시간과 순서에 따라서 묘사 및 도식화 - 복잡한 시나리오나 실시간 명세 표현, 메시지의 명시적인 순서 표현 1) 객체(Object) - 활동의 주체 - 직사각형으로 표현 2) 생명선(Lifeline) - 시간의 경과를 의미 - 객체에서 이어지는 점선으로 표현 3) 활성 박스(Activation Box) - 현재 객체.. 2023. 10. 5.
[UML] 활동 다이어그램(Activity Diagram) - 활동 다이어그램은 동작 다이어그램이고, 일련의 Activity들로 어떤 프로스세스를 표현하는 다이어그램이다. - 모든 종류의 프로세스를 표현하는 데 사용될 수 있다. - 프로그램의 흐름을 대략적으로 보여주어 사용자가 특정 운영 작업에 관련된 조건과 제약을 더욱 명확히 이해하고 활동 간 메시지 흐름을 확인할 수 있다. 1. Action/ Activity - 모서리가 둥근 사각형 - 어떤 Action이나 Activity의 집합 - 동사 + 명사로 이름이 붙여짐 2. Object Node - 직사각형 - 개체 흐름 집합에 연결된 개체를 나타냄 3. Control Flow - 화살표 - 실행 순서를 나타내는 화살표 4. Object Flow - 점선 - 오브젝트의 흐름을 나타냄 5. Initial Node .. 2023. 10. 4.