@startuml state 商品追加 #ddd state 商品削除 #ddd state 商品変更 #ddd [*]->商品一覧 商品一覧-->商品追加 :追加ボタン 商品一覧-->削除確認 :削除リンク 削除確認-->商品削除 :削除ボタン 商品一覧-->変更入力 :変更リンク 変更入力-->商品変更 :変更ボタン 商品一覧-->商品別売上 :売上リンク @enduml
@startuml title 商品の追加 autonumber "#." actor ユーザ boundary 商品一覧画面 control 商品追加 database 商品管理 entity 商品 ユーザ -> 商品一覧画面 :商品名入力 ユーザ -> 商品一覧画面 :単価入力 ユーザ -> 商品一覧画面 :追加ボタン押下 商品一覧画面 -> 商品追加 :商品追加() 商品追加 -> 商品 :生成 商品追加 -> 商品管理 :追加(商品) 商品追加 -> 商品一覧画面 :遷移 商品一覧画面 -> ユーザ :表示 @enduml
@startuml title 商品の削除 autonumber "#." actor ユーザ boundary 商品一覧画面 boundary 削除確認画面 control 商品削除 database 商品管理 entity 商品 ユーザ -> 商品一覧画面:削除リンク 商品一覧画面 -> 商品削除:削除確認() 商品削除 -> 商品管理:検索(商品ID) 商品管理 -> 商品:生成 商品管理 --> 商品削除:検索結果 商品削除 --> 削除確認画面:表示 削除確認画面 --> ユーザ:表示 ユーザ -> 削除確認画面:削除ボタンをクリック 削除確認画面 -> 商品削除:商品削除() 商品削除 -> 商品管理:削除(商品ID) 商品削除 -> 商品一覧画面:遷移 商品一覧画面 --> ユーザ:表示 @enduml
※コントローラはサーブレットに対応しているので、メソッドは最大2つ(GETとPOST)しかない
@startuml
left to right direction
package コントローラ{
class 商品一覧{
+ 一覧表示()
}
class 商品追加{
+ 商品追加()
}
class 商品削除{
+ 削除確認()
+ 商品削除()
}
class 商品変更{
+ 変更入力()
+ 商品変更()
}
class 商品別売上{
+ 商品別表示()
}
}
package モデル {
class 商品{
-商品ID
-商品名
-単価
}
class 商品管理{
+全検索():商品のリスト
+検索(商品ID):商品
+追加(商品)
+変更(商品)
+削除(商品ID)
}
class 売上{
-売上ID
-商品ID
-個数
-売上日付
}
class 売上管理{
+検索(商品ID):売上のリスト
}
}
商品管理 o-- 商品
売上管理 o-- 売上
売上->商品
商品一覧..>商品管理
商品追加..>商品管理
商品削除..>商品管理
商品変更..>商品管理
商品別売上..>商品管理
商品別売上..>売上管理
@enduml
@startuml
title 削除確認画面 /del GET
autonumber "#."
actor ユーザ
boundary "/del"
control DelServlet
database ShouhinDAO
entity Shouhin
participant request
participant del.jsp
ユーザ -> "/del":GET ?sid=商品ID
"/del" -> DelServlet:doGet()
DelServlet -> ShouhinDAO:findBySid(sid)
ShouhinDAO -> Shouhin:DBから生成
ShouhinDAO --> DelServlet:shouhin
DelServlet -> request: setAttribute("shouhin", shouhin)
DelServlet -> del.jsp:フォワード
del.jsp --> "/del":HTMLレスポンス
"/del" --> ユーザ:表示
@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