무료 만화 응용의 개념 모델링표를 열람하다

개요


콘셉트 모델링 연습으로 무료 만화 애플리케이션의 콘셉트 모델을 만들어 봤다.생각보다 커서 여러 기사로 나눠서 하고 싶어요.
(주: 난 소프트웨어 개발에 참여한 게 아니야)

열람권의 개요

  • 동전으로 만화 읽을 수 있다
  • 동전은 두 가지가 있는데 하나는 매일 9시에 보충(동전)이고, 다른 하나는 지정된 행동을 통해 획득(SP 동전)
  • 표를 사도 만화를 볼 수 있다
  • 대충 이런 느낌.상세한 방법은 모형을 만들면서 보충한다.

    동전/입장권 관련 모델링


    동전/표가 여러 가지가 있으니 먼저 쓰세요.
    image
    plantuml
    
    @startuml
    
    hide circle
    hide methods
    skinparam shadowing false
    
    class 量{}
    
    class スーパーコイン{}
    
    class コイン{}
    class SPコイン{}
    class チケット{}
    
    class ユーザー
    
    量 "*"-"*" スーパーコイン
    
    スーパーコイン <|-- コイン
    スーパーコイン <|-- SPコイン
    スーパーコイン <|-- チケット
    
    コイン "1"--"*" ユーザー
    SPコイン "1"--"*" ユーザー
    チケット "1"--"*" ユーザー
    
    @enduml
    
    
    이 앱에서 동전과 표는 만화가 교환하는 화폐와 같은 역할을 한다.나는 이 화폐를 개념화하고 싶었지만, 그것의 이름을 전혀 생각하지 못했기 때문에, 먼저 슈퍼 동전이라는 싸구려 이름을 지어주었다.
    그래프로 쓰면 다음과 같은 인상.
    image
    plantuml
    
    @startuml
    
    skinparam shadowing false
    left to right direction
    
    storage ユーザー {
      rectangle Alice
      rectangle Bob
    }
    
    storage スーパーコイン {
      storage コイン {
        rectangle "量: 4" as l1
        rectangle "量: 3" as l2
      }
      storage SPコイン {
        rectangle "量: 50" as s1
        rectangle "量: 32" as s2
      }
      storage チケット {
        rectangle "量: 8" as t
      }
    }
    
    Alice -- l1
    Alice -- s1
    Alice -- t
    Bob -- l2
    Bob -- s2
    Bob -- t
    
    @enduml
    
    
    앨리스와 밥에는 티켓 실체인'량:8'이 있지만 슈퍼코인의 콘셉트는 각 코인 티켓의 양만 표시하기 때문에 공유도 문제없다.이는 앨리스와 밥이 8표를 갖고 있다는 사실만을 나타내는 역할을 한다.
    나는 이러한 개념들이 DDD의 값 대상과 같다고 생각한다.

    동전/표 사용


    만화를 볼 때는 동전/표를 사용하지만, 한 작품을 볼 때 사용하는 동전/표는 반드시 한 종류이며, 때로는 한 번에 두 개 이상 소비하기도 한다.
    image
    plantuml
    
    @startuml
    
    hide circle
    hide methods
    skinparam shadowing false
    
    class 量{}
    
    class スーパーコイン{}
    
    class コイン{}
    class SPコイン{}
    class チケット{}
    
    class ユーザー
    
    class 作品
    
    class 引換{
      引換時点
    }
    
    量 "*"-"*" スーパーコイン
    
    スーパーコイン <|-- コイン
    スーパーコイン <|-- SPコイン
    スーパーコイン <|-- チケット
    
    コイン "1"--"*" ユーザー: < 保有
    SPコイン "1"--"*" ユーザー: < 保有
    チケット "1"--"*" ユーザー: < 保有
    
    ユーザー "*"--"*" 作品
    (ユーザー,作品)..引換
    スーパーコイン "1"--"*" 引換
    
    
    @enduml
    
    
    이 그림을 예로 들면 다음과 같다.
    이는 "앨리스가 티켓 2장씩(즉 2×2=4 소비), 불의 새 3회, 4회로 바꿨다"고 밝혔다.
    image
    plantuml
    
    @startuml
    
    skinparam shadowing false
    left to right direction
    
    storage ユーザー {
      rectangle Alice
    }
    
    storage スーパーコイン {
      storage チケット {
        rectangle "量: 2" as tkt
      }
    }
    
    storage 引換 {
      rectangle "引換時点: 2020/12/12 17:21" as buy1
      rectangle "引換時点: 2020/12/12 17:43" as buy2
    }
    
    storage 作品 {
      rectangle "火の鳥 第3話" as cmc1
      rectangle "火の鳥 第4話" as cmc2
    }
    
    Alice -- buy1
    Alice -- buy2
    buy1 -- tkt
    buy2 -- tkt
    cmc1 -- buy1
    cmc2 -- buy2
    
    @enduml
    
    

    동전/표 획득


    획득 방법은 다음과 같다.
    타입
    획득 방법
    동전.
    매일 9시 자동 4시
    SP 코인
    광고 영상을 보는 등 특정 행동을 통해
    수표
    구매를 통해 획득
    우선 각 획득 방법을 우직하게 기술해 보자.
    image
    plantuml
    
    @startuml
    
    hide circle
    hide methods
    skinparam shadowing false
    
    class コイン{
      量
    }
    class SPコイン{
      量
    }
    class チケット{
      量
    }
    
    class 自動獲得ルール{
      時刻
    }
    class チケット販売{
      金額
    }
    class 広告動画視聴{
      動画
    }
    class キャンペーン応募{
      キャンペーンリンク
    }
    class アプリダウンロード{
      ダウンロードリンク
    }
    
    コイン "1"--"*" 自動獲得ルール
    チケット "1"--"*" チケット販売
    SPコイン "1"--"*" 広告動画視聴
    SPコイン "1"--"*" キャンペーン応募
    SPコイン "1"--"*" アプリダウンロード
    
    @enduml
    
    
    하나하나 자세히 볼게요.

    동전.


    매일 9시에 자동으로 4가 된다'는 것은 아래의 설명도로 표시해야 한다.
    image
    plantuml
    
    @startuml
    
    hide circle
    hide methods
    skinparam shadowing false
    
    storage コイン {
      rectangle "量: 4" as lf
    }
    
    storage 自動獲得ルール {
      rectangle "時刻: 9:00" as at
    }
    
    lf - at
    
    @enduml
    
    
    규칙의 실체를 자동으로 얻는 것은 하나이지만 시스템에서 처리하는 개념을 묘사하기 위해서이기 때문에 이것도 하나의 형식이다.

    SP 코인


    여기에는 여러 가지 획득 방법이 있다.동영상 시청과 앱 다운로드 등의 처리는 다를 수 있다.또 처리에 쓰이는 속성도 다르기 때문에 계승을 통해 실현할 필요가 있다.
    image
    plantuml
    
    @startuml
    
    hide circle
    hide methods
    skinparam shadowing false
    
    class SPコイン{
      量
    }
    
    class SPコイン獲得ルール{
    
    }
    
    class 広告動画視聴{
      動画
    }
    class キャンペーン応募{
      キャンペーンリンク
    }
    class アプリダウンロード{
      ダウンロードリンク
    }
    
    SPコイン "1"-"*" SPコイン獲得ルール
    SPコイン獲得ルール <|-- 広告動画視聴
    SPコイン獲得ルール <|-- キャンペーン応募
    SPコイン獲得ルール <|-- アプリダウンロード
    
    @enduml
    
    

    수표


    구매를 통해 표를 얻기 위해 가격을 설정했다.

    획득 내역


    SP 코인 획득 내역


    사용자에게 SP 코인은 획득 규칙마다 한 번만 적용되기 때문에 역사 기록을 유지해야 한다.역사가 없는 것만 얻을 수 있다고 정의합니다.
    image
    plantuml
    
    @startuml
    
    hide circle
    hide methods
    skinparam shadowing false
    
    class ユーザー{
    }
    
    class SPコイン獲得ルール{
    }
    
    class SPコイン獲得履歴{
      取得時点
    }
    
    ユーザー "*"-"*" SPコイン獲得ルール
    (ユーザー,SPコイン獲得ルール)..SPコイン獲得履歴
    ユーザー "*"-"*" SPコイン獲得ルール: > /取得可能
    note on link: [導出]SPコイン獲得履歴を持たない関連のみ
    
    @enduml
    
    

    입장권 획득 기록


    마찬가지로 표도 구매 기록을 열람할 수 있다.
    image
    plantuml
    
    @startuml
    
    hide circle
    hide methods
    skinparam shadowing false
    
    class ユーザー{
    }
    
    class チケット獲得ルール{
    }
    
    class チケット獲得履歴{
      取得時点
    }
    
    ユーザー "*"-"*" チケット獲得ルール
    (ユーザー,チケット獲得ルール)..チケット獲得履歴
    
    @enduml
    
    

    계속하다


    좀 더 광범위할 수 있을 것 같지만 동전/표마다 명확한 획득 방법이 있기 때문에 획득에 있어서는 너무 일반화할 필요가 없다고 생각합니다.
    이어서 나는 만화의 분류를 시험해 보고 싶다.

    좋은 웹페이지 즐겨찾기