通过 UML + OO 进行数据库设计

阅读更多
程序开发中使用OO的语言和方式,自然的养成了OO的思想,那么在设计数据库DataModel时,完成可以继续发扬光大。

用OO的方式发现对象,发现Class,找到Class之间的关系,完成UML的类图。
结合这个类图,根据一对一,一对多,和多对多的,对象关系。来设计数据的DataModel
这个过程很清楚也很自然。

举例说明:

1.Use Case的描述。
数据库相关的设计,无非是数据如何输入,和特定检索条件的数据标示。
所以根据用户的输入的方式,和检索输出条件可以确定基本的UseCase。
不同的用户,不同时间点的数据输入。不同的检索条件,都要作为UseCase的考虑重点,

注意)千万不要假定用户会一次性的完整的录入我们设定好的数据格式。
根据这个一点,一个简单的数据的录入Case,可能会分解成很多的输入Case。


2.Class的发现

基于Use Case 发现 用例中的Class和他的熟悉,建立 Class图。
用Class去验证UseCase,保证UseCase的完整覆盖。

注意采用OO的方式,注意要先把名词都处理成Class,而不要先把名词都处理成属性。

例如。书,有作者和分类。如果上来就先处理成属性,book 有author 和 category属性
那么当一本书有多个作者和属于 “科幻,战争,爱情”分类时就麻烦了 。

所以应该自然的优先考虑对象的方式,定义 book class, author class, catalog class

然后对他们之间的关联关系分析,(一对多,多对多,一对一)看那些class可以退化成属性。(一对一的情况,考虑用属性实现)


3.Class之间的关系

一对一,
一对多,
多对多


4.DataModel的完成。

Class设计成表,关系通过外键来描述。多对多的关系需要一个中间表。

最后再用设计好的DataModel来覆盖UseCase。检查设计有无问题。



你可能感兴趣的:(OO,UML,UseCase)