@startuml state 商品追加 #ddd state 商品削除 #ddd state 商品変更 #ddd [*]->商品一覧 商品一覧-->商品追加 :追加ボタン 商品一覧-->削除確認 :削除リンク 削除確認-->商品削除 :削除ボタン 商品一覧-->変更入力 :変更リンク 変更入力-->商品変更 :変更ボタン 商品一覧-->商品別売上 :売上リンク @enduml
@startuml title 商品の追加 autonumber "#." actor ユーザ boundary 商品一覧画面 control 商品追加 database 商品管理 entity 商品 ユーザ -> 商品一覧画面 :商品名入力 ユーザ -> 商品一覧画面 :単価入力 ユーザ -> 商品一覧画面 :追加ボタン押下 商品一覧画面 -> 商品追加 :遷移 商品追加 -> 商品 :生成 商品追加 -> 商品管理 :追加(商品) 商品追加 -> 商品一覧画面 :遷移 商品一覧画面 -> ユーザ :表示 @enduml
@startuml title 商品の削除 autonumber "#." actor ユーザ boundary 商品一覧画面 control 商品削除 database 商品管理 entity 商品 ユーザ -> 商品一覧画面:削除リンク 商品一覧画面 -> 商品削除:遷移 商品削除 -> 商品管理:検索(商品ID) 商品管理 -> 商品:生成 商品管理 --> 商品削除:商品 商品削除 --> ユーザ:確認画面表示 ユーザ -> 商品削除:削除ボタン 商品削除 -> 商品管理:削除(商品ID) 商品削除 -> 商品一覧画面:遷移 商品一覧画面 --> ユーザ:表示 @enduml
※画面はサーブレットに対応しているので、メソッドは最大2つ(GETとPOST)しかない
@startuml left to right direction package 画面{ class 商品一覧画面{ + 一覧表示() } class 商品追加画面{ + 商品追加() } class 商品削除画面{ + 削除確認() + 商品削除() } class 商品変更画面{ + 変更入力() + 商品変更() } class 商品別売上画面{ + 商品別表示() } } package DB { class 商品{ -商品ID -商品名 -単価 } class 商品管理{ +全検索():商品のリスト +検索(商品ID):商品 +追加(商品) +変更(商品) +削除(商品ID) } class 売上{ -売上ID -商品ID -個数 -売上日付 } class 売上管理{ +検索(商品ID):売上のリスト } } 商品管理 o-- 商品 売上管理 o-- 売上 売上->商品 商品一覧画面..>商品管理 商品追加画面..>商品管理 商品削除画面..>商品管理 商品変更画面..>商品管理 商品別売上画面..>商品管理 商品別売上画面..>売上管理 @enduml
@startuml title 削除確認画面 /del GET autonumber "#." actor ユーザ boundary "/slist" control DelServlet database ShouhinDAO entity Shouhin participant request participant del.jsp ユーザ -> "/slist":削除リンク "/slist" -> DelServlet:sid DelServlet -> ShouhinDAO:生成 DelServlet -> ShouhinDAO:findBySid(sid) ShouhinDAO -> Shouhin:生成 ShouhinDAO --> DelServlet:shouhin DelServlet -> request :shouhin DelServlet -> del.jsp:フォワード del.jsp --> ユーザ:表示 @enduml
@startuml left to right direction package servlet{ class ShouhinListServlet{ +doGet() } class DelServlet{ +doGet() +doPost() } class InsertServlet{ +doPost() } class UpdateServlet{ +doGet() +doPost() } class UriageShouhinServlet{ +doGet() } } package db{ class ShouhinDAO{ +findAll():List+findBySid(int sid):Shouhin +insert(Shouhin dto) +update(Shouhin dto) +delete(int sid) } class Shouhin{ -sid : int -sname : String -tanka : int } class UriageDAO{ +findBySid(int sid):List } class Uriage{ -uid : int -sid : int -mid : int -kosu : int -hi : Timestamp } } ShouhinListServlet..>ShouhinDAO DelServlet..>ShouhinDAO UpdateServlet..>ShouhinDAO InsertServlet..>ShouhinDAO UriageShouhinServlet..>ShouhinDAO UriageShouhinServlet..>UriageDAO ShouhinDAO o-- Shouhin UriageDAO o-- Uriage Uriage->Shouhin @enduml