ps:该图转自https://blog.csdn.net/DaGongJiGuoMaLu09/article/details/88617753

详细知识:

第4章软件体系结构与设计过程

4.1 软件体系结构与设计过程

4.1.1 软件体系结构

软件体系结构:又称软件架构,软件体系结构={构件,连接件,约束})
1)构件是组成系统的具有一定独立功能的不同粒度的程序模块、独立程序或
2)连接件:将不同的构件连接起来,表示了构件间
3)约束:一般为对象连接时的规则,或指明了构件连接的条件。

4.1.2 软件设计过程

  • 软件开发:设计、实现、测试三个环节。

4.1.2.1 设计

  • 设计(概要设计、详细设计) (总体结构设计、系统的过程设计、系统的数据设计)
  • 设计原则 :设计应与软件需求保持一致,设计的软件结构应支持模块化、信息隐藏、抽象与逐步求精等。

1.概要设计 :是建立软件系统的总体结构和模块间的关系, 定义各功能模块的接口, 设计全局数据库或数据结构,规定设计约束,制订测试计划。
一个好的概要设计:良好的总体结构,功能模块间低耦合高内聚,尽量降低模块接口复杂性

2.详细设计 :是细化概要设计产生的功能模块,形成可编程的程序模块,用某种过程设计语言( PDL)设计程序模块的内部细节。

3.关于软件总体设计
层次结构:系统—子系统—模块—子模块
软件系统的系统元素(子系统、 模块、 子模块)。

4.2 DBAS 总体设计

主要内容 :
1) DBAS 体系结构设计 。
2)DBAS软件总体设计 。
3) 软硬件选型与配置设计 ;
4) 业务规则初步设计 。

4.2.1 DBAS 体系结构设计

1.客户 /服务体系结构 (C/S)结构 :是网络环境下一种主流的数据库应用系统体系结构。
其特点是:
1)DBAS 的数据管理和数据处理功能被分解并分布在客户端和数据库服务器上。
2)数据库服务器可以为多个客户端应用提供共享的数据管理功能,避免了为每一个新的应用单独开发对应的服务器端数据管理功能, 提高了应用程序相对于数据库的独立性,也减少了应用程序的开发和维护代价。
3)客户端应用可以通过网络访问多个不同数据源。
4) 客户端除了完成人机交互功能外,还需要完成面向应用的数据处理功能,负荷较重,属于典型的 “胖客户端”。

2.浏览器 /服务器( B/S)结构:一种互联网环境下的新型数据库应用系统结构。
其特点是:
1 ) 表示层 位于客户端,由 Web 浏览器实现。属于典型的“ 瘦客户端 ”。
2)功能层 位于Web应用服务器 , 实现面向具体应用领域的业务规则。
3)数据层 位于数据库服务器, 通过 DBMS完成具体的数据存储和数据存取等数据管理功能。

B/S 与 C/S 各有千秋。在适用Internet、维护工作量等方面, B/S 比 C/S 要强得多; 但在运行速度、 数据安全、 人机交互等方面, B/S远不如 C/S。对于以浏览为主、录入简单的应用程序, B/S 技术有很大的优势;而对于交互复杂的企业级 ERP 应用, B/S 则很难胜任。

4.2.2 DBAS 软件总体设计

DBAS 软件:包括操作系统、 数据库管理系统、 开发环境、 中间件和应用软件。

应用软件(数据库事务、应用程序) ,从需求分析阶段得到的数据流图、事务规范和业务规
则需求分析结果出发, 应用软件总体设计得到的系统总体结构和分层模块结构可以用模块结
构图表示。 模块结构图 由模块、调用、数据、控制 和转接 五种基本符号组成。

4.2.3 软硬件选型与配置设计

内容 :
1)网络及网络设备选型;
2)数据存储设备及备份方案制定;
3)应用服务器、 Web 服务器选型;
4)确定系统终端软件环境;
5)确定软件平台及开发语言、工具;
6)系统中间件及第三方软件选型。
考虑因素:
1)数据规模;
2)系统性能;
3)安全可靠性;
4)用户需求;
5)项目预算情况。

4.2.4 业务规则初步设计

业务流程图

4.3DBAS 功能概要设计

  • DBAS功能概要设计原则 :逐步求精、模块化、信息隐藏、功能细化
  • DBAS系统可以分为四个层次 :表示层、业务逻辑层、数据访问层、数据持久层

表示层概要设计: 主要任务是进行人机界面设计

业务逻辑层概要设计: 主任务是梳理 D BAS 的各项业务活动,将其表示为各种系统构件。业务逻辑层是 DBAS 的重要组成部分, 它承载了数据访问层与用户界面层的桥梁作用, DBAS 的核心业务逻辑均在本层予以实现。 内容 :结构、行为、数据、接口、故障处理、安全设计、系统维护与保障。 高内聚与松耦合原则

数据访问层概要设计:主要任务就是针对 DBAS 的数据处理需求设计用于操作数据库的各类事务。 一个完整的事务概要设计
包括事务名称,访问的关系和数据项,事务逻辑(事务描述),事务用户

数据持久层:负责保存和管理应用系统数据

知识补充: (重点!!!)

  • 事务:是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;事务是一组不可再分割的操作集合(工作逻辑单元);
  • 事务的四大特性:
    1 、原子性
    事务是数据库的逻辑工作单位,事务中包含的各操作要么都做,要么都不做
    2 、一致性
    事 务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。因此当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态。如果数据库系统 运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是 不一致的状态。
    3 、隔离性
    一个事务的执行不能受其它事务干扰。即一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
    4 、持续性
    也称永久性,指一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的。接下来的其它操作或故障不应该对其执行结果有任何影响。

4.4 DBAS 功能详细设计

4.4.1 表示层详细设计

表示层详细设计: 人机界面的设计 与用户感知密切相关, 最好采用原型迭代法
原型迭代法 步骤:
1 初步设计 (总体设计)
2 用户界面细节设计 (概要设计)
3 原型设计与改进(详细设计)

4.4.2 业务逻辑层详细设计

设计个模块内部处理流程算法,具体数据结构,对外详细接口

4.5 应用系统安全架构设计

4.5.1 数据安全设计

数据安全设计 :安全性保护、完整性保护、并发控制、数据库的备份与恢复、 数据加密传输

1 数据库的安全性保护: 1)用户身份鉴别。 2)权限控制。 3)视图机制

2 数据库的完整性保护:数据的正确性、一致性和相容性。防止合法用户使用数据库时向数
据库中加入不合语义的数据。完整性约束条件作用对象:列、元组、关系。
数据库的完整性包括实体完整性,参考完整性,用户自定义完整性

3 数据库的并发控制:封锁技术。在某一时间内禁止某用户对数据对象做某种操作以避免产
生数据不一致的问题。 (排它锁 x 锁、共享锁 s 锁)

为避免死锁考虑的原则 :
1)按同一顺序访问资源
2)避免事务中的用户交互
3)采用小事务模式,尽量缩短事务的长度,减少占有锁的时间
4)尽量使用记录级别的锁(行锁) ,少用表级别的锁。
5)使用绑定连接,使同一应用程序所打开的两个或多个连接可以相互合作。

4 数据库的备份与恢复:恢复的基本原理就是数据库中任何一部分数据可以利用存储在系统其他存储器上的冗余数据 (备份)来重建。
1)双机热备:指基于Active/Standby方式的服务器热备。数据同时往两台或多台服务器写,或者使用一个共享的存储设备。
2)数据转储(数据备份) 。
3)数据加密存储 .

5.数据加密传输:
传输手段
1)数字安全证书
2)对称密钥加密
3)数字签名
4)数字信封

4.5.2 环境安全设计

1、 漏洞与补丁
2、计算机病毒防护 (安装杀毒软件定期杀毒、 计算机实时监控)
3、 网络环境安全 (防火墙、入侵检测系统 IDS、网络隔离)
4、 物理环境安全 (UPS,某某报警装置)

4.5.3 制度安全设计 :管理层面

4.6 DBAS 实施 :

1)创建数据库
2)装载数据
3)编写与调试应用程序
4)数据库试运行

  • 创建数据库

    • 考虑 1)初始空间大小 2)数据库增量大小 3)访问性能
  • 数据装载
    • 1)筛选数据 2)转换数据格式 3)输入数据 4)校验数据
  • 编写与调试应用程序
  • 数据库系统试运行
    • 1 功能测试 2 性能测试 。


小结:

  • 数据库应用系统功能设计 是指根据 DBAS 生命周期模型,从数据访问与处理设计、应用设计两条主线分别设计 DBAS 的 总体结构、数据事务 和应用软件 。与数据库概念模型设计、 逻辑结构设计和物理结构设计三个阶段相对应, DBAS 功能设计分为 总体设计、 概要设计、 详细设计 三个设计步骤。
  • DBAS 应用软件的设计遵循软件工程的基本原理,采用软件工程中常用的设计方法,如结构化设计方法和面向对象设计技术。
  • 事务设计 包括事务的概要设计和详细设计。 事务概要设计 从需求分析阶段得到的数据流图或事务规范出发,关注与目标 DBMS 和具体事务实现机制无关的事务处理逻辑,设计结果具有较好的适用性; 事务详细设计 是在选定的目标 DBMS 平台环境下,采用 DBMS 和高级程序设计语言提供的事务实现机制,设计事务在 DBMS 中的具体实现方法。
  • 人机界面设计是 DBAS 功能设计的一个重要方面,可以采用原型迭代设计法。

参考链接:
数据库应用系统功能设计与实施
事务是什么,以及事务四个特性

数据库应用系统功能设计与实施相关推荐

  1. 第四章 数据库应用系统功能设计与实施

    第四章 数据库应用系统功能设计与实施 软件体系结构 构件:组成系统的具有一定独立功能的不同粒度的程序模块.独立程序或软件子系统. 连接件:表示构件间的相互作用. 约束:对象连接时的规则. 软件设计过程 ...

  2. 计算机三级数据库技术 第4章 数据库应用系统功能设计与实施

    4.1 软件体系结构与设计过程 4.1.1 软件体系结构 软件体系结构又称软件架构,软件体系结构 = {构件,连接件,约束}.其中,构件(Component)是组成系统的具有一定独立功能的不同粒度的程 ...

  3. 【计算机三级数据库技术】第4章 数据库应用系统功能设计与实现--附思维导图

    1 软件体系结构与设计过程 (1)软件体系结构 构建 连接件 约束 (2)软件设计 步骤 总体设计 概要设计 任务是建立软件系统的总体结构和模块间的关系 详细设计 方法 结构化设计方法 面向对象设计方 ...

  4. 记录一次线上Mysql数据库迁移方案制定与实施

    前言 系统运行有很多年了. 数据库服务器也运行很多年了,性能比较老旧,SSD硬盘容量只有250G,在各种需求下,当前服务器的磁盘即将不足.所以开启了本次数据库的迁移行动. 需求 迁移的数据量高达130 ...

  5. 计算机三级数据库技术——第一章 数据库应用系统开发方法学习笔记

    第一章 数据库应用系统开发方法 概述 数据库应用系统 术语 英文缩写 含义 数据库系统 DBS 数据的组织,存储,访问等数据管理功能 数据库应用系统 DBAS 数据管理之外,通过数据库应用程序的数据处 ...

  6. 第1章 数据库应用系统开发方法

    1.1数据库应用系统生命周期  1.1.1软件工程与软件开发方法  用现代工程的概念管理软件生产与开发全过程的典型方法有:瀑布模型(也称为软件生命周玥模型).快速原型模型.螺旋模型等.  1.瀑布模型 ...

  7. 《数据库应用系统实践》------ 超市管理系统

    系列文章 <数据库应用系统实践>------ 超市管理系统 文章目录 系列文章 一.需求分析 1.系统背景 2. 系统功能结构(需包含功能结构框图和模块说明) 3.系统功能简介 二.概念模 ...

  8. 【金猿产品展】齐治DSG数据库安全网关系统——统一的数据库操作管控平台

    齐治科技产品 本项目由齐治科技投递并参与"数据猿年度金猿策划活动--2021大数据产业创新服务产品榜单及奖项"评选. 数据智能产业创新服务媒体 --聚焦数智 · 改变商业 齐治数据 ...

  9. 《数据库应用系统实践》------ 酒店客房管理系统

    系列文章 <数据库应用系统实践>------ 酒店客房管理系统 文章目录 系列文章 一.需求分析 1.系统背景 2. 系统功能结构(需包含功能结构框图和模块说明) 3.系统功能简介 二.概 ...

最新文章

  1. IT兄弟连 JavaWeb教程 JSON和JSON字符串
  2. 获取微软产品下载链接
  3. 【Android 安装包优化】资源混淆 ( AAPT2 资源编译工具 | resources.arsc 资源映射表 工作机制 )
  4. 程序设计囚犯与灯泡 C语言代码,100个囚犯和灯泡的那些事儿(下)
  5. svn add Default@2x.png的文件含有@的文件名注意事项
  6. 树莓派3B+编译OpenCV3.4.3详细步骤
  7. 学计算机自考商务英语本科好吗,自考本科商务英语专业真的难吗
  8. 南半球左撇子的人是否多一些
  9. gbase mysql数据库_mysql/gbase数据库全库库表记录数统计
  10. GIS数据处理-OSGB转换3dTiles
  11. GMP法规附录《计算机化系统》那些事儿
  12. 短信验证码 超时 java_短信验证码被刷怎么办?java 短信验证码防刷策略
  13. 编写Java程序,根据提供的 IP 地址,获取主机名称和域名
  14. python玫瑰花数量的含义_玫瑰花数量代表的含义
  15. 保温杯内壁有很多小泡泡
  16. 杨辉三角 SDUT
  17. 江湖救急笔记——计算机网络
  18. 微信小程序--简约加载动画合集
  19. 小米4手机选择图库发送图片时崩溃
  20. GoLang之使用sync.Cond

热门文章

  1. 思科java笔试,思科(CISCO)笔试题目+解析和答案
  2. 求一个有一千个元素的整数数组的最大子数组的和
  3. TDengine在黑格智造的落地应用
  4. Dynamics 365 Workflow Tools的使用方法
  5. 5种比较流行的Linux发行版及其各自特点
  6. 用js判断字符串的字节长度(区分汉字和英文)@莫成尘
  7. 软件加密保护中加密狗软加密跟硬加密的安全强度
  8. paddle 图标注_如何正确画工艺流程图
  9. 拓扑排序(Topological Sorting):Kahn 算法和 DFS 算法
  10. Android仿网易云鲸云音效动效