DB/UML

UML(Chapter01-1,1-2)

자바꿈나무00 2023. 1. 6. 00:12

* 모르겠는 표현

 

chapter01_01 UML개념

 

Modeling

- 모델을 만드는 작업

- 현실 세계를 단순화시켜 표현하는 기법

- 절차지향 모델링으로는 한계가 있어 객체지향 모델링이 발생됐지만, 각 사용자마다 표기법이 달라서 호환성 문제가 생겼다. 그래서 공통적인 표기법인 UML이 발생했다.  

 

UML (Unified Modeling Language)

- 통합 모델링 언어로 소프트웨어 공학에서 사용되는 표준화된 범용 모델링 언어

- 소프트웨어 개념을 다이어그램으로 그리기 위해 사용하는 시각적인 표기법

 

필요성

1. 의사소통에 용이하다.

2.  대규모 프로젝트 구조의 로드맵 형성에 유용하다.

3. 개발할 시스템 구축에 대한 기초를 마련할 수 있다.

4.  백엔드 문서용으로 제격이다. 분석하고 설계하는 것 이후에도 틈틈히 수정하기 좋다.

 

UML 작성 시 주의할 점

1. 핵심적인 기능 위주로 작업할 것(행위를 가장 우선적으로 작업)

2. 분석 설계 단계에서 UML을 통해 모델링 했어도 구현하는 중에 발생하는 차이들에 대해 반복을 통해 다듬을 것이 요구된다.

3. 멤버 클래스 다이어그램을 보고 머릿속에 코드가 그려지지 않는다면 다시 정리해봐야 한다.


UML 다이어그램 종류

1. 정적 다이어그램 : 말 그대로 정보를 표현하는 것. 

1. 정적 다이어그램  목적
1. 클래스 다이어그램  프로그램 안의 주요 클래스와 주요 관계를 보여준다.
2. 객체 다이어그램  시스템 실행 중 어느 순간의 객체와 관계를 포착해서 보여준다.
 복합구조 다이어그램 분류자의 내부 구조를 표현한다.
4. 배치 다이어그램  소프트웨어, 하드웨어, 네트워크를 포함한 실행 시스템의 물리 구조 표현
5. 컴포넌트 다이어그램 컴포넌트 사이의 의존관계 묘사, 컴포넌트를 구성하는 요소들과 그것들을 구현하는 요소들도 모두 표현 가능하다.
6. 패키지 다이어그램  대규모 시스템에서 주요 요소간의 종속성을 나타내거나 여러 클래스들의 그룹화된 메커니즘을 나타낼 때 사용한다.

2. 동적 다이어그램 : 동작 위주로 표현 한 것.

  2. 동적 다이어그램 목적
  1. 활동 다이어그램
active
플로우 차트가 uml에 접목된 개념으로  여러가지 행위들과
제어구조 등을 모두 포함한다.
2 상태 다이어그램
state
한 객체의 상태 변화를 다이어그램으로 표현한 것이다.
3. 유스케이스 다이어그램
usecase
시스템과 사용자가 상호작용하는 경우를 나타내는 기능 위주의 다이어그램이다.
상호작용 4. 시퀀스 다이어그램
sequence
시간의 흐름에 따른 객체 사이의 상호작용 표현이다.
5. 상호작용 개요 다이어그램
interactive
여러 상호작용 다이어그램 사이의 제어 흐름을 표현한다.
6. 통신 다이어그램
communication
객체 사이의 관계를 중심으로 표현한다.
7. 타이밍 다이어그램
timing
객체 상태 변화와 시간 제약을 명시적으로 표현한다.

 


chapter01_02 StarUML 5.0 설치

- 예전 버전, 무료 버전인 점 생각해야함.


 

starUML 5.0 설치

UML 툴 중에서 가장 보편화 되어 있는 프로그램

 

https://staruml.io/download

Mac 버전 다운로드 후 열었을 때 보이는 화면

아래 1, 2과정은 구매해야 가능한 것으로 안내된다.

차이가 있어서 강의에서의 화면을 토대로 순서를 알 수 있게 단계별 캡쳐를 순서대로 배치했다.

 

 

1~5 : 자바 프로필 추가

 

1

 

2

 

3
4

 

5

 

 

어떤 산출물을 담는 Model Exploer : 작업관리 영역

 

 

properties : 그 요소에 대한 정보들을 확인하고 수정하는 영역

 

 

class, use, sequence 다이어그램 3개 실습실행

우선 usecase 먼저 눌러서 만들기

 

만들어진것 확인
Actor선택
그냥 빈 곳 클릭
자동완성으로 생성됨
더블클릭해서 이름 변경가능

 

usecase클릭
화면 클릭해서 생성 후 이름 생성

행위를 뜻함

 

이런 것들로 관계표현 가능

 

DirectedAssociationd으로 관계를 나타내본 것

 

완벽하게 지우려면 Model Exploer -> Delete From Model

 

좌측 Toolbox ->( Class클릭 -> 모눈부분에서 클릭-> 'Test'라고 입력 -> 같은 방식으로 (Class클릭-> 모눈부분 클릭) 'Test2'도 입력)

 

- Test라고 입력한 부분 밑에도 다 값 입력 가능 

- DirectedAssociationd로 관계 표시 가능

 

-> 우측 ModelExploer에서 'Test'우클릭 -> Add Diagram -> Sequence Daiagram

(-> 좌측 Object클릭 -> 모눈부분 클릭 -> 좌측 Object클릭 -> 모눈부분 클릭) -> Stimulus 클릭 -

> Object1과 2를 연결(관계를 표시하는 것)