1.1 概述
本系统是青岛海信日立空调有限公司为使用其空调的用户而开发的,以便于小区管理员精确的分配、计算各空调用户的用电量及电费。开发该系统最主要的目的是计量电费,即系统按照何种比例及分配策略把电费分给各个用户。
全文从数据库设计和系统设计两个角度详细介绍了本系统的设计方法和涉及的各种技术。在此基础上,阐述了整个系统的实现思路,以及实现过程中遇到的各种问题。在总结系统已经实现的功能基础上,对该系统将来可进一步扩展的地方进行了介绍。
对数据库和系统的设计是基于需求分析的基础上进行的。本文从该系统研究的背景、目前应用现状为出发点,对系统进行系统规划,写出可行性分析报告。在此基础上,对系统进行需求分析,归纳系统应具备的功能。通过对当前流行的开发工具以及数据库的比较,并结合本系统的技术可行性,我们最终选用Visual Basic 6.0和SQL Server 2000作为搭建平台。
开发一个好的系统,首先要进行数据库的设计。本文从数据库系统的基本概念出发,按照数据库的设计步骤及原则对本系统数据库的设计过程进行了详细的介绍。其中设计系统的顶层数据流图、E-R图以及数据库的建表过程是数据库设计部分的重要环节。
数据库创建以后,就要利用Visual Basic 6.0进行窗体的设计。本系统窗体的设计过程涉及到很多方面的技术,比如:VB报表设计方法、计算机串口通信及RS232串接口编程。将需求分析阶段总结的系统的各项功能进行集中、分块,按照结构化程序设计的要求,得到系统功能模块图。根据功能模块图,对系统进行详细设计,本文主要介绍各个窗体的实现功能及设计时的思路,以及如何用Visual Basic 6.0中的MSComm控件实现串口通信。
文章对系统测试过程中发现的问题进行了简单的介绍,并提出了解决问题的办法。在系统功能实现的基础上,对该系统做了客观的评价,指出了系统先进的地方以及有待改进的地方。为使该系统更能适应实际工作的需要,在文章最后介绍了本系统所实现的功能以及将来可以进一步扩展的功能,并总结了自己在设计过程中的一些体会和心得。
1.2 空调电费计量系统研究的背景
当前物业管理行业的快速发展,使物业管理公司面临着新的挑战。作为物业管理公司的管理者,经常面临诸如工作效率偏低等问题,导致物业管理行业经济效益低下。要提高市场竞争力,就要有完善的管理系统来实现机器的运转和数据的转存。如果开发一个空调电费计量系统,那么将使电费计量系统摆脱以前复杂的容易产生混乱的手工操作,电费管理将变得简单而有序化,而且极少产生错误。这样就为管理者提供了一个安装方便、使用成本低廉、操作简捷的实时管理系统,极大的提高运作效益。
电费计量的管理是不容出错的,其读取电表数值、计算电费以及按比例分配给各用户的电费金额等这些琐碎而又细致的工作,工作量是很大的,而且要求达到一定的精度。如果是手工管理这些工作的话,那将耗费工作人员大量的时间和精力,且存在如下几个难以解决的问题:
1.工作量大,用户数多,查阅困难,影响准确度。
2.对于在不同时间有不同电价的情况,手工操作很难实现。
3.市场(空调供应商、用户)的信息不及时。
4.手工信息处理效率不高,影响了员工的积极性。
在当前行业竞争日趋激烈的市场环境下,必须运用先进的IT信息技术和现代管理思想,提高物业管理行业的管理水平、工作效率、服务质量,降低运营成本,提高经济效益,最终提高物业管理公司的核心竞争力。用计算机来管理这些信息是非常方便的,而且出错率小,可靠性高,查找方便,存储量也大。这些优点能够极大地提高对计量电费管理的效率,也是管理趋向信息化的重要条件。从而开发一个电费计量管理系统是非常必要的。
第2章 需求分析
2.1 空调电费计量系统需求分析
需求分析阶段是空调电费计量系统开发十分重要的阶段。我们在开发此系统之初,首先理解了用户所有可能的需求,然后严格的定义了该系统的需求规格说明书。理解需求是在问题及其最终解决方案之间架设桥梁的第一步。只有充分理解了需求之后才能开始设计系统,否则,对需求定义的任何改进,在设计上都必须大量的返工。
该系统的实际开发背景为:用户在实际使用空调时,一个用户可能使用一台空调室内机,也可能使用多台室内机,而一台室内机只能为一个用户所使用。同时,一台室外机有可能只有一台室内机,也可能有多台室内机,一台室内机只能属于一台室外机。正因为有了这样一个错综复杂的关系,在为每个用户计算所用的电费时,经常会出现漏算或多算的情况,导致准确度降低。
本系统涉及到室内机、室外机、电表、集中器等设施。系统管理员将各用户及其使用的空调信息通过系统中的新增功能添加到数据库中。当用户使用空调时,室内机运转,对应的室外机也同时工作。此时,连接在室外机上的电表会读取室外机消耗的电量,电表走的度数就是该室外机所消耗的电量。当同时有多台室外机运转时,就会有多个电表工作。这时,连接在这些电表上的集中器会通过系统内部设定的命令读取集中器存取的数据,并保存在数据库中。系统在每天零点,会自动生成一个Excel文件,生成文件的后缀为*.CSV,并保存在系统设定好的目录下。当第二天执行操作时,系统会自动读取前一天生成的文件作为运转数据。
第3章 数据库设计
数据库设计是建立数据库及其应用系统的技术,是本系统开发和实现的核心技术。它把系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使系统可以方便、及时、准确地从数据库中获得所需的信息。具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足用户的应用需求。
设计数据库系统的目的是为了管理大量的信息。数据库的设计原则有:
1.一致性原则
对信息进行统一,协调好数据源,做到“数出一门”、“算法统一”、“度量一致”。保证系统数据的一致性和有效性。
2.完整性原则
数据库的完整性是指数据的正确性和相容性。要防止合法用户使用数据库时向数据库加入不合语义的数据,对输入到数据库中的数据要有审核和约束机制。
3.安全性原则
数据库的安全性是指保护数据,防止非法用户使用数据库或合法用户非法使用数据库造成数据泄露、更改或破坏,要有认证和授权机制。
4.可伸缩性原则
数据库结构的设计应充分考虑发展的需要、移植的需要,具有良好的扩展性、伸缩性和适度冗余。
5.规范化
数据库的设计应遵循规范化理论,规范化程度过低的关系,可能会存在插入、删除异常、修改复杂、数据冗余等问题,解决的方法就是对关系模式进行分解或合并(规范化),转换成高级范式。规范化一共有六个级别:1NF,2NF,3NF,BCNF,4NF,5NF。但并不是规范化程度越高的关系就越好。所以在具体应用时,到底规范化进行到什么程度需要权衡利弊。一般而言,做到第三范式(3NF)就足够了。
设计数据库时应该充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。下面就以数据库的设计过程为主线,详细介绍数据库设计各个阶段的设计内容、设计方法和工具。
3.1 数据库需求分析
用户的需求具体体现在对各种信息的提供、保存、更新和查询。这就要求充分了解原系统的工作概况,明确用户的各种需求,在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充,数据库结构应能充分满足各种信息的输入和输出。
针对空调电费计量系统的需求,通过对电费计量工作过程的内容和数据流程分析,收集基本数据、数据结构,设计下面的数据项和数据结构:
1.用户信息,包括的数据项有用户编号、用户名称、联系人、加入系统日期等。
2.室内外机信息,包括的数据项有用户编号、室内机号、室外机号、电表号、HARC号等。
3.电费时段信息,包括的数据项有时段数量、起始时间、电价等。
4.查询信息,包括的数据项有用户名称、工作的机器号、用电时间、用电量、电费等。
有了上面的数据结构和数据项,就可以进行下面的数据库设计。根据系统需求分析,可以画出该系统的数据流图,如图3.1。