ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [SW 공학] Usecase Diagram
    Program development/SW Engineering 2021. 5. 22. 20:55

    이번에는 usecase diagram에 대해 알아보려 합니다. 

    목표 : Usecase Diagram 그리기

    이 페이지를 통해 아래 정보를 확인하실 수 있습니다. 

    1. usecase diagram 필요성
    2. usecase diagram 그리는 시기
    3. usecase diagram 그리기 요소
    4. usecase diagram 그리기 순서
    5. usecase diagram 추천 무료 툴

    1. usecase diagram 필요성

    usecase diagram의 예제를 먼저 보겠습니다. 

    필자가 직접 그렸던 usecase diagram 입니다.

    위의 예시를 통해 확장해서 정리하면 usecase diagram의 필요성은 다음과 같습니다. 

    1. 요구사항을 선별 할 수 있음
      1. 각종 액터가 프로그램의 기능을 사용하고 상호작용하는 기능들을 표현하기 때문입니다.
      2. 각종 usecase들의 기능을 구체화 하여 다양한 요구사항을 고려 할 수 있습니다. 
    2. 서비스가 명확해짐
      1. 구체적인 고려를 통해 기능별 관계가 명확해집니다.
      2. 프로그램개발 범위를 한정하거나 확장할 수 있습니다.

     


    2. usecase diagram 그리는 시기

    위에서 언급한 필요성과 밀접한 관계가 있는 것이 시기라고 생각합니다. 

    usecase diagram을 통해 프로그램 개발 범위를 한정하고 기능별관계를 명확히 하면서 서비스를 구체화하고 요구사항을 선별하는 작업을 진행할 수 있기 때문에 요구사항 식별 과정에서 사용되면 좋은 방법입니다. 


    3. usecase diagram 그리기 요소

    먼저 기본적인 usecase diagram을 보면서 그리기 요소에 대해 설명 드리겠습니다. 

    총 4가지 요소로 구성되어 있습니다

    scope , usecase , actor 그리고 relationship(관계선)에 대해 알아보겠습니다.  

    1. scope 

    scope 의 경우 시스템에서 제공하는 다양한 기능들의 범위를 나타낼때 사용됩니다. 사각형으로 표현합니다.

     

    2. usecase 

    프로그램에서 제공하는 기능을 표기하면됩니다. 


    3. actor

    시스템을 이용하는 사람, 시스템을 관리하는 사람 등 구분된 사용방법으로 접근하는 사람의 추상화라고 생각하시면 됩니다. 또한 사람이 아닐 수도 있습니다. 예를들어 restful api 를 제공하는 서비스를 구현한다면 외부 시스템인 해당 서비스의 도움을 받는것을 의미합니다. 

    actor는 상속이 가능하여 구조화가 가능합니다. 

    4. relationship

    필자는 가장 어려운 부분이 이부분입니다. 차근차근 접근하여 필요에 맞는 부분을 정확하게 입력하실때 꼭 한번씩 확인 부탁드립니다. 

     

    association

    위와 같이 검정색 실선으로 표기되는 것이 association입니다. 

    usecase와 actor의 관계를 표현할때 사용됩니다. 

     


    include

    include 관계는 하나의 usecase(기능)가 다른 usecase의 실행을 필요로 하는경우 사용됩니다. 필수적 요구관계에서 사용되는 연결선으로 생각하시면 됩니다.

    위처럼 로그인이 필요한 경우 예시를 통해 여러분의 이해를 돕기위해 로그인 기능으로 예를 들었지만 서비스를 실행에 대해 구체화 작업을 수행하다보면 많은 기능들이 로그인을 include 하게 됩니다. 이런경우 생략을 통해 좀 더 핵심기능들을 잘 보이도록 생략하는 방법도 좋은 방법입니다.


    generaliztion

    추상화된 유스케이스로부터 구체화된 유스케이스로 확장하는 경우에 사용됩니다.

    화살표는 추상화된 방향으로 표시하면 됩니다.


    extend

    특정 조건이 들어가는 경우에 대해 extend로 관계선 작업을 수행하면 됩니다. 예를 들어 메일을 작성하는 경우에 파일을 첨부하는 경우가 발생할 수도 있습니다. 이런 경우 사용자의 선택에 의해 작업이 수행되므로 확장된 기능으로 표기하여 프로그램개발시 사용자의 선택이 반영될 수 있도록 작업하기 용이합니다. 


    4. usecase diagram 그리기 순서

    필자가 생각하는 usecc다음과 같은 순서로 작업하면 편리합니다.

    1. actor 식별하기
      1. 정보를 제공(사용, 삭제)하는 대상은 누구/무엇인가?
      2. 프로그램을 유지,보수,관리하는 사람은 누구인가?
      3. 다른 프로그램과 정보를 공유하는 것이 있는는가?
    2. usecase 식별하기
      1. 식별된 actor에게 제공해야하는 기능은 무엇인가?
      2. 시스템의 정보를 생성 조회 수정 삭제를 제공해야하는가?
      3. 기능요구사항이 모두 표현되어 있는가?
    3. relation 정의하기
      1. 모든 관계가 정확하게 표현되어 있는가?
      2. 추상화, 구체화를 통해 기능을 세부적으로 표현되어 있는가? 

    5. usecase diagram 추천 무료 툴

    본문에서 사용한 예제의 경우 모두 아래 페이지의 샘플코드로 작성하였습니다. 

    아래 온라인 툴이 설치도 하지않고 작업할 수 있어 편리했습니다. 

    https://online.visual-paradigm.com/diagrams/solutions/free-use-case-diagram-tool/

     

    Free Use Case Diagram Tool

    Want a Free Use Case Diagram Tool? The FREE drawing tool, Visual Paradigm Online (VP Online) Free Edition, supports UML, ERD and Organization Chart. You can draw Use Case Diagram quickly through the intuitive UML drawing editor. The free UML tool has with

    online.visual-paradigm.com

     

     

    자주 변경되는경우 아래 페이지에서 그리는 것도 유용했습니다. 

    https://app.diagrams.net/

     

    Flowchart Maker & Online Diagram Software

    Flowchart Maker and Online Diagram Software diagrams.net (formerly draw.io) is free online diagram software. You can use it as a flowchart maker, network diagram software, to create UML online, as an ER diagram tool, to design database schema, to build BPM

    app.diagrams.net


    정말 상세한 정보를 알고싶으시면 아래 페이지를 참조해 주세요!

    https://www.uml-diagrams.org/use-case-diagrams.html

     

    Use case diagrams are UML diagrams describing units of useful functionality (use cases) performed by a system in collaboration w

    UML Use Case Diagrams Use case diagrams are usually referred to as behavior diagrams used to describe a set of actions (use cases) that some system or systems (subject) should or can perform in collaboration with one or more external users of the system (a

    www.uml-diagrams.org

     

    댓글

Designed by Tistory.