软件工程 - 5、数据库设计与开发
来源:互联网 发布:在手机上写js代码 编辑:程序博客网 时间:2024/04/28 01:57
--作者:张骞
--原创,转载必究
首先,介绍一下数据模型:数据是描述事物的记录,模型是指对现实世界的抽象,数据模型就是对现实数据的抽象。
数据模型按照应用层次的不同,可分为:
1、概念数据模型:简称概念模型,它是对现实世界概念化的描述,与具体的数据库管理系统无关;
2、逻辑数据模型:简称逻辑模型,它是概念模型在具体的数据库管理系统中的实现。逻辑模型可分为树状模型又叫层次模型、网状模型、关系模型、面向对象模型,每种模型都各有优缺点,目前常用的是关系模型,它使用表(二维表)来表示实体及实体间的关系,关系型数据库有ORACLE、SYBASE、DB2、SQL SERVER、MYSQL等
3、物理数据模型;简称物理模型,它描述了数据在物理介质上的组织结构,每种逻辑模型都有对应的物理模型。
在软件工程的相关书籍或文档中,通常没有将数据库设计与开发独立讲解的部分。该过程不是一个独立的软件生命周期,它是从需求开发与管理生命周期开始,到编码生命周期结束的一个持续过程。
数据库设计就是建立数据模型的过程,按照应用层次包括三个阶段:概念设计、逻辑设计、物理设计,分别可映射在需求分析、概要设计、详细设计中进行;
数据库开发,通常是伴随着编码生命周期一同进行的。
下面看下在相应的软件生命周期中,数据库设计与开发的工作是如何进行的:
一、需求开发与管理
概念设计构造系统中数据的概念模型,它是脱离于数据库管理系统的设计。
通常使用ER图来建立概念模型,不过在当前面向对象方法横行的年代,在需求分析阶段很少有人再去构造ER图,但作为数据库设计人员,这样的图是必不可少的,可自行在当前软件生命周期中伴随需求分析一并建立;
二、系统设计
1、概要设计
逻辑设计构造系统中数据的逻辑模型,关系模型中的逻辑结构就是表(二维表)结构。
在概要设计过程中,伴随着《概要设计说明书》的生成,还需要生成初步的《数据库设计说明书》,它描述了系统中数据的逻辑结构设计;
ER图描述了系统中的实体,以及实体间的关系,数据库逻辑结构的建立基于ER图的同时,还需要考虑数据的操作与处理,即事实,此阶段工作建议参考数据流图进行,如果在《概要设计说明书》中没有这样的图,可自行在当前软件生命周期中伴随概要设计一并建立;
这样得到的数据库逻辑结构中通常包括三种表:实体表、关系表、事实表。
2、详细设计
物理设计构造系统中数据的物理模型,它与数据库管理系统、操作系统、硬件有关,目前大多关系型数据库为了保证其可移植性,设计者只需要设计索引、聚焦、分区等结构即可,物理设计都由数据库管理系统自行完成;
详细设计阶段,除了进行物理设计外,还需要对逻辑设计中初步的表结构进行确切的定义,如:数据类型、字段、字段长度等,此时生成细化的《数据库设计说明书》。
三、编码
在进入应用程序的编码阶段的同时,数据库开发工作启动,编写数据库子程序进行数据操作和处理,如:视图、存储过程、函数、触发器、作业等,此阶段工作建议参考流程图进行,如果在《详细设计说明书》中没有这样的图,可自行伴随详细设计一并建立。最终完成子程序的单元测试、代码走查,生成建库及所有子程序的脚本,用于产品集成,如有必要,还需要编写《数据库施工文档》。
最后,在软件产品通过测试并发布上线后,进入维护软件生命周期,同样数据库也进入运维阶段,此时的工作通常由运维DBA负责,比如:数据库状态及性能监控等。
- 软件工程 - 5、数据库设计与开发
- 软件工程之— 项目开发文档(数据库设计说明书)
- 软件工程与设计模式
- 软件工程之数据库设计实验
- 数据库设计与应用开发
- 《设计模式》,C++与软件工程
- 软件工程中设计与编码
- ISO软件工程模板(7)数据库设计说明书
- 软件工程文档中的数据库模型设计
- 软件工程,UML,开发模型和设计模式
- 数据库的设计与开发技巧
- MySQL数据库设计与开发规范
- 软件工程5-软件详细设计
- rup与传统软件工程之设计分析
- 软件工程-面向对象设计与法则
- 面试题八-- 软件工程与设计模式
- 数据库开发(5)关系数据库设计
- 数据库的设计与开发技巧---设计篇
- VARIANT的使用
- 90/10法则
- strcpy_s :拷贝多少合适?
- 使用 /sys 文件系统访问 Linux 内核
- 敏捷那些事儿(三)
- 软件工程 - 5、数据库设计与开发
- C# Lambda 表达式
- Linux内核移植和根文件系统制作
- 微软将 jQuery IntelliSense整合到Visual Studio
- Linux内核常用启动参数汇总
- Linux常用的基本命令分类
- 利用JSON 让表单与业务对象双向转换
- C++ 书籍的下载地址
- 几个重要的Linux系统内核文件介绍