1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【完走賞めざす!】データベースとSQLのススメAdvent Calendar 2023

Day 1

あると便利、DB論理設計の前にユースケース図を書こう!

Last updated at Posted at 2023-12-01

この記事で書くこと

  • 論理設計前にユースケース図を作成することをおすすめします!
  • ユースケース図とはなにか、その利点を解説

はじめに

データベースの論理設計では、どのエンティティを含めるかが重要です。
エンティティ抽出において、必要なデータを把握していなければ、データベースに不要な情報が含まれたり、重要な情報が欠ける恐れがあります。

そこで、論理設計の前段階に、ユースケース図をつくっておくことをおすすめします。ユースケース図よりシステムで必要な登場人物を把握し、エンティティ抽出に役立てることができます。

エンティティは日本語で「実体」と訳します。具体的なオブジェクト(例:「社員」「車」)から概念的なもの(例:「注文」「予約」)を含みます。

論理設計の流れ

論理設計とは、現実世界のデータをリレーショナルデータベースにどのようなフォーマットで格納するかを決める設計プロセスです。

論理設計は以下の図の手順で進めることが多いです。

この手順により、エンティティからデータベースのリレーションを構築します。

ユースケース図ってなに?

ユースケース図とはシステムによって提供されるふるまいを示す図です。
システムが提供する機能を理解しやすくなります。

銀行のATMのユースケース図です。ATMシステムが利用者に対し、どのようなサービスを提供しているか一目でわかります。

ユースケース図はエンティティの抽出で役立つ

ユースケース図により、システムが満たすべき要件と、必要なデータが明確になります。
ATMのユースケース図の例だと、システムは「預金する」「送金する」「通帳記帳する」というタスクが明確になりました。例として、「預金する」タスクから、エンティティを抽出してみましょう。

「預金する」タスクから抽出可能なエンティティは、「顧客」、「口座」、「取引」です。

  • 顧客 ...ATMを使用する人
  • 口座 ...顧客の銀行口座
  • 取引 ...預金の処理

各エンティティは、それぞれ特有の属性を持ちます。たとえば、「顧客」には名前や住所、「口座」には口座番号や残高、「取引」には取引日時や金額が含まれます。この特有の属性がデータベースにおけるカラムになります。
 
このように、システムにどのような要件が必要か、登場人物が誰かを把握することは、エンティティを特定、次にカラムの選定における手助けとなります。

ユースケース図をつくる

ユースケース図は覚えることが少ないため、UMLの中でも比較的簡単に作成できる図です。

ポイントはシステム目線でアクター、ユースケースを作成することです。システムから見た利用者がアクター、システムができる機能がユースケースです。主語をシステムに置くことを意識するとユースケース図が作りやすいです。

ユースケース図の見方

アクター

人型の記号です。システムの利用者をアクターと呼びます。アクターはシステムの外からシステムと対話します
人間の他、外部システムや機械の場合もあります。

銀行のATMのユースケース図の場合、銀行システムは外部システムのため、アクターになります。

ユースケース

楕円の記号です。アクターに提供するサービスをユースケースと呼びます。ユースケースは動詞です。

作成のステップ

1. アクターを定義
ATMのユースケースを考える場合、アクターとして「利用者」と「銀行システム」を設定します。

2. ユースケースを洗い出し
ATMを利用する際にどのような操作が必要かを洗い出します。本来はもっと多くの機能がありますが、基本的なタスクとして「預金する」「送金する」「通帳記帳する」をあげました。ユースケースは要件定義にあるタスクを参照しつつ考えるのが望ましいです。

3. アクターとユースケースを接続する
アクターとユースケースが決まれば、2つを線で結んで終了です。

まとめ

システム要件と必要なデータが視覚的に理解しやすくなることから、ユースケース図は論理設計のエンティティ抽出に役立ちます。ユースケース図は他のUMLに比べて難しい要素が少なく手軽に始められるので、ぜひサクッと作ってみるのはいかがでしょうか。

参考文献

達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ

ゼロからわかる UML超入門

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?