前言
数据库课程设计的目的是让学生在掌握数据库的相关理论知识后,将数据库与软件
开发相结合,熟悉掌握数据库设计和基于数据库的应用程序开发。为此,课程要求学生
选用主流 DBMS,自选某种高级程序设计语言,实现一个完整的以数据库为核心的 B/S
或 C/S 架构的应用系统。在仿真实战环境下开发一个以产品化为导向的基于数据库的应
用系统,掌握设计实现一个完整的产品化导向的数据库应用系统的流程和方法,包括需
求分析、数据库设计、应用程序设计。熟悉数据库操作,包括数据库连接、SQL、完整
性约束、索引,以及视图、触发器、存储过程等数据库对象的综合运用。加深理论基础,
包括关系数据库、数据库设计、事务、开发工具、编程经验、交流能力等。
目录
第一章 概述..............................................................1
第二章 需求分析..........................................................2
2.1 问题陈述..............................................................2
2.2 数据库功能概要........................................................2
2.3 数据流图..............................................................2
2.4 数据字典..............................................................4
第三章 概念结构设计......................................................7
3.1 全局 E-R 图............................................................7
3.2 局部 E-R 图............................................................8
第四章 逻辑结构设计.....................................................10
4.1 基本表关系模式.......................................................10
4.2 定义视图.............................................................11
4.3 定义索引.............................................................11
4.4 授予权限.............................................................11
第五章 物理结构设计.....................................................12
5.1 创建数据库...........................................................12
5.2 创建基本表...........................................................12
第六章 软件功能设计.....................................................14
6.1 功能结构图...........................................................14
6.2 功能详细说明.........................................................14
第七章 代码设计和界面设计...............................................15
7.1 代码设计.............................................................15
7.1.1 创建触发器.........................................................15
7.1.2 连接数据库.........................................................15
7.1.3 用户缴费...........................................................16
7.1.4 删除缴费信息.......................................................17
7.1.5 修改缴费信息.......................................................19
7.1.6 查询缴费信息.......................................................21
7.1.7 生成用户水费报表...................................................22
7.2 界面设计.............................................................23
7.2.1 用户登录界面.......................................................23
7.2.2 用户注册界面.......................................................23
7.2.3 用户缴费界面.......................................................24
7.2.4 生成用户水费报表界面...............................................25
7.2.5 管理员界面.........................................................26
第八章 小结.............................................................27
参考文献.................................................................28
附录.....................................................................29
任 务 书
1、课程设计题目
水费收费管理系统
2、设计任务和内容
一个小型的水费收费管理系统的主要目的是实现从档案建立、抄表、计费、收费全
流程自动化管理。基本功能包括:基础数据管理、业务管理、收费管理等。系统还能够
即时统计、查询各类数据,以满足一般的大小供水供司或水厂以及物业管理等部门的需
要。
本课题任务是开发一个小型的水费收费管理系统系统,并撰写符合规范的课程设计
说明书以体现设计过程和设计结果。
3、设计步骤和要求
设计步骤:
首先进行相关资料查阅和学习,了解基本的业务流程和系统数据功能要求。然后结
合软件工程的理论和教材中数据库设计的六个阶段(重点是前三个阶段)完成设计任务,
即系统结构设计(需求分析、概念结构设计、逻辑结构设计、物理结构设计)和系统功
能设计。
设计要求:
1、撰写课程设计说明书。其要求如下:
( 1) 基本要求:
① 能反映完成了上述设计内容要求。
② 要求撰写不少于 5000 个文字(20 页)的文档。
③ 文档中至少要包括:数据流图、数据字典、E-R 图、数据库表的详细
说明、系统功能结构图、主要功能模块说明。
④ 课程设计说明书一律用碳素墨水书写,其中用户界面设计可以附界面
的计算机截图或手工绘图。
(2)文档格式要求(遵循数据库原理及应用课程设计大纲上的要求)
其中,正文部分:
①分章、层次等,每一章从新一页开始。
②章节安排可如下安排
.概述:包括项目背景、编写目的、软件定义、开发环境等内容。
.需求分析:问题陈述、需完成的功能。以数据流图和数据字典表达。
.概念结构设计:将上述需求分析的成果抽象为 ER 模型图。
.逻辑结构设计:把 ER 模型图转换为关系表;描述每一个基本表关
系。并进行规范化;定义视图、定义索引、主关键字、定义权限。
.软件功能设计:画出系统功能结构图,描述每个功能所完成的任务。
.代码设计和界面设计:给出主要功能的代码并有适当的说明;界面
设计要合理,给出主要界面。
2、一个可运行的水费收费管理系统原型。(可选)
教师签名:伊芸芸/胡冰
2020 年 6 月 5 日
概述
自来水的水费抄手是与千家万户密切相关的事情,很久以来,水费抄收全过程中的
各个环节都是由人工来完成的。这样做需要大量的人员才能完成水表的读数、数据记录、
收费、数据异常处理、账目及其他数据查询、各时段报表生成等工作,而且工作效率极
低。如果有用户要求查询用水信息,则要在大量的卡片和记录本中查找,根本不可能及
时响应用户的要求。同时,大量人工操作的介入难免在后期的数据处理中引入新的错误。
总之,传统的水费抄收方式费时费力,而且不能得到满意的效果,已经远远不能满足经
济高速发展的需要。
随着科学技术的不断提高,计算机科学日渐成熟,计算机在各个领域发挥着越来越
重要的作用。作为计算机应用的一部分,使用计算机对水费收费缴纳情况进行管理,具
有手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密
性好、寿命长、成本低等。这些优点能够极大地提高水费收费管理的效率,也是对水资
源收费的科学化、正规化管理,与先进科学技术接轨的重要条件。
本课程设计的目的是建立水费收费管理系统,采用计算机对水费信息进行管理,进
一步提高水费收费机构及用户的查询检索的便捷功能,实现其现代化水平。帮助工作人
员提高工作效率,实现水费信息管理工作流程的系统化,规范化和自动化。通过本课程
设计实现以下目标:能够直觉运用数据库管理原理的理论知识指导软件设计;学会数据
库的设计,并能对设计结果的优劣进行正确评价;增强对数据库课程的理解,学会综合
地、灵活地运用所学课程知识的一个重要的实践环节。
本课程设计是应用 SQL SERVER 2012 进行后台数据管理,并且用 JAVA 程序语言进
行数据库应用系统的开发,编写一个小型的水费收费管理系统。
1
需求分析
2.1 问题陈述
一个小型的水费收费管理系统的主要目的是实现从档案建立、抄表、计费、收费全
流程自动化管理。基本功能包括:基础数据管理、业务管理、收费管理等。系统还能够
即时统计、查询各类数据,以满足一般的大小供水供司或水厂以及物业管理等部门的需
要。
2.2 数据库功能概要
1.用户登录模块,用于用户的登录。用户权限分为管理员和普通用户。当用户输入
用户名和密码后经过确认,才能进入水费收费管理系统,并拥有相应的权限,若不是用
户,拒绝进入。
2.用户当月水费计算模块,根据当月用户用水量和水价,计算当月水费,并录入到
水费管理系统中,其中月份添加约束,格式为‘xxxx 年 xx 月’。
3.用户缴费模块,用户登录水费收费管理系统,根据水价以及用户的用水量确认水
费是否正确,接着进行水费缴费,缴费成功后系统将自动修改缴费记录为“已收”,并
录入信息系统。
4.计算本月结余模块,用户缴费完成后,系统根据应收费用与实收费用计算差值,
得到本月结余,并录入用户信息中。
5.增插删改模块,用户只拥有系统的查询和缴费权限,而管理员拥有增查删改等权
限,可实时检查用户的缴费情况,对用户的信息、缴费记录改正。
6.打印缴费记录模块,该模块可将用户的缴费记录,基本信息,水价信息,用水量
信息等打印出来,形成报表的形式。
2.3 数据流图
图 2.3.1 用户水费计费数据流图
2
图 2.3.2 用户缴费数据流图
图 2.3.3 自动计算结余数据流图
3
图 2.3.4 用户管理员权限数据流图
2.4 数据字典
用户数据字典:
属性名
用户 ID
姓名
地址
联系方式
结余金额
存储代码
类型
备注
Uid
Uname
Address
Phone
Money
CHAR(7)
CHAR(10)
CHAR(30)
CHAR(11)
SMALLINT
剩余金额
用户账号数据字典字典:
属性名
用户 ID
密码
存储代码
类型
备注
Uid
CHAR(7)
Password
CHAR(10)
管理员数据字典:
4
属性名
存储代码
类型
备注
管理员 ID
姓名
联系方式
Aid
Aname
Phone
CHAR(7)
CHAR(10)
CHAR(11)
水价数据字典:
属性名
月份
水价(元/吨)
存储代码
类型
备注
Month
Price
CHAR(20)
SMALLINT
每月水价
用户用水信息数据字典:
属性名
用户 ID
月份
用水量
存储代码
类型
备注
Uid
Month
CHAR(7)
CHAR(20)
WaterAmount
SMALLINT
本月用水量
用户水费信息数据字典:
属性名
用户 ID
月份
存储代码
类型
备注
Uid
Month
CHAR(7)
CHAR(20)
水费费用
ShouldCost
SMALLINT
水价*用水量
收费标志
Mark
CHAR(4)
默认‘未收’
缴费登记数据字典:
属性名
用户 ID
月份
存储代码
类型
备注
Uid
Month
CHAR(7)
CHAR(20)
5