この記事で書くこと
- 論理設計前にユースケース図を作成することをおすすめします!
- ユースケース図とはなにか、その利点を解説
はじめに
データベースの論理設計では、どのエンティティを含めるかが重要です。
エンティティ抽出において、必要なデータを把握していなければ、データベースに不要な情報が含まれたり、重要な情報が欠ける恐れがあります。
そこで、論理設計の前段階に、ユースケース図をつくっておくことをおすすめします。ユースケース図よりシステムで必要な登場人物を把握し、エンティティ抽出に役立てることができます。
エンティティは日本語で「実体」と訳します。具体的なオブジェクト(例:「社員」「車」)から概念的なもの(例:「注文」「予約」)を含みます。
論理設計の流れ
論理設計とは、現実世界のデータをリレーショナルデータベースにどのようなフォーマットで格納するかを決める設計プロセスです。
論理設計は以下の図の手順で進めることが多いです。
この手順により、エンティティからデータベースのリレーションを構築します。
ユースケース図ってなに?
ユースケース図とはシステムによって提供されるふるまいを示す図です。
システムが提供する機能を理解しやすくなります。
銀行のATMのユースケース図です。ATMシステムが利用者に対し、どのようなサービスを提供しているか一目でわかります。
ユースケース図はエンティティの抽出で役立つ
ユースケース図により、システムが満たすべき要件と、必要なデータが明確になります。
ATMのユースケース図の例だと、システムは「預金する」「送金する」「通帳記帳する」というタスクが明確になりました。例として、「預金する」タスクから、エンティティを抽出してみましょう。
「預金する」タスクから抽出可能なエンティティは、「顧客」、「口座」、「取引」です。
- 顧客 ...ATMを使用する人
- 口座 ...顧客の銀行口座
- 取引 ...預金の処理
各エンティティは、それぞれ特有の属性を持ちます。たとえば、「顧客」には名前や住所、「口座」には口座番号や残高、「取引」には取引日時や金額が含まれます。この特有の属性がデータベースにおけるカラムになります。
このように、システムにどのような要件が必要か、登場人物が誰かを把握することは、エンティティを特定、次にカラムの選定における手助けとなります。
ユースケース図をつくる
ユースケース図は覚えることが少ないため、UMLの中でも比較的簡単に作成できる図です。
ポイントはシステム目線でアクター、ユースケースを作成することです。システムから見た利用者がアクター、システムができる機能がユースケースです。主語をシステムに置くことを意識するとユースケース図が作りやすいです。
ユースケース図の見方
アクター
人型の記号です。システムの利用者をアクターと呼びます。アクターはシステムの外からシステムと対話します。
人間の他、外部システムや機械の場合もあります。
銀行のATMのユースケース図の場合、銀行システムは外部システムのため、アクターになります。
ユースケース
楕円の記号です。アクターに提供するサービスをユースケースと呼びます。ユースケースは動詞です。
作成のステップ
1. アクターを定義
ATMのユースケースを考える場合、アクターとして「利用者」と「銀行システム」を設定します。
2. ユースケースを洗い出し
ATMを利用する際にどのような操作が必要かを洗い出します。本来はもっと多くの機能がありますが、基本的なタスクとして「預金する」「送金する」「通帳記帳する」をあげました。ユースケースは要件定義にあるタスクを参照しつつ考えるのが望ましいです。
3. アクターとユースケースを接続する
アクターとユースケースが決まれば、2つを線で結んで終了です。
まとめ
システム要件と必要なデータが視覚的に理解しやすくなることから、ユースケース図は論理設計のエンティティ抽出に役立ちます。ユースケース図は他のUMLに比べて難しい要素が少なく手軽に始められるので、ぜひサクッと作ってみるのはいかがでしょうか。
参考文献
達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ
ゼロからわかる UML超入門