软件工程之系统建模篇:设计数据模型

数据模型描述系统持久性数据库层的逻辑内容与结构,数据模型用UML的类图

描述。首先简要介绍数据模型的设计方法及关系数据库的几个术语,然后依次介

绍如何将类映射到表、将关联映射到关系数据库及将泛化映射到数据库。

数据库模型从层次上可以分为3类:概念数据模型、逻辑数据模型和物理数据

模型。

概念数据模型是面向用户、面向现实世界的数据模型,与数据库管理系统无关

,逻辑数据模型反映了DBMS的存储结构,是用户从数据库看到的数据模型,物理

数据模型是特定的DBMS,定义实际中的数据如何存储在持久存储设备上。本章要

设计的数据模型是逻辑数据模型,用面向对象方法设计数据模型于用传统方法设

计数据模型差别不大。

设计步骤为:

1、设计UML中的实体与ER图中的实体

2、设计UML实体类图与E-R图

3、建模依据

4、选择数据库系统   

持久性数据库层可以是关系型的数据库,也可以是对象关系型的数据库或者对

象数据库。从关系型数据库技术到对象数据库技术是一个演化过程,对象数据库

技术是这个演化过程的中间阶段,尽管未来将属于对象数据库,但关系型数据库

在目前的数据库软件市场中仍占主流,本章为系统实例选择关系型数据库作为持

久性数据库层的数据库管理系统。对于关系数据库来说,可以用类图描述数据库

模式,用类描述数据表,用类的操作描述触发器和存储过程。

1、将类映射到表

将实体类映射为关系数据表,必须遵循表的第一范式,列必须是不可再分的数

据项,从类到表的映射可以是一对一,即一个类映射为一个表,但是,一对一映

射可能会导致一些问题,如表太多,表丢失,以及对泛化关系处理不合理等,在

设计中要灵活调整。

2、将关系映射到关系数据库

类之间的多重性可以分为一对一,一对多和多对多3种情况,对3种多重性的处

理已经有一些一般的转换规则,数据模型的设计用UML符号构造型和其他扩展机制

类模拟,关系表的UML符号用构造型为《relational table》的类符号表示,关系

表的列用类中的属性表示,带有构造型《pk》的属性代表主键,带有构造型《fk

》的属性代表外键,不能接受空值的列用约束“{not null}”类表

示。

3、将泛化映射到数据库

将泛化映射到数据库有3种方法:1.将每个类映射到一个表,为每个父类/子类

对创建一个SQL视图;2.将整个类层次映射到一个父类表,表包括所有类的属性集

;3.将每个子类映射到一个表,父类的所有属性包含在每个表的列集中。

注:面向对象设计模型中的依赖关系和实现关系都是非结构化的关系,因而不

会映射到关系数据库中。

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/project/

时间: 2024-10-02 20:26:32

软件工程之系统建模篇:设计数据模型的相关文章

软件工程之系统建模篇:设计接口类模型

本文介绍接口类模型的设计过程.接口类模型描述系统活动者与系统交互的界 面,接口类位于系统结构的表示服务层,接口类模型用类图和包图描述.首先简 要介绍接口类模型的设计方法,然后设计子系统的类图,最后设计系统及子系统 的包图. 1.设计方法 设计接口类模型,首先要识别出接口类,再识别出接口类之间的关系.接口类 是应用程序的"可视区",也是系统与外界的隔离层.接口类可以用 用例去识别,用例驱动接口类设计.用户接口直接与用例相连,用户是通过用户 接口发起和终止用例的.由于用户接口直接面向用户,

软件工程之系统建模篇:设计接口控制类模型

接口控制类模型描述用户接口与系统其他层之间的通信,接口控制类位于系统 结构的商业上下文服务层,接口控制类模型用类图和包图描述.首先简要介绍接 口控制类模型的设计方法,然后设计子系统的接口控制类与接口类的类图,最后 设计系统及子系统的接口控制类的包图. 1.设计方法 接口控制类承担用户接口与应用程序的其他层之间通信的大多数工作,接口控 制类比较简单,对于每一个需要与应用程序的其他层进行通信的用户接口,都应 该有一个相应的接口控制类,对应的一个接口类即定义一个接口控制类.接口控 制类通常是临时的,不

软件工程之系统建模篇:设计窗口结构

在创建用户接口原型之前,应该先创建窗口结构图,窗口结构用于描述窗口之 间的关系,于UML没有直接的关系,本章介绍窗口结构的设计过程,先介绍窗口结 构的设计方法,然后设计总体窗口结构图,最后设计下一层的窗口结构图. 1.设计方法 窗口结构是窗口之间的切换流程,通过窗口结构,可以直观地看到通过用例的 路径流程.窗口结构非常重要,一个软件系统在实用性上能满足用户的需要还是 远远不够的,如果窗口结构设计不合理,也不会受用户欢迎.我们可以参考前面 的接口类图来设计窗口结构,在"软件工程之系统建模篇[设计接

软件工程之系统建模篇:设计用例模型

本文主要介绍用例模型的设计过程,首先从系统层设计用例模型,然后分别细 化系统层识别的各用例,设计更为详细的用例模型.用例模型是开发过程的起点 ,并驱动建模全过程.以下以办公自动化(OA)中的办理发文用例模型为例,来 讲解用例模型的设计过程.用例模型包括办理公文用例图及用例描述. 办理发文用例模型 1.办理公文用例图 在设计办理发文用例模型之前,先要识别活动者和用例,活动者和用例识别以 后,才能建立用例模型. 1.1 活动者识别 活动者是系统分析员与用户交流的起点,也是项目获得后续产品的关键.活动

软件工程之系统建模篇:设计用例控制类模型

用例控制类模型描述接口控制类与实体类之间的通信,用例控制类位于系统结 构的商业规则服务层,用例控制类模型用包图描述.本章介绍用例控制类模型的 设计过程,首先介绍用例控制类模型的设计方法,然后设计子系统包图,最后设 计系统包图. 1.设计方法 用例控制类代表用例,它的每一个操作对应一条通过用例的途径.接口控制类 执行用户接口与应用程序其他层之间的通信任务,用例控制类则执行接口控制类 与实体类之间的通信任务,通过交互来完成在用例中定义的路径.用例控制类直 接与接口控制类一起工作,需要保持所有对象引用

软件工程之系统建模篇:设计系统类模型

类模型是面向对象分析的核心,系统类模型用包图描述,前面的文章我们分析 了实体类.接口类.接口控制类和用例控制类,本章我们将介绍系统类模型的设 计,首先简要介绍类模型的设计方法,然后设计子系统的类模型,最后设计系统 类模型. 1.设计方法 设计系统类模型,要明确子系统或系统的组成,及各个组成部分之间的关系, 子系统的划分和前面介绍过的接口类包的划分相同,主要包括:发文办理.收文 办理.会议管理.档案管理.公告管理.个人助理.系统管理.用户登录8个子系 统,无论是子系统模型还是系统类模型,都包含接口

软件工程之系统建模篇:设计实体类模型

本文主要介绍实体类模型的设计过程,首先识别类及类之间的关系,然后画出 类图和包图,最后识别类的属性和操作.类是面向对象方法的一个全新概念,类 模型是面向对象分析的核心,实体类位于系统结构的商业规则服务层.实体类是 系统需要持久保存的对象最终要映射到数据库.实体类模型用类图和包图描述. 1.类的识别 1.1 类的识别 识别类币识别用例要困难的多,实体世界中,一切都是对象,识别起来并非易 事.我们在程序设计过程中,一般是用名词识别方法,然而你也可以用其他的方 法.用名词识别法时,从系统中找出名词.名

软件工程之系统建模篇:设计动态模型

本章介绍动态模型的设计过程,系统实例的动态模型用序列图来描述,首先介 绍选择序列图的理由,最后分别设计各个用例主路径的序列图.本设计结果将充 实和完善系统结构的表示服务层.商业上下文服务层.商业规则服务层.数据转 化服务层和数据访问服务层的内容. 1.选择序列图 UML以图的形式提供了4种动态模型:序列图.协作图.状 态图和活动图,序列图和协作图都是交互图.序列图是描述对象如何交互的,其 中最重要的是时间,由于序列图于用例路径有关,所以在大多数动态建模中都要 用到它.协作图也是描述对象交付的,但

软件工程之系统建模篇:开卷有益

开篇简述 博客自从大学毕业就开通了,到现在还没发布什么博文,以前不喜欢写博客,但是后来发现写文章其实也是自我提升一个方式,现在的工作不是很忙,趁此机会,写一些文章.此软件工程系统建模系列,以自己在工作中开发OA的系统为参考,结合UML语言来讲述办公自动化系统建模过程,篇幅大概20篇左右,分为建模篇和规划篇,建模篇主要介绍软件开发中各种模型的设计.本文作为开篇,主要简述相关的概念和这个系列的索引,由于本人技术和表述能力有限,错误之处在所难免,通过本系列,将能够学习到软件开发的各种模型设计,不求完美