📍서비스기획 강의리뷰 2일차, UML를 통한 서비스 흐름 잡기


예를 들어 하나의 서비스가 있다. 개발자는 서비스를 이용한 후 회원가입을 하면 추가적인 서비스를 이용할 수 있게 프로세스를 짰지만 사용자는 회원가입 후 서비스를 이용할 수 있다. 이렇게 개발 프로세스가 정의되어 있어도 사용자는 다르게 이용할 수도 있다. 이러한 오차의 발생을 방지하기 위해서 UML 작성이 필요하다.

UML(Undified Modeling Language)란?

UML(Undified Modeling Language)은 방법론을 통합한 것으로, 시스템 개발 과정에서 시스템 개발자와 고객 또는 개발자 상호간의 의사소통이 원할하게 이루어지도록 표준화한 대표적인 객체지향 모델링 언어이다. 시스템 자체의 산출물의 역할을 시각화 하여 규정하는데 목적을 두고 있다.

UML에서 정의한 modeling이란?

어떠한 현상들을 단순화, 일반화, 추상화 하는 과정이다.

  • 내부 구조나 동작하는 행위에 대한 표현의 자유
  • 시각화 툴 → 사용자에게 신뢰성↑, 설득력↑
  • 시스템의 구성 요소들이 서로 어떻게 연결되어 있는지 확인 가능
  • 사람의 행위를 기반으로 단계적 과정을 표현
  • 레벨화(업무의 중요도 구분) 가능
  • 명확한 의사 소통의 도구

UML 구성요소

  • Thing
  • Relation : 연관 관계, 집합 관계, 포함 관계, 일반화 관계, 의존 관계, 실체화 관계
  • Diagram :
    • Structure Diagram(정적 모델링) : 클래스 다이어그램, 컴포넌트 다이어그램, 객체 다이어그램, 복합체 구조 다이어그램, 배치 다이어그램, 패키지 다이어그램
    • Behavior Diagram(동적 모델링) : 활동 다이어그램, 유스케이스 다이어그램, 시퀀스 다이어그램, 커뮤니케이션 다이어그램, 상호작용 개요 다이어그램, 타이밍 다이어그램, 상태 다이어그램

UML modeling의 이점

  • 시각화
  • 이해도
  • 정확성
  • 의사전달
  • 일관성

Use Case Diagram

Use Case Diagram은 시스템과 외부 요소 간의 상호작용을 보여주는 것으로 사용자의 관점에서 표현한 다이어그램이다. 시스템의 상위 레벨 기능과 범위를 기줄하면 시스템의 What 에 대해서만 정의한다.

Use Case Diagram 구성요소

  • System / System Scope : 시스템 내부의 유스케이스들을 사각형으로 묶어 시스템의 범위를 표현
  • Actor : 시스템과 상호작용을 하는 모든 외부 요소로, 사람이나 외부 시스템
  • Use Case : 사용자가 보는 관점에서 시스템이 액터에게 제공하는 서비스, 기능
  • Relationship : 액터와 유스케이스, 유스케이서와 유스케이스 사이에 나타날 수 있으며, 포함 관계, 확장 관계, 일반화 관계의 3종류가 있음

Use Case Diagram 작성법

  1. Blank Diagram 만들기
  2. Actor 설정
  3. 시스템 영역 지정
  4. Use Case 작성
  5. 관계 설정 : 포함 << include >>, 확장 << extend >>, 일반화, 연관

강사님의 예시를 참고하여 아고다 웹 사이트의 IA 만든 것을 바탕으로 Use Case Diagram 만들었다.

Ativity Diagram

Ativity Diagram은 시스템의 실행과 행위의 흐름을 순서대로 표현하는 다이어그램이다. Flowchart와 유사하다.

Ativity Diagram 구성요소

  • Initial Node : 액티비티 시작을 의미
  • Transition : 실행의 흐름을 나타냄
  • Action / Activity : 어떤한 일들의 처리와 실행을 의미
  • Final Node : 처리의 종료를 의미
  • Decision Node : 조건에 따른 제어 흐름의 분리를 표현
  • Merge Node : 여러 경로의 흐름이 하나로 합쳐진 것을 표현

Ativity Diagram 작성법

  1. Ativity Diagram 2 만들기
  2. 관계 기술
  3. 시작점과 끈점의 흐름을 잡아 Ativity Diagram 그리기

🗒 숙제


Draw.io를 사용하여 Activity Diagram 그리기
1일 차와 마찬가지로 아고다 웹사이트의 일부를 참고하여 그렸다.


🫠 느낀점


정보처리기사 자격증을 공부하면서 UML에 대한 기본 개념을 가지고 있었지만, 실무에 필요한 방법론이라고는 생각하지 않고 있었다. '그냥 개발만 잘하면 되는 거 아닌가'라는 생각이 은연중에 자리 잡고 있었다. 강사님을 통해서 실무에 어떻게 적용되는지 왜 실무에서 필요한지 UML에 대한 중요성을 깨달을 수 있는 강의였다. UML은 개발자가 생각한 대로 시스템 사용자에게 원하는 시스템을 제공하기 위해선 UI를 설계하기에 앞서 필요한 단계이다.

최근 웹 사이트들은 회원 정보를 관리할 때 휴면 회원을 관리하고 있다. 일반적으로 해당 사이트에서 1년 이상 해당 계정을 사용하지 않으면 1년이 되는 날짜 전에 휴면 계정으로 전환될 거라는 안내 메시지가 온다. 이를 통해 '개인정보 보안이 강화되었구나' 정도 느꼈지 휴면 계정으로 전환된 회원 정보와 탈퇴 회원 정보를 관리해야 하는지 몰랐다. 개인정보 보호법 말고도 다른 법에서 특정 기간 보유하도록 정해진 기록이 있다면 그에 따라야 한다는 것이다.
강의를 듣고 나서 휴면 계정 전환에 대한 안내 메시지를 자세히 읽어보니 '휴면 계정으로 전환 이후 일정 기간 사용하지 않은 계정을 분리 보관하여 전자상거래 등에서의 소비자 보호에 의한 법률에 따라 거래기록에 관련된 개인정보는 5년간 보존할 수도 있다.'라고 안내 문구가 적혀있었다.
안 배웠으면 모르고 그냥 지나칠 뻔했다. 이를 계기로 회원 정보를 관리할 때 다시 한번 더 체크하고 지나가야겠다.

본 후기는 유데미-스나이퍼팩토리 10주 완성 프로젝트캠프 학습 일지 후기로 작성 되었습니다.

profile
사용자 경험 향상과 지속적인 성장을 추구하는 프론트엔드 개발자 ʚȉɞ

0개의 댓글