第四章、数据库应用系统功能设计与实施
第四章、数据库应用系统功能设计与实施
- 了解软件体系结构及设计过程
- 了解DBMS总体设计
- 了解DBMS功能概要设计
- 了解DBMS功能详细设计
- 了解DBMS安全架构设计
- 了解DBMS实施的过程及内容
DBAS功能设计包括应用软件设中数据库事务设计和应用程序设计。
功能设计过程一般被划分为总体设计、概要设计和详细设计。而具体到数据库事务设计部分,又可以分成事务概要设计和事务详细设计。
完成系统设计工作之后,进入系统实现与部署阶段。
1、软件体系结构及设计过程
1.1、软件体系结构
- 软件体系结构又称为软件架构,软件体系结构={构建,连接件,约束}
- 软件体系结构是软件系统中最本质的东西。良好的系统体系结构必须是普通、稳定、高效和稳定的。
- 软件体系结构有多种风格和类型,如分层体系结构、模型-视图-控制器(MVC)体系结构、客服端/服务器体系结构、B/S或C/S等,
1.2、软件的设计过程
- 软件设计过程
软件设计是由设计、实现、测试三个环节组成,设计又包含概要设计和详细设计。
概要设计的任务是进行软件总体结构设计,可采用层次结构图建立软件总体结构图。详细设计的任务是进行数据设计、过程设计及人机交互见面设计。
设计原则:模块化、信息隐藏、抽象与逐步求精。
软件设计可选用结构化设计方法、面向对象设计方法或者面向数据设计方法等。
2、DBMS总体设计
DBAS总体设计的任务是确定系统总体框架,主要内容包括:
- DBAS体系结构设计
- 软件体系结构设计
- 软件硬件选型与配置设计
- 业务规则初步设计
2.1、DBAS体系结构设计
将系统从功能、层次/结构、地理分布等角度进行分解,划分为多个子系统,定义各个子系统功能设计系统的全局控制,明确各子系统间的交互和接口关系。
两种常见的DBAS体系结构:
- 客户/服务器体系结构(C/S)
- 浏览器/服务器体系结构(B/S)
2.2、软件体系结构设计
DBAS软件包括操作系统、数据库管理系统、开发环境中间件、应用软件(数据库事务和应用程序)。
从需求分析出发分解成各子系统,分配响应功能,定义定义相互间交互机制,完成子系统结构设计,将子系统从功能上分成数据库事务模块(事务自身处理逻辑)与粒度大的应用程序模块(业务规则),确定全局控制和调用关系---可用模块结构视图(模块+调用+数据+控制+转接)表示系统总体结构和分层模块结构。
2.3、软硬件选型与配置设计
规划分析阶段提出系统功能、性能及时向的约束对软件做了评估和选择建议,需求对系统功能性能提出了具体,为保证DBAS功能性能顺利实现,总体设计阶段需要对软硬件设备做出合理选择,并举行初步配置设计。
硬件选型涉及的内容:
网络及设备选型;数据存储及备份方案;服务器选型,终端软件环境;软件开发平台和语言、工具;工作系统中间件及第三方软件选型。
2.4、业务规则初步设计
任务:从系统角度,规划DBAS的业务流程,符合客户的实际业务需求。
DBAS的各项业务活动具有逻辑上先后关系,可将们表示成一个操作序列,并用业务流程图表示。
3、DBMS功能概要设计
在总体设计结果基础上,将DBAS应用软件进一步细化为模块/子模块,组成应用软件的系统-子系统-模块子系统层次结构,并从结构、行为、数据三方面进行设计。
从功能角度,DBAS系统通常划分为四个层次实现:
- 表示层
- 业务逻辑层
- 数据访问层
- 数据持久化层
3.1、表示层概要设计
人机见面设计,影响系统易用性。目前第四代是WIMP(窗口、图标、菜单、指示器)与web技术、多任务处理技术相结合。
设计原则:
‘用户自主控制’;反馈及时上下文感知;容错与错误恢复;界面标准常规;输入灵活;见面简介交互及时......
3.2、业务逻辑层概要设计
设计原则:高内聚低(松)耦合,即构件单一原则;结构独立功能;接口简答明确;构件间关系简单,过于复杂,就细化,分解。
设计内容:结构,行为,数据,接口,故障处理,安全设计,系统维护和保障等
3.3、数据访问层概要设计
任务:针对DBAS的数据处理需求设计用于操作数据库的各类事务。
事务设计概要的核心在于辨识和设计事务自身处理逻辑,注重流程,不考虑与平台相关、具体操作方法和事务实现机制,
一个完整的事务概要设计包括事务名称、访问的关系及其数据项、事务逻辑(事务描述)、事务用户(使用、启动、调用该事务的软件模块和系统)
- 事务
事务(Transaction)是访问并可能更新数据项的各种数据项的一个程序执行单元(unit)
事务的特性:原子性、一致性、隔离性、持久性,称为ACID特性
原子性(Atomicity)。一个不可分割的工作单位
一致性(Consistency)。从一个一致性状态编导另一个一致性状态
隔离性(Isolation)。执行不能被其他事务干扰
持久性(Durability)。永久性(permanence),指事务一旦提交,它对数控中的数据的改变就应该是永久性的。
3.4、数据持久层的概要设计
属于数据组织与存储方面的设计内容,(详细见第三章)
4、DBMS功能详细设计
4.1、表示层详细设计
人机界面采用原型迭代法适合,三步骤
- 初步设计:设计人机交互命令系统并优化。(总体设计)
- 用户界面细节设计。如组织形式、风格、彩色,操作方式(概要设计)
- 原型设计与改进(详细设计)
4.2、业务逻辑层详细设计
设计模块内部处理流程和算法,具体数据结构、 对外详细接口等。
5、DBMS安全架构设计
数据安全设计
五个方面
- 安全性保护:防止非法用户对数据库的非法使用,避免数据泄露,篡改或破坏。
- 完整性保护:保证数据源的正确性,一致性和相容性
- 并发性控制:保证对个用户能共享数据库,并维护数据库一致性
- 数据备份和修护:系统失效后的数据恢复,配合定时的备份数据
- 数据加密传输:将一些高级的敏感数据通过一定的加密算法后传输
5.1、数据库的安全性保护
主要的保护方式:
用户身份鉴别
Windows省份验证、SQL身份验证
权限控制
对后台数据库是不同用户对数据的不同存取需求设置不同权限,对前台程序为每个合法用户设定权限等级,外部用户设置优先查询功能。
视图机制
通过视图机制把保密数据对无权用户隐藏。
5.2、数据库的完整性保护
数据库的完整性值数据库中数据的正确性、一致性及相容
方法:设计完整性检查
即对设计设置一些约束条件(如视图完整性,参考完整性,自定义完整性)
完整性约束条件作用对象:列(类型、范围、精度、排序)、原组(记录中各属性之间的联系约束)、关系(若干记录间、关系集合与集合之间联系)三种级别
DBAS中,完整性约束功能包括完整性约束条件设置和检查
5.3、数据库的并发性控制
并发访问(Concurrent Access):事务在时间上重叠执行
对多用户并发存取同一数据的操作可能会导致数据的不一致和破坏事务的隔离性,因此DBMS必须提供并发控制机制,并发控制机制是衡量一个DBMS性能的主要标志之一。实现数据库并发控制的常用方法是封锁技术。
基本锁的类型:
排它锁
排他锁【X锁】
又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。这保证了其他事务在T释放A上的锁之前不能再读取和修改A。
共享锁
排他锁【X锁】
又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。这保证了其他事务在T释放A上的锁之前不能再读取和修改A。
避免死锁:
是两个或两个以上的事务之间的循环等待。
设计避免死锁:
1、按照同一顺序访问资源,(如第一个事务提交或事务回滚后第二个事务进行)
2、避免事务交互性
3、采用小事务模式,缩短长度和占用时间
4、尽量使用记录级别的锁(行锁),少用表锁
5、使用绑定连接,同一个用户打开的两个或多个连接之间以相互合作。
5.4、数据库的数据备份与恢复
数据库恢复的基本原理:
利用存储在系统其它存储器上的冗余数据(即数据备份)来重建。
数据库备份与恢复策略:
双机热备(基于Active/Standby方式的服务器热备)
数据转储(也称为数据备份)
数据加密存储(针对搞敏感数据)
5.5、数据加密传输
常见的数据加密传输手段:
- 数字安全证书
- 对称秘钥加密
- 数字签名
- 数字信封
实施:购买第三方中间件产品整合一个快速有效的解决方案
环境安全设计:
- 漏洞与补丁:定期查找漏洞更新新补丁
- 计算机病毒防护:杀毒软件;实时监控
- 网络环境安全:防火墙,入侵检测系统;网络隔离(逻辑隔离与物理隔离)
- 物理环境安全:如防盗设施,UPS;温湿度报警器等
制度安全设计:
管理层面安全措施
6、DBMS实施
DBAS实施阶段主要包括以下工作:
1、创建数据库
考虑因素:初始空间大小,数据库增量大小;访问性能如并发数,访问频率。
2、数据装载
步骤:筛选数据-转换数据格式-输入数据-校验数据
3、编写与调试应用程序
4、数据库系统运行(功能测试与性能测试)
例题:
1、
2、
3、
4、
5、
6、
7、
8、