数据库应用系统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…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践
前言:本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中,跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南,你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案,并结合内网…...

Linux操作系统共享Windows操作系统的文件
目录 一、共享文件 二、挂载 一、共享文件 点击虚拟机选项-设置 点击选项,设置文件夹共享为总是启用,点击添加,可添加需要共享的文件夹 查询是否共享成功 ls /mnt/hgfs 如果显示Download(这是我共享的文件夹)&…...