`
zhaocx
  • 浏览: 16820 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

通过 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。检查设计有无问题。



分享到:
评论

相关推荐

    UML在关系型数据库设计中的应用

    经过灵活的使用,一个关系型数据库能够为面向对象(OO)模型提供一套优秀的实现。同样的模型能够用来开发编程代码和关系型数据库结构。 关系型数据库技术是意义深远的、强大的,但它比许多开发商使你相信的要难得多...

    使用UML设计数据库应用

    这篇文章陈述如何用关系型数据库实现UML模型。假设我们熟悉UML对象建模表示法和关系型数据库。1.介绍许多人认为面向对象概念和关系型数据库相互不一致,并且不能结合。事实上完全相反!经过灵活的使用,一个关系型...

    服装库存管理系统数据库设计.doc

    "服装库存管理系统数据库设计" ...本文档对服装库存管理系统的数据库设计进行了详细的讲解,涵盖了数据库环境说明、概念结构设计、逻辑结构设计等方面的内容,为读者提供了一个系统的数据库设计指南。

    UML面向对象建模与设计(Object-Oriented Modeling and Design with UML)习题解

    ### UML面向对象建模与设计(Object-Oriented Modeling and Design with UML)习题解答分析 #### 一、概述 《UML面向对象建模与设计》这本书由Michael Blaha与James Rumbaugh共同撰写,是面向对象设计领域的重要参考...

    tanhuobin_uml02.Essentials+of+Visual+Modeling+with+UML2.

    ### UML与面向对象分析...总之,面向对象分析设计与UML相结合能够极大地提高软件开发的效率和质量,通过使用UML工具进行可视化建模,开发人员可以更直观地理解系统的需求和设计,从而更好地管理和控制整个开发过程。

    基于UML的仓储管理系统设计

    这些功能的实现也需要通过详细的UML建模来进行规划。 **系统构架设计** 系统构架设计是指从全局角度出发,规划系统的整体结构和技术栈。这包括硬件平台的选择、软件架构的设计等。 #### 系统实现测试与配置 **...

    面向对象与数据库

    《面向对象分析与设计(第3版).pdf》可能涵盖了如何进行面向对象的需求分析、设计原则、UML(统一建模语言)的应用,以及如何实现这些设计到实际编程语言中,如Java、C#等。 接下来是数据库原理。数据库是存储和管理...

    面向对象技术及UML

    在本课程中,我们将深入探讨面向对象(OO)的概念和技术,包括面向对象分析(OOA)、面向对象设计(OOD),以及统一建模语言(UML)的应用。 首先,了解面向对象的基本概念至关重要。面向对象的核心是对象,它是...

    UML和模式应用(架构师必备).part07.rar

    17.4 GRASP:基本OO设计的系统方法 17.5 职责、GRASP和UML图之间的联系 17.6 什么是模式 17.7 现在我们所处的位置 17.8 使用GRASP进行对象设计的简短示例 17.9 在对象设计中应用GRASP 17.10 创建者 17.11 ...

    面向对象UML设计与应用

    通过本次课程的学习,参与者将能够掌握如何有效地运用UML进行面向对象的分析和设计,为实际项目开发打下坚实的基础。 通过以上的详细介绍,我们可以看到,面向对象UML设计与应用不仅是一门理论学科,更是软件工程师...

    软件设计师-软件设计篇视频.zip

    内容包括类和对象的概念、封装、继承和多态性,以及如何使用UML进行OO设计。此外,还将探讨设计模式,如工厂模式、单例模式、观察者模式等,这些是解决常见问题的成熟解决方案。 第4章“数据库设计”则关注于数据库...

    UML2.0实战教程.pdf

    例如,TrufunKantX是一款UML建模工具,可以支持开发者创建UML图和进行系统设计。 Trufun统一过程(TUP)是一个结合了UML和面向对象分析与设计(OOAD)的软件开发过程模型。TUP定义了软件开发的各个阶段,包括需求...

    UML和模式应用(架构师必备).part02.rar

    17.4 GRASP:基本OO设计的系统方法 17.5 职责、GRASP和UML图之间的联系 17.6 什么是模式 17.7 现在我们所处的位置 17.8 使用GRASP进行对象设计的简短示例 17.9 在对象设计中应用GRASP 17.10 创建者 17.11 ...

    UML和模式应用(架构师必备).part06.rar

    17.4 GRASP:基本OO设计的系统方法 17.5 职责、GRASP和UML图之间的联系 17.6 什么是模式 17.7 现在我们所处的位置 17.8 使用GRASP进行对象设计的简短示例 17.9 在对象设计中应用GRASP 17.10 创建者 17.11 ...

    UML和模式应用(架构师必备).part01.rar

    17.4 GRASP:基本OO设计的系统方法 17.5 职责、GRASP和UML图之间的联系 17.6 什么是模式 17.7 现在我们所处的位置 17.8 使用GRASP进行对象设计的简短示例 17.9 在对象设计中应用GRASP 17.10 创建者 17.11 ...

Global site tag (gtag.js) - Google Analytics