4.5 DBAS功能详细设计
考点1 表示层详细设计
(1)方法:原型迭代法
(2)步骤
①初步设计
a.设计内容:设计并优化人机交互命令系统。
b.设计方法:首先,应考虑命令的执行顺序,将常用命令安排在前面,并尽可能地使命令顺序与用户使用习惯保持一致;然后,将全部交互命令按照一定的原则组织起来,如总体功能对应父命令,部分功能对应子命令,构成一棵多层命令树。
②用户界面细节设计
在命令树基础上,设计命令系统的具体实现方式,命令系统实现可以采用命令行、菜单、按钮、Web界面等多种方式,并注意考虑界面的组织形式、风格、色彩、操作方式等实现细节。
③原型设计与改进
在上述设计结果基础上,首先构造一个人机界面原型系统。利用原型系统,可以为用户演示人机交互效果,让用户直观感受系统的使用方法,并评判用户界面功能是否齐全、是否方便易用;然后,根据用户评审反馈意见修改原型系统。通过这种反复迭代过程,不断完善用户界面,直至符合用户预期要求。
【真题演练】
下列不属于数据库功能详细设计中表示层详细设计的是( )
A.原型设计与改进
B.用户界面初步设计
C.用户界面详细设计
D.细化功能概要设计阶段设计的事务
【答案】D
考点2 业务逻辑层详细设计
业务逻辑层详细设计的任务是根据概要设计中定义的各程序模块功能和输入输出数据需求,结合具体的程序设计环境和机制,设计各模块的内部处理流程和算法、具体数据结构、对外详细接口等,是对概要设计的细化。
4.6 应用系统安全架构设计
考点1 数据安全设计
(1)内容
①安全性保护:即防止非法用户对数据库的非法使用,以避免数据的泄露、篡改或破坏。
②完整性保护:即保证数据源的正确性和一致性。
③并发控制:即保证多个用户能共享数据库,并维护数据的一致性。
④数据库的备份与恢复:即在系统失效后的数据库恢复,配合定时备份数据库,使数据库不丢失数据。
⑤数据加密传输:即将一些高密级的敏感数据通过一定的加密算法加密后传输。
(2)数据库的安全性保护的方法
①用户身份鉴别;
②权限控制;
③视图机制。
(3)数据库的完整性保护的方法
设置完整性检查,即对数据库中的数据设置一些约束条件。完整性约束条件的作用对象分为列、元组和关系三种级别:
①对列的约束主要指对其值类型、范围、精度、排序等的约束条件;
②对元组的约束主要指对记录中各个属性之间的联系的约束条件;
③对关系的约束是指对若干记录间、关系集合上以及关系之间联系的约束条件。
在一个数据库管理系统中,完整性约束功能一般包括完整性约束条件设置和检查两部分,完整性约束条件的设置一般由用户通过完整性约束语句给出,而完整性检查通常会由数据库管理系统负责完成。
(4)数据库的并发控制
①定义
在数据库系统运行过程中,如果数据库管理系统可以同时接纳多个事务,事务可以在时间上重叠执行,则称这种执行方式为并发访问(Concurrent Access)。
②方法
封锁技术,即是在某一时间内禁止某用户对数据对象做某些操作以避免产生数据不一致的问题。
③分类
排它锁(x锁)和共享锁(s锁)两种类型。
④优缺点
锁机制能够很好地实现数据访问控制,保障数据的正确性和安全性,但与此同时它不可避免的带来了死锁问题。
⑤避免死锁的原则
a.按同一顺序访问资源。例如,如果两个并发事务均需要访问A表和8表,那么我们规定必须以先访问A后访问B的顺序进行资源访问。这样如果一个事务已经获得A表访问权并将A表锁上,然后等待获取B表的访问权,那么在这个事务完成之前,另一个事务被阻塞在A表上。第一个事务提交或回滚后,第二个事务得以继续进行,从而有效避免死锁。
b.避免事务中的用户交互。因为运行没有用户交互的批处理的速度要远远快于用户手动响应查询的速度,如果由于用户响应不及时而造成事务长时间挂起就会产生大量阻塞事务甚至产生死锁。
c.采用小事务模式,尽量缩短事务的长度,减少占有锁的时间。
d.尽量使用记录级别的锁(行锁),少用表级别的锁。
e.使用绑定连接,使同一应用程序所打开的两个或多个连接可以相互合作。次级连接所获得的任何锁可以像由主连接获得的锁那样持有,反之亦然,因此不会相互阻塞。
(5)数据库的备份与恢复
①基本原理
数据库中任何一部分数据可以利用存储在系统其他存储器上的冗余数据来重建。数据库恢复首先要建立冗余数据(即进行数据备份),然后利用这些冗余数据实施恢复。
②备份与恢复的方法
针对数据的不同可靠性级别要求,数据备份与恢复策略可有不同的解决方案。
a.双机热备
双机热备指基于Active/Standby方式的服务器热备。在同一时间内只有一台服务器运行。当其中运行着的一台服务器出现故障无法启动时,另一台备份服务器会通过双机软件的诊测(一般是通过心跳诊断或检测)将处于Standby方式的机器激活,保证应用在短时间内完全恢复正常使用。双机热备方案能够很好地保障系统的连续性,但它需要用户进行额外的软硬件投入,因此决定是否使用双机热备取决于系统业务的重要程度以及用户对服务终端的容忍程度。
b.数据转储(数据备份)
数据转储通常由系统管理员定期将应用系统的数据备份并拷贝到磁带、光盘或其他永久性记录介质上去,当系统发生故障时,使用最近备份的数据文件对数据进行恢复。
c.数据加密存储。
数据加密存储是针对高敏感数据安全保护的一种有效方案,目前主流数据库管理系统(如Oracle、SQL Server等)均带有相关的数据加密功能,DBAS系统设计和开发人员可以直接使用这些工具实现对高敏感数据的加密、存储、读取和管理。DBAS系统也可根据需要自行设计和开发相应的数据加密解密模块,实现数据的加密。
(6)数据加密传输的方法
①数字安全证书;
②对称密钥加密;
③数字签名;
④数字信封。
【真题演练】
下列不属于数据库安全设计内容的是( )。
A.防止非法用户对数据库的非法使用
B.保证数据的正确性和一致性
C.保证多个用户能共享数据库,并维护数据的一致性
D.安装杀毒软件,防止数据受病毒侵害
【答案】D
考点2 环境安全设计
(1)内容
①漏洞与补丁;
②计算机病毒防护;
③网络环境安全;
④物理环境安全。
(2)漏洞与补丁
保障操作系统运行的稳定是DBAS系统运行安全的基础,DBAS系统应尽可能地构建在具有较高稳定性的操作系统软件平台上(如UNIX、Linux、Windows等操作系统,设计时需要权衡利弊选用最适当的操作系统作为运行平台)。同时,针对DBAS系统运行的操作系统环境应该定期检查系统漏洞并更新系统补丁,从而有效保障操作系统环境的稳定性。
(3)计算机病毒防护
目前主要的病毒防护手段有:
①安装杀毒软件,定期查杀病毒。
②计算机实时监控。
(4)网络环境安全
保障网络环境安全的方法:
①防火墙
防火墙是目前使用最广泛的一种网络安全技术,它作为一个分离器、限制器和分析器,用于执行两个网络之间的访问控制策略,有效地监控了内部网络和外部网络之间的各种活动,既可为内部网络提供必要的访问控制,但又不会造成网络瓶颈,并通过安全策略控制进出系统的数据,保护网络内部的关键资源。
②入侵检测系统
入侵检测系统(简称IDS)是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。它与防火墙的不同之处在于,IDS是一种积极主动的安全防护技术,其入侵检测系统更加智能,能够为网络提供更高级别的防护。
③网络隔离
a.定义
通过将DBAS系统所处的网络与其他外部网络(尤其是Internet)隔离,更是有效防止基于网络传播的病毒侵袭、避免遭受网络攻击和入侵的有效办法。
b.方法
网络隔离分为以下两类。
第一,物理隔离
物理隔离指将待隔离的两个网络完全彻底地进行隔离,不存在任何可能的通路。此方法虽然做到了完全的物理隔离,但使得局部网络处于信息孤岛状态,信息交流不便,给维护和使用带来了极大的不便,如果DBAS系统需要覆盖的范围很广,则需要高昂的建设成本。
第二,逻辑隔离
逻辑隔离指通过一定的技术和硬件设备,将局部网络从外部网络中隔离出来,控制内外部数据的流动(如只允许外部数据流入内部网络,不允许内部数据向外流动),从而从逻辑上将两个网络隔离起来。
(5)物理环境安全
保障物理环境安全的措施:
①设置防火防盗报警设施;
②加装防盗门窗;
③安装安全温度湿度控制设备及温度湿度报警装置等。
考点3 制度安全设计
(1)方式
①安全组织管理体系;
②高效能的职责分工及明确的行政管理安全机构;
③完善的信息安全标准和评估体系;
④明确的具有高度可操作性的安全规范和制度等。
(2)DBAS设计者需要做的工作
①详细了解系统最终用户对安全性的要求,梳理出需要从管理层进行安全控制的需求。
②认真与最终用户沟通,了解用户组织现状和制度现状,给出DBAS管理层安全策略的建议。
③耐心与最终用户交流,取得用户的信任和支持,保障相关制度能顺利执行。
4.7 DBAS实施
考点1 DBAS实施阶段的主要工作
(1)创建数据库。
(2)装载数据。
(3)编写与调试应用程序。
(4)数据库试运行。
考点2 创建数据库
为了保障系统的性能和稳定性,创建数据库时需要考虑以下因素:
(1)初始空间大小
通常数据库初始空间大小需要满足DBAS系统3~5年的数据存储需求。
(2)数据库增量大小
设置这个值的大小需要对数据库数据增长情况进行评估,评估方式与数据初始空间大小的评估方式类似。
(3)访问性能
针对不同的性能要求,需要对数据库进行不同的配置(如将访问频度比较高的多个表放在数据库的不同分区内;为查询操作比较高的表设计专门的索引以优化查询效率等)。
考点3 数据装载
具体步骤如下:
(1)筛选数据
将需要装入数据库中的数据从不同部门的数据文件和原始凭证中筛选分离出来。
(2)转换数据格式
将前面筛选出来数据的格式转换成与数据库结构相符的格式。
(3)输入数据
将转换好格式的数据输入计算机中。
(4)校验数据
数据装载时,由于在数据格式转换过程中以及向计算机中输入数据时有可能会发生错误,所以,为了防止不正确的数据入库,在源数据入库前需要对其进行必要的检验。
考点4 编写与调试应用程序
只有当数据库的结构建立好后,才能够进行应用程序的编写和调试。编写应用程序时应该严格遵照DBAS的详细设计的结果,在编写应用程序时,如果最终真实业务数据入库尚无法完成,应用程序的调试将会出现一定的困难,此时,可以尝试使用模拟数据。
应用程序的编写与调试通常是同步进行的。在应用程序编码阶段,程序员需要对自己编写程序的正确性进行验证,保证程序能够按照预先设定的逻辑执行。应用程序完成单元测试后,就需要组织专门的测试团队对系统进行集成调试,包括功能测试、性能测试、系统联调等,这一过程常常会持续到数据库试运行阶段。
考点5 数据库系统试运行
试运行的主要目的是对数据库系统的功能和性能进行进一步测试,找出其中的不足,加以完善与改进,测试的内容有:
(1)功能测试
即实际运行数据库的应用程序,执行对数据库的各种操作,测试应用程序的各项功能是否满足设计要求,从而找出现有应用程序的不足,加以改进直到符合设计要求。
(2)性能测试
即测量系统的性能指标,分析是否符合设计目标。由于在数据库设计阶段,设计者对数据库的评价多是在简化后的环境条件下进行的,设计结果未必是最佳的。所以,在试运行阶段对性能指标的测量和评价是十分重要的。
对于数据量极大的大中型系统,只需先装载少量的数据即可试运行,等其结果符合设计要求后,再批量装入全部数据。另外,在试运行阶段,应该先测试DBMS的恢复功能,做好数据库的转储和恢复工作。