水费管理系统毕业设计Word格式.docx

上传人:b****6 文档编号:18851735 上传时间:2023-01-01 格式:DOCX 页数:36 大小:4.27MB
下载 相关 举报
水费管理系统毕业设计Word格式.docx_第1页
第1页 / 共36页
水费管理系统毕业设计Word格式.docx_第2页
第2页 / 共36页
水费管理系统毕业设计Word格式.docx_第3页
第3页 / 共36页
水费管理系统毕业设计Word格式.docx_第4页
第4页 / 共36页
水费管理系统毕业设计Word格式.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

水费管理系统毕业设计Word格式.docx

《水费管理系统毕业设计Word格式.docx》由会员分享,可在线阅读,更多相关《水费管理系统毕业设计Word格式.docx(36页珍藏版)》请在冰豆网上搜索。

水费管理系统毕业设计Word格式.docx

2.2开发工具简介

微软公司的VisualBasic6.0是Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。

VisualBasic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。

故而,实现本系统VB是一个相对较好的选择。

Access2000就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。

Access的优点在于它能使用数据表示图或自定义窗体收集信息。

数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。

另外,Access允许创建自定义报表用于打印或输出数据库中的信息。

Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。

Access是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。

如上所述,Access作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。

微软的JET数据库引擎提供了与数据库打交道的途径,我们是通过它以及VisualBasic来访问数据库并对其进行各种操作。

VisualBasic、Access以及其他微软的软件产品都是通过共用JET数据库引擎,从而给用户提供了丰富的数据类型。

DATA控件在数据库中的信息与将信息显示给用户看的VisualBasic程序之间架起了一座桥梁。

我们可以设置DATA控件的各个属性,告诉它要调用那个数据库的哪个部分。

缺省情况下,DATA控件根据数据库中的一个或多个数据表建立一个dynaset-type(动态集合)类型的记录集合。

一个记录集合是动态的也就意味着,当原来的数据表中的容改变了以后,该记录集合中的记录也会随之改变。

DATA控件还提供了用来浏览不同记录的各种跳转按钮。

将DATA控件放置在窗体中之后,我们还必须在该控件与要处理的数据库之间建立联系。

ADO是Mcrosoft提出的第三种数据库访问对象,是Microsoft数据库访问技术的一个主要发展方向,ADO将OLEDB封装在一个数据对象中,使得VB程序中以方便地实现对数据库的访问。

具体的与数据库的关系如下:

VB数据库应用程序一般由用户界面、数据库引擎和数据仓库三大部分组成。

1.用户界面:

用户界面是指应用程序与用户进行交互的界面,包括用于交互的所有界面元素和代码。

它可以显示数据并提供查看或更新数据的所有对象,比如数据作业窗体,添加、删除记录或执行查询的VB代码等,这些对象隐含着用来请求数据库服务的属性、事件和方法。

2.数据库引擎:

所谓数据库引擎,是一种管理数据怎样被存储和检索的软件系统,是应用程序与物理数据库之间的桥梁。

它把应用程序的请求翻译成对各种类型数据库的物理操作,并向应用程序返回结果。

3.数据仓库:

数据仓库是包含数据库表的一个或多个文件,是存放数据的地方。

对于本地的VB数据库来说,就是.mdb格式文件;

对于不同的数据库,它可能具备其它格式。

VB访问数据库通常有三种途径:

1.使用数据控件和数据绑定控件访问数据库;

2.通过VB提供的数据访问变量编程访问;

3.通过ODBC接口访问ODBCAPI函数。

VB程序的数据访问通过数据访问接口来实现。

在VB中,主要的数据访问接口有三种:

数据存取对象(DataAccessObject;

DAO)、远程数据对象(RemoteDataObject;

RDO)、ActiveX数据对象(ActiveXDataObjects;

ADO)。

VB通过数据库引擎可以访问的数据库分如下三类:

内部数据库、外部数据库和ODBC数据库。

1、内部数据库——即.MDB格式的数据库,包括DAOAPI、MicrosoftAccess和MicrosoftExcel创建的数据源,也称为本地数据库。

由于是由Jet引擎直接创建和操作这些数据库,可以提供最大程度的灵活性和速度。

2、外部数据库——即"

索引顺序存取方法(ISAM)数据库,例如Btrieve、dBASE、FoxPro以及Paradox等。

VB能够创建和操作所有这些数据库,还可以访问MicrosoftExcel或Lotusl-2-3电子表格,以及一些标准的文本文件。

3、ODBC数据库——即符合开放式数据库连接性(ODBC)协议的数据库。

VB可以访问ODBC标准客户/服务器数据库--如MicrosoftSQLServer、Oracle和Sybase。

可使用ODBCObject直接把命令传递给服务器处理,以创建真正的客户机/服务器程序。

第三章系统设计

3.1概要设计

3.1.1概要设计阶段的主要任务

①本人先审查软件计划、软件需求分析提供的文档,提出最佳推荐方案,用系统流程图,组成系统物理元素清单,成本效益分析,系统的进度计划,供指导老师审定,审定后进入设计。

②确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块。

确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略。

③编写概要设计说明书,用户手册,测试计划,选用相关的软件工具来描述软件结构,结构图是经常使用的软件描述工具。

选择分解功能与划分模块的设计原则,例如模块划分独立性原则,信息隐蔽原则等。

3.1.2概要设计的过程

概要设计要先进行系统设计,复审系统计划与需求分析,确定系统具体的实施方案;

然后进行结构设计,确定软件结构。

3.1.3概要设计的原则

①将软件划分成若干独立成分的依据。

②如何表示不同的成分内的功能细节和数据结构。

③如何统一衡量软件设计的技术质量。

3.1.4系统功能分析

根据水资源管理机构提供的水费管理信息,预测开发的管理系统的达到的功能如下:

第一部分:

系统用户管理

要求:

用户分四类:

超级用户[一切功能可用]、管理员[不可添加系统用户、修改用户密码]、收费员[仅可查询信息、收费功能]

第二部分:

水费管理

要求:

实现缴纳水费及查询缴费情况。

第三部分:

用户管理

实现编辑用户和浏览用户信息

第四部分打印服务

实现当日缴费情况打印

第五部分环境设置

实现缴费月份及当前水价的设置

第六部分帮助

制作帮助文档,介绍各部分功能即可根据以上分析,该系统考虑将整个系统分解成如图3-1模块结构图:

图3-1模块结构图

并且在系统的开发过程中,我尽量注意模块的高内聚、低耦合,使得系统的整体性能提高,并且也有利于投入使用后的系统维护。

3.2详细设计

3.2.1详细设计的任务

详细设计就是要在概要设计的结果的基础上,考虑“怎样实现”这个软件系统,直到对系统中的每个模块给出足够详细的过程性描述。

主要任务如下:

①为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述;

②确定每一模块使用的数据结构;

③确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。

④要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据,期望输出等内容。

3.2.2详细设计的方法

程序流程图、N-S图、PAD图、IPO图

本系统在开发过程中所采用的详细设计方法为IPO图:

1、缴纳水费管理模块模块IPO图:

2、缴费查询模块IPO图:

3、用户管理模块IPO图:

4、打印模块IPO图:

5、用户管理模块的IPO图

第四章数据库设计

4.1数据库Access简介

Access中文版是MicrosoftOffice2000套装软件的数据库管理系统软件,是目前比较流行的小型桌面数据库管理系统,它适用于小型企业、学校、个人等用户,可以通过多种方式实现对数据收集、分类、筛选处理,提供用户查询或打印报表。

Access具有良好的界面,采用了与Windows和MicrosoftOffice系列软件完全一致的风格,用户可以通过菜单和对话框操作,不用编写任何命令便能有效地实现各种功能的操作,完成数据管理任务。

MicrosoftOffice的一个集成化的程序设计语言是VBA(VisualBasicforApplications),使用VBA可以创建非常实用的数据库应用系统。

Access可以作为个人计算机终端和大型主机系统之间的桥梁。

通过如SQL、ODBC等特定技术,方便地存储、检索和处理服务器平台上的关键信息,提供了灵活、可靠、安全的客户/服务器解决方案。

Access可以接受多种格式的数据,从而方便了用户在不同系统之间进行数据转换。

随着Internet网络应用的发展,Access还增加了使用信息发布Web向导和用HTML格式导出对象的功能。

数据库的概念

数据库是一种存储数据并对数据进行操作的工具。

数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。

计算机的数据库可以分为两类:

非关系数据库(flat-file)和关系数据库(relational)。

关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。

新建一个数据库

创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。

创建一个数据库结构的过程被认为是数据模型设计。

1.标识需要的数据;

2.收集被标识的字段到表中;

3.标识主关键字字段;

4.绘制一个简单的数据图表;

5.规范数据;

6.标识指定字段的信息;

7.创建物理表。

修改已建的数据库

数据库的修改分为:

添加、编辑和删除记录。

这三种操作均可由VisualBasic创建的程序来完成,下面的章节将详细描述实现的具体方法。

实现数据库之间的联系

数据库之间的关系指明两个库之间共享一个共同的关键字值。

一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。

一个更高级的连接形式称为自连接。

这种连接是指一个表被连接到它自己的一个字段,或在不同的纪录中由重复数据的组合字段。

数据库中有三种不同类型的关键字:

主关键字、组合关键字和外关键字。

在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。

4.2数据库需求分析

根据调查水资源管理机构的水资源用户及水费缴纳情况管理的实际情况,分析得到如下的数据库结构。

水费管理表:

用户管理表:

当前水价表:

用户表:

4.3测试用例

用户表的测试用例:

水费管理表的测试用例:

当前水价表的测试用例:

帐户表的测试用例:

第五章系统的实现

5.1系统登录模块的实现

1.流程图

2.界面:

界面包括的控件有标签、文本框、命令按钮等控件。

3.实现过程:

第一步将所需的控件放到窗体的相应位置;

方法:

首先在“工具箱”中选中所需的控件图标,然后在表单的恰当位置上单击鼠标并拖动鼠标,即可把由所选取的控件生成的对象添加到窗体上。

如下图:

第二步,选择窗体或控件进行属性设置,如图为窗体的属性设置界面:

第三步双击相应的控件,在控件的相应过程中编写代码:

如此窗体上“进入”与“退出”按钮的代码如下:

改变登录菜单为注销菜单

不同的用户权限打开不同的菜单

并且具有改变“登录”菜单为“注销”菜单的功能。

PrivateSubCommand2_Click()

UnloadMe

EndSub

此程序段中,“IF”语句的作用是判断用户输入的用户名与密码和数据库的是否相同,如果相同,则打开菜单项并执行unloadme,如果用户名或密码输入错误,则提示:

使用户重新输入用户名或密码。

Unloadme语句的作用是下载窗体。

此窗体上另外还有Data1、Text3二个控件在程序运行时是看不到的,它们的作用是使VB与Access数据库相连,然后判断用户输入的用户名与密码是否与数据库中的一致,如果一致,则允许用户进入系统。

此三个控件的创建方法如下:

首先,将Data、Text控件拖放到窗体上,其次,设置它们的属性:

(1)Data1控件的属性设置如下图:

此两个属性的作用是保证Data控件与数据库相连。

运行时是否隐藏

Visible属性是使此控件运行时在窗体上不显示。

(2)Text3控件的属性设置如下:

此数据控件绑定到何字段

此数据控件绑定到何数据库

Visible属性的设置同Data1控件。

5.2主界面的实现

主界面是用菜单形式表现的,如图:

菜单的制作过程如下:

首先通过“工具”菜单中的“菜单编辑器”调出菜单编辑器,然后进行菜单的设置,如下图:

调节菜单的级别

此过程中要注意各菜单的名称唯一,还要注意菜单的级别,另外此设计过程中我们还可以给菜单加快捷键。

最后设置如下的代码(只要单击菜单即可设置各菜单代码),代码如下:

主要是通过Show方法调用相应的窗体。

5.3水费管理模块的实现

5.3.1缴纳水费模块的实现:

1、流程图:

2、运行界面:

1.实现过程:

第二步,选择窗体或控件进行属性设置,同上一小结。

其它属性和控件的设置方法类似。

窗体的load事件为:

PrivateSubForm_Load()

Form21.Width=7350

Form21.Height=7395

Form21.Move(MDIForm1.Width-Form21.Width)/2,(MDIForm1.Height-Form21.Height)/4

Label5.Caption=Date

作用:

使窗体居中显示。

的代码如下:

SQL="

select*from用户管理where总户号='

"

&

Trim(Text1(0).Text)&

"

'

Data3.RecordSource=SQL

Data3.Refresh

IfData3.Recordset.EOFThen

MsgBox"

没有此总户号!

请重新输入[总户号]!

,"

提示"

Text1(0).Text="

Text1(0).SetFocus

Else

Fori=1To9

Label1(i).Visible=True

Nexti

Fori=1To6

Text1(i).Visible=True

Text8.Visible=True

Data1.Recordset.AddNew

Text1(7)=Text6

Text1

(1)=Text3

Text1

(2)=Text4

Text1(4)=Text2

Text1(6).Text=Date$

Text1(3).SetFocus

Text8=Text7

EndIf

先判断用户表中有没有此总户号,如有就收费,没有就提示用户。

界面如下:

PrivateSubCommand1_Click()

MsgBox"

已入库!

Text5.Text=Val(Text5.Text)+Val(Text1(5).Text)

Data1.UpdateRecord

Text1(0).SetFocus

Text1(0).Text="

Label1(i).Visible=False

Text1(i).Visible=False

Text8.Visible=False

收费入库,并提示收费员相关信息。

此窗体上用了3个data控件,data1与水费管理表相连,data2与用户管理表相连,data3与当前价格表相连,连接方法同前一节,这边不再重复。

5.3.2查询缴费情况模块的实现

1.运行界面:

2.实现过程:

界面的实现方法同上,下面主要看关键代码:

单选按钮组的代码为:

PrivateSubOption1_Click(IndexAsInteger)

Fori=0To2

IfOption1(0).Value=TrueOrOption1

(1).Value=TrueThen

Text1.Visible=True

DTPicker1.Visible=False

Else

IfOption1

(2).Value=TrueThen

Text1.Visible=False

DTPicker1.Visible=True

请选择查询的项!

EndIf

Nexti

Command1.Visible=True

主要选择查询的项。

“查询“的主要代码为:

IfOption1(0).Value=TrueThen

SQL="

select*from水费管理where总户号='

Trim(Text1.Text)&

IfOption1

(1).Value=TrueThen

select*from水费管理where户名='

select*from水费管理where缴费日期='

Format(DTPicker1.Value,"

yyyy-mm-dd"

)&

Data1.RecordSource=SQL

Data1.Refresh

IfData1.Recordset.EOFThen

没有您要查询的缴纳水费情况!

主要作用:

根据用户的选择,通过SQL语句查询并显示结果。

其中,日期采用dtpicker控件实现,如下:

5.4用户管理模块的实现

1.流程图:

2.运行界面:

8个按纽组的代码如下:

PrivateSubCommand1_Click(IndexAsInteger)

首条

IfIndex=0Then

Data1.Recordset.MoveFirst

Command1

(2).Enabled=False

Command1

(1).Enabled=True

IfIndex=1Then

下一条

Command1

(2).Enabled=True

Data1.Recordset.MoveNext

IfData1.Recordset.EOFThen

Data1.Recordset.MoveLast

Command1

(1).Enabled=False

IfIndex=2Then

前一条

Data1.Recordset.MovePrevious

IfData1.Recordset.BOFThen

末条

IfIndex=3Then

增加

IfIndex=4Then

Text1(0)=Data1.Recordset.RecordCount+1

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1