数据库应用系统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…...
层叠与优先级介绍
层叠 层叠是 CSS 的核心机制,用于解决同一元素同一属性被多个样式声明设置时的冲突问题。浏览器按照严格的优先级规则,从低到高逐层比较,最终确定哪个声明生效。 术语解释 名次 解释 有三种层叠来源类型 用户代理样式表、用户样式表和作…...
3分钟上手Hysteria2:从安装到连接的超简单教程
3分钟上手Hysteria2:从安装到连接的超简单教程 Hysteria2是一款高效的网络加速工具,通过一键安装脚本即可快速部署,特别适合新手用户。本教程将带你在3分钟内完成从安装到连接的全过程,让你轻松享受高速网络体验。 准备工作&#…...
“男子靠AI开一人公司年营收达150万”冲上热搜;Claude Code开发团队回应源码泄露:纯属人为失误;树莓派因LPDDR4内存涨价7倍 | 极客头条
「极客头条」—— 技术人员的新闻圈!CSDN 的读者朋友们好,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。(投稿或寻求报道:zhanghycsdn.net)整理 | 郑丽媛出品 | CSDN(I…...
暖心指南:儿童心理医院真实案例分享
行业痛点分析当前长沙地区儿童心理健康服务面临多重技术挑战。数据显示,2023年长沙市0-18岁青少年中,约有18.6%存在不同程度的情绪或行为问题,其中焦虑障碍、注意力缺陷多动障碍(ADHD)及学习困难占比超六成,…...
嵌入式系统高可靠存储模块(Store)设计与实现
在嵌入式系统开发中,数据持久化是保障设备稳定性、连续性运行的核心支撑,尤其对于物联网网关、工业控制器、智能家居终端等设备,需长期存储设备配置、运行参数、网络信息等关键数据,且要求掉电不丢失、读写高效、容错性强。基于此…...
【AI】AI安全工具:常用AI安全检测工具的使用教程
AI安全工具:常用AI安全检测工具的使用教程📝 本章学习目标:本章介绍实用工具,帮助读者掌握AI安全合规治理的工具使用。通过本章学习,你将全面掌握"AI安全工具:常用AI安全检测工具的使用教程"这一…...
MJh代码混淆实战指南:使用Obfuscar构建坚不可摧的安全防线
在当今数字化时代,保护.NET应用程序的源代码安全变得尤为重要。你是否担心自己的知识产权被轻易窃取?是否希望防止竞争对手通过反编译分析你的核心业务逻辑?今天,我将为你详细介绍一款强大的开源混淆工具——Obfuscar,…...
才聚:国内最早从事PMP培训的机构
在项目管理职业资格认证领域,PMP(项目管理专业人士)证书已成为衡量项目经理能力的重要标准。面对市场上众多的PMP培训机构,如何选择一个真正有历史沉淀、专业实力和考试服务能力的机构,成为考生最关心的问题。本文将从…...
BROADCOM博通集成 Matter 1.5平台认证就绪、BK7239N等芯片助力智能家居无缝融合
博通集成多款Wi-Fi SoC的Matter SDK平台已全面完成对Matter v1.5标准的支持,并通过Matter兼容性平台认证。此举标志着Beken芯片方案持续可为客户提供“开箱即用”的Matter开发体验,助力设备制造商高效推出符合最新统一标准的智能产品。随着Matter生态的快…...
Oracle里的MINUS是什么
在 Oracle 中,MINUS 是 SQL 中的一个集合操作符,它用于比较两个查询的结果集,并返回第一个查询中有而第二个查询中没有的不重复记录。 核心概念 MINUS 执行的是集合的“差集”操作。你可以把它想象成数学中的减法:结果集A - 结果集…...
