随着科学技术的不断提高,计算机科学日渐成熟,计算机在各个领域发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对水资源用户及水费缴纳情况进行管理,具有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高水资源用户及水费缴纳情况管理的效率,也是水资源管理机构帐收费的科学化、正规化管理,与先进科学技术接轨的重要条件。
现在我国的水资源用户及水费缴纳情况管理水平绝大部分还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
本课程设计的目的是建立水费收费管理信息系统,采用计算机对水费信息进行管理,进一步提高水费收费机构及用户对信息的查询检索的便捷功能,实现其现代化水平。帮组工作人员提高工作效率,实现水费信息管理工作流程的系统化,规范化和自动化。
二、设计任务
《数据库系统》课程设计是计算机科学与技术专业集中实践性环节之一,是学习完《数据库系统》课程后进行的一次全面的综合练习,涉及的深度广些并更加接近实用,要求我们利用所学知识分析、设计并实现一个有一定复杂性的数据库系统。通过课程设计,使我们综合使用所学过的数据库知识,掌握数据库开发系统的基本思路和方法,利用所学的基本知识和技能,发挥自学能力和查找资料的能力,通过一个实例,运用数据库开发中各个环节,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为后续各门计算机课程的学习打下坚实基础。具体本系统的任务有:
1. 通过本课程设计的实践及其前后的准备与总结,复习、领会、巩固和运用软件工程课堂上所学的数据库知识
2.使学生通过参加小组团队的开发实践,了解项目管理、团队合作、文档编写、口头与书面表达的重要性。
3.使每个学生了解软件工具与环境对于项目开发的重要性,并且重点深入掌握好一、两种较新或较流行的开发工具或计算机应用技术、技能(比如,网页设计技术与常见工具;基于Java(ASP、PHP等)技术的Web编程;软件开发文档编制工具Office、Visio、Rose等;商用数据库Access(或SQL Server、Oracle、MySql等)设计与实现;客户机/服务器结构)。
对于水费收费等行业,快速有效地数据整理是吸引用户、提高经济效益的关键因素。越来越多的水费收费机构用水费管理系统来管理日常工作,合理配置资源,提升管理水平,从而在市场竞争中取得优势。
名称:水费收费管理信息系统
功能:用户信息的添加、修改、删除和查询。 水费类型信息的修改、删除和查询。 水费价格信息的删除和查询。
新入用户信息的添加、修改、取消预定和查看详细信息。 登记信息和修改登记信息。 保存结算信息。
打印实收水费信息。
1
Download by http://www.codefans.net 三 、设计内容
(一) 可行性分析 1. 管理上的可行性
在传统的水费收费管理中,管理人员不得不花费大量的时间来处理水费信息,例如错误查询、烦琐的登记和结帐手续、费用计算错误、水费资料不能及时提供等,从而工作效率。因此水费的管理人员迫切的需要一套水费收费管理信息系统对日常信息进行处理和维护。历史经验的积累使水费现有的管理制度和管理方法比较科学,规章制度比较齐全,原始数据比较正确。这些为系统的建设提供了有效的制度保障
2. 技术上的可行性
本管理信息系统将采用技术成熟的VB6.0做为前台开发工具。后台数据库采用微软公司的Access数据库,它的灵活性,安全性,和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技的飞速发展使硬件的更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
3.效益上的可行性
本系统的使用能大大提高员工工作效率,加速资金周转、降低各项成本及改善服务质量。能够取得良好的经济效益。水费收费系统除提供给管理人员的系统管理功能外,还能对用户开放,实现用户的查询信息功能,拥有完善的权限设置功能。
(二)需求分析
本系统主要有以下功能需求:
1.用户登录模块,主要用于用户的登录。用户权限分为管理员和普通用户。当用户输入用户名和密码后经过确认,才能进入宾馆客房管理信息系统,并拥有相应的权限。如果不是用户,拒绝进入。
2.水费管理模块,该模块是本系统的核心所在。主要用于对水费信息的管理,其中包括:
水费收费模块管理,主要包括信息的查询及缴费等基本操作。
水费查询管理模块,主要用于管理员及用户对水费查询管理等操作。
水费管理模块,主要用于用户水费信息的查看,修改,删除等基本操作。 打印管理模块,主要包括对水费信息缴费的情况打印的基本操作。
3.用户管理模块,该模块主要用于对用户的基本信息登记,以及浏览信息等操作。
4.账户管理模块,该模块用于对密码,权限等基本信息的修改添加等操作。
2
Download by http://www.codefans.net 根据需求分析总结的用户需求设计系统的体系功能模块图如下: 水费收费管理信息系统 信息编辑管理 水费收费管理 系统用户管理 基本信息管理 管水密用水收用用用实应 理费码户费费户户户收收员缴设 信类基登修删水水信费置息型本记改除费费息 报管管管信管管管管管管表理理理息理理理理理理 系统功能模块图
可以看到,本系统划分为四个功能模块,基本信息管理模块用于对用户及其水费情况进行管理,用户编辑管理模块主要用于用户状态的查看和用户信息的编辑。消费管理模块主要用于对用户消费进行入帐管理。报表管理模块提供给用户用来查看缴费基本情况的信息,系统信息模块用来对系统用户进行管理。
(三)业务描述:
(1.) 本系统用户分为系统用户和普通用户
(2.) 用水账户分为用户名、户号、住址等基本信息:
(3.) 用水账户一月产生一次水费信息:水务公司按照月为单位对用水户进行用水信息统计、收费
(4.) 用水信息包括:本月用水信息及应缴费数额。管理员对用水户会进行每月一次的信息收集,然后进行用户用水水价等信息计算出月水费然后进行收费
(5.) 用水账户存在水价调整的情况
(6.) 对于每一月水费信息 需要进行汇总处理,包括用水总量汇总、水费总额汇总、缴费汇总、应收账款汇总:水务公司会对每一个月的用水相关数据进行整体性把握,需要对用水月的所有用(和管辖组为单位)水量以及账款收取情况、应收账款情况进行总额统计。
(7.) 按照用水管理组打印全部用户基本信息:因业务需要,需要按用户缴费情况打印用户基本数据信息;
(8.) 单个用水户账户停表/补交欠费恢复用水功能;对于用水户根据业务需要应能单独提供其用水户的基本信息,以及其往月的用水记录;
(9.) 各种数据内容查询;
3
Download by http://www.codefans.net 由上述系统描述产生本系统的业务流程图: 开始 重试 否 是 失败 退出系统 用户登录 失败3次 成功 读取用户类型 用户管理 管理自己的用户信息 普通用户 水费管理 管理员 消费管理 管理自己和普通用户的用户信息 编辑管理
系统流程设计图
通过对系统流程图分析产生如下数据字典: 名字:水费 名字:用户户号 别名:别名:用户编号 描述:标识水费价格及其基本信息的关键域 描述:唯一标识客户管理信息的一个特定域 定义:水费=水费价格+水费类型 定义:用户户号=8{数字}8 位置:报表、用户信息 位置:用户信息、报表、管理信息 名字:管理员 名字:报表 别名:别名: 描述:对系统进行管理 描述:用于用户缴费后打印的水费清单 定义:管理员=管理员姓名+管理员密码+管定义:报表=用户户名+用户户号+缴费月份 理员权限 +用水量+当前水价+缴费数额+缴费日 位置:输出到打印机 期 位置:输出到打印机
(四)总体设计
1.针对水费收费管理信息系统的需求,通过对水费管理工作过程的内容和数据流程分析,设计如下所示的数据项和数据结构:
·水费基本信息,包括的数据项有:水费类型,水费状态,单价等。
·新添用户基本信息,包括的数据项有:用户户号,用户姓名,地址,操作员信息等。
·已有用户基本信息,包括用户户号,用户姓名,地址,基本水费信息,操作员等。
4
Download by http://www.codefans.net ·结算信息,包括的数据项有:用户户名,用户户号,地址,缴费月份,用水量,当前水价,缴费数额,缴费日期等。
·系统用户信息,包括的数据项有 :用户名,用户密码,用户权限。 有了上面的数据结构,数据项和数据流程,我们就能对系统进行数据库设计。
2.系统E—R图如下所示: 用户名 电话 用户权限 公司名称 1N 自来水公司 管理员 聘用 用户密码 地址 1 M M 管理 管理 管理 NNN 缴费金额 姓名 电话 缴费日期 用户户号 账户 用户 存在 11 水价缴费月份 地址 户号 用水量 3.根据E-R图转换成关系模式如下: 自来水公司(公司名称,电话,地址) 管理员(用户名,用户密码,用户权限) 用户(户号,姓名,电话,地址)
账户(用户户号,缴费日期,缴费月份,缴费金额,水价,用水量) 聘用(自来水公司,管理员) 管理(自来水公司,账户) 管理(管理员,账户)
4.数据库结构设计
数据库包含以下表:水费管理表、用户管理表、用户表、当前水价表
5
Download by http://www.codefans.net 1)用户表包含管理员(超级用户或普通用户)的姓名Char(50)、相应密码Char(40)及对应的权限Char(40)。用户表如(表一):
表一 用户表
编号 1 2 3
2)用户管理表包括用户缴费的总户号Int(4)、用户姓名Varchar(20)、用户居住地Varchar(50)以及用户当月所产生的费用Char(40)。用户管理表如(表二):
表二 用户管理表
编号 1 2 3 4 字段名称 总户号 户名 地址 总费用 数据类型 Int(4) Varchar(20) Varchar(50) Char(40) 说明 用户编号 用户姓名 用户所居住地 用户水费总金额 字段名称 User Password qx 数据类型 Char(50) Char(40) Char(40) 说明 用户的登录名, 必填字段 密码, 必填字段 用户的权限, 必填字段
3)水费管理表是本系统的关键,用于水费缴费及其查询。其包含用户缴费的
总户号Int(4)、用户姓名Varchar(20)、用户居住地Varchar(50)等缴费信息的基本信息,
以及用户当月所用的用水量Int(4)及产生的总费用Char(40)。如(表三)所示:
表三 水费管理表
编号 1 2 3 4 5 6 7 8 字段名称 总户号 户名 地址 用水量 当前单价 当前水费 应缴月份 缴费日期 数据类型 Int(4) Varchar(20) Varchar(50) Int(4) Char(40) Char(40) Date Date
说明 用户编号 用户姓名 用户所居住地 用户当月所用的水量 当月水费价格 用户应缴费数额 缴费月份 缴费日期 4)当前水价表是对当前水费的设置。水价表包括设置的水费价格信息以及应缴费的月份记录。如下(表四)所示:
表四 当前水价表
编号 1 2 字段名称 价格 应缴月份 数据类型 Char(40) Date 说明 当月水费价格 应缴费月份 6
Download by http://www.codefans.net 四、测试与评价
系统实现如下:
1)登录窗体Form11,如图所示:
2)主界面如图示:
3)账户管理设置页面:
7
Download by http://www.codefans.net 4)缴纳水费实现页面:
5)查询缴费情况:
6)编辑用户界面如图示:
8
Download by http://www.codefans.net 7)用户浏览查询界面:
8)水费设置页面
9)报表打印页面如图所示:
9
Download by http://www.codefans.net 五、结论
经过一个多月的设计和开发,这个水费收费管理信息系统基本完成。
虽然有些功能还有些问题没有调试好,界面也设计得不是很美观,其中在水费缴费记录查询中对已缴用户,未缴用户,以及用户历史缴费记录功能不是很完善,对这些记录的打印清单不是很方便,在这方面还有待改进。在用户用水量的查询,用水量的生成方面设置的也不够完善。
但在这期间借阅了大量有关系统设计的书籍,有单独将各个模块设计的,也有直接讲系统从早期系统分析设计到完成的,还看了专门讲VB的书。通过参阅其它系统,从中找到与自己系统相关的进行拼凑,还有对各个控件的设置、熟悉,在连接过程中走了很多弯路,但是在一路的模仿过程中自己也逐渐懂得了如何进行相关操作,不再像刚开始一头雾水,什么都不懂,也大概知道了如何开发一个系统,自己要做的是在今后的学习过程中进行完善,更深入地学习。
在本次的课程设计中,为搞清控件的使用方法、编程的各个难点、掌握面向对象的编程思想等很多方面的问题,才发现实践的重要性,尤其是要自己独自实践。
10
Download by http://www.codefans.net 六、致谢
通过与指导老师的交流、通过图书馆查看相关资料,我基本熟悉了整个系统的业务流程,这对后期的开发工作至关重要,在这里感谢我的指导老师彭三城老师,是他教会了我整个设计过程的方法。
经过整个课程设计期间的努力,我基本上完成了我的课题,在此感谢学校给我们提供了舒适的工作、学习环境,以及彭老师给予的悉心关怀与指导。此外,同学们在我这次课程设计中也给了我很大的帮助,我非常感谢。彭老师认真负责的工作态度、严谨的治学风格以及平易近人的为人,让我受益匪浅;开发的同时,和同学们之间的相互探讨也使我的知识上了一个台阶。在这段时间里,我除了完成了课程设计,更重要的是学到了兢兢业业,奋发向上的精神,这种精神是我今后人生前进道路上的一种力量。
再次感谢彭老师以及给过我帮助的同学。
11
Download by http://www.codefans.net 附录:源代码清单
缴纳水费模块的实现: 1.运行界面:
2.双击相应的控件,在控件的相应过程中编写代码:
窗体的load事件为: Private Sub Form_Load() Form21.Width = 7350 Form21.Height = 7395
Form21.Move (MDIForm1.Width - Form21.Width) / 2, (MDIForm1.Height - Form21.Height) / 4
Label5.Caption = Date End Sub
作用:使窗体居中显示。
12
Download by http://www.codefans.net 的代码如下:
Private Sub Command2_Click()
SQL = \"select * from 用户管理 where 总户号='\" & Trim(Text1(0).Text) & \"'\"
Data3.RecordSource = SQL Data3.Refresh
If Data3.Recordset.EOF Then
MsgBox \"没有此总户号!请重新输入[总户号]!\提示\" Text1(0).Text = \"\" Text1(0).SetFocus Else
For i = 1 To 9
Label1(i).Visible = True Next i
For i = 1 To 6
Text1(i).Visible = True Next i
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 End If End Sub
作用:先判断用户表中有没有此总户号,如有就收费,没有就提示用户。界面如下:
13
Download by http://www.codefans.net
的代码如下:
Private Sub Command1_Click() MsgBox \"已入库!\提示\"
Text5.Text = Val(Text5.Text) + Val(Text1(5).Text) Data1.UpdateRecord Text1(0).SetFocus Text1(0).Text = \"\" For i = 1 To 9
Label1(i).Visible = False Next i
For i = 1 To 6
Text1(i).Visible = False Next i
Text8.Visible = False End Sub
作用:收费入库,并提示收费员相关信息。
查询缴费情况模块的实现 1.运行界面:
14
Download by http://www.codefans.net 2.实现过程:
界面的实现方法同上,下面主要看关键代码: 单选按钮组的代码为:
Private Sub Option1_Click(Index As Integer) For i = 0 To 2
If Option1(0).Value = True Or Option1(1).Value = True Then Text1.Visible = True
DTPicker1.Visible = False Else
If Option1(2).Value = True Then Text1.Visible = False DTPicker1.Visible = True Else
MsgBox \"请选择查询的项!\提示\" End If End If Next i
Command1.Visible = True End Sub
主要选择查询的项。 “查询“的主要代码为:
Private Sub Command1_Click() If Option1(0).Value = True Then
SQL = \"select * from 水费管理 where 总户号='\" & Trim(Text1.Text) & \"'\"
Else
If Option1(1).Value = True Then SQL = \"select * from 水费管理 where 户名='\" & Trim(Text1.Text) & \"'\"
Else
If Option1(2).Value = True Then
SQL = \"select * from 水费管理 where 缴费日期='\" & Format(DTPicker1.Value, \"yyyy-mm-dd\") & \"'\"
End If End If End If
Data1.RecordSource = SQL Data1.Refresh
If Data1.Recordset.EOF Then
MsgBox \"没有您要查询的缴纳水费情况!\提示\" End If End Sub
主要作用:根据用户的选择,通过SQL语句查询并显示结果。
15
因篇幅问题不能全部显示,请点此查看更多更全内容