第七章 数据库应用系统功能设计
7.1 软件体系结构与设计过程
7.1.1 软体体系结构
1、 软件体系结构又称软件架构,软件体系结构={构件,连接件,约束}。
2、 构件是组成系统的具有一定独立功能的不同粒度的程序模块、独立程序或软件子系统,是组成软件的系统元素;
3、 连接件将不同的构件连接起来,表示了构件间的相互作用;
4、 约束一般是对象连接时的规则,或指明了构件连接的条件。
5、 软件体系结构描述了软件系统的总体组织和层次结构、系统元素及其功能分配、全局控制、系统元素间的协调和交互、数据存取等;
7.1.2 软件设计过程
1、 概要设计
(1) 定义:是建立软件系统的总体结构和模块间的关系,定义各功能模块的接口,设计全局数据库、规定设计约束、制定组装测试计划;
(2) 一个好的概要设计要求是:良好的总体结构、功能模块间较低的耦合度和较高的内聚度,并尽量降低模块接口的复杂性;
(3) 可以采用层次结构图表示软件总体结构,图中节点代表功能模块。
2、 详细设计
(1) 是细化概要设计产生的功能模块,形成可编程的程序模块,并用某种过程设计语言设计程序模块的内部细节,为编写软件代码提供依据。
(2) 可选用结构化设计方法、面向对象设计方法等;
3、 关于软件总体设计
(1) 一些大的DBAS可根据逐步抽象和层次化原则,将概要设计分解成两个步骤:
(A) 首先是软件总体结构设计,即对软件需求进行分解;
(B) 第二步是将每个子系统进一步划分为功能模块,定义各模块的数据结构、相互间交互关系;
7.2 DBAS总体设计
7.2.1 系统总体设计
任务:是根据系统规划与分析结果,特别是技术可行性分析,以及系统需求规范,确定系统总体框架,作为后续设计活动的基础。
1、 确定DBAS体系结构
(1) 指将系统从功能、层次结构、地理分布等角度进行分解,划分为多个子系统。定义各子系统应实现的功能,设计全局控制,明确各子系统间的交互和接口关系;
(2) 可以从功能角度进行分解,也可以根据DBAS自身固有的层次结构特征进行分解;
(3) 将系统分解为多个子系统后,需选择和设计合适的系统体系结构,将这些子系统组织起来,并设计它们之间的交互关系;
(4) DBAS体系结构可采用一些通用体系结构,也可根据DBAS所属的特定应用领域相关的体系结构。
2、软硬件造型和配置设计
(1) 总体设计阶段需要对系统的软硬件平台、存储设备、操作系统、数据库管理系统等作出合理的选择,并进行初步配置设计;
(2) 还需要选择系统开发采用的合适的中间件和开发工具,确定开发模式和开发语言;
3、应用软件总体设计
根据系统体系结构,确定相应的软件系统模块划分、功能分配,选择合适的软件体系结构;
4、业务规划初步设计
7.2.2 软件总体设计
1、 DBAS软件包括OS、DBMS、开发环境、中间件和应用软件;
2、 应用软件分为数据库事务和应用程序;
3、 数据库事务通过对数据库的直接操作实现数据管理和处理功能;
4、 应用程序一方面对数据库进一步加工处理,或从中抽取新信息实现复杂的数据处理功能;另一方面还可实现与数据库访问无关的功能;
5、 应用软件总体设计:
(1) 从数据流图、事务规范和业务规则需求分析结果出发,将系统分解为一系列子系统,分配相应功能,定义系统间协调交互机制;
(2) 进一步进行子系统结构设计,将各子系统从功能上划分为:数据库事务模块和应用程序模块;
(3) 确定子系统、应用程序模块、数据库事务间的全局控制和调用关系,并按体系结构框架组织起来。
6、总体设计得到的系统总体结构和分层模块结构,可以用模块结构图表示;
6、 模块结构图,是结构化程序设计中描述系统结构的一种图形化工具,它定义了模块的名字、功能和接口,并在模块结构图中反映出结构化设计思想。它只关心模块的外部特性,与模块内部流程无关,它由模块、调用、数据、控制和转接等于种基本符号组成;
7.2.3 客户/服务器体系结构
1、 基于C/S体系结构的DBAS将DBMS数据管理功能与数据库应用相分离,将DBMS数据库管理功能在客户端和服务器之间进行合理的分布和配置;
2、 数据库报务器完成DBMS的核心功能,而客户端负责完成用户交互功能,接收用户数据,生成并向数据库报务器发出数据操作请求,接收数据查询结果并通过客户端反馈给用户;
3、 两层C/S结构的特点是:
(1) DBAS的数据管理和处理功能,被分解并分布在客户端和服务器上;
(2) 服务器楞为多个客户端应用提供共享的数据管理功能;
(3) 客户端应用可通过网络访问多个不同数据源;
(4) 客户端除了完成人机交互功能外,还需要完成面向应用的数据处理功能,负荷重,属于典型的“胖客户端”;
4、 三层浏览器/服务器(B/S)结构是一种互联网环境下的新型数据库应用系统结构,它将数据处理功能分解并分布在表示层、功能层和数据层三层次上,分别由WEB浏览器、WEB服务器和数据库服务器来实现,其特点是:
(1) 表示层位于客户端,由WEB浏览器实现,其功能单一,没有其他应用程序,属于典型的“瘦客户端”;
(2) 功能层位于WEB服务器,实现面向具体应用领域的业务规则;
(3) 数据层位于数据库服务器,通过DBMS完成具体的数据存储和存取等数据管理功能;
7.3 概要设计
7.3.1 数据库事务概要设计
1、 如数据处理需求分析的结果是数据流图,则可将待设计的事务看作是程序,采用软件工程中面向数据流的程序设计方法,设计事务内部的数据处理流程和结构,也就是设计事务处理逻辑,过程包括:
(1) 从数据流图中识别出该事务对应的子数据流图;
(2) 确定子数据流图中的信息流类型,划定流界;
(3) 将子数据流图映射为事务的结构和处理流程,即事务逻辑;
(4) 修正和细化事务设计,识别事务所访问的数据库对象和数据库用户;
2、 如数据处理需求分析的结果表示为事务规范,由于事务规范包括了事务名称、事务描述、访问的数据项、用户等信息,可直接从事务描述出发,根据具体应用领域的知识设计事务逻辑,得到事务概要结果;
3、 一个完整的事务概要设计包括:事务名称、访问的关系表及属性、事务处理逻辑、事务用户;
4、 检查关系表对数据库事务的支持性:
(1) 对每一个事务,根据需求分析阶段的事务分析,列出该事务所访问的各个数据项;
(2) 列出事务访问的数据项所在的关系表和对应的属性;
(3) 如事务访问的数据项同时出现在多个表中,检查关联关系;
(4) 检查是否存在某些事务,访问的一些数据项未出现在任何关系表中;
7.3.2 应用软件概要设计
1、 应用软件概要设计,按照逐步求精、模块化、信息隐藏和功能细化原则,根据DBAS需求分析阶段得到的系统功能和业务规则描述,在总体设计结构基础上,将DBAS应用软件进一步细化为模块/子模块,组成软件的系统-子系统-模块-子模块层次结构,并对这些系统元素从结构、行为和数据三方面进行设计;
7.4 详细设计
7.4.1 数据库事务详细设计
1、 事务详细设计,是从事务概要设计得到的事务流程出发,在DBMS平台下,采用事务实现机制,和高级程序设计语言,利用SQL语句和数据库访问接口,在DBMS平台和开发环境下,进一步细化事务设计,设计具体的实现模式;
7.4.2 应用软件详细设计
1、根据概要设计中定义的各程序模块功能和输入输出数据需求,结合具体的设计环境和机制,设计各模块的内部处理流程和算法、数据结构、对外接口等;
7.5 人机界面设计
1、 人机界面设计原则:
(1) 用户应当感觉系统的运行始终在自己的控制之下,保持用户与人机界面间的双向交流;
(2) 当系统发生错误或程序运行时间较长时,用户界面应该为用户提供有意义的反馈信息;
(3) 应该忍受用户在使用过程中发生的各种操作错误,并能够方便地恢复过来,保证系统不受或少受影响;
(4) 应该遵循一定的标准和常规;
(5) 采取灵活多样的数据输入方式,尽量减少用户数据输入负担;
2、 人机界面设计最好采用原形迭代法:
(1) 初步设计
(2) 用户界面细节设计;
(3) 原形设计与改进;
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |