使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。
此时模块也发展成为最终产品了。
从经济角度投入较少,可以在现有软硬件条件下进行开发,不需要增加额外的费用。
jLBHrnAILg
2.2技术可行性
微软公司的VisualBasic6.0应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。
VisualBasic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。
MicrosoftAccess2000是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。
Access的优点在于它能使用数据表示图或自定义窗体收集信息。
数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。
另外,Access允许创建自定义报表用于打印或输出数据库中的信息。
Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。
xHAQX74J0X
微软的JET数据库引擎提供了与数据库打交道的途径,我们是通过它以及VisualBasic来访问数据库并对其进行各种操作。
VisualBasic、Access以及其他微软的软件产品都是通过共用JET数据库引擎,从而给用户提供了丰富的数据类型。
LDAYtRyKfE
ADO,即ActiveX数据对象,实际是一种提供访问各种数据类型的连接机制。
ADO设计为一种简单格式,通过ODBC的方法同数据库接口,可以使用任意一种ODBC数据源,既不仅适合于SQLServer,Oracle,Access等数据库应用程序,也适合于Excel表格、文本文件和无格式数据文件。
Zzz6ZB2Ltk
从技术角度开发一个中小型企业的数据管理系统是完全可行的。
第三章需求分析
3.1功能需求分析
根据系统的实际调研,该系统应该具备以下功能
1、输入功能:
系统根据条件按照最底层数据表计算出本次操作所需的数据加载到事先设置好的空数据表中,为用户操作做好准备。
dvzfvkwMI1
2、查询功能:
提供用户对所需内容进行查询,提供查询的数据条件,比如:
“名称=螺栓”、“国标包含GB”、“数量>=300”等,还可以直接从菜单中直接调取标准件表、图号册、外购件等专用表格,同时查到的数据能添加到专用的表中,进行多工程的数据管理rqyn14ZNXI
3、报表功能:
将查找或者汇总完成的信息打印成报表,用于文件存档或者便于企业管理者管理数据信息
4、汇总功能:
对数据进行分类查找和归纳,可以把相同的项按要求汇总到一起,以便于直观,清楚的管理数据信息,以便更方便进行工程汇总工作。
EmxvxOtOco
5、数据备份功能:
对物理表进行添加、修改、备份和删除等工作,便于数据库的长期正常运行。
同时可以防止意外的数据丢失。
SixE2yXPq5
6、系统安全控制功能:
在登陆进系统时有权限的要求,高级的权限可以管理低级的权限,权限的设置便于系统的管理,有利于企业信息的保密工作6ewMyirQFL
3.2系统结构分析
图3-2-1系统结构分析
第四章系统开发工具简介
4.1本系统采用的开发工具VisualBasic说明
VisualBasic具有简单易学的特性,只要稍微有计算机语言基础就可以很快掌握它。
可视化的用户界面设计功能,把程序设计人员从繁琐复杂的界面设计中解放出来。
可视化的编程环境的“所见即所得”功能,使得界面设计如同堆积木游戏一样,从而使得编程变成一种享受。
kavU42VRUs
4.2面向对象的编程
对象是我们感兴趣的或要加以研究的事物,是数据与操作相互结合的统一体。
对象的基本思想是用系统的观点把要研究的事物看成一个整体,整个世界的由不同的对象所构成的。
y6v3ALoS89
对象是面向对象的程序设计的基本感念,也是其核心,是人们要进行研究的任何实际存在的事物,它具有状态(用数据来描述>和操作(用来改变对象的状态>。
在面向对象的程序设计中,对象必须是用户自己来设计。
而在VisualBasic中,对象是现成的,这是VisualBasic的重要特征之一。
M2ub6vSTnP
VisualBasic应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为<属性、事件和方法)。
开发人员可以最有效利用所创建的每一个对象。
使用应用程序具有可通用性可说扩展性和强有力的功能。
VisualBasic应用由一系列对象组成,包括有函数、菜单、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器等这些对象和控件都可在许多应用中重复使用。
0YujCfmUCw
4.2.1面向对象程序设计的主要优点
1.与人类习惯的思维方式一致面向对象的程序设计一对象为中心,对象是一个统一体,它的由描述内部状态表示静态属性的数据以及可以对这些书记施加的操作一起所构成的。
面向对象设计方法是对问题领域进行自然分解,确定需要使用的对象,在对象之间传递消息实现必要联系,从而按照人们习惯的思维方式建立起模型,模拟客观世界。
eUts8ZQVRd
2.可维护性好面向对象引用模块机制,它的独立性好,修改一个模块通常很少牵涉到其他的模块。
面向对象软件技术的多态性机制使得扩充软件功能时对原有代码所需做的修改进一步减少,需增加的新代码也比较少。
所以,面向对象方法设计的程序具有很好的可维护性。
sQsAEJkW5T
4.3控件和窗体
VisualBasic中的对象主要分为控件和窗体两类。
控件(ActiveX>是指“空的对象”或者基本对象,是应用程序的图形用户界面的一个组件,对其属性可以进行不同的设置,从而构成不同的对象;窗体(Form>是用户的工作区,所有控件都在窗体中得到了集成,从而构成应用程序的界面。
GMsIasNXkA
不同的对象会含有不同的属性,我们把各个对象的所有属性的集合称为“属性表”。
通过对属性表中个项属性的不同设置,我们可以建立各种对象。
TIrRGchYzg
4.4事件和方法以及事件驱动应用程序的工作方式
事件是发生在对象上的一件事情。
事件可以分成系统事件和用户事件两种。
系统事件有计算机系统自动生成;用户事件是由用户产生的。
不同的对象发生在其身上的事件是不同的。
7EqZcWLZNX
事件过程是指对象对发生在其上的某一事件的反应。
不同的对象对同一事件的反应是不一样的,这是是因为不同对象的事件过程是不同的。
在VisualBasic建立了对象后,希望某个对象在收到某个事件之后能作出预期的反应,就要在该对象的特定事件过程中编写相应的程序代码。
所以,VisualBasic开发应用程序重点是编写事件过程。
lzq7IGf02E
方法是指对象本身就具有的、反映该对象功能的内部函数或者过程(不是事件过程>。
方法的内容是不可见的,我们并不知道对象是怎么实现这一功能的。
我们只要会使用这些方法就可以了。
zvpgeqJ1hk
事件是窗体或者控件的行为和动作。
在响应事件时,事件驱动应用程序会执行Basic代码。
VisualBasic的每一个窗体或控件都有一个事件集。
如果其中有一个事件发生,而且关联的事件过程中存在代码,则VisualBasic将调用该代码。
NrpoJac3v1
尽管VisualBasic中对象自动识别预定义的事件集,但要判定它们是否响应具体事件以及如何响应具体事件就是编程的责任了。
1nowfTG4KI
4.5数据库的实现技术
数据库是一种存储数据并对数据进行操作的工具。
数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。
计算机的数据库可以分为两类:
非关系数据库关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。
fjnFLDa5Zo
关系数据库以表的形式<即关系)组织数据。
关系数据库以关系的数学理论为基础,在关系数据库中,用户可以不必关心数据的存储结构,同时,关系数据库的查询可用高级语言编写,这有利于查询效率。
tfnNhnE6e5
VisualBasic数据库是用于存储大量数据的区域,它通常包括一个或者多个表。
数据库应用成为当今计算机应用的主要领域之一。
VisualBasic提供了功能强大的数据库管理功能,能方便、灵活地完成数据库应用中涉及的诸如建立数据库、查询和更新等各种基本操作。
VisualBasic提供Data控件、DBGrid控件、ADOData控件的使用方法和SQL语言。
HbmVN777sL
4.5.1新建一个数据库
创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。
创建一个数据库结构的过程被认为是数据模型设计。
(1>标识需要的数据;
(2>收集被标识的字段到表中;
(3>标识主关键字字段;
(4>绘制一个简单的数据图表;
(5>规范数据;
(6>标识指定字段的信息;
(7>创建物理表。
V7l4jRB8Hs
本系统数据表为统一结构,字段为图号、标准、名称、规格、尺寸、材料、特性、类、数量、单重、单价、工时、备注,有些特殊的表还有ID或者总重和总价等字段。
83lcPA59W9
4.5.2修改已建的数据库
数据库的修改分为:
添加、编辑和删除记录。
这三种操作均可由VisualBasic创建的程序来完成,下面的章节将详细描述实现的具体方法。
mZkklkzaaP
4.5.3实现数据库之间的联系
数据库之间的关系指明两个库之间共享一个共同的关键字值。
一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。
一个更高级的连接形式称为自连接。
这种连接是指一个表被连接到它自己的一个字段,或在不同的纪录中由重复数据的组合字段。
数据库中有三种不同类型的关键字:
主关键字、组合关键字和外关键字。
在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。
AVktR43bpw
第五章系统总体规划
5.1系统功能
(1)可以进行文本操作;
(2)添加一个数据库工程;
(3)删除一个数据库工程;
(4)修改一个数据库工程;
(5)查询信息;
(6)察看数据表。
(7>汇总数据表。
(8>打印数据表。
5.2功能模块图
ORjBnOwcEd
图5-2-1系统功能模块图
5.2.1对这四个模块做具体说明
·确定所需数据模块
输入:
按照所需要的工程规格输入条件。
功能:
系统根据条件按照最底层数据表计算出本次操作所需的数据加载到事先设置好的空数据表中,为用户操作做好准备。
2MiJTy0dTT
·各种数据查询模块
输入:
要查询的数据条件,比如:
“名称=螺栓”、“国标包含GB”、“数量>=300”等,还可以直接从菜单中直接调取标准件表、图号册、外购件等专用表格。
gIiSpiue7A
输出:
在查询窗体的DBGird控件中直接显示出查找到的数据。
还可以把查到的数据添加到专用的表中,进行多工程的数据管理。
uEh0U1Yfmh
功能:
对数据进行分类查找和归纳,以便进行工程汇总工作。
·各种数据汇总模块
输出:
在查询窗体的DBGrid控件中直接显示出汇总的数据。
也可以把汇总的数据添加到专用的表中,进行多工程的数据管理。
IAg9qLsgBX
功能:
如果查询到的数据包含很多相同的项,可以把相同的项按要求汇总到一起,以便于直观,清楚的管理数据信息。
WwghWvVhPE
·物理表管理模块
功能:
可以对物理表进行添加、修改、备份和删除等工作,便于数据库的长期正常运行。
·报表功能模块
输出:
在查询窗体的DBGrid控件中直接显示出的数据。
可以打印成报表形式。
功能:
将查找或者汇总完成的信息打印成报表,用于文件存档或者便于企业管理者管理数据信息。
·系统权限维护模块
输入:
在登陆进系统时有权限的要求,高级的权限可以管理低级的权限。
功能:
权限的设置便于系统的管理,有利于企业信息的保密工作。
5.3使用ADO、DAO和Data控件实现数据库的各个模块之间的联系
本系统采用Data和ADO、DAO控件来连接数据库。
Data控件是VisualBasic中访问数据库的重要控件,它支持大多数与数据库有关的操作,通过使用Data控件可以开发非常复杂的数据库应用程序。
这是本系统使用它的根本原因。
asfpsfpi4k
Data可以不用编写代码完成以下功能:
完成对数据库的链接;打开指定的数据库表,或者是基于SQL查询集合;将表中字段传至数据绑定控件,并针对数据绑定控件中的修改来更新数据库;关闭数据库。
ooeyYZTjj1
Data对于数据库密切相关的属性有:
·DatabaseName属性:
设置被访问的数据库的名字和路径,可以在属性表中设置,也可以在运行时利用语句进行设置。
BkeGuInkxI
·RecordSource属性:
设置数据源,为底层表、SQL语句或者QueryDef对象。
同样有两种设置方法。
PgdO0sRlMo
·Recordset属性:
返回一个指定的数据源中记录集或者运行一次查询所得的记录的结果结合。
·BOF和EOF属性:
设置当BOF为True时,即记录集移动到第一个记录上头时,Data控件动作;设置当EOF为True时,即记录集移动到最后一个记录下头时,Data控件动作。
3cdXwckm15
Data控件常用的方法有:
·Refresh方法,在Data控件打开或者从新打开数据库的内容时,该方法可以更新Data控件的数据设置。
h8c52WOngM
·UpdateRecord方法,把当前的内容保存到数据库中,但不触发Validate事件。
·UpdateControls方法,将Data控件记录集中的当前记录填充到某个数据绑定控件。
Data控件还有一些不太重要的属性、方法和事件没有提到,如要查阅请参照《VisualBasic程序设计导学》。
v4bdyGious
但是本系统针对的是动态的数据库和虚拟的数据表,所以Data的一些功能设置也需要动态的改变,这就要在程序代码中修改以上的属性,这在后面介绍中会重点提到,而且Data控件也并不能完全满足系统需要所以我又使用DAO和ADO控件来加强Data控件的功能,使系统更完善。
J0bm4qMpJ9
要使用DAO数据模型必须先引用了包含DAO对象,具体操作是在“工程”菜单的“引用”选项,选中“MicrosoftDAO3.5ObjectLibrary”;要使用ADO数据模型,要在“工程”菜单中的“部件”选项,并在“部件”对话框中选折“MicrosoftADODataControl6.0”。
XVauA9grYP
特别要注意的是在两个数据模型都引用的时候要先引用DAO数据模型后引用ADO数据模型,否则会出现数据类型的错误。
bR9C6TJscw
DAO数据访问对象完全在代码中运行,使用代码操控Jet引擎访问数据库数据,能够开发出更强大更高效的数据应用程序。
使用数据访问对象开发应用程序,使数据访问更有效率,同时对数据的控制更加灵活和全面,但是访问对象的复杂性,使其使用起来更为复杂和抽象,因此和Data结合使用以达到更好的效果。
pN9LBDdtrd
ADO,即ActiveX数据对象,实际是一种提供访问各种数据类型的连接机制。
ADO设计为一种简单格式,通过ODBC的方法同数据库接口,可以使用任意一种ODBC数据源,既不仅适合于SQLServer,Oracle,Access等数据库应用程序,也适合于Excel表格、文本文件和无格式数据文件。
DJ8T7nHuGT
ADO是为Microsoft最新最强大的数据访问范例OLEDB而设计的,是基于OLEDB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法,是一个便于使用的应用程序层接口。
ADO是独立于开发工具和开发语言的简单而且容易使用的数据接口。
QF81D7bvUA
ADO对象可以在所有支持COM和OLE的平台上使用,如VB,VC++,VBScript和Java等等。
OLEDB是一种底层数据访问界面接口,它是一套部件对象模型4B7a9QFw9h
DAO和ADO有很多对象,我们后面将详细介绍在系统中的使用。
5.4使用DBGrid控件来显示各个模块中的数据
VisualBasic提供了一个简单、方便、快捷的数据库访问对象即Data控件,利用它只需要少量的代码就可以访问多种数据库中的数据。
但是,只有Data控件是不够的,必须利用数据绑定控件来显示、编辑和查询数据库中的数据。
数据绑定控件也叫做数据识别控件,可通过它访问数据库的信息。
当一个控件通过设置属性被绑定到Data控件时,VB会把从前数据库记录取出相应的字段值应用于该控件,控件显示数据并接受更改。
ix6iFA8xoX
在VB中可以和Data控件绑定的控件很多,如文本框、复选框、标签等等,这里我们要使用DBGrid控件。
wt6qbkCyDE
使用DBGrid控件之前,必须要在“工程”中的“部件”中选择“MicrosoftDataBoundGridControl5.0”将其控件图标在工具栏中显示出来。
Kp5zH46zRk
用DBGrid控件显示和浏览一个已有数据库的步骤如下:
<1)在新窗体中添加一个Data控件,再设置其DatabaseName和RecordSource属性为想要显示的数据库和表。
Yl4HdOAA61
<2)在窗体中添加一个DBGrid控件,并设置其DataSource属性为刚创建的Data控件。
<3)设置DBGrid控件的其他相关属性。
<4)运行程序。
DBGrid控件中的AllowUpdata、AllowAddNew、AllowDelete属性控制DBGrid控件中的内容是否能被更改。
ch4PJx4BlI
5.5数据库设计
5.5.1数据库分析
在开发企业信息管理系统时,可以先进行E-R图分析,然后对表和字段进行分析,最后进行数据库建模。
下面为E-R图分析。
这里直接给出E-R分析的结果。
实体关系图的分析结果比较复杂,一般情况下使用从简到繁的方式进行设计。
首先从大的方面中设计出各个实体之间的关系,然后在这个关系的基础上进行细化。
qd3YfhxCzo
企业信息管理系统的实体关系简图如下所示。
E836L11DO5
0,n
0,n
本程序采用ACCESS2000作为后台数据库
根据上面分析的系统的各种功能要求,可以很容易想到系统所需的数据应该按照如下的思想设计:
材料总表、查询汇总表、管理员、升降横移、升降框架、升降提升、提升机提升、提升机载车板、总标准件表、总图号册表、总外购件表、总外协件表。
这样整个数据库设计后的结果如下图所示。
S42ehLvE3M
图5-5-1数据库设计
5.5.2数据表的构成
本系统中除了“管理员”表外各个表的机构都是统一的,这样可以在数据从一个表向另一个表里添加的时候不出现不必要的差错,数据库表里存储了企业的数据信息的包括:
图号、名称、标准、数量等。
如下表501nNvZFis
字段名
数据类型
说明
图号
文本
字段大小16
标准
文本
字段大小16
名称
文本
字段大小16
尺寸
数值
字段大小16
材料
文本
字段大小12
特性
文本
字段大小4
类
文本
字段大小16
数量
数值
字段大小16
单位
数值
字段大小16
单重
数值
字段大小16
单价
数值
字段大小16
工时
数值
字段大小16
总重
数值
字段大小16
备注
文本
字段大小16
升降橫移表、升降框架表、升降提升表、提升机提升表设计如下:
字段名
数据类型
说明
ID
数值
图号
文本
字段大小15
标准
文本
字段大小16
名称
文本
字段大小15
尺寸
数值
字段大小15
材料
文本
字段大小15
特性
文本
字段大小2
类
文本
字段大小8
数量
数值
字段大小8
单位
数值
字段大小8
单重
数值
字段大小8
单价
数值
字段大小8
工时
数值
字段大小4
备注
文本
字段大小20
5.5.3管理员表构成
管理员表里存储了用户的信息包括:
ID、密码、权限等。
如下表
字段名
数据类型
备注
ID
数值
字段大小8
PASSWD
文本
字段大小6
QX
数值
字段大小4
第六章系统具体实现
6.1用户界面的实现
6.1.1封面具体实现见图_6.1.1
图_6.1.1
6.1.2主界面具体实现见.图_6.1.2
图_6.1.2
主窗体主要使用“工具”菜单下“菜单编辑器”完成。
设计如下表所示,(>内为
其名称.
[查询输出](chaxun>
....提升机(tsj>
....二层升降橫移(sjhy2>
[数据维护](weihu>
....数据备份(datacopy>
....数据恢复(datasave>
....清库(clean>
[帮助](help>
....权限设置(qxsz>
....-
....关于....(about>
[退出](exit>