본문 바로가기

CS/창의적 컴퓨터공학 설계

4. 다이어그램 UML Diagram

1) use case diagram

use case는 사용 예제이다. 

소프트웨어 사용자는 사람이 될 수도 있고, 다른 소프트웨어가 될 수도 있다.

사용자와 소프트웨어 간의 연관성을 보여주고, 어떤 일을 위해서 소프트웨어가 어떻게 작동되는지를 그린 다이어그램이다.

유즈케이스 다이어그램 예시

- 네모 박스가 시스템이다. 바운더리가 있는데 바운더리는 시스템과 외부 시스템을 구별하는 것이다.

- 시스템 내부의 타원형이 use case이다.

- 그 use case와 관련된 외부 actor가 있다. 사람일 수도, 시스템일 수도 있다.

 

2) activity diagram

소프트웨어를 진행할 때 일을 순차적으로 보여주는 것이다,

 

3) class diagram

소프트웨어 안에 구체적인 일을 하는 것이 클래스고, 그 클래스가 어떻게 작동하는 지를 보여주는 것이다,

 

4) sequence diagram

시퀀스가 구체화되어 객체를 만들게 되는데,

그 객체 안에서 어떤 일을 어떻게 순차적으로 진행되는 지를 보여준다.

어떤 activity가 이루어지기 위해서 여러 객체가 일을 주고 받는데, 그 과정을 보여주는 것이다.

 

5) collaboration diagram

콜라보레이션은 협력을 한다는 것이다.

하나의 activity를 수행하기 위해서 여러 객체가 협력을 하는데,

협력할 때 객체마다 맡은 일들을 순차적으로 보여주는 것이다.

 

6) state chart diagram

하나의 객체가 그 내부에서 일을 할 때, 그 일을 표현한 것이다.

상태 변화를 보여주면 어떻게 일을 하는지 보여준다.

하지만 제한점이 있어서 사람들이 보다 잘 객체의 프로세싱을 표현할 수 있는지 생각하고 있지만

아직 생각해내지 못해서 state diagram을 사용하고 있다.

 

7) component diagram

component는 시스템 이론에서 나오는데, input이 있고 이를 어떤 프로세싱을 통해 output을 만든다.

이를 시스템이라고 하는데, 이와 유사한 개념이 component이다.

component에는 input과 output이 있고 

소프트웨어 전체를 component 개념으로 이해한다.

큰 component가 있고 그 안에 작은 component들이 있다. 그 안에 input과 output으로 연결된 것을 보여주는 것이다.

 

8) deployment diagram

핸드폰을 보면 소프트웨어가 몇 만개가 들어가 있다.

소프트웨어는 하나의 소프트웨어만 동작하는 것이 아니라 주변의 소프트웨어들과 연결되어 움직이고, 이를 호환성이라고 한다.

하나의 소프트웨어와 그 주변의 소프트웨어들, 이 들 중 하나의 역할을 하기 위해서 존재하는 것ㅇ이다.

소프트웨어가 데이터를 주고 받으면서 각자의 환경에서 각자의 역할을 하는 것을 의미한다. 이를 deployment라고 한다.

단순히 소프트웨어만 있는 것이 아니고 하드웨어도 마찬가지이다.

pc, 서버, 모바일 등 하드웨어가 네트워크로 연결될 때, 그 안의 소프트웨어가 연결되어 있다.

하나의 기기에 있는 소프트웨어만 호환성이 있는 것이 아니라 다른 하드웨어의 소프트웨어와도 연관이 있다.

이런 연관성을 보여주는 것이 deployment diagram이다.

 

9)composite structure diagram

composite은 나눠질 수 있는 것들이 조합되어 있다는 것이다.

구조라는 것은 하나의 소프트웨어를 보면 그 안에 서브 시스템이 있고 모듈과 객체가 있는데,

이것들이 평면으로 되어 있지 않고 계층으로 grouping되어서 구조적으로 만들어져 있다.

소프트웨어 하나가 운용되려면 많은 객체들이 필요한데, 이 객체들을 카테고리로 나눠서 grouping 되어 있다.

예를 들어 pc를 운용할 때, 어플리케이션 소프트웨어가 있고 그 밑에 middle ware가 있다. 서버, 클라이언트 등 다른 기기와 통신할 수 있게하는 객체들이 모여있고, 그 밑에는 운영체제가 있다. 운영체제와 관련된 객체와 모듈들이 모여있다. 

이런 구조를 표현하는 것을 composite structure diagram이라고 한다.

'CS > 창의적 컴퓨터공학 설계' 카테고리의 다른 글

6. Use Case, Use case Description  (0) 2020.04.16
5. System Analysis  (0) 2020.04.09
3. UML은 무엇인가  (0) 2020.04.02
2. 컴퓨터공학 설계란 무엇인가  (0) 2020.04.02
1. 컴퓨터공학은 무엇인가  (0) 2020.04.02