数据库应用系统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 取模的值,其中 1≤a,b,p≤1018。 输入描述: 第一行a,第二行b,第三行p。 输出描述: 一个整数,表示abmodp的值。 示例1 输入 2 3 9 输出 6 #include<bits/stdc.h> using namespace std; t…...

计算机竞赛 python+opencv+机器学习车牌识别
0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于机器学习的车牌识别系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:4分工作量:4分创新点:3分 该项目较为新颖,适…...

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

【UniApp开发小程序】小程序首页(展示商品、商品搜索、商品分类搜索)【后端基于若依管理系统开发】
文章目录 界面效果界面实现工具js页面首页让文字只显示两行路由跳转传递对象将商品分为两列显示使用中划线划掉原价 后端商品controllerservicemappersql 界面效果 【说明】 界面中商品的图片来源于闲鱼,若侵权请联系删除关于商品分类页面的实现,请在我…...
Redis 持久化及集群架构
Redis 持久化及集群架构 本篇技术博文将深入探讨 Redis 持久化机制的原理、配置和使用方式。我们将介绍两种常用的持久化方式:RDB 持久化和 AOF 持久化。您将了解到它们的工作原理、优缺点以及如何根据需求选择合适的持久化方式。 通过深入学习 Redis 持久化及集群…...

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

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

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

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

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

linux下安装.run后缀名文件
1.文件传输 对于大文件,不能直接拖拽,可以借助工具,例如WinSCP 创建会话时,需要提供虚拟机的主机名,可以采取输入ifconfig的命令,如图所示: ifconfig(接口配置)命令在 …...
Angular 性能优化实战
Angular 性能优化实战 Angular 是一个非常强大的前端框架,但是如果不注意性能优化,应用程序可能会变得非常慢并增加加载时间。 以下是一些Angular性能优化经验的实战建议: 1. 使用 OnPush 变更检测策略 默认情况下,Angular检查…...

在vue项目使用数据可视化 echarts ,柱状图、折线图、饼状图使用示例详解及属性详解
官网地址:Apache ECharts 一、下载插件并在页面中引入 npm install echarts --save 页面导入: import * as echarts from echarts 全局导入: main.js 中,导入并注册到全局 import echarts from echarts Vue.prototype.$echart…...
九耶丨阁瑞钛伦特-井字棋html5代码
你想了解关于井字棋(Tic-Tac-Toe)的HTML代码吗?以下是一个简单的井子棋的HTML代码示例: <!DOCTYPE html> <html> <head><title>Tic-Tac-Toe</title><style>.board {display: flex;flex-wrap…...

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

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

嵌入式 C 语言程序数据基本存储结构
一、5大内存分区 内存分成5个区,它们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 1、栈区(stack):FIFO就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。 …...

记录VS2022离线安装NuGet包的过程
离线安装NuGet包主要分为两个阶段:指定安装源及下载包及其依赖项。本文记录在VS2022中离线安装NuGet包的过程及注意事项。 离线安装NuGet包,主要有两种方式:1)搭建局域网或本机NuGet服务器,将VS2022的源指定为NuGe…...
tomcat的多实例和动静分离
目录 多实例 安装tomcat 配置 tomcat 环境变量 修改server.xml文件 修改开关文件,添加环境变量 tomcat1 tomcat2 启动 浏览器访问测试 nginxtomcat实现动静分离 Nginx实现负载均衡的原理 部署nginx的负载器 搭建第三台tomcat 配置多实例服务器 Tomcat…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...

Linux 下 DMA 内存映射浅析
序 系统 I/O 设备驱动程序通常调用其特定子系统的接口为 DMA 分配内存,但最终会调到 DMA 子系统的dma_alloc_coherent()/dma_alloc_attrs() 等接口。 关于 dma_alloc_coherent 接口详细的代码讲解、调用流程,可以参考这篇文章,我觉得写的非常…...
数据库正常,但后端收不到数据原因及解决
从代码和日志来看,后端SQL查询确实返回了数据,但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离,并且ai辅助开发的时候,很容易出现前后端变量名不一致情况,还不报错,只是单…...
视觉slam--框架
视觉里程计的框架 传感器 VO--front end VO的缺点 后端--back end 后端对什么数据进行优化 利用什么数据进行优化的 后端是怎么进行优化的 回环检测 建图 建图是指构建地图的过程。 构建的地图是点云地图还是什么信息的地图? 建图并没有一个固定的形式和算法…...
Angular中Webpack与ngx-build-plus 浅学
Webpack 在 Angular 中的概念 Webpack 是一个模块打包工具,用于将多个模块和资源打包成一个或多个文件。在 Angular 项目中,Webpack 负责将 TypeScript、HTML、CSS 等文件打包成浏览器可以理解的 JavaScript 文件。Angular CLI 默认使用 Webpack 进行项目…...