第四章、数据库应用系统功能设计与实施

第四章、数据库应用系统功能设计与实施

  1. 了解软件体系结构及设计过程
  2. 了解DBMS总体设计
  3. 了解DBMS功能概要设计
  4. 了解DBMS功能详细设计
  5. 了解DBMS安全架构设计
  6. 了解DBMS实施的过程及内容

DBAS功能设计包括应用软件设中数据库事务设计和应用程序设计。

功能设计过程一般被划分为总体设计概要设计详细设计。而具体到数据库事务设计部分,又可以分成事务概要设计和事务详细设计。

完成系统设计工作之后,进入系统实现与部署阶段。

1、软件体系结构及设计过程

1.1、软件体系结构

  • 软件体系结构又称为软件架构,软件体系结构={构建,连接件,约束}
  • 软件体系结构是软件系统中最本质的东西。良好的系统体系结构必须是普通、稳定、高效和稳定的。
  • 软件体系结构有多种风格和类型,如分层体系结构、模型-视图-控制器(MVC)体系结构、客服端/服务器体系结构、B/S或C/S等,

1.2、软件的设计过程

  • 软件设计过程

软件设计是由设计、实现、测试三个环节组成,设计又包含概要设计和详细设计。

概要设计的任务是进行软件总体结构设计,可采用层次结构图建立软件总体结构图。详细设计的任务是进行数据设计、过程设计及人机交互见面设计。

设计原则:模块化、信息隐藏、抽象与逐步求精。

软件设计可选用结构化设计方法、面向对象设计方法或者面向数据设计方法等。

2、DBMS总体设计

DBAS总体设计的任务是确定系统总体框架,主要内容包括:

  1. DBAS体系结构设计
  2. 软件体系结构设计
  3. 软件硬件选型与配置设计
  4. 业务规则初步设计

2.1、DBAS体系结构设计

将系统从功能、层次/结构、地理分布等角度进行分解,划分为多个子系统,定义各个子系统功能设计系统的全局控制,明确各子系统间的交互和接口关系。

两种常见的DBAS体系结构:

  • 客户/服务器体系结构(C/S)
  • 浏览器/服务器体系结构(B/S)

2.2、软件体系结构设计

DBAS软件包括操作系统、数据库管理系统、开发环境中间件、应用软件(数据库事务和应用程序)。

从需求分析出发分解成各子系统,分配响应功能,定义定义相互间交互机制,完成子系统结构设计,将子系统从功能上分成数据库事务模块(事务自身处理逻辑)与粒度大的应用程序模块(业务规则),确定全局控制和调用关系---可用模块结构视图(模块+调用+数据+控制+转接)表示系统总体结构和分层模块结构。

2.3、软硬件选型与配置设计

规划分析阶段提出系统功能、性能及时向的约束对软件做了评估和选择建议,需求对系统功能性能提出了具体,为保证DBAS功能性能顺利实现,总体设计阶段需要对软硬件设备做出合理选择,并举行初步配置设计。

硬件选型涉及的内容:

网络及设备选型;数据存储及备份方案;服务器选型,终端软件环境;软件开发平台和语言、工具;工作系统中间件及第三方软件选型。

2.4、业务规则初步设计

任务:从系统角度,规划DBAS的业务流程,符合客户的实际业务需求。

DBAS的各项业务活动具有逻辑上先后关系,可将们表示成一个操作序列,并用业务流程图表示。

3、DBMS功能概要设计

在总体设计结果基础上,将DBAS应用软件进一步细化为模块/子模块,组成应用软件的系统-子系统-模块子系统层次结构,并从结构、行为、数据三方面进行设计。

从功能角度,DBAS系统通常划分为四个层次实现:

  1. 表示层
  2. 业务逻辑层
  3. 数据访问层
  4. 数据持久化层

3.1、表示层概要设计

人机见面设计,影响系统易用性。目前第四代是WIMP(窗口、图标、菜单、指示器)与web技术、多任务处理技术相结合。

设计原则:

‘用户自主控制’;反馈及时上下文感知;容错与错误恢复;界面标准常规;输入灵活;见面简介交互及时......

3.2、业务逻辑层概要设计

设计原则:高内聚低(松)耦合,即构件单一原则;结构独立功能;接口简答明确;构件间关系简单,过于复杂,就细化,分解。

设计内容:结构,行为,数据,接口,故障处理,安全设计,系统维护和保障等

3.3、数据访问层概要设计

任务:针对DBAS的数据处理需求设计用于操作数据库的各类事务。

事务设计概要的核心在于辨识和设计事务自身处理逻辑,注重流程,不考虑与平台相关、具体操作方法和事务实现机制,

一个完整的事务概要设计包括事务名称、访问的关系及其数据项、事务逻辑(事务描述)、事务用户(使用、启动、调用该事务的软件模块和系统)

  • 事务

事务(Transaction)是访问并可能更新数据项的各种数据项的一个程序执行单元(unit)

事务的特性:原子性、一致性、隔离性、持久性,称为ACID特性

原子性(Atomicity)。一个不可分割的工作单位

一致性(Consistency)。从一个一致性状态编导另一个一致性状态

隔离性(Isolation)。执行不能被其他事务干扰

持久性(Durability)。永久性(permanence),指事务一旦提交,它对数控中的数据的改变就应该是永久性的。

3.4、数据持久层的概要设计

属于数据组织与存储方面的设计内容,(详细见第三章)

4、DBMS功能详细设计

4.1、表示层详细设计

人机界面采用原型迭代法适合,三步骤

  1. 初步设计:设计人机交互命令系统并优化。(总体设计)
  2. 用户界面细节设计。如组织形式、风格、彩色,操作方式(概要设计)
  3. 原型设计与改进(详细设计)

4.2、业务逻辑层详细设计

设计模块内部处理流程和算法,具体数据结构、 对外详细接口等。

5、DBMS安全架构设计

数据安全设计

五个方面

  1. 安全性保护:防止非法用户对数据库的非法使用,避免数据泄露,篡改或破坏。
  2. 完整性保护:保证数据源的正确性,一致性和相容性
  3. 并发性控制:保证对个用户能共享数据库,并维护数据库一致性
  4. 数据备份和修护:系统失效后的数据恢复,配合定时的备份数据
  5. 数据加密传输:将一些高级的敏感数据通过一定的加密算法后传输

5.1、数据库的安全性保护

主要的保护方式:

用户身份鉴别

Windows省份验证、SQL身份验证

权限控制

对后台数据库是不同用户对数据的不同存取需求设置不同权限,对前台程序为每个合法用户设定权限等级,外部用户设置优先查询功能。

视图机制

通过视图机制把保密数据对无权用户隐藏。

5.2、数据库的完整性保护

数据库的完整性值数据库中数据的正确性、一致性及相容

方法:设计完整性检查

即对设计设置一些约束条件(如视图完整性,参考完整性,自定义完整性)

完整性约束条件作用对象:列(类型、范围、精度、排序)、原组(记录中各属性之间的联系约束)、关系(若干记录间、关系集合与集合之间联系)三种级别

DBAS中,完整性约束功能包括完整性约束条件设置和检查

5.3、数据库的并发性控制

并发访问(Concurrent Access):事务在时间上重叠执行

对多用户并发存取同一数据的操作可能会导致数据的不一致和破坏事务的隔离性,因此DBMS必须提供并发控制机制,并发控制机制是衡量一个DBMS性能的主要标志之一。实现数据库并发控制的常用方法是封锁技术。

基本锁的类型:

排它锁

排他锁【X锁】
又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。这保证了其他事务在T释放A上的锁之前不能再读取和修改A。

共享锁

排他锁【X锁】
又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。这保证了其他事务在T释放A上的锁之前不能再读取和修改A。

避免死锁:

是两个或两个以上的事务之间的循环等待。

设计避免死锁:

1、按照同一顺序访问资源,(如第一个事务提交或事务回滚后第二个事务进行)

2、避免事务交互性

3、采用小事务模式,缩短长度和占用时间

4、尽量使用记录级别的锁(行锁),少用表锁

5、使用绑定连接,同一个用户打开的两个或多个连接之间以相互合作。

5.4、数据库的数据备份与恢复

数据库恢复的基本原理:

利用存储在系统其它存储器上的冗余数据(即数据备份)来重建。

数据库备份与恢复策略:

双机热备(基于Active/Standby方式的服务器热备)

数据转储(也称为数据备份)

数据加密存储(针对搞敏感数据)

5.5、数据加密传输

常见的数据加密传输手段:

  1. 数字安全证书
  2. 对称秘钥加密
  3. 数字签名
  4. 数字信封

实施:购买第三方中间件产品整合一个快速有效的解决方案

环境安全设计:

  1. 漏洞与补丁:定期查找漏洞更新新补丁
  2. 计算机病毒防护:杀毒软件;实时监控
  3. 网络环境安全:防火墙,入侵检测系统;网络隔离(逻辑隔离与物理隔离)
  4. 物理环境安全:如防盗设施,UPS;温湿度报警器等

制度安全设计:

管理层面安全措施

6、DBMS实施

DBAS实施阶段主要包括以下工作:

1、创建数据库

考虑因素:初始空间大小,数据库增量大小;访问性能如并发数,访问频率。

2、数据装载

步骤:筛选数据-转换数据格式-输入数据-校验数据

3、编写与调试应用程序

4、数据库系统运行(功能测试与性能测试)

例题:

1、

2、

3、

4、

5、

6、

7、

8、

原文地址:https://www.cnblogs.com/shaoyayu/p/12326027.html

时间: 2024-08-25 09:42:57

第四章、数据库应用系统功能设计与实施的相关文章

oracle基本语句(第四章、数据库安全管理)

1.用SYS用户以SYSDBA身份登录SQL Plus,使用DBA_USERS视图查看用户信息: SELECT USERNAME, ACCOUNT_STATUS, CREATED FROM DBA_USERS;--用户名,账户状态,创建用户的日期 2.创建用户.删除用户 CREATE USER <用户名> IDENTIFIED BY<口令> DEFAULT TABLESPACE <默认表空间> TEMPORARY TABLESPACE <临时表空间>; --

第十四章 DNS系统

一.DNS系统的作用及类型DNS 系统的作用正向解析:根据主机名称(域名)查找对应的 IP 地址反向解析:根据 IP 地址查找对应的主机域名DNS 系统的分布式数据结构? 缓存域名服务器– 也称为高速缓存服务器– 通过向其他域名服务器查询获得域名 -> IP 地址记录– 将域名查询结果缓存到本地,提高重复查询时的速度? 主域名服务器– 特定 DNS 区域的官方服务器,具有唯一性– 负责维护该区域内所有域名 -> IP 地址的映射记录? 从域名服务器– 也称为 辅助域名服务器– 其维护的 域名

第五章、UML与数据库应用系统

第五章.UML与数据库应用系统 内容提要: 了解DBAS建模方法 了解DBAS业务流程与需求表达式 了解DBAS系统内部结构的表达式 了解DBAS系统微观设计的表达式 了解DBAS系统宏观设计的表达式 了解DBAS系统实现与部署的表达式方法 第一节.DBAS建模 1.1.统一建模语言(UML) 统一建模语言(UML):Unified Modeling Language UML是一种基于面向对象的可视化的通用(General)建模语言,该方法结合了Booch, OMT, 和OOSE方法的优点,统一

java-第十四章-代参的方法(二)-实现MyShopping系统的添加会员功能

 package com.wxws.sms; public class Customer {  int No;  int integarl; } package com.wxws.sms; public class Customers {  Customer[] customers = new Customer[100];  public void add(Customer cust){   for (int i = 0; i <customers.length; i++) {    if (c

深入浅出数据库第四章

1NF: 1.必须有主键(主键不能为NULL,插入数据时必须包含主键值,必须主键为NULL,主键不可以被修改) 2.保持原子性 (列与列之间不能相似,每列在查找的时候可行) 关系关系数据库: 关系不是指表与表之间的关系,而是指表中每列的内容,怎样最佳的从一张表中描述事物,需要考虑可查找 若一张表开始没有主键: 1. 直接drop table tablename;再建表,insert into tablename所有数据    不可行,数据太多 这里可以查找以前的create table 命令,s

java MySQL数据库编程 第四章 高级查询(二)

第四章 高级查询(二) (1)通过在子查询中使用EXISTS子句,可以对子查询中的行是否存在进行检查.子查询可以出现在表达式出现的如何位置 (2)子查询语句可以嵌套在SQL语句中任何表达式出现的位置. 一.EXISTS子查询 1.使用EXISTS语句判断该数据库对象是否存在: DROP TABLE IF EXISTS temp; 2. EXISTS作为WHERE语句的子查询: SELECT .....FROM 表名 WHERE EXISTS(子查询); 3. EXISTS关键字后面的参数是一个任

一个新手的Python自学之旅 #MacBook #《“笨办法”学Python》#第四章:言归正传讲Python:Mac系统的终端Terminal命令行快速入门之较复杂的命令

第四章:言归正传讲Python:Mac系统的终端Terminal命令行快速入门之"较复杂的命令" 在写第三章的时候,发现自己已经忘记了好多命令.其实我并没有按照Zed A.Shaw的提示,将这些命令做成小卡片,然后每天去记忆.可能源于我的目的并非是为了掌握并精研Python,我写博客并不是单纯为了分享自己的学习经验.而是希望自己能够通过学习python和写博客的形式,让自己以后养成这样的学习和记录习惯,有助于以后技能的掌握和积累.Python起到抛砖引玉的作用. 闲话少说,下面开始介绍

2017.06.29数据挖掘基础概念第四章

第四章39.为什么在进行联机分析处理(OLAP)时,我们需要一个独立的数据仓库,而不是直接在日常操作的数据库上进行 1.提高两个系统的性能 2.操作数据库支持多事务的并发处理,需要并发控制和恢复机制,确保一致性和事务的鲁棒性 3.两者有着不同的数据的结构.内容和用法40.什么是数据仓库 数据仓库是一种数据库,它与单位的操作数据库分别维护,数据仓库系统允许将各种应用系统集成在一起,为统一的历史数据分析提供坚实的平台,对信息处理提供支持,是一个面向主题的.集成的.时变得.非易失的数据集合,支持管理者

第四章 初步进入linux世界

第四章 初步进入linux世界 [Linux 系统启动过程] Linux的启动其实和windows的启动过程很类似,不过windows我们是无法看到启动信息的,而linux启动时我们会看到许多启动信息,例如某个服务是否启动. Linux系统的启动过程大体上可分为五部分:内核的引导:运行init:系统初始化:建立终端 :用户登录系统. A 内核引导 当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动.紧接着由启动设备上的grub程序开始引导linux,当引