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

数据库-计算机三级学习记录-4DBAS功能概要设计

DBAS功能概要设计

参照b站【计算机三级数据库技术】

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

功能设计过程一般被划分为总体设计、概要设计和详细设计。而具体到数据库事务设计部分,又可分成事务概要设计和事务详细设计。完成系统设计工作之后,就进入系统实现与部署阶段。

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

➢软件体系结构

又称软件架构,软件体系结构= {构件,连接件,约束}

软件体系结构是软件系统中最本质的东西。良好的体系结构必须是普适、高效和稳定的。

软件体系结构有多种风格和类型,如分层体系结构、模型-视图控制器(MVC )体系结构、客户端/服务器体系结构

2. 软件设计过程

➢软件设计过程

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

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

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

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

1. DBAS体系结构设计

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

➢两种常见的DBAS体系结构:

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

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

➢DBAS体系结构设计;

➢软件体系结构设计;

➢软件硬件选型与配置设计;

➢业务规则初步设计。

2. 软件体系结构设计

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

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

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

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

➢软硬件选型涉及的内容:

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

4. 业务规则初步设计

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

➢DBAS的各项业务活动具有逻辑上的先后关系,可将它们表示成一个操作序列,并用业务流程图表示。
➢在总体设计结果基础上,将DBAS应用软件进一步细化为模块/子模块,组成应用软件的系统-子系统模块-子模块层次结构,并从结构、行为、数据三方面进行设计。
➢从功能角度,DBAS系统通常划分为个层次实现

  • 表示层
  • 业务逻辑层
  • 数据访问层
  • 数据持久层
1. 表示层概要设计

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

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

2. 业务逻辑层概要设计

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

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

3. 数据访问层概要设计

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

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

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

补充

  • 事务:事务( Transaction )是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。
  • 事务的特性:原子性、一致性、隔离性、持续性。称为ACID
  • 原子性( atomicity )。一个不可分割的工作单位。
  • 一致性( consistency )。从一个一致性状态变到另一个一致性状态
  • 隔离性( isolation)。执行不能被其他事务干扰。
  • 持久性( durability )。永久性(permanence),指一个数据一旦提交,它对数据库中数据的改变就应该是永久性的。
4. 数据持久层概要设计

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

3. 表示层详细设计

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

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

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

1. 数据安全设计

五个方面:

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

主要保护方式:

  • 用户身份鉴别
    Windows身份验证、SQL身份验证。
  • 权限控制
    对后台数据库时不同用户对数据的不同存取需求设置不同的权限;对前台程序是了每个合法用户设定权限等级,外部用户设置有限查询功能
  • 视图机制
    通过视图机制把保密数据对无权用户隐藏
( 2 )数据库的完整性保护

数据库的完整性指数据库中数据的正确性、一致性及相容性
➢方法:设置完整性检查
即对数据设置些约束条件(如实体完整性、参考完整性,用户自定义完整性)

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

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

➢并发访问( Concurrent Access ) :事务在时间上重叠执行,对多用户并发存取同一数据的操作可能导致数据不一致破坏事务的隔离性,因此DBMS必须提供并发控制机制,并发访问机制是衡量一个DBMS性能的重要标志之一。 实现数据中并发机制的常用方法是封锁技术。

➢所谓封锁,是指事务T在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,对其加锁,加锁后对该数据对象有了一定的控制,在事务T释放它的锁之前,事务不能更新此数据对象。
➢基本锁类型

  • 排它锁( eXclusive lock,简记为X锁) ,写锁,若事务对数据对象A加上X锁,则只允许T读取和修改A ,其它任何事务不能再对A加任何类型的锁,直到T释放A上的锁.排它锁保证了其它事务在T释放A.上的锁之前不能再读取和修改A。
  • 共享锁( Share lock ,简记为S锁),读锁,若事务T对象A加上S锁,则其它事务只能再对A加S锁,而不能加X锁直到T释放A上的S锁。共享锁保证了其它事务可以保证其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。

➢避免死锁

  • 死锁是两个或两个以上的事务之间的循环等待。
  • 设计避免死锁的原则:
  1. 按照同一顺序访问资源。(如第一 个事务提交或回滚后第二个事务进行)
  2. 避免事务交互性
  3. 采用小事务模式,缩短长度和占用时间。
  4. 尽量使用记录级别的所(行锁),少用表
  5. 使用绑定连接,同一用户打开的两个或多1以互相合作。
( 4 )数据库的数据备份与恢复

➢数据库恢复的基本原理:

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

➢数据库备份与恢复策略:

  • 双机热备(基于Active/Standby方式的服务器)
  • 热数据转储(也称为数据备份)
  • 数据加密存储(针对高敏感数据)
(5)数据加密传输

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

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

➢漏洞与补丁:定期查找漏洞更新补丁
➢计算机病毒防护
➢网络环境安全:防火墙;入侵检测系统;网络隔离(逻辑隔离与物理隔离)
➢物理环境安全:如防盗设施;UPS;湿温度报警器

3.制度安全设计

管理层面安全措施
DBAS实施阶段主要包括以下工作:
1.创建数据库
考虑因素:初始空间大小;数据库增量大小;访问性能(并发数,访问频率)
2.数据装载
步骤:筛选数据-转换数据格式-输入数据-校验
3.编写与调试应用程序
4.数据库系统试运行(功能测试与性能测试)

相关文章:

数据库-计算机三级学习记录-4DBAS功能概要设计

DBAS功能概要设计 参照b站【计算机三级数据库技术】 DBAS功能设计包括应用软件中的数据库事务设计和应用程序设计。 功能设计过程一般被划分为总体设计、概要设计和详细设计。而具体到数据库事务设计部分,又可分成事务概要设计和事务详细设计。完成系统设计工作之后…...

JVM-虚拟机栈

虚拟机栈 Java虚拟机栈(Java Virtual Machine Stack)采用栈的数据结构来管理方法调用中的基本数据,先进后出(First In Last Out),每一个方法的调用使用一个栈帧(Stack Frame)来保存。 接下来以…...

linux系统上tomcat简介以及安装tomcat

tomcat简介以及安装 Tomcat简介安装环境安装jdk安装tomcat浏览器访问 Tomcat简介 Tomcat是一个开源的Web服务器和servlet容器,由Apache软件基金会开发和维护。它是一种流行的Java Web应用服务器,用于运行Java编写的Web应用程序。 Tomcat提供了一个轻量级…...

树莓派的pip安装时候添加清华源

每次都要去找镜像网址,太麻烦了,通过改配置可以一次性解决。 首先创建一个.pip 目录 mkdir ~/.pip意味着在当前目录下创建.pip文件,不过这个是隐藏文件,一般情况下是关闭隐藏文件的可视的,于是我绕了点弯弯。 编辑…...

共享网盘系统PHP源码

新V5.0版本,支持上传视频、支持视频播放、支持共享,也可以自己用。 可以自动生成视频外链,下载地址,播放器代码,html代码,ubb代码等等。 使用方法: 源码上传到服务器,打开网站根据…...

unity-ios-解决内购商品在Appstore上面已配置,但在手机测试时却无法显示的问题

自己这几天用 unity 2021 xcode 14.2 开发ios内购,appstore上面内购商品都已经配置好了,但是在手机里就是不显示,最后才发现必需得满足以下条件才行: 1. Appstore后台 -> 内购商品 -> 商品状态必需为『准备提交』以上状态…...

flask的基本使用 token插件(二)

一、安装flask-jwt-extended 安装flask-jwt-extend得时候 会自动安装一个pyjwt得库。pyjwt可以直接使用来生成JWT和验证。但是在flask中,可以通过Flask-JWT-Extended来实现JWT能,因为他封装了使用方式,以及一些属性和装饰器,用起…...

云计算、Docker、K8S问题

1 云计算 云计算作为一种新兴技术,已经在现代社会中得到了广泛应用。它以其高效、灵活和可扩展特性,成为了许多企业和组织在数据处理和存储方面的首选方案。 1.1 什么是云计算?它有哪些特点? 云计算是一种通过网络提供计算资源…...

【Iceberg学习二】Branch和Tag在Iceberg中的应用

Iceberg 表元数据保持一个快照日志,记录了对表所做的更改。快照在 Iceberg 中至关重要,因为它们是读者隔离和时间旅行查询的基础。为了控制元数据大小和存储成本,Iceberg 提供了快照生命周期管理程序,如 expire_snapshots&#xf…...

在 Blazor WASM 中手撸一个.NET MD5类

最近.net8 blazor auto大火, 我也玩了一下,发现ssr能用的代码 MD5 类在wasm是没法用的. 于是搜索了一下互联网,找到了一份代码,分享给大家. 我找到的帖子作者原话: 代码不是我的,但我确实稍微修改了它以使其与 System.Security.Cryptography.MD5 类更加一致。 pub…...

MFC实现遍历系统进程

今天我们来枚举系统中的进程和结束系统中进程。 认识几个API 1)CreateToolhelp32Snapshot 用于创建系统快照 HANDLE WINAPI CreateToolhelp32Snapshot( __in DWORD dwFlags, //指定快照中包含的系统内容__in DWORD th32P…...

【C语言】深入理解指针

目录 1.字符指针 2.指针数组 3.数组指针 4.数组传参与指针传参 一维数组传参 二维数组传参 一级指针传参 二级指针传参 5.函数指针 6.函数指针数组 7.指向函数指针数组的指针(了解即可) 8.回调函数 回调函数的应用:库函数qsort …...

Excel——有效性、二级菜单联动

一、录入规范数据 1.手动输入序列录入有效性信息 选择需要录入有效性的所有单元格 选择【数据】——【有效性】——【有效性】 在【允许】输入的值之间选择【序列】 在【序列】输入框中输入想要选择的值,中间用逗号(必须是英文逗号)隔开 。…...

计算机网络总结

1. 网络分层 网络上进行协议分层的好处 ①分层之后层次之间的耦合程度比较低,上层协议不必了解下层的细节,下层也不必了解上层的细节; ②方便的对某一层的协议进行替换; 真实网络的协议分层 OSI 七层网络模型(教科书&…...

初识文件包含漏洞

目录 什么是文件包含漏洞? 文件包含的环境要求 常见的文件包含函数 PHP伪协议 file://协议 php://协议 php://filter php://input zip://、bzip2://、zlib://协议 zip:// bzip2:// zlib:// data://协议 文件包含漏洞演示 案例1:php://inp…...

AR特效自研AI算法技术解决方案

在当今这个高速发展的数字化时代,增强现实(AR)技术已经成为企业创新和市场竞争的重要手段。美摄科技凭借对AI技术的深厚积累,为企业提供了一套创新的AR特效自研AI算法技术解决方案,旨在满足企业在AR领域的多元化需求。…...

牛客2024年除夕娱乐赛(题解)

比赛地址 : 牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A 看题面然后猜!!! #include<bits/stdc.h> using namespace std; int main(){cout << "原神启动" << endl; } B 也是看题面然后猜 : #include<bits/stdc.…...

5 scala的函数式编程简介

与Java一样&#xff0c;Scala 也是使用 Lambda 表达式实现函数式变成的。 1 遍历 除了使用 for 可以对数组、List、Set 进行遍历外&#xff0c;也可以使用 foreach 函数式编程进行遍历&#xff0c;使代码更为简洁。 foreach 的方法签名为&#xff1a; foreach(f: (A) > …...

陪护系统|陪护小程序提升长者护理服务质量的关键

在如今逐渐老龄化的社会中&#xff0c;老年人对更好的护理服务需求不断增加。科技的进步使得陪护小程序系统源码成为提供优质服务的重要途径之一。本文将从运营角度探讨如何优化陪护小程序系统源码&#xff0c;提升长者护理服务的质量。 首先&#xff0c;我们需要对软件的设计和…...

C++算法之双指针、BFS和图论

一、双指针 1.AcWing 1238.日志统计 分析思路 前一区间和后一区间有大部分是存在重复的 我们要做的就是利用这部分 来缩短我们查询的时间 并且在使用双指针时要注意对所有的博客记录按时间从小到大先排好顺序 因为在有序的区间内才能使用双指针记录两个区间相差 相当于把一个…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

为什么要创建 Vue 实例

核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

Spring Boot + MyBatis 集成支付宝支付流程

Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例&#xff08;电脑网站支付&#xff09; 1. 添加依赖 <!…...

密码学基础——SM4算法

博客主页&#xff1a;christine-rr-CSDN博客 ​​​​专栏主页&#xff1a;密码学 &#x1f4cc; 【今日更新】&#x1f4cc; 对称密码算法——SM4 目录 一、国密SM系列算法概述 二、SM4算法 2.1算法背景 2.2算法特点 2.3 基本部件 2.3.1 S盒 2.3.2 非线性变换 ​编辑…...

HTTPS证书一年多少钱?

HTTPS证书作为保障网站数据传输安全的重要工具&#xff0c;成为众多网站运营者的必备选择。然而&#xff0c;面对市场上种类繁多的HTTPS证书&#xff0c;其一年费用究竟是多少&#xff0c;又受哪些因素影响呢&#xff1f; 首先&#xff0c;HTTPS证书通常在PinTrust这样的专业平…...

深入解析光敏传感技术:嵌入式仿真平台如何重塑电子工程教学

一、光敏传感技术的物理本质与系统级实现挑战 光敏电阻作为经典的光电传感器件&#xff0c;其工作原理根植于半导体材料的光电导效应。当入射光子能量超过材料带隙宽度时&#xff0c;价带电子受激发跃迁至导带&#xff0c;形成电子-空穴对&#xff0c;导致材料电导率显著提升。…...

raid存储技术

1. 存储技术概念 数据存储架构是对数据存储方式、存储设备及相关组件的组织和规划&#xff0c;涵盖存储系统的布局、数据存储策略等&#xff0c;它明确数据如何存储、管理与访问&#xff0c;为数据的安全、高效使用提供支撑。 由计算机中一组存储设备、控制部件和管理信息调度的…...

【Qt】控件 QWidget

控件 QWidget 一. 控件概述二. QWidget 的核心属性可用状态&#xff1a;enabled几何&#xff1a;geometrywindows frame 窗口框架的影响 窗口标题&#xff1a;windowTitle窗口图标&#xff1a;windowIconqrc 机制 窗口不透明度&#xff1a;windowOpacity光标&#xff1a;cursor…...