Table of Contents
@startuml left to right direction actor "ユーザー" as member actor "管理者" as admin rectangle ユーザー認証 { usecase "管理者を認証する" as UC1 usecase "ユーザーを認証する" as UC2 } admin --> UC1 member --> UC2 @enduml
@startuml left to right direction actor "管理者" as admin rectangle ユーザー管理 { usecase "ユーザー一覧を取得する" as UC1 usecase "ユーザーを新規登録する" as UC2 usecase "ユーザーを取得する" as UC3 usecase "登録済みユーザーを更新登録する" as UC4 usecase "登録済みユーザーを削除する" as UC5 } admin --> UC1 admin --> UC2 admin --> UC3 admin --> UC4 admin --> UC5 @enduml
left to right direction actor "管理者" as admin rectangle マスタ管理 { rectangle 部門 { (部門一覧) (部門詳細) (部門新規作成) (部門編集) (部門削除) } } admin --> (部門一覧) admin --> (部門詳細) admin --> (部門新規作成) admin --> (部門編集) admin --> (部門削除) @enduml
left to right direction actor "管理者" as admin rectangle マスタ管理 { rectangle 社員 { (社員一覧) (社員詳細) (社員新規作成) (社員編集) (社員削除) } } admin --> (社員一覧) admin --> (社員詳細) admin --> (社員新規作成) admin --> (社員編集) admin --> (社員削除) @enduml
left to right direction actor "管理者" as admin rectangle マスタ管理 { rectangle 商品 { (商品分類一覧) (商品分類詳細) (商品分類新規作成) (商品分類編集) (商品分類削除) (商品一覧) (商品詳細) (商品新規作成) (商品編集) (商品削除) } } admin --> (商品一覧) admin --> (商品詳細) admin --> (商品新規作成) admin --> (商品編集) admin --> (商品削除) admin --> (商品分類一覧) admin --> (商品分類詳細) admin --> (商品分類新規作成) admin --> (商品分類編集) admin --> (商品分類削除) @enduml
@startuml left to right direction actor "管理者" as admin actor "ユーザー" as user rectangle アプリケーション実行履歴 { (実行履歴一覧) (実行履歴検索) (実行履歴詳細) (実行履歴削除) } admin --> (実行履歴一覧) admin --> (実行履歴検索) admin --> (実行履歴詳細) admin --> (実行履歴削除) user --> (実行履歴一覧) user --> (実行履歴検索) user --> (実行履歴詳細) @enduml
@startuml title: App class Component {} class Model {} class View {} class App {} class Service {} App -> Component Component --> View View -> Model Component --> Model Component -> Service @enduml
@startuml title: Api package "プレゼンテーション層" as UI { class Controller } package "サービス層" as APP{ class Service } package "インフラストラクチャ層" as IF { class DataSource } package "ドメイン層" as DOMAIN{ package "Model" as MODEL { class User class Auth } } database データベース as DB { } UI ---> APP Service -> MODEL APP ---> IF DataSource --> DB @endtuml
link:./assets/ArchitectureRuleTest.java[role=include]
@startuml class 認証ユーザー class ユーザー一覧 class ユーザー class ユーザーID class パスワード class 役割 class 名前 認証ユーザー *- ユーザー ユーザー一覧 *-- ユーザー ユーザー *-- ユーザーID ユーザー *-- パスワード ユーザー *-- 役割 ユーザー *-- 名前 @enduml
@startuml class 部門一覧 class 部門 class 社員一覧 class 社員 class ユーザー 部門一覧 *-- 部門 部門 *-- 社員 社員一覧 *-- 社員 社員 o- ユーザー @enduml
@startuml class 商品分類一覧 class 商品分類 class 商品一覧 class 商品 class 代替商品 class 部品表 class 顧客別販売単価 class 通貨 class 数量 商品分類一覧 *-- 商品分類 商品分類 o- 商品 商品一覧 *-- 商品 商品 o-- 代替商品 商品 o-- 部品表 商品 o- 顧客別販売単価 商品 *-- 通貨 顧客別販売単価 *-- 通貨 部品表 *-- 数量 @enduml
@startsalt {+ ログイン画面 {+ { [ ログイン ] --------------------- ユーザーID | "MyName " パスワード | "**** " } } ---------------- ホーム画面 {+ { ホーム ログアウト } | { { <b>お知らせ } --------------------- { 2020/01/01 お知らせ内容 2020/01/02 お知らせ内容 2020/01/03 お知らせ内容 } } } } @endsalt
@startsalt {+ ユーザー管理画面(コレクション) {+ { ホーム ユーザー ログアウト } | { { <b>ユーザー一覧</b> } [ 新規登録 ] --------------------- { Uxxxxxx | User1 | [ 編集 ] | [ 削除 ] Uxxxxxx | User2 | [ 編集 ] | [ 削除 ] Uxxxxxx | User3 | [ 編集 ] | [ 削除 ] } } } ---------------- ユーザー管理画面(シングル) {+ { [ 保存 ] --------------------- ユーザーID | "Uxxxxxx" " 姓 | "MyName " 名 | "MyName " パスワード | "**** " 役割 | ^Admin ^^User ^ } } } @endsalt
@startsalt {+ 部門画面(コレクション) {+ { ホーム ユーザー マスタ ログアウト } | { { <b>部門一覧</b> } [ 新規登録 ] | [ 一括削除 ] --------------------- { 1xxxxxx | 部門1 | [ 編集 ] | [ 削除 ] 1xxxxxx | 部門2 | [ 編集 ] | [ 削除 ] 1xxxxxx | 部門3 | [ 編集 ] | [ 削除 ] } } } ---------------- 部門画面(シングル) {+ { [ 保存 ] --------------------- 部門コード | "1xxxxxx" " 部門名 | "部門1 " 開始日 | "2021/01/01" 終了日 | "9999/12/31" 最下層区分 | () Yes () No } <b>社員一覧</b> [ 追加 ] --------------------- { EMPxxx | 社員1 | [ 削除 ] EMPxxx | 社員2 | [ 削除 ] EMPxxx | 社員3 | [ 削除 ] } } } @endsalt
@startsalt {+ 社員一覧選択画面(コレクション) {+ { <b>社員一覧</b> } --------------------- { EMPxxx | 社員1 | [ 選択 ] EMPxxx | 社員2 | [ 選択 ] EMPxxx | 社員3 | [ 選択 ] } } ---------------- 社員一覧画面(コレクション) {+ { ホーム ユーザー マスタ ログアウト } | { { <b>社員一覧</b> } [ 新規登録 ] | [ 一括削除 ] --------------------- { EMPxxx | 社員1 | [ 編集 ] | [ 削除 ] EMPxxx | 社員2 | [ 編集 ] | [ 削除 ] EMPxxx | 社員3 | [ 編集 ] | [ 削除 ] } } } ---------------- 社員画面(シングル) {+ { [ 保存 ] | [ 部門一覧 ] | [ ユーザー一覧 ] --------------------- 社員コード | "EMPxxx" " 姓 | "MyName " 名 | "MyName " 部門 | "部門1 " ユーザー | "user1 " } } ---------------- 部門一覧選択画面(コレクション) {+ { { <b>部門一覧</b> } --------------------- { 1xxxxxx | 部門1 | [ 選択 ] 1xxxxxx | 部門2 | [ 選択 ] 1xxxxxx | 部門3 | [ 選択 ] } } } ---------------- ユーザー一覧選択画面(コレクション) {+ { <b>ユーザー一覧</b> } --------------------- { Uxxxxxx | User1 | [ 選択 ] Uxxxxxx | User2 | [ 選択 ] Uxxxxxx | User3 | [ 選択 ] } } } @endsalt
@startsalt {+ 商品分類一覧画面(コレクション) {+ { ホーム ユーザー マスタ ログアウト } | { { <b>商品分類一覧</b> } [ 新規登録 ] | [ 一括削除 ] --------------------- { 1xxxxxx | 商品分類1 | [ 編集 ] | [ 削除 ] 1xxxxxx | 商品分類2 | [ 編集 ] | [ 削除 ] 1xxxxxx | 商品分類3 | [ 編集 ] | [ 削除 ] } } } ---------------- 商品分類画面(シングル) {+ { [ 保存 ] --------------------- 商品分類コード | "1xxxxxx" " 商品分類名 | "商品分類1 " } <b>商品一覧</b> [ 追加 ] --------------------- { 1xxxxxx | 商品1 | [ 削除 ] 1xxxxxx | 商品2 | [ 削除 ] 1xxxxxx | 商品3 | [ 削除 ] } } ---------------- 商品一覧画面(コレクション) {+ { ホーム ユーザー マスタ ログアウト } | { { <b>商品一覧</b> } [ 新規登録 ] | [ 一括削除 ] --------------------- { 1xxxxxx | 商品1 | [ 編集 ] | [ 削除 ] 1xxxxxx | 商品2 | [ 編集 ] | [ 削除 ] 1xxxxxx | 商品3 | [ 編集 ] | [ 削除 ] } } } } @endsalt
@startsalt {+ 商品一覧画面(コレクション) {+ { ホーム ユーザー マスタ ログアウト } | { { <b>商品一覧</b> } [ 新規登録 ] | [ 一括削除 ] --------------------- { 1xxxxxx | 商品1 | [ 編集 ] | [ 削除 ] 1xxxxxx | 商品2 | [ 編集 ] | [ 削除 ] 1xxxxxx | 商品3 | [ 編集 ] | [ 削除 ] } } } ---------------- 商品画面(シングル) {+ { [ 保存 ] --------------------- 商品コード | "1xxxxxx" " 商品名 | "商品1 " 販売単価 | 1000 仕入単価 | 1000 売上原価 | 1000 } {+ {/ <b>代替商品 | 部品表 | 顧客別販売単価 } [ 追加 ] { 1xxxxxx | 1xxxxxx | 1xxxxxx | [ 削除 ] 1xxxxxx | 1xxxxxx | 1xxxxxx | [ 削除 ] 1xxxxxx | 1xxxxxx | 1xxxxxx | [ 削除 ] } } } ---------------- 商品画面(シングル) {+ { [ 保存 ] --------------------- 商品コード | "1xxxxxx" " 商品名 | "商品1 " 販売単価 | 1000 仕入単価 | 1000 売上原価 | 1000 } {+ {/ 代替商品 | <b>部品表 | 顧客別販売単価 } [ 追加 ] { 1xxxxxx | 1xxxxxx | 1xxxxxx | [ 削除 ] 1xxxxxx | 1xxxxxx | 1xxxxxx | [ 削除 ] 1xxxxxx | 1xxxxxx | 1xxxxxx | [ 削除 ] } } } ---------------- 商品画面(シングル) {+ { [ 保存 ] --------------------- 商品コード | "1xxxxxx" " 商品名 | "商品1 " 販売単価 | 1000 仕入単価 | 1000 売上原価 | 1000 } {+ {/ 代替商品 | 部品表 | <b>顧客別販売単価 } [ 追加 ] { 1xxxxxx | 1xxxxxx | 1xxxxxx | [ 削除 ] 1xxxxxx | 1xxxxxx | 1xxxxxx | [ 削除 ] 1xxxxxx | 1xxxxxx | 1xxxxxx | [ 削除 ] } } } } @endsalt
@startsalt {+ 実行履歴画面(コレクション) {+ { ホーム ユーザー マスタ ログアウト } | { { <b>実行履歴一覧</b> [ 検索 ] } [ 一括削除 ] --------------------- { 処理1 | user1 | [ 詳細 ] | [ 削除 ] 処理2 | user1 | [ 詳細 ] | [ 削除 ] 処理3 | user2 | [ 詳細 ] | [ 削除 ] } } } ---------------- 実行履歴画面(シングル) {+ { --------------------- 処理名 | "1xxxxxx" " 開始 | "2021/01/01" 終了 | "9999/12/31" 実行者 | "user1 " 備考 | " " } } ---------------- 実行履歴検索画面(シングル) {+ { [ 検索 ] --------------------- ^処理名^ ^区分^ } } } @endsalt
@startuml class ログイン { ユーザーID パスワード ログイン() } class ホーム { お知らせ } class ナビゲーション { ホーム() ログアウト() } ナビゲーション -* ホーム @enduml
@startuml class ユーザー一覧 { 新規作成() 編集() 削除() } class ユーザー { ユーザーID パスワード 役割 姓 名 保存() } class ナビゲーション { ホーム() ユーザー() ログアウト() } ユーザー一覧 *-- ユーザー ナビゲーション -* ユーザー一覧 @enduml
@startuml class 部門一覧 { 新規作成() 編集() 削除() 一括削除() } class 部門 { 保存() 追加() 削除() } class ナビゲーション { ホーム() マスタ() ユーザー() ログアウト() } class 部門検索 { 検索() } ナビゲーション -* 部門一覧 部門一覧 *-- 部門 部門一覧 *- 部門検索 部門 *-- 社員一覧選択 @enduml
@startuml class 社員一覧 { 新規作成() 編集() 削除() 一括削除() } class 社員 { 保存() 追加() } class 部門一覧選択 { 選択() } class ユーザー一覧選択 { 選択() } class 社員検索 { 検索() } class ナビゲーション { ホーム() マスタ() ユーザー() ログアウト() } ナビゲーション -* 社員一覧 社員一覧 *-- 社員 社員一覧 *- 社員検索 社員 *-- ユーザー一覧選択 社員 *-- 部門一覧選択 @enduml
@startuml class 商品分類一覧 { 新規作成() 編集() 削除() 一括削除() } class 商品分類 { 保存() 追加() 削除() } class 商品分類検索 { 選択() } class 商品一覧選択 { 選択() } class 商品一覧 { 新規作成() 編集() 削除() 一括削除() } class 商品 { 保存() } class 代替商品 { 追加() 削除() } class 部品表 { 追加() 削除() } class 顧客別販売単価 { 追加() 削除() } class 商品検索 { 選択() } class ナビゲーション { ホーム() マスタ() ユーザー() ログアウト() } ナビゲーション -* 商品分類一覧 商品分類一覧 *-- 商品分類 商品分類一覧 *- 商品分類検索 商品分類 o-- 商品一覧選択 商品一覧 *- ナビゲーション 商品一覧 *-- 商品 商品検索 *- 商品一覧 商品 o-- 代替商品 商品 o-- 部品表 商品 o-- 顧客別販売単価 @enduml
@startuml class 実行履歴一覧 { 検索() 一括削除() 詳細() 削除() } class 実行履歴 { } class 実行履歴検索 { 検索() } class ナビゲーション { ホーム() マスタ() ユーザー() ログアウト() } ナビゲーション -* 実行履歴一覧 実行履歴一覧 *-- 実行履歴 実行履歴一覧 *- 実行履歴検索 @enduml
@startuml ログイン_シングル --> ユーザー_コレクション ユーザー_コレクション --> ユーザー_シングル ユーザー_シングル --> ユーザー_コレクション ログイン_シングル <-- ユーザー_コレクション @enduml
@startuml ログイン_シングル --> ナビゲーション_シングル ナビゲーション_シングル --> 部門_コレクション 部門_コレクション --> 部門_シングル 部門_シングル --> 部門_コレクション 部門_シングル --> 社員一覧選択_コレクション 社員一覧選択_コレクション --> 部門_シングル ログイン_シングル <-- ナビゲーション_シングル @endum
@startuml ログイン_シングル --> ナビゲーション_シングル ナビゲーション_シングル --> 社員_コレクション 社員_コレクション --> 社員_シングル 社員_シングル --> 社員_コレクション 社員_シングル --> 部門一覧選択_コレクション 部門一覧選択_コレクション --> 社員_シングル 社員_シングル --> ユーザー一覧選択_コレクション ユーザー一覧選択_コレクション --> 社員_シングル ログイン_シングル <-- ナビゲーション_シングル @endum
@startuml ログイン_シングル --> 実行履歴_コレクション 実行履歴_コレクション --> 実行履歴_シングル 実行履歴_シングル --> 実行履歴_コレクション 実行履歴_コレクション --> 実行履歴検索_シングル 実行履歴検索_シングル --> 実行履歴_コレクション ログイン_シングル <-- 実行履歴_コレクション @enduml