当前位置: 首页 > news >正文

数据库应用系统DBAS功能设计与实施(三级数据库)

目录

一、了解软件体系结构及设计过程

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

2、软件设计过程

二、了解DBAS总体设计

1、DBAS体系结构设计

2、软件体系结构设计

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

4、业务规则初步设计

三、了解DBAS功能概要设计

1、表示层概要设计

2、业务逻辑层概要设计

3、数据访问层概要设计

4、数据持久层概要设计

四、了解DBAS功能详细设计

1、表示层详细设计

2、业务逻辑层详细设计

五、了解DBAS安全架构设计

1、数据安全设计

(1)数据库的安全性保护

(2)数据库的完整性保护

(3)数据库的并发性控制


一、了解软件体系结构及设计过程

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

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

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

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

软件体系结构:

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

2、软件设计过程

软件设计过程:

  • 软件开发由设计、实现、测试三个环节组成,设计又包含概要设计和详细设计
  • 概要设计任务是进行总体结构设计,可采用层次结构图建立软件总体结构图;详细设计的任务是进行数据设计、过程设计以及人机界面设计。
  • 设计原则:模块化、信息隐藏、抽象与逐步求精。
  • 软件设计可选用结构化设计方法、面向对象设计方法和面向数据设计方法等。


二、了解DBAS总体设计

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

DBAS体系结构设计、软件体系结构设计、软件硬件选型与配置设计、业务规则初步设计

1、DBAS体系结构设计

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

两种常见的DBAS体系结构:

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

2、软件体系结构设计

DBAS软件包括操作系统、数据库管理系统、开发环节中间件、应用软件(数据库事物和应用系统)

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

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

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

软硬件选型涉及的内容

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

4、业务规则初步设计

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

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


三、了解DBAS功能概要设计

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

从功能角度,DBAS系统通常划分为四个层次实现:表示层、业务逻辑层、数据访问层、数据持久层

1、表示层概要设计

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

设计原则:‘用户自主控制’;反馈及时上下文感知;容错与错误恢复;界面标准规则;输入灵活界面简洁交互及时……

2、业务逻辑层概要设计

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

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

3、数据访问层概要设计

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

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

一个完整的事务概要设计包括事务名称、访问的关系表及其数据项、事务逻辑( 事务描述)、事务用户( 使用、启块和系统)。
事物:事物(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元

事物的特性:原子性、一致性、隔离性、持续性。称为ACID特性。

原子性:一个不可分割的工作单位。

一致性:从一个一致性状态变到另一个一致性状态。

隔离性:执行不能被其他事务干扰。

持久性:永久性,指一个事务一旦提交 ,它对数据库中数据的改变就应该是永久的。

4、数据持久层概要设计

属于数据组织与存储方面的设计内容


四、了解DBAS功能详细设计

1、表示层详细设计

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

(1)初步设计:设计人机交互命令系统并优化(总体设计)

(2)用户界面细节设计。如组织形式、风格、色彩,操作方式(概要设计)。

(3)原型设计与改进(详细设计)

2、业务逻辑层详细设计

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


五、了解DBAS安全架构设计

1、数据安全设计

五方面:

安全性保护:防止非法用户对数据库的非法使用,避免数据泄露、篡改或破坏。

完整性保护:保证数据源的正确性、一致性和相容性。

并发性控制:保证多个用户能共享数据库,并维护数据一致性

数据备份与恢复:系统失效后的数据恢复,配合定时备份数据库,不丢失数据。

数据加密传输:将一些高级的敏感数据通过一定的加密算法。

(1)数据库的安全性保护

主要保护方式:

  • 用户身份鉴别

Windows身份验证、SQL身份验证

  • 权限控制

对后台数据库是不同用户对数据的不同存取需求议置不同权限;

对前台 程序是为每个合法用户设定权限等级,外部用户设置有限查询功能

  • 试图机制

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

(2)数据库的完整性保护

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

方法:设置完整性检查

即对数据设置一些约束条件(如实体完整性、参考完整性、用户自定义完整性)

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

(3)数据库的并发性控制

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

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


 

相关文章:

数据库应用系统DBAS功能设计与实施(三级数据库)

目录 一、了解软件体系结构及设计过程 1、软件体系结构与设计过程 2、软件设计过程 二、了解DBAS总体设计 1、DBAS体系结构设计 2、软件体系结构设计 3、软硬件选型与配置设计 4、业务规则初步设计 三、了解DBAS功能概要设计 1、表示层概要设计 2、业务逻辑层概要设计…...

快速幂典型

题目描述 求 a 乘 b 对 p 取模的值&#xff0c;其中 1≤a,b,p≤1018。 输入描述: 第一行a&#xff0c;第二行b&#xff0c;第三行p。 输出描述: 一个整数&#xff0c;表示abmodp的值。 示例1 输入 2 3 9 输出 6 #include<bits/stdc.h> using namespace std; t…...

计算机竞赛 python+opencv+机器学习车牌识别

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于机器学习的车牌识别系统 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;4分工作量&#xff1a;4分创新点&#xff1a;3分 该项目较为新颖&#xff0c;适…...

解决电脑声音正常但就是某些游戏没声音问题

电脑声音正常&#xff0c;玩普遍游戏也正常&#xff0c;就有游戏不出声音 详细介绍经过&#xff0c;不喜欢的请直接跳 第三部分。 一、先说下起因现象。 1 大富翁11 没声音。 前段时间无聊怀旧就买了个大富翁11玩玩&#xff0c;近二十年前的老台式机正常无问题。后来想在性能…...

【UniApp开发小程序】小程序首页(展示商品、商品搜索、商品分类搜索)【后端基于若依管理系统开发】

文章目录 界面效果界面实现工具js页面首页让文字只显示两行路由跳转传递对象将商品分为两列显示使用中划线划掉原价 后端商品controllerservicemappersql 界面效果 【说明】 界面中商品的图片来源于闲鱼&#xff0c;若侵权请联系删除关于商品分类页面的实现&#xff0c;请在我…...

Redis 持久化及集群架构

Redis 持久化及集群架构 本篇技术博文将深入探讨 Redis 持久化机制的原理、配置和使用方式。我们将介绍两种常用的持久化方式&#xff1a;RDB 持久化和 AOF 持久化。您将了解到它们的工作原理、优缺点以及如何根据需求选择合适的持久化方式。 通过深入学习 Redis 持久化及集群…...

FPGA + WS2812采灯控制

文章目录 一、WS2812C-2020-V11、产品概述2、引出端排列及功能3、数据传输时间4、数据传输方法 二、使用WS2812C显示图片1、静态显示2、动态显示 一、WS2812C-2020-V1 1、产品概述 WS2812C-2020-V1是一个集控制电路与发光电路于一体的智能外控LED光源&#xff1b;其外型采用最…...

【视频】使用OBS将MP4推流至腾讯云直播

1、下载OBS OBS官网:https://obsproject.com/ OBS支持Win、Mac、Linux,如果下载速度很慢,建议使用迅雷下载 2、OBS推流设置 2.1 添加场景 默认会有一个“场景”,如果想继续添加可以点击“+”按钮 2.2 添加媒体源 1)点击“来源”窗口中“+”按钮 2)支持的媒体源如…...

Vue基本知识

一、vue入门 Vue为前端的框架&#xff0c;免除了原生js的DOM操作。简化书写。 基于MVVM的思想&#xff0c;实现数据的双向绑定&#xff0c;使编程的重点放在数据上。 1、引入vue.js文件 2、定义vue核心对象&#xff0c;定义数据模型 3、编写视图 //1、引入vue.js <scr…...

item_get_sales-获取商品销量详情

一、接口参数说明&#xff1a; item_get_sales-获取商品销量详情&#xff0c;点击更多API调试&#xff0c;请移步注册API账号点击获取测试key和secret 公共参数 请求地址: https://api-gw.onebound.cn/taobao/item_get_sales 名称类型必须描述keyString是调用key&#xff08…...

LangChain手记 Memory

整理并翻译自DeepLearning.AILangChain的官方课程&#xff1a;Memory Memory 使用open ai的API调用GPT都是单次调用&#xff0c;所以模型并不记得之前的对话&#xff0c;多轮对话的实现其实是将前面轮次的对话过程保留&#xff0c;在下次对话时作为输入的message数组的一部分&…...

linux下安装.run后缀名文件

1.文件传输 对于大文件&#xff0c;不能直接拖拽&#xff0c;可以借助工具&#xff0c;例如WinSCP 创建会话时&#xff0c;需要提供虚拟机的主机名&#xff0c;可以采取输入ifconfig的命令&#xff0c;如图所示&#xff1a; ifconfig&#xff08;接口配置&#xff09;命令在 …...

Angular 性能优化实战

Angular 性能优化实战 Angular 是一个非常强大的前端框架&#xff0c;但是如果不注意性能优化&#xff0c;应用程序可能会变得非常慢并增加加载时间。 以下是一些Angular性能优化经验的实战建议&#xff1a; 1. 使用 OnPush 变更检测策略 默认情况下&#xff0c;Angular检查…...

在vue项目使用数据可视化 echarts ,柱状图、折线图、饼状图使用示例详解及属性详解

官网地址&#xff1a;Apache ECharts ​一、下载插件并在页面中引入 npm install echarts --save 页面导入&#xff1a; import * as echarts from echarts 全局导入&#xff1a; main.js 中&#xff0c;导入并注册到全局 import echarts from echarts Vue.prototype.$echart…...

九耶丨阁瑞钛伦特-井字棋html5代码

你想了解关于井字棋&#xff08;Tic-Tac-Toe&#xff09;的HTML代码吗&#xff1f;以下是一个简单的井子棋的HTML代码示例&#xff1a; <!DOCTYPE html> <html> <head><title>Tic-Tac-Toe</title><style>.board {display: flex;flex-wrap…...

Linux服务器上配置HTTP和HTTPS代理

本文将向你分享如何在Linux服务器上配置HTTP和HTTPS代理的方法&#xff0c;解决可能遇到的问题&#xff0c;让你的爬虫项目顺利运行&#xff0c;畅爬互联网&#xff01; 配置HTTP代理的步骤 1. 了解HTTP代理的类型&#xff1a;常见的有正向代理和反向代理两种类型。根据实际需求…...

OpenZFS 2.2 发布 RC3,支持 Linux 6.4

导读之前的 OpenZFS 2.2 候选版本已致力于实现与 Linux 6.4 内核的兼容性&#xff0c;而在 2.2-rc3 中&#xff0c;Linux 6.4 支持的元跟踪器已标记为已完成。 OpenZFS 2.2 发布了第 3 个 RC 版本。 之前的 OpenZFS 2.2 候选版本已致力于实现与 Linux 6.4 内核的兼容性&#x…...

嵌入式 C 语言程序数据基本存储结构

一、5大内存分区 内存分成5个区&#xff0c;它们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 1、栈区(stack)&#xff1a;FIFO就是那些由编译器在需要的时候分配&#xff0c;在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。 ​…...

记录VS2022离线安装NuGet包的过程

离线安装NuGet包主要分为两个阶段&#xff1a;指定安装源及下载包及其依赖项。本文记录在VS2022中离线安装NuGet包的过程及注意事项。   离线安装NuGet包&#xff0c;主要有两种方式&#xff1a;1&#xff09;搭建局域网或本机NuGet服务器&#xff0c;将VS2022的源指定为NuGe…...

tomcat的多实例和动静分离

目录 多实例 安装tomcat 配置 tomcat 环境变量 修改server.xml文件 修改开关文件&#xff0c;添加环境变量 tomcat1 tomcat2 启动 浏览器访问测试 nginxtomcat实现动静分离 Nginx实现负载均衡的原理 部署nginx的负载器 搭建第三台tomcat 配置多实例服务器 Tomcat…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异&#xff0c;它们的数据同步要求既要保持数据的准确性和一致性&#xff0c;又要处理好性能问题。以下是一些主要的技术要点&#xff1a; 数据结构差异 数据类型差异&#xff…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

使用SSE解决获取状态不一致问题

使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件&#xff0c;这个上传文件是整体功能的一部分&#xff0c;文件在上传的过程中…...

6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙

Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...

Linux基础开发工具——vim工具

文章目录 vim工具什么是vimvim的多模式和使用vim的基础模式vim的三种基础模式三种模式的初步了解 常用模式的详细讲解插入模式命令模式模式转化光标的移动文本的编辑 底行模式替换模式视图模式总结 使用vim的小技巧vim的配置(了解) vim工具 本文章仍然是继续讲解Linux系统下的…...

js 设置3秒后执行

如何在JavaScript中延迟3秒执行操作 在JavaScript中&#xff0c;要设置一个操作在指定延迟后&#xff08;例如3秒&#xff09;执行&#xff0c;可以使用 setTimeout 函数。setTimeout 是JavaScript的核心计时器方法&#xff0c;它接受两个参数&#xff1a; 要执行的函数&…...

CppCon 2015 学习:Reactive Stream Processing in Industrial IoT using DDS and Rx

“Reactive Stream Processing in Industrial IoT using DDS and Rx” 是指在工业物联网&#xff08;IIoT&#xff09;场景中&#xff0c;结合 DDS&#xff08;Data Distribution Service&#xff09; 和 Rx&#xff08;Reactive Extensions&#xff09; 技术&#xff0c;实现 …...