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

4.1软件体系结构与设计过程 
4.1.1软件体系结构 
软件体系结构又称软件架构,软件体系结构={构件,连接件,约束}。其中,构件(Component)是组成系统的具有一定独立功能的不同粒度的程序模块、独立程序或软件子系统,是组成软件的系统元素;连接件(Connector)将不同的构件连接起来,表示了构件间的相互作用,如信号量的传递、功能和方法的调用、数据传送和转换、构件间的同步等。构件可以是过程调用、管道、远程过程调用等;约束一般为对象连接时的规则,或指明了构件连接的条件。 
4.1.2软件设计过程 


4.2DBAS总体设计 
DBAS 总体设计的任务是依据系统规划与分析结果,特别是其中的技术可行性分析内容,以及系统需求规范,确定系统总体框架,作为后续设计活动的基础。主要内容包括: 
(1)DBAS 体系结构设计;
(2)DBAS 软件总体设计;
(3)软硬件选型与配置设计;
(4)业务规则初步设计。
4.2.1DBAS体系结构设计
以下是两种较为常见的 DBAS 体系结构。
1.客户/服务器体系结构
客户/服务器(C/S)结构是网络环境下一种主流的数据库应用系统体系结构,已得到广泛应用。两层C/S 结构的数据库应用系统,其特点为: 


两层 C/S 结构数据库应用系统如下图所示。 


2.浏览器/服务器结构
三层浏览器/服务器(B/S)结构的数据库应用系统是一种互联网环境下的新型数据库应用系统结构,如下图所示。 


三层浏览器/服务器(B/S)结构将数据处理功能分解并分布在表示层、功能层和数据层三个层次上,分别由 Web 浏览器、Web 应用服务器和数据库服务器来实现,其特点为: 


两层 C/S 结构和三层浏览器/服务器(B/S)结构比较: 


4.3BAS功能概要设计 
从功能角度 DBAS 系统通常可以划分为 4 个层次实现。 
●表示层:负责所有与用户交互的功能,用户对数据库应用系统的最直观感受均在这层实现。
●业务逻辑层:负责根据业务逻辑需要将表示层获取的数据进行组织后,传递给数据访问层,或将数据访问层获取的数据进行相应的加工处理后,传送给表示层用于展示。 
●数据访问层:负责与 DBMS 系统进行交互,提取或存入应用系统所需的数据。
●数据持久层:负责保存和管理应用系统数据。
4.3.1表示层概要设计
表示层概要设计的主要任务是进行人机界面(也称为用户界面,人机交互界面)设计。不同 DBAS 对用户界面的要求与具体应用领域密切相关,因此并无统一的界面设计方法,但应遵守以下设计原则: 
(1)用户应当感觉系统的运行始终在自己的控制之下,即便当系统程序取得对系统的控制权时,人机界面也应向用户提供视觉和听觉上的反馈,保持用户与人机界面间的双向交流。 
(2)当系统发生错误或程序运行时间较长时,用户界面应该为用户提供有意义的反馈信息,并有上下文感知的帮助功能。 
(3)—个好的用户界面应该容忍用户在使用过程中发生的各种操作错误,并且能够方便地从错误中恢复过来,保证系统运行不受或尽可能小地受到用户错误操作的影响。 
(4)用户界面应该遵循一定标准和常规。
(5)用户界面应采取灵活多样的数据输入方式,尽量减少用户的输入负担;提供字符、图形、图像、声音等多种形式的数据输出方式。 
(6)如果使用 Web 界面,设计要求具有简洁性,避免使用过于复杂的图形和动画等,以免用户在使用系统时分心;界面布局还应当清晰地表示各类信息,并具有与之匹配的导航性; 
4.3.2业务逻辑层概要设计 
业务逻辑概要设计的主要任务是梳理 DBAS 的各项业务活动,将其表示为各种系统构件(如类、模块、组件等)。业务逻辑层设计需要考虑高内聚与松耦合原则。这一原则在设计过程中体现在以下方面: 
(1)构件本身应由相关性很强的代码组成,一个构件或一个模块只负责完成一项任务,也就是常说的单一责任原则。 
(2)组成系统业务逻辑层的各个构件均应具有独立的功能,并且最大限度地减少与其他构書功能重叠。 
(3)构件之间的接口应尽量简单明确。 
(4)如果某两个构件间的关系比较复義的话,应考虑进一步进行模块划分。 
(5)如果构件过于复杂,可以考虑将其细分。 
4.3.3数据访问层概要设计 
数据访问层概要设计过程包括: 
(1)从数据流图中识别出该事务对应的子数据流图。 
(2)确定子数据流图中的信息流类型,划定流界。 
(3)将子数据流图映射为事务的结构和处理流程,即事务处理逻辑(或事务业务规则)。 
(4)修正和细化事务设计,识别事务所访问的数据库对象和数据库用户。 
(5)确认事务概要设计与数据库设计。 
事务概要设计中的事务逻辑定义了具有独立逻辑功能的一系列操作以及这些操作的执行流程,这些操作和流程应当是与具体 DBMS平台和实现方法无关的。为此,引入与具体 DBMS平台无关的两个元操作 read、write。其中,read(X)操作表示将数据库磁盘文件中的数据项 X 读入内存缓冲区,write(X)操作表示将内存缓冲区中数据项 X 的当前值写入数据库磁盘文件。事务对数据的操作,如查询、插入、删除、修改等,可以用这两个元操作来抽象表示。 
4.4DBAS功能详细设计 
4.4.1表示层详细设计 
作为数据库应用系统功能设计的一部分,人机界面的设计与用户感知密切相关,由于其特殊性,人机界面设计最好釆用原型迭代法。原型迭代法由如下几个步骤组成: 
1.初步设计 
从用户人机交互需求出发,设计人机交互命令系统,并对其进行优化。 
2.用户界面细节设计 
在命令树基础上,设计命令系统的具体实现方式,命令系统实现可以采用命令行、菜单、按钮、Web界面等多种方式,并注意考虑界面的组织形式、风格、色彩、操作方式等实现细节。 
3.原型设计与改进 
在上述设计结果基础上,首先构造一个人机界面原型系统。利用原型系统,可以为用户演示人机交互效果,让用户直观感受系统的使用方法,并评判用户界面功能是否齐全、是否方便易用;然后,根据用户评审反馈意见修改原型系统。通过这种反复迭代过程,不断完善用户界面,直至符合用户预期要求。 
4.4.2业务逻辑层详细设计 
业务逻辑层详细设计的任务是根据概要设计中定义的各程序模块功能和输入输出数据需求,结合具体的程序设计环境和机制,设计各模块的内部处理流程和算法、具体数据结构、对外详细接口等,是对概要设计的细化。在业务逻辑详细设计阶段,设计人员也可以通过 UML 的类图、活动图、协作图来描述 DBAS 对用户业务的详细实现逻辑。 
4.5应用系统安全架构设计 
4.5.1数据安全设计 
数据是所有信息系统的基础,如何保障数据安全也是信息系统设计和建设过程中需要考虑的首要问题。数据安全涉及的范围很广,从数据存储安全角度出发(通常数据安全设计者会从 DBAS 所必需的数据库系统的安全和保护角度来设计),主要有以下五个方面: 
●安全性保护:即防止非法用户对数据库的非法使用,以避免数据的泄露、篡改或破坏。 
●完整性保护:即保证数据源的正确性和一致性。 
●并发控制:即保证多个用户能共享数据库,并维护数据的一致性。 
●数据库的备份与恢复:即在系统失效后的数据库恢复,配合定时备份数据库,使数据库不丢夫数据。 
●数据加密传输:即将一些高密级的敏感数据通过一定的加密算法加密后传输。 
1.数据库的安全性保护 
在 DBAS 系统设计时,通常采用前台和后台相结合的安全性保护措施来共同维护 DBAS 的安全性。主要的保护方式有: 
(1)用户身份鉴别。 
(2)权限控制。 
(3)视图机制。 
2.数据库的完整性保护 
数据库的完整性是指数据库中数据的正确性、一致性和相容性。 
完整性机制将防止合法用户使用数据库时向数据库中加入不合语义的数据。保证数据库中数据的完整性的方法之一是设置完整性检查,即对数据库中的数据设置一些约束条件。完整性约束条件的作用对象分为列、元组和关系三种级别,其中对列的约束主要指对其值类型、范围、精度、排序等的约束条件。对元组的约束主要指对记录中各个属性之间的联系的约束条件。对关系的约束是指对若干记录间、关系集合上以及关系之间联系的约束条件。 
3.数据库的并发控制 
在数据库系统运行过程中,如果数据库管理系统可以同时接纳多个事务,事务可以在时间上重叠执行,则称这种执行方式为并发访问。实现数据库并发控制的方法很多。常用的是封锁技术。所谓封锁即是在同一时间内禁止某用户对数据对象做某些操作以避免产生数据不一致的问题。基本的封锁一般有排它锁(x锁)和共享锁(s 锁)两种类型。通常为了避免死锁,可以考虑以下原则: 
(1)按同一顺序访问资源。 
(2)避免事务中的用户交互。 
(3)采用小事务模式,尽量缩短事务的长度,减少占有锁的时间。 
(4)尽量使用记录级别的锁(行锁),少用表级别的锁。 
(5)使用绑定连接,使同一应用程序所打开的两个或多个连接可以相互合作。 
4.数据库的备份与恢复 
数据库恢复的基本原理就是数据库中任何一部分数据可以利用存储在系统其他存储器上的冗余数据
来重建。数据库恢复首先要建立冗余数据(即进行数据备份),然后利用这些冗余数据实施恢复。针对数据的不同可靠性级别要求,数据备份与恢复策略可有不同的解决方案。 
(1)双机热备。 
(2)数据转储。 
(3)数据加密存储。 
5.数据加密传输 
常用的数据加密传输手段有: 
●数字安全证书。 
●对称密钥加密。 
●数字签名。 
●数字信封。 
4.6DBAS实施 
在完成对数据库的物理设计之后,就开始进入数据库系统的实施阶段,在这个阶段,设计人员需要用目标数据库的数据定义语言和其他程序设计语言描述逻辑设计和物理设计的结果,并经调试以后在数据库建立目标模式,并且组织数据入库,系统开始试运行。然后,进入系统的运兮和维护阶段。DBAS 的实施阶段主要包括以下工作: 
(1)创建数据库。 
(2)装载数据。 
(3)编写与调试应用程序。 
(4)数据库试运行。 
4.6.1创建数据库 
在 DBAS 实施过程中,为了保障系统的性能和稳定性,创建数据库时需要考虑以下因素: 
(1)初始空间大小。 
(2)数据库增量大小。 
(3)访问性能。 
4.6.2数据装载 
存入数据库,具体步骤如下: 
(1)筛选数据。 
(2)转换数据格式。 
(3)输人数据。 
(4)校验数据。 

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
数据库应用系统设计与实现 实验类型:设计型 实验地点:2楼312 实验时间:12月14日、21日周五1-3/5-7节 实验内容: 系统概述: 某银行需要开发ATM存取款机系统实现如下功能: 1)开户(到银行填写开户申请单,卡号自动生成) 2)取款 3)存款 4)查询余额 题目要求: 一、建库、建表、建约束 1、使用SQL创建表 客户信息表userinfo 字段名称 说明 备注 customerID 顾客编号 自动编号(标识列),从1开始,主键 用序列sequence实现,用其属性:nextval customerName 开户名 必填 PID 身份证号 必填,智能是18位或15位,唯一约束 check约束length()函数 telephone 联系电话 必填,11位手机号 check约束,’[0-9]’ address 居住地址 银行卡信息表cardinfo 字段名称 说明 cardID 卡号 必填,主键,银行的卡号规则和电话好吗一样,一般前8位代表特殊含义,如某综合某支行等,假定该行要求其营业厅的卡号格式为10103576**** ***开始,每4位号码后有空格,卡号一般是随机产生。 curType 货币种类 必填,默认为RMB savingTate 存款类型 活期/定活两便/定期 openDate 开户日期 必填,默认为系统当前日期 openMoney 开户金额 必填,不低于1元 balance 余额 必填,不低于1元,否则将销户 pass 密码 必填,6位数字,开户时默认为6个“6” IsReportloss 是否挂失 必填,是/否值,默认为“否” customerID 顾客编号 外键,必填,表示该卡对应的顾客编号,一位顾客允许办理多张卡号 交易信息表transinfo 字段名称 说明 transDate 交易日期 必填,默认为系统当前日期 cardID 卡号 必填,外键 transType 交易类型 必填,只能是存入/支取 transMoney 交易金额 必填,大于0 remark 备注 可选,其他说明 2、使用SQL语言在每个表上添加约束 主键约束、外键约束、CHECK约束、默认约束、非空约束 二、插入测试数据 使用SQL语言向每个表中插入至少3条记录 三、模拟常规业务 1)修改客户密码 2)办理银行卡挂失 3)统计银行资金流通余额和盈利结算 银行资金流通余额=总存入金额-总支取金额 盈利结算=总支取金额 * 0.008 – 总存入金额 * 0.003 4)查询本周开户的卡号,显示该卡相关信息 5)查询本月交易金额最高的卡号 6)查询挂失账号的客户信息 四、利用视图实现数据查询 1)为客户提供以下3个视图供其查询该客户数据 客户基本信息:vw_userInfo 银行卡信息:vw_cardInfo 银行卡交易信息:vw_transInfo 2)提供友好界面,要求各列名称为中文描述 3)调用创建的视图获得查询结果 五、用存储过程实现业务处理 1)完成开户业务 2)完成取款或存款业务 3)根据卡号打印对账单 4)查询、统计指定时间段内没有发生交易的账户信息

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天道工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值