程序开发中使用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模型。假设我们熟悉UML对象建模表示法和关系型数据库。1.介绍许多人认为面向对象概念和关系型数据库相互不一致,并且不能结合。事实上完全相反!经过灵活的使用,一个关系型...
"服装库存管理系统数据库设计" ...本文档对服装库存管理系统的数据库设计进行了详细的讲解,涵盖了数据库环境说明、概念结构设计、逻辑结构设计等方面的内容,为读者提供了一个系统的数据库设计指南。
### UML面向对象建模与设计(Object-Oriented Modeling and Design with UML)习题解答分析 #### 一、概述 《UML面向对象建模与设计》这本书由Michael Blaha与James Rumbaugh共同撰写,是面向对象设计领域的重要参考...
### UML与面向对象分析...总之,面向对象分析设计与UML相结合能够极大地提高软件开发的效率和质量,通过使用UML工具进行可视化建模,开发人员可以更直观地理解系统的需求和设计,从而更好地管理和控制整个开发过程。
这些功能的实现也需要通过详细的UML建模来进行规划。 **系统构架设计** 系统构架设计是指从全局角度出发,规划系统的整体结构和技术栈。这包括硬件平台的选择、软件架构的设计等。 #### 系统实现测试与配置 **...
《面向对象分析与设计(第3版).pdf》可能涵盖了如何进行面向对象的需求分析、设计原则、UML(统一建模语言)的应用,以及如何实现这些设计到实际编程语言中,如Java、C#等。 接下来是数据库原理。数据库是存储和管理...
在本课程中,我们将深入探讨面向对象(OO)的概念和技术,包括面向对象分析(OOA)、面向对象设计(OOD),以及统一建模语言(UML)的应用。 首先,了解面向对象的基本概念至关重要。面向对象的核心是对象,它是...
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进行OO设计。此外,还将探讨设计模式,如工厂模式、单例模式、观察者模式等,这些是解决常见问题的成熟解决方案。 第4章“数据库设计”则关注于数据库...
例如,TrufunKantX是一款UML建模工具,可以支持开发者创建UML图和进行系统设计。 Trufun统一过程(TUP)是一个结合了UML和面向对象分析与设计(OOAD)的软件开发过程模型。TUP定义了软件开发的各个阶段,包括需求...
17.4 GRASP:基本OO设计的系统方法 17.5 职责、GRASP和UML图之间的联系 17.6 什么是模式 17.7 现在我们所处的位置 17.8 使用GRASP进行对象设计的简短示例 17.9 在对象设计中应用GRASP 17.10 创建者 17.11 ...
17.4 GRASP:基本OO设计的系统方法 17.5 职责、GRASP和UML图之间的联系 17.6 什么是模式 17.7 现在我们所处的位置 17.8 使用GRASP进行对象设计的简短示例 17.9 在对象设计中应用GRASP 17.10 创建者 17.11 ...
17.4 GRASP:基本OO设计的系统方法 17.5 职责、GRASP和UML图之间的联系 17.6 什么是模式 17.7 现在我们所处的位置 17.8 使用GRASP进行对象设计的简短示例 17.9 在对象设计中应用GRASP 17.10 创建者 17.11 ...