클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

[소프트웨어 설계] 1장 요구사항 확인 4 - 요구사항 확인 2 : UML 본문

자격증 공부/정보처리기사 필기

[소프트웨어 설계] 1장 요구사항 확인 4 - 요구사항 확인 2 : UML

huenuri 2024. 7. 31. 12:15

이번에는 UML에 대한 부분을 학습해볼 것이다. 사실 앞부분은 자바시간에 수업을 안 듣고 학습일지를 쓰기도 했었다. JDBC 수업을 나가는데 무슨 말인지 하나도 알아들을 수가 없어 간간히 자투리 시간을 이용해 다른 공부를 한 것이다.
기본 수업을 아직 듣지 못한 내게 이 과정은 고급문법을 배우는 것처럼 너무나 어렵고 지금의 수준에 맞지 않았다. 차라리 그 시간에 내가 할 수 있는 일을 하는 게 더 나은 것 같았다.

데이터베이스 수업과도 관련이 많아서 이 수업도 하루이틀밖에 듣지 못한 내겐 아직 접근하기 어려운 영역이기도 했다.
UML도 쉽지는 않은 개념이지만 지금 배우는 과목과도 연결되어 배우고 나면 많은 도움이 될 것 같다.
그럼, 본 학습을 시작해보자!


 

UML 💎💎💎

 

1. UML(Unified Modeling Language)의 개념

UML은 객체 지향 소프트웨어 개발 과정에서 산출물을 명세화, 시각화, 문서화할 때 사용되는 모델링 기술과 방법론을 통합해서 만든 표준화된 범용 모델링 언어이다.

👍 UML은 소프트웨어 설계시 현장에서 가장 많이 사용되는 모델링 기법으로 명확하게 숙지하기

 

2. UML의 특징

 

UML은 방법론을 통합한 것으로, 표준화된 모델링 기법을 제공한다.

😲 암기 방법 : 가구명문
가시화/ 구축 / 명세화/ 문서화 언어

  • 생활 가구의 명문!

 

 

 

3. UML 구성요소 🎃

 

UML은 사물, 관계, 다이어그램으로 구성된다.

😲 암기 방법 : 사관다
사물/ 관계/ 다이어그램

  • 사과한다(사관다)

 

 

4. UML 다이어그램 🎃

1) UML 다이어그램 개념

UML 다이어그램은 사물과 관계를 모아 그림으로 표현한 형태이다.

2) UML 다이어그램 구분

  • 구분에 따라 구조적(정적) 다이어그램, 행위적(동적) 다이어그램으로 구분됨
  • 컴포넌트, 배치 다이어그램은 구현단계에서 사용되는 다이어그램

😲 암기 방법 : 구조적 다이어그램, 정적 다이어그램
클객 컴배 복패
클래스/ 객체/ 컴포넌트/ 배치/ 복합적 구조/ 패키지

 

용어 정리

인스턴스 : 객체지향 프로그램(OOP; Object Oriented Programming)에서 해당 클래스의 구조로 컴퓨터 저장 공간에서 할당된 실체

 

😲 암기 방법 : 행위적 다이어그램, 동적 다이어그램
유시커 상활타
유스케이스/ 시퀀스/ 커뮤니케이션/ 상태/ 활동/ 타이밍

🦴 시퀀스 다이어그램은 객체들 사이의 메시지 교환을 나타내며, 상태 다이어그램은 하나의 객체가 가진 상태와 그 상태의 변화에 대한 동적 순서를 나타낸다.

 

 

 

5. UML 상세

1) 클래스 다이어그램 🎃

클래스 다이어그램 개념

  • 객체 지향 모델링 시 클래스의 속성 및 연산과 클래스 간 정적인 관계를 표현한 다이어그램
  • 클래스와 클래스, 즉 클래스 속성 사이의 관계를 표현

 

클래스 다이어그램 구성 요소

구성요소로는 클래스 이름, 속성, 연산, 접근 제어자가 있다.

 

 

 

 

 

 

 

 

2) 유스케이스 다이어그램 🎃

유스케이스 다이어그램 개념

시스템이 제공하고 있는 기능 및 그와 관련된 외부 요소를 사용자의 관점에서 표현하는 다이어그램

유스케이스 다이어그램 구성 요소

구성 요소는 유스케이스, 액터, 시스템이 있다.

액터는 시스템의 기능을 사용하는 사람(역할)인 사용자 액터(User Actor)와 다른 프로젝트에서 이미 개발되어 사용하고 있다. 본 시스템과 데이터를 주고 받는 등 서로 연동되는 시스템을 의미하는 시스템 액터로 구분될 수 있다.

 

 

 

유스케이스 다이어그램 구성 요소 간의 관계

구성 요소간의 관계에는 연관, 포함, 확장, 일반화 관계가 있다.

 

 

 

 

3) 시퀀스 다이어그램

시퀀스 다이어그램(Sequence Diagram) 개념

객체 간 상호작용을 메시지 흐름으로 표현한 다이어그램이다.

시퀀스 다이어그램은 순차 다이어그램이라고 하며, 동적 다이어그램으로 구분한다.

시퀀스 다이어그램 구성 요소

객체, 생명선, 실행, 메시지, 회귀 메시지가 있다.

 

 

 

4) 상태 다이어그램 🎃

상태 다이어그램(State Diagram) 개념

  • 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호 작용에 따라 상태가 어떻게 변화하는지 표현하는 다이어그램
  • 어떤 이벤트에 의해 각체 자신이 속한 클래스의 상태 변화나 객체 간 상호 작용하는 과정에서의 상태 변화를 표현

 

상태 다이어그램 구성 요소

상태, 시작 상태, 종료 상태, 전이, 이벤트, 전이 조건이 있다.


 

 

 

6. UML의 관계(Relationships)

UML 관계는 사물과 사물 사이의 연관성을 표현하는 것이다.

 

 

7. UML 확장 모델의 스테레오 타입(Stereotype)

  • UML의 스테레오 타입은 UML의 기본적 요소 이외의 새로운 요소를 만들어 내기 위한 확장 메커니즘
  • 형태는 기존의 UML의 요소를 그대로 사용하지만 내부 의미는 다른 목적으로 사용하도록 확장
  • UML의 스테레오 타입은 '<<>>'(길러멧; Guilemet) 기호를 사용하여 표현


 

 

학습을 마치고

이렇게 해서 요구사항 확인 단원의 두번째 장 학습을 마쳤다. 하나의 장만이 남아있는데 이건 내일 정리해야겠다. 이번 장에서는 다이어그램을 표시하는 여러가지 방법들에 대해 학습해보았다.
UML, 클래스, 유스케이스, 시퀀스, 상태, 스테레오 타입 등 정말 많은 다이어그램이 있었다. 간단한 그림만으로 내용을 잘 전달한다는 것이 신기하기도 했다.

이름을 들어본 것들도 종종 있어서 반갑기도 했다. 시험에 자주 출제되는 부분을 강사님이 찝어주셨는데 그 부분을 시간날 때마다 보면서 암기해야겠다. 이제 자기 전까지 어제 하다 만 자바 공부를 조금이라도 진행해볼 것이다.