Search
Duplicate

UML 중 Use Case Diagram

간단소개
Unified Modeling Language 중 Use Case Diagram입니다. 다른 다이어그램에 대해서도 시간날때 정리할 예정입니다.
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
개발방법론
개발지식
의사소통
Scrap
태그
비 프로그래밍 언어
개발지식
9 more properties

UML이란?

UML(Unified Modeling Language)을 한국어로 표현하자면 통합 모델링 언어입니다.
의사소통을 위한 도구로서 소프트웨어의 구상, 설계, 용례 등 사실상 개발에 참여하는 사람들이 서로 의논해야하는 주제이거나 러프하게 구조적 틀을 잡아둘 때 사용할 수 있습니다.
1997년 Object Management Group에서 표준으로 채택되었고 그 이후 꾸준히 버전이 업데이트되는만큼 모든 언어를 배울 필요가 없습니다.

소개하는 이유

42에서 과제를 진행한다는 것은 요구 조건이 담긴 subject문서에 따라 각자 설계하고 구현한 뒤 설명하여 납득시키는 것이라 생각합니다.
과제를 진행하면서 한 순간의 발상을 비규칙적으로 적고 코드에 적용시키려고 노력하다가 포기하거나 실패하는 방법을 줄이고 구현한 뒤 시간이 지난 코드의 내용이 잘 기억나지 않아 고민하던 중 정보시스템 분석 및 설계를 전공하신 교수님의 수업을 듣고 잘 쓰면 이런 문제를 해결할 수도 있을 것 같아 가져왔습니다.

1. Use Case Diagram

의의

시스템의 범위를 정하는 것에 도움을 줍니다.
개발 과정의 계획에도 사용됩니다.
요구를 개발하고 검증하는데 사용됩니다.
테스트 케이스를 정의하는 기초로서 사용됩니다.
사용자 메뉴얼의 구성에 사용될 수 있습니다.

특징

사건의 흐름은 존재하나 흐름을 중심으로 표현하지는 않습니다.

설명

기능, 역할, 용례 등으로 이해할 수 있는 Use Case와 행위자, 사용자 등으로 생각할 수 있는 UseCase를 이용하는 주체인 Actor가 존재합니다.
Actor는 졸라맨으로 표기하고 시스템을 이용하는 사용자거나 그러한 시스템을 제공해주는 존재일 수 있습니다.
Use Case는 타원으로 표기하고 기능을 적어넣을 수 있는데 어느정도 규모의 기능을 하나의 유스케이스로 작성할지는 본인의 선택이 되는 것 같습니다.
다양한 Actor와 Use Case간의 관계는 연관, 커뮤니케이션, 일반화, 포함, 확장으로 표현합니다.
연관관계는 실선으로 이어지며 상호작용의 존재가 있음을 나타낼 떄 사용합니다.
커뮤니케이션은 Actor와 Use Case간에 상호관계를 나타낼 때 사용하며 받는 쪽에 화살표가 위치합니다.
일반화는 추상적인 Use Case나 Actor를 구체적으로 표현한 Use Case나 Actor에 속이 빈 삼각형 실선 화살표로 표기합니다. 상속의 개념이라 보시면 됩니다.
포함관계는 명제에서 보던 필요조건이라고 생각하면 됩니다. 어떤 Use Case가 다른 Use Case의 실행을 필수적으로 요구할 때 사용하며 더 필수적인 Use Case를 향한 점선 화살표로 표기한 뒤 <<include>>를 적어줍니다.
확장관계는 충분조건이라고 생각하면 됩니다. 어떤 Use Case를 실행했을 때 추가적으로 실행할 수 있는 Use Case에서부터 점선 화살표를 받아오고 <<extend>>로 표기합니다.

도구

온라인에서 사용 가능한 무료 사이트
맥에서 사용 가능한 무료 프로그램

작성 단계

1.
행위자 식별
모든 사용자 역할을 식별
상호작용하는 시스템 식별
정보를 주고받는 하드웨어, 지능형 장치 등을 식별
2.
유스케이스 식별
행위자가 요구하는 서비스 식별
행위자가 시스템과 상호작용하는 행위를 식별
3.
관계 정의
행위자와 행위자의 관계분석 정의
행위자와 유스케이스의 관계분석 정의
유스케이스와 유스케이스의 관계분석 정의
4.
구조화
두 개 이상의 유스케이스에 존재하는 공통 서비스 추출
추출된 서비스를 유스케이스로 정의
조건에 따른 서비스 수행부분을 분석하여 나누어 추출
추출된 서비스를 유스케이스로 정의