自来水公司收费管理系统_第1页
自来水公司收费管理系统_第2页
自来水公司收费管理系统_第3页
自来水公司收费管理系统_第4页
自来水公司收费管理系统_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上专心-专注-专业1 自来水公司收费管理系统需求分析1.1 开发背景 随着城市人口的增多,以及人民生活水平的提高,各种用水清洁型电器大量涌入寻常百姓家,致使用水大涨,给水费收缴人员的管理带来了很大的不便,常常在自己的办公桌上着一叠叠得计录册,很难在其中进行查询及修改操作,为了减轻水电收缴人员的工作负荷,同时也为了方便用户对水电用量及水电收费情况的查询,我们决定设计一个应用软件系统也就是水电缴费管理系统。 城市公用事业(特指水、电、气、热)的对外窗口服务是每个城市最基本和必需的服务,服务质量的高低,可以直接影响到城市的形象甚至社会经济活力。城市公用事业的对外窗口服务是面对

2、城市千家万户,具有广泛性、多样性、连续性、公开性、准确性、及时性和方便性等重要特性。要使服务能够优质、经济、高效地提供给市民,开发和应用自来水收费管理系统用户自由查阅个人的用量及缴费情况等手段。这种自来水收费管理系统在一定程度上方便了用户和自来水管理工作人员,但作用是有限的。 由于城区不断扩大,用户缴费不便,不得不增加营业点,加重了企业的负担;,实现无论何时、何地都能够为市民提供咨询、投诉、报修甚至缴费等立体服务,已成为自来水收费单位对外窗口服务的必然趋势。 自来水收费管理的计算机化是小区物业管理信息化、现代化和规范化的有力手段,是对物业管理的一次变革,具有十分重要的意义。物业管理要创一流水平

3、,体现一流质量,实现现代化管理势在必行。为了促进水费收缴工作目标的实现,提高水费收缴工作人员的工作效率,实现水费收缴工作由原始的手工操作到无纸化、自动化的技术变革,有必要开发一套自来水收费管理系统。自来水收费管理系统是针对目前水费收缴困难麻烦等情况下设计出的管理软件,是一个实用的管理信息系统,管理员可以通过相应的模块,对数据库中的信息进行更新、删除和查询,对水电基本用量信息报表生成,对使用该系统的管理 员信 息进 行 更 新、删 除,还 有 操 作员 管 理,权 限设置,密码 修改,数 据 备份 与系统恢复等其他系统管理功能。因为本系统具有高透明性,所以相关用户可以对自来水使用缴费信息以及资费

4、信息进行查询。 通过本系统的应用,可以加强对水电使用信息的管理,减轻管理员的工作负担,提高工作效率。使用户可以更及时有效的查询并交纳水电费,实现水电缴费管理的科学化、现代化。1.2 系统主要业务分析1.2.1 客户信息管理业务分析客户信息管理业务分为增加客户信息、修改客户信息、删除客户信息、查询客户信息等。该业务的主要业务是针对客户信息管理。增加客户信息是在新增了一个用水客户的情况下对客户信息表的操作,客户申请开户,然后客户填写客户基本信息表,业务员则根据客户所填的表在客户信息表中增加一条客户的信息记录。1.2.2 用水类型管理业务分析用水类型管理业务分为增加用水类型信息、修改用水类型信息、删

5、除用水类型信息、查询用水类型信息等。该业务的主要业务是针对用水类型信息管理。修改用水类型信息是在某类型用水的价格有所变动的情况下对用水类型信息表的操作,管理员会根据改变的数据对表进行修改。1.2.3 业务员信息管理业务分析业务员信息管理业务分为增加业务员信息、修改业务员信息、删除业务员信息、查询业务员信息等。该业务的主要业务是针对业务员信息管理。增加业务员信息是在有新的业务员上班时管理员对业务员信息表的操作,管理员根据业务员的信息在业务员信息表中增加一条业务员的信息记录。1.2.4 客户用水信息管理业务分析客户用水信息管理业务分为增加客户用水信息、修改客户用水信息、删除客户用水信息、查询客户用

6、水信息等。该业务的主要业务是针对客户用水信息管理。增加客户用水信息是在每个月的月初对上个月的所有客户的用水信息进行增加。1.2.5 客户费用管理业务分析客户费用管理业务分为增加客户费用信息、修改客户费用信息、删除客户费用信息、查询客户费用信息等。该业务的主要业务是针对客户费用管理。当增加客户费用信息时,系统会自动计算好上个月的水费插入,当客户缴费后收费标志会自动修改。1.2.6 收费登记业务分析收费登记业务分析就是对客户缴费进行登记,其中包括客户号、月份、应收费用、实收费用、业务员号等。1.3 系统功能需求分析1.3.1 客户信息管理功能分析客户信息管理功能分为开户、修改客户信息、注销客户信息

7、、查询指定月份未交水费的客户信息、查询指定客户的信息等。下面给出客户信息管理的需求:(1) 开户:新增一条客户信息包括客户编号、客户姓名、住址、联系电话、余额等信息。(2) 修改客户信息:对客户信息进行修改。(3) 注销客户信息:删除申请注销客户信息的客户信息。(4) 查询指定月份未交水费客户信息:显示在指定月份没用交水费的用户信息,以便催费。(5) 查询指定客户信息:显示指定客户的信息。1.3.2 用水类型管理功能分析用水类型管理功能分为增加用水类型信息、修改用水类型信息、删除用水类型信息、查询用水类型信息等。下面给出用水类型管理的需求:(1) 增加用水类型信息:新增一条用水类型信息包括用水

8、类别号、用水类别名、水价、最大用水量、超出价格等信息。(2) 修改用水类型信息:对用水类型信息进行修改。(3) 删除用水类型信息:删除已取消的用水类型信息。(4) 查询用水类型信息:显示用水类型的基本信息。1.3.3业务员管理功能分析业务员管理功能分为增加业务员信息、修改业务员信息、删除业务员信息、查询业务员信息等。下面给出业务员管理的需求:(1) 增加业务员信息:新增一条业务员信息包括业务员编号、业务员姓名、性别、出生日期、住址、密码、营业点等信息。(2) 修改业务员信息:对业务员信息进行修改。(3) 删除业务员信息:删除已注销的业务员信息。(4) 查询业务员信息:显示业务员的基本信息。1.

9、3.4 客户用水信息管理功能分析客户用水信息管理功能分为增加客户用水信息、修改客户用水信息、删除客户用水信息、查询客户用水信息等。下面给出客户用水信息管理的需求:(1) 增加客户用水信息:新增一条客户用水信息包括客户号、月份、用水类别号、用水量等信息。(2) 修改客户用水信息:对客户用水信息进行修改。(3) 删除客户用水信息:按要求删除一条客户用水信息。(4) 查询客户用水信息:显示指定月份或指定客户的客户用水信息。1.3.5 客户费用管理功能分析客户费用管理功能分为增加客户费用信息、修改客户费用信息、删除客户费用信息、查询客户费用信息等。下面给出客户费用管理的需求:(1) 增加客户费用信息:

10、新增一条客户费用信息包括客户号、月份、费用、收费标志等信息。(2) 修改客户费用信息:对客户费用信息进行修改。(3) 删除客户费用信息:按要求删除一条客户费用信息。(4) 查询客户费用信息:显示指定客户或指定月份客户费用信息。1.3.6 收费登记功能分析收费登记功能只有对客户缴费进行登记这一功能。新增一条收费登记信息包括客户号、月份、应收费用、实收费用、业务员编号等信息。1.3.7 数据流图1.4 系统数据模型根据上面所述的业务流程,可以得到系统的数据流图。根据业务流程以及对应的数据流图,可以得到数据字典。根据得到的数据字典,我们可以得到各个实体的属性图。以下就是主要实体的数据字典和实体图。客

11、户的数据项有:客户编号、客户姓名、住址、联系电话、余额等;由客户的数据项可以得到其相应的实体属性图,如图所示:业务员的数据项有:业务员编号、业务员姓名、性别、出生日期、住址、密码、营业点等;由客户的数据项可以得到其相应的实体属性图,如图所示:用水类型的数据项:用水类别号、用水类别名、水价、最大用水量、超出价格等;由客户的数据项可以得到其相应的实体属性图,如图所示:管理员的数据项:管理员编号、管理员、姓名、性别、出生日期、住址、密码等;由客户的数据项可以得到其相应的实体属性图,如图所示:收费登记的数据项:客户号、月份、应收费用、实收费用、业务员编号等;由客户的数据项可以得到其相应的实体属性图,如

12、图所示:客户用水的数据项:客户号、月份、用水类别号、用水量等;由客户的数据项可以得到其相应的实体属性图,如图所示: 客户费用的数据项:客户号、月份、费用、收费标志等;由客户的数据项可以得到其相应的实体属性图,如图所示:由上述各实体及其属性可以得到实体间的关系图即ER图,如下图所示:1.5 数据字典1.5.1数据项Administration表数据项名数据项类型长度是否是关键字是否为空数据项含义数据项说明ad_id Char 5是否管理员编号主码ad_namee Char 10否否管理员姓名sexChar 2否否性别birthdaydatetimee否否出生日期telChar11否否联系电话ad

13、dressChar50否否住址passwordchar6否否密码Customer表数据项名数据项类型长度是否是关键字是否为空数据项含义数据项说明Cust_id Char 5 是否客户编号主码Cust_nameChar100否否客户姓名addressChar50否否住址telChar11否否联系电话Use_moneyfloat否否余额Customer_cost表数据项名数据项类型长度是否是关键字是否为空数据项含义数据项说明Cust_idChar5是否客户编号主码,外码The_monthChar10是否月份主码,外码costFloat否否费用If_costchar4否否收费标记Employee表数

14、据项名数据项类型长度是否是关键字是否为空数据项含义数据项说明Emp_idChar5是否业务员编号主码Emp_nameChar10否否业务员姓名SexChar2否否性别birthdayDatetime否否出生日期addressChar50否否住址passwordChar6否否密码walkplaceChar20否否营业点telchar11否否联系电话Pay_report表数据项名数据项类型长度是否是关键字是否为空数据项含义数据项说明Cust_idChar5是否客户编号主码,外码The_monthChar10是否月份主码,外码Should_payFloat否否应收费用Last_payFloat否否实

15、收费用Emp_idChar5否否业务员编号Water表 数据项名数据项类型长度是否是关键字是否为空数据项含义数据项说明Water_idChar5是否用水编号主码Water_nameChar10否否用水名priceFloat否否价格Max_getInt否否最大用水量Over_costFloat否否超出费用 Water_use表数据项名数据项类型长度是否是关键字是否为空数据项含义数据项说明Cust_idChar5是否客户编号主码,外码The_monthChar10是否月份主码,外码Water_idChar5否否用水编号外码Water_numberfloat否否用水量1.5.2数据结构编号数据结构名

16、属性1客户表客户编号,客户名,住址,联系电话,余额2用水类型表用水类型编号,用水类型名,单价,最大用水量,超出费用3业务员表业务员编号,业务员姓名,性别,出生日期,联系电话,住址,密码,营业点4管理员表管理员编号,管理员姓名,性别,出生日期,联系电话,住址,密码5客户费用表客户编号,月份,费用,收费标记6客户用水表客户号,月份,用水类型编号,用水量7收费登记表客户号,月份,应收费用,实收费用,业务员编号1.5.3 数据流Administration表数据流编号A1名字管理员基本信息别名描述该自来水公司各个管理员的基本信息定义管理员基本信息=管理员编号+密码位置管理员输入Customer表数据流

17、编号A2名字客户基本信息别名描述该自来水公司各个客户的基本信息定义客户基本信息=客户编号+姓名+住址+联系电话位置业务员输入Customer_cost表数据流编号A3名字客户费用基本信息别名描述该自来水公司各个客户的客户费用基本信息定义客户基本信息=客户编号+月份+费用+收费标志位置业务员输入Employee表数据流编号A4名字业务员基本信息别名描述该自来水公司各个业务员的基本信息定义业务员基本信息=业务员编号+密码位置业务员输入Pay_report表数据流编号A5名字收费登记基本信息别名描述该自来水公司各个客户的收费登记基本信息定义收费登记基本信息=客户编号+月份+应收费用+实收费用+业务员

18、编号位置业务员输入Water表 数据流编号A6名字用水类型基本信息别名描述该自来水公司各个用水类型的基本信息定义用水类型基本信息=类型号+类型名+价格+最大用水量+超出价格位置管理员输入Water_use表数据流编号A7名字客户用水基本信息别名描述该自来水公司各个客户用水的基本信息定义客户用水基本信息=客户号+月份+用水类型号+用水量位置业务员输入1.5.4 数据存储数据存储名输入数据流输出数据流说明部分客户表客户信息客户信息该数据存储存储了客户的基本信息用水类型表用水类型信息用水类型信息该数据存储存储了用水类型的基本信息业务员表业务员信息业务员信息该数据存储存储了业务员的基本信息管理员表管理

19、员信息管理员信息该数据存储存储了管理员的基本信息客户用水表客户用水信息客户用水信息该数据存储存储了客户用水的基本信息客户费用表客户费用信息客户费用信息该数据存储存储了客户费用的基本信息收费登记表收费登记信息收费登记信息该数据存储存储了收费登记的基本信息1.5.4 数据处理Administration表数据加工编号B1数据加工名字管理员信息输入数据加工别名输入数据管理员编号,管理员姓名,性别,出生日期,联系电话,住址,密码输出数据管理员编号,管理员姓名,性别,出生日期,联系电话,住址,密码加工逻辑描述将管理员信息存入数据库中Customer表数据加工编号B2数据加工名字用户信息输入数据加工别名输

20、入数据客户编号,客户名,住址,联系电话,余额输出数据客户编号,客户名,住址,联系电话,余额加工逻辑描述将用户信息存入数据库中Customer_cost表数据加工编号B3数据加工名字用户费用信息输入数据加工别名输入数据客户编号,月份,费用,收费标记输出数据客户编号,月份,费用,收费标记加工逻辑描述将用户费用信息存入数据库中Employee表数据加工编号B4数据加工名字业务员信息输入数据加工别名输入数据业务员编号,业务员姓名,性别,出生日期,联系电话,住址,密码,营业点输出数据业务员编号,业务员姓名,性别,出生日期,联系电话,住址,密码,营业点加工逻辑描述将业务员信息存入数据库中Pay_repor

21、t表数据加工编号B5数据加工名字收费登记信息输入数据加工别名输入数据客户号,月份,应收费用,实收费用,业务员编号输出数据客户号,月份,应收费用,实收费用,业务员编号加工逻辑描述将客户的收费登记信息存入数据库中Water表 数据加工编号B6数据加工名字用水类型信息输入数据加工别名输入数据用水类型编号,用水类型名,单价,最大用水量,超出费用输出数据用水类型编号,用水类型名,单价,最大用水量,超出费用加工逻辑描述将用水类型信息存入数据库中Water_use表数据加工编号B7数据加工名字客户用水信息输入数据加工别名输入数据客户号,月份,用水类型编号,用水量输出数据客户号,月份,用水类型编号,用水量加工

22、逻辑描述将客户用水信息存入数据库中2 自来水公司收费管理系统逻辑结构设计2.1 系统模块划分由需求分析可知,整个系统可以划分为六个小模块,分别为:客户信息管理模块、用水类型信息管理模块、业务员信息管理模块、客户用水信息管理模块、客户费用管理模块、收费登记管理模块。如图所示:2.2 数据库逻辑结构设计数据库的关系模型根据数据模型来确定,即将关系模型转化为Sqlserver数据库系统所支持的实际数据模型,得到数据库的逻辑结构。在数据库的关系模型及系统处理过程中的数据的结构的基础上,获得系统数据库表以及表之间的关系。在本系统中,以下是系统中几个主要的数据库表结构,如表所示:管理员信息表编号字段名字段

23、类型备注说明字段约束1ad_id Char(5)管理员编号主键2ad_name Char(10)管理员姓名3sexChar(2)性别4birthdaydatetime出生日期5telChar(11)联系电话6addressChar(50)住址7passwordChar(6)密码客户信息表编号字段名字段类型备注说明字段约束1Cust_idChar(5)客户编号主键2Cust_nameChar(10)客户姓名3addressChar(50)住址4telChar(11)联系电话5Use_moneyfloat余额客户费用信息表编号字段名字段类型备注说明字段约束1Cust_idChar(5)客户编号主键

24、、外键2The_monthChar(10)月份主键3Costfloat费用4If_costChar(4)收费标志业务员信息表编号字段名字段类型备注说明字段约束1Emp_idChar(5)业务员编号主键2Emp_nameChar(10)业务员姓名3sexChar(2)性别4birthdaydatetime出生日期5addressChar(50)住址6telChar(11)联系电话7passwordChar(6)密码8WorkplaceChar(20)营业点收费登记表编号字段名字段类型备注说明字段约束1Cust_idChr(5)客户号主键、外键2The_monthChar(10)月份主键、外键3S

25、hould_payfloat应收费用4Last_payfloat实收费用5Emp_idChar(5)业务员编号外键用水类型信息表编号字段名字段类型备注说明字段约束1Water_idChar(5)用水类型号主键2Water_nameChar(10)用水类型名3pricefloat价格4Max_getint最大用水量5Over_costfloat超出费用客户用水信息表编号字段名字段类型备注说明字段约束1Cust_idChar(5)客户号主键、外键2The_monthChar(10)月份主键、外键3Water_idChar(5)用水类型号外键4Water_numberfloat用水量3 个人网上银行

26、功能设计3.1 增加信息操作-1 客户信息插入create procedure insert_customer(cust_id char(5),cust_name char(10),address char(50),tel char(11),use_money float)asinsert into customer(cust_id,cust_name,address,tel,use_money)values(cust_id,cust_name,address,tel,use_money);-2 用水类型信息插入create procedure insert_water(water_id ch

27、ar(5),water_name char(10),price float,max_get int,over_cost float)asinsert into water(water_id,water_name,price,max_get,over_cost)values(water_id,water_name,price,max_get,over_cost);-3 业务员信息插入create procedure insert_employee(emp_id char(5),emp_name char(10),sex char(2),birthday datetime,tel char(11)

28、,address char(50),password char(6),workplace char(20)asinsert into employee(emp_id,emp_name,sex,birthday,tel,address,password,workplace)values(emp_id,emp_name,sex,birthday,tel,address,password,workplace);-4 管理员信息插入create procedure insert_administrator(ad_id char(5),ad_name char(10),sex char(2),birth

29、day datetime,tel char(11),address char(50),password char(6)asinsert into administration(ad_id,ad_name,sex,birthday,tel,address,password)values(ad_id,ad_name,sex,birthday,tel,address,password);-5 客户用水信息插入create procedure insert_water_use(cust_id char(5),the_month char(10),water_id char(5),water_numbe

30、r float)asinsert into water_use(cust_id,the_month,water_id,water_number)values(cust_id,the_month,water_id,water_number);-6 客户费用信息插入create procedure insert_customer_cost(cust_id char(5),the_month char(10),if_cost char(4)asbegindeclare water_id char(5),price float,max_get int,over_cost float,cost floa

31、t,water_number floatselect water_id=(select water_id from water_use where cust_id=cust_id and the_month=the_month)select water_number=(select water_number from water_use where cust_id=cust_id and the_month=the_month)select price=(select price from water where water_id=water_id)select max_get=(select

32、 max_get from water where water_id=water_id)select over_cost=(select over_cost from water where water_id=water_id)if(water_number<=max_get)select cost=(water_number*price)if(water_number>max_get)select cost=(max_get*price+(water_number-max_get)*price)insert into customer_cost(cust_id,the_month

33、,cost,if_cost)values(cust_id,the_month,cost,if_cost)end;-7 收费登记信息插入create procedure insert_pay_report(cust_id char(5),the_month char(10),last_pay float,emp_id char(5)asbegindeclare should_pay floatselect should_pay=(select cost from customer_cost where cust_id=cust_id and the_month=the_month)insert

34、into pay_report(cust_id,the_month,should_pay,last_pay,emp_id)values(cust_id,the_month,should_pay,last_pay,emp_id)end;3.2 删除信息操作-1 客户信息删除create procedure delete_customercust_id char(5)asdelete from customerwhere cust_id=cust_id;-2 用水类型信息删除create procedure delete_waterwater_id char(5)asdelete from wat

35、erwhere water_id=water_id;-3 业务员信息删除create procedure delete_employeeemp_id char(5)asdelete from employeewhere emp_id=emp_id;-4 客户用水信息删除create procedure delete_water_usecust_id char(5),the_month char(10)asdelete from water_usewhere cust_id=cust_id and the_month=the_month;-5 客户费用信息删除create procedure d

36、elete_customer_costcust_id char(5),the_month char(10)asdelete from customer_costwhere cust_id=cust_id and the_month=the_month;-6 管理员信息删除create procedure delete_administratorad_id char(5)asdelete from administrationwhere ad_id=ad_id;-7 收费登记信息删除create procedure delete_pay_reportcust_id char(5),the_mon

37、th char(10)asdelete from pay_reportwhere cust_id=cust_id and the_month=the_month;3.3 触发器-创建删除客户信息触发器create trigger customer_deleteon customer instead of delete asbegindelete from customer_costwhere cust_id in(select cust_id from deleted)delete from water_usewhere cust_id in(select cust_id from delet

38、ed)delete from pay_reportwhere cust_id in(select cust_id from deleted)delete from customerwhere cust_id in(select cust_id from deleted)end;-创建插入收费登记信息触发器create trigger pay_coston pay_report for insert asbegindeclare pay float,use_money float,cust_id char(5),should_pay floatselect pay=(select last_pa

39、y from inserted)select cust_id=(select cust_id from inserted)select use_money=(select use_money from customer where cust_id=cust_id)select should_pay=(select should_pay from pay_report where cust_id=cust_id)select use_money=pay+use_money-should_payif(use_money>=0)beginupdate customer_costset if_c

40、ost='已收'where cust_id=cust_idupdate customerset use_money=use_moneywhere cust_id=cust_idendif(use_money<0)beginupdate customer_costset if_cost='未清'where cust_id=cust_idupdate customerset use_money=0where cust_id=cust_idendend;3.4 规则-创建规则使得月份符合格式“××××年×

41、5;月”,并邦定到表中相应字段;create rule the_month_rule as the_month like '_年_月'exec sp_bindrule the_month_rule, 'customer_cost.the_month'exec sp_bindrule the_month_rule, 'pay_report.the_month'exec sp_bindrule the_month_rule, 'water_use.the_month'3.5 查询信息操作-统计指定月份应收费用和实收费用create p

42、rocedure pay_informationthe_month char(10)as select sum(should_pay) 应收费用,sum(last_pay) 实收费用from pay_reportwhere the_month=the_month;-查询指定月份未交费用户信息create procedure unpaythe_month char(10)as select *from customer,customer_costwhere customer.cust_id=customer_cost.cust_id and (if_cost='未收' or if

43、_cost='未清')and the_month=the_month;-1 客户信息查询create procedure search_customercust_id char(5)asselect *from customerwhere cust_id=cust_id;-2 用水类型信息查询create procedure search_waterwater_id char(5)asselect *from waterwhere water_id=water_id;-3 业务员信息查询create procedure search_employeeemp_id char(5)asselect *from employeewhere emp_id=emp_id;-4 管理员信息查询create procedure search_administratorad_id char(5)asselect *from administrati

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论