2.05k likes | 2.45k Views
数据库应用软件开发 ——delphi. 软件蓝领班毕业设计. 目录. 第 1 章 概述 第 2 章 系统分析和设计 第 3 章 Delphi 与数据库设计 第 4 章 Delphi 连接数据库的不同方式比较 第 5 章 Delphi 界 面 设 计 第 6 章 Delphi 查 询 设 计 第 7 章 Delphi 报表设计 第 8 章 Delphi 实现数据库的备份与恢复 第 9 章 Delphi 应用程序的封装与发布. 第 1 章 概述. 1. 什么是软件 ? 软件是指计算机程序及其有关的数据和文档。
E N D
数据库应用软件开发——delphi 软件蓝领班毕业设计
目录 • 第1章 概述 • 第2章 系统分析和设计 • 第3章Delphi与数据库设计 • 第4章 Delphi连接数据库的不同方式比较 • 第5章 Delphi 界 面 设 计 • 第6章 Delphi 查 询 设 计 • 第7章 Delphi报表设计 • 第8章 Delphi实现数据库的备份与恢复 • 第9章 Delphi应用程序的封装与发布
第1章 概述 • 1. 什么是软件 ? • 软件是指计算机程序及其有关的数据和文档。 • 软件文档(software documentation)是以人们可读的形式出现的技术数据和信息。 • “软件是程序以及开发、使用和维护所需要的所有文档(document)。”
2. 软件生存周期定义 从设计软件产品开始到产品不能使用为止的时间周期。 软件生存周期中,软件开发与维护时的费用越低,软件的使用寿命越长,产生的价值就越大,这就是掌握软件工程学的目的。 3. 软件生存周期的阶段划分 由软件计划、软件开发和软件运行维护三个时期组成。 软件计划时期分为问题定义、可行性研究、需求分析三阶段。 软件开发时期分为软件概要设计、软件详细设计、软件实现、综合测试等阶段。 软件运行过程中需要不断地进行维护,使软件持久满足用户需要。
第 2 章 学生成绩管理系统分析与设计 • 2.1 系 统 分 析 • 2.2 系 统 设 计
2.1 系 统 分 析 • 2.1.1 可行性分析 要开发的是小型数据库应用软件,利用开发者学过的delphi语言和access数据库可以实现,机房配备相关软件和硬件,有4个月的开发时间已经足够。
2.1.2 需求分析 需求分析的基本任务是软件人员和用户一起完全弄清用户对系统的确切要求,即明确系统究竟要“做什么”。 。需求分析是发现、逐步求精、建模、规格说明和复审的过程。为了全面反映出系统各方面的需求,在需求分析阶段应在与用户充分沟通和调查研究的基础上,运用各种需求分析的工具和技术,为系统建立准确的数据模型、功能模型、行为模型以及数据字典。 2.1.1 确定目标系统的具体要求(1)确定系统的运行环境要求(2)系统的性能要求(3)确定系统功能
2 .1.2 建立目标系统的逻辑模型 • 模型是为了理解事物而对事物做出一种抽象,对事物的无歧义的书面描述。 • 模型由一组图形符号和组成图形的规则组成。 • 建模的基本目标是:描述用户需求 • 为软件的设计奠定基础 • 定义一组需求,用以验收产品。 • 模型分为: • 数据模型:来描述数据对象及相互关系。用实体—关系图(E—R) • 功能模型:用数据流图 • 行为模型:用状态转换图 • 数据字典用来描述软件使用或产生的所有数据对象, 并对各种图形工具所不能表达的内容加以补充。
数据模型 学生成绩管理系统实体-关系图
功能模型 画学生成绩管理系统的数据流图。
输入/处理/输出(Input Process Output )图的简称。 画出学生成绩管理系统的 IPO 图。
数据字典使用的符号 = 表示“等价于”或“定义为” + 连接 [ ],| 表示“或”,用“|”分隔,表示可任选其中某一项 { } 表示“重复” ( ) 表示“可选”,用“,”号隔开 1{A} 表示 A 的内容至少要出现 1 次。 {B} 表示 B 的内容允许重复 0 至任意次。 如: 成绩单=学号+姓名+1{课程名+成绩}3 也可写为 成绩单=学号+姓名+ {课程名+成绩}
2.2 系 统 设 计 • 2.2.1 功能设计 • 作为学生成绩管理系统,从功能上主要分为登录模块、主程序模块和退出模块3大部分。
登录模块主要用于登录学生成绩管理系统,是进入系统的第一步,主要涉及数据库的连接,用户名、密码的检测判断和软件验证。登录模块主要用于登录学生成绩管理系统,是进入系统的第一步,主要涉及数据库的连接,用户名、密码的检测判断和软件验证。 • 主程序模块是整个系统的操作界面,包括班级管理、档案管理、交费管理、课程管理、成绩管理、奖惩管理、奖学金管理、学生补助管理、勤工助学管理、统计分析以及系统帮助等模块。
退出模块包括数据备份数,即退出系统的同时对整个操作过程中的数据库数据进行备份。退出模块包括数据备份数,即退出系统的同时对整个操作过程中的数据库数据进行备份。 • 图2-1所示为学生成绩管理系统的功能模块图。
系统登录 统计分析 系统帮助 班级管理 课程管理 成绩管理 奖惩管理 教师信息管理 学生信息管理 退出 图2-1 学生成绩管理系统功能模块图
2.2.2 系统结构框图 • 系统结构框图可以反映系统主要功能之间的关系,对学生成绩管理系统进行总体设计,需要对整个系统的结构有一个清楚的认识和设计。 • 图2-2所示为学生成绩管理系统的结构框图。
学生成绩管理系统在学生入学时输入学生基本信息。每次单科成绩是按班级内学生学号的顺序依次输入每位学生的平时成绩和考试成绩。学生成绩管理系统在学生入学时输入学生基本信息。每次单科成绩是按班级内学生学号的顺序依次输入每位学生的平时成绩和考试成绩。 然后由计算机计算每位学生的单科成绩总评分。输出的学生个人成绩单格式。 班级各科成绩汇总表。
2.2.3 系统实现 • 学生成绩管理系统是一个数据库应用系统,实现该系统所采用的框架是单机结构。
第 3 章 Delphi与数据库设计 • 3.1 常用桌面型数据库 • 3.2 常 用 大 型 数 据 库 • 3.3 学生成绩管理系统数据库设计
3.1 常用桌面型数据库 • DBF格式的数据库文件是最常用的数据库格式文件之一,它可由多种数据库软件创建,包括dBASE、Foxpro、Visual Foxpro、Clipper等,通过使用这些数据库工具,可以直接编辑、修改、查询存储在以DBF为后缀文件中的数据,采用Microsoft Excel也可以打开并修改DBF数据
Paradox数据库是Borland公司的第一个数据库开发工具。Paradox数据库是Borland公司的第一个数据库开发工具。 创建Paradox数据库可以采用随Delphi一起分发的Database Desktop工具,它可以创建和修改表结构、索引,可以输入、修改表中的记录数据。 Access数据库 Microsoft Access是微软公司推出的Office 组件中的一个重要组成部分,是目前应用最广泛的主流桌面数据库管理系统之一。
3.2 常 用 大 型 数 据 库 • 简 介 • 大型数据库泛指那些容量大、功能完善、速度快的DBMS(Database Manager System),例如MS SQL Server、Oracle、DB/2、Informix、Sybase等,大型数据库与普通数据库是从安全性、严谨性、共享性等原则上进行区分的。大型数据库向分布式数据库和对象数据库技术方向发展。
从功能角度来看,大型数据库对因特网的支持、对数据库仓库OLAP(OnLine Analytical Processing,联机分析处理)应用的支持越来越强,其管理平台正在向集成化、智能化、平台化发展。
大型数据库可以进行巨量数据的处理,例如,Oracle能够处理数百万TB容量的数据。同时,大型数据库与桌面型数据库相比较,最显要的特点就是内含存储过程、触发器、视图和自定义数据类型等数据库元素,同时有的大型数据库还可以建立用户自己的函数、规则等,以扩充数据库的功能。大型数据库支持SQL语句,可通过约束、规则、触发器等数据库对象来保证数据的完整性,包括实体完整性、参照完整性和数据域的完整性。大型数据库可以进行巨量数据的处理,例如,Oracle能够处理数百万TB容量的数据。同时,大型数据库与桌面型数据库相比较,最显要的特点就是内含存储过程、触发器、视图和自定义数据类型等数据库元素,同时有的大型数据库还可以建立用户自己的函数、规则等,以扩充数据库的功能。大型数据库支持SQL语句,可通过约束、规则、触发器等数据库对象来保证数据的完整性,包括实体完整性、参照完整性和数据域的完整性。
需要注意的是,各大型数据库的SQL语法规范在符合SQL92标准的基础上,都对SQL语法进行了相应的扩充,这些扩充并不能保证不同类型的数据库之间相互兼容,这点在数据库平台发生变更的时候要充分考虑。需要注意的是,各大型数据库的SQL语法规范在符合SQL92标准的基础上,都对SQL语法进行了相应的扩充,这些扩充并不能保证不同类型的数据库之间相互兼容,这点在数据库平台发生变更的时候要充分考虑。
大型数据库均可为用户提供多层的客户机/服务器数据库应用平台。数据库驻留在一个中央计算机上,作为数据服务器,用户端通过应用程序访问该数据服务器上的数据库。访问的时候,服务器首先对客户端进行安全认证,在获得许可后,数据服务器对客户端提出的数据访问请求进行处理,然后将执行结果返回给客户端。大型数据库均可为用户提供多层的客户机/服务器数据库应用平台。数据库驻留在一个中央计算机上,作为数据服务器,用户端通过应用程序访问该数据服务器上的数据库。访问的时候,服务器首先对客户端进行安全认证,在获得许可后,数据服务器对客户端提出的数据访问请求进行处理,然后将执行结果返回给客户端。
这种客户机向服务器提出服务请求,服务器进行处理服务请求,然后,将结果返回到客户端的数据处理模式就是客户机/服务器工作模式。这种客户机向服务器提出服务请求,服务器进行处理服务请求,然后,将结果返回到客户端的数据处理模式就是客户机/服务器工作模式。
3.3 学生成绩管理系统数据库设计 • 考虑到本系统的通用性与开发的可易性,我们采用MS Access 2000数据库进行开发,数据连接方式采用ADO,开发完成后可以非常容易地升级到网络级的应用,网络数据库可以采用MS SQL Server 7.0或MS SQL Server 2000。
第 4 章 Delphi连接数据库的不同方式比较 • 4.1 BDE • 4.2 ADO • 4.3 dbExpress • 4.4 ODBC • 4.5 学生成绩管理系统连接数据库
4.1 BDE • BDE(Borland Database Engine)是Borland公司推出的一套数据引擎,用来实现应用程序与数据库之间的连接。使用BDE的时候,需要使用BDE Administrator来配置一个别名,这个别名实质上是访问数据库的一个标识符,内部封装了访问数据库所需要的多个参数,如图4-1所示,不同的数据库所封装的参数是不一样的。
4.1.1 BDE文件组成 • BDE所需要的一系列文件在默认情况下位于\Program Files\Common files\Borland Shared\BDE目录下,包括不同类型数据的支持库、BDE Administrator(bdeadmin.exe)、数据迁移工具(datapump.exe)、帮助文件等。BDE通常采用以下3种方式实现应用程序与数据库的连接。
(1)采用Borland公司自己内置的驱动程序来连接数据库。一般应用在连接Paradox、dBase等数据库。(1)采用Borland公司自己内置的驱动程序来连接数据库。一般应用在连接Paradox、dBase等数据库。 • (2)采用SQL Links连接数据库。一般应用在客户机/服务器模式下的数据库应用程序开发。 • (3)采用ODBC方式连接数据库。一般应用在不具备内置驱动,又不具备SQL Links驱动程序的数据库。
如果数据库是Microsoft Access,则分发BDE相关文件的同时还要分发DAO(Data Access Objects),它是基于COM技术的数据访问 API,提供了对Jet和ODBC的封装。
4.1.2 BDE组件 • 在组件面板BDE页上集成了访问和管理BDE数据集的VCL组件,如图4-2所示。 图4-2
其中包括TTable、TQuery、Tdatabase等组件,这些都是不可见组件。Ttable代表任何数据库中的物理表或数据集,TQuery可实现单表或多表的查询,实现连接或嵌套的各种复杂查询,实现按照SQL合法语句完成的功能,例如Insert、Update、Drop等操作。其中包括TTable、TQuery、Tdatabase等组件,这些都是不可见组件。Ttable代表任何数据库中的物理表或数据集,TQuery可实现单表或多表的查询,实现连接或嵌套的各种复杂查询,实现按照SQL合法语句完成的功能,例如Insert、Update、Drop等操作。
4.1.3 BDE手工配置 • 在开发应用程序时,使用的数据库可以通过BDE Administrator来进行配置。BDE Administrator可在Delphi安装程序组或者控制面版中打开。 • 配置完成后,通过“Open”操作可以进行测试是否成功,如图4-3所示。
如果配置BDE别名成功,可以使用Delphi自带的SQL Explore来打开其中的表、视图、存储过程等数据库对象。
4.1.4 程序设计中建立BDE别名 • 在程序中建立BDE别名,需要使用BDE组件面板上的Database控件。操作步骤如下。 • (1)启动Delphi后,新建或选择已存在的DataModule,然后选择BDE组件面板,将Database控件添加到DataMoudle上,并取名为Database1。如图4-4所示。
(2)鼠标双击控件Database1,弹出如图4-5所示界面,进行别名参数设置。(2)鼠标双击控件Database1,弹出如图4-5所示界面,进行别名参数设置。 • (3)单击“OK”完成BDE的设置。
有以下两点需要注意。 • (1)在其他单元中,如果要使用所定义的Database,必须使用USE语句引入DataMoudle单元,否则无法实现关联引用。 • (2)把数据规则定义在同一模块是一种好的编程习惯,不但方便使用和维护,而且对于以后程序的扩展升级也方便,很容易迁移到三层或多层。所以建议将Database、Table、Query等对象创建到同一个DataMoudle管理模块中。
4.1.5 动态创建BDE别名 • 程序中可以动态创建BDE别名,以降低应用程序与数据库的关联密切性。下面给出一种解决方案。(假设应用程序工程文件为cjgl.prj,编译后生成的执行程序为cjgl.exe)
(1)建立cjgl.ini文本配置文件 • (2)使用代码将cjgl.ini中数据库选项的内容读取到Database的参数列表中,实现应用程序与实际数据库的代码隔离。 • (3)在程序中,所有需要引用DataBaseName的BDE数据组件,其属性DataBaseName均引自该DataModle中的DataBase。
4.1.6 通过BDE别名查看数据库对象 • 通过BDE别名查看数据库对象的操作步骤如下。 • (1) 打开SQL Explore后,在Database列表中选择将要查看的BDE别名,如图4-6所示。