智能抄表与无线采集.docx
《智能抄表与无线采集.docx》由会员分享,可在线阅读,更多相关《智能抄表与无线采集.docx(45页珍藏版)》请在冰豆网上搜索。
![智能抄表与无线采集.docx](https://file1.bdocx.com/fileroot1/2023-4/20/8f85f2ce-e53b-4484-ab27-f4164e8b00ad/8f85f2ce-e53b-4484-ab27-f4164e8b00ad1.gif)
智能抄表与无线采集
智能抄表与无线采集(设计)
系别:
计算机系
专业:
网络工程
组员:
组长:
指导教师:
时间:
目录
1引言2
1.1.net技术概述2
1.2WebServices技术概述3
1.3A技术概述3
1.4C#技术概述4
2系统分析4
2.1需求分析4
2.2对系统的综合要求5
3系统简介6
3.1系统的运行环境要求与安装方法6
3.1.1 运行环境6
3.1.2安装方法(以WinXP为例)7
4功能说明8
5功能程序类设计图8
5.1主要数据库结构图如下:
8
5.2数据表设计8
6主要功能代码和相关说明10
6.1数据库Helper层...................................................................................................................10
6.2Model层13
6.3DAL层15
6.4BLL层18
6.5登录器设置20
6.6用户设计表25
7系统优点32
7.1数据验证32
7.2人性化UI设计33
8成员小组分工....................................................................................................................................34
9总结34
参考文献:
35
1引言
随着计算机技术的迅猛发展,水电气抄表和管理的信息化发展也有长足的进步,这就要求各个环节都均衡发展,从软硬件双方面把学校建设成一流的信息管理、智能化的平台。
本文设计开发的智能抄表系统也是其中重要的一个方面。
该系统本着减轻电站的负担、提高工作效率、优化抄表管理流程,比传统的管理模式节省人力财力和时间。
系统分为四大模块:
WINFROM-UI模块、管理员后台管理模块、数据采集开发和Web用户UI模块。
其中用户前台UI模块主要是对数据库操作,是操作员用户访问本系统的最直接界面;Web用户UI模块主要实现用户查看电表信息,并对系统进行评估分析,对用电的各种情况了解,错误进行上报等.数据采集模块主要是对电表采集,并进行各种错误监控,紧急事件上报等功能.。
本系统基于.NET2.0平台和MicrosoftSQLServer2005数据库系统,通过本次设计,对.NET结构下开发B/S模式和C/S模式应用程序开发有了更全面更深入的了解。
系统选用的开发软件是MicrosoftVisualStudio2008,后台数据库为MicrosoftSQLServer2000,所使用的程序开发语言主要是:
c#2.0。
1.1.net技术概述
.NET是Microsoft的用以创建XMLWeb服务(下一代软件)平台,该平台将信息、设备和人以一种统一的、个性化的方式联系起来。
借助于.NET平台,可以创建和使用基于XML的应用程序、进程和Web站点以及服务,它们之间可以按设计、在任何平台或智能设备上共享和组合信息与功能,以向单位和个人提供定制好的解决方案。
.
1.2WebServices技术概述
WebServices是.NET的核心技术。
WebServices是新一代的计算机与计算机之间一种通用的数据传输格式,可让不同运算系统更容易进行数据交换。
WebServices秉承“软件就是服务”的真言,同时顺应分布式计算模式的潮流。
而它的存在形式又与以往软件不同。
这种组件模式,小巧、单一,对于开发人员来讲,开发成本较低。
1.3A技术概述
ASP.net能被用于一台Web服务器来建立强大的Web应用程序。
ASP.net提供许多比现在的Web开发模式强大的的优势。
(1)执行效率大幅提高
ASP.net是把基于通用语言的程序在服务器上运行。
ASP.net将程序在服务器端首次运行时进行编译,执行效果很高。
(2)世界级的工具支持
ASP.net构架是可以用Microsoft(R)公司最新的产品VisualS开发环境进行开发,WhatYouSeeIsWhatYouGet的编辑。
(3)强大性和适应性
因为ASP.net是基于通用语言的编译运行的程序,它有强大性和适应性,支持C#(C++和Java的结合体),VB,Jscript。
将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net。
(4)高效可管理性
ASP.net程序的设置更加简单。
配置信息都保存在简单文本中,使A的基于应用的开发更加具体,和快捷。
ASP.NET的语法与ASP兼容,可生成伸缩性和稳定性很好应用程序,并提安全保护。
可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能还有可以用任何与.NET兼容的语言创作应用程序。
另外,任何ASP.NET应用程序都可以使用整个.NETFramework。
1.4C#技术概述
C#编程语言是由微软公司专门为.NET平台设计的语言。
C#从C,C++和Java发展而来,这三种语言的特点,还有它自己的特性。
2系统分析
系统分析的主要任务是将文档资料集中到一起,对组织内部整体管理状况和信息处理过程进行分析。
分析的主要内容是:
业务和数据的流程是否通畅,是否合理;数据、业务过程和实现管理功能之间的关系;老系统管理模式改革和新系统管理方法的实现是否具有可行性等等。
系统分析的目的是将用户的需求及其解决方法确定下来,这些需要确定的结果包括:
开发者关于现有组织管理状况的了解;用户对信息系统功能的需求;数据和业务流程;管理功能和管理数据指标体系;新系统拟改动和新增的管理模型等等。
2.1需求分析
随着国内智能化系统的日益发展和完善,目前在大多数的高档的住宅小区中都开始安装远程抄表系统,作为现代化管理系统的重要组成部分,该系统发挥了相当重要的作用。
住宅区中每个住户家中的水表、电表、煤气表等计量表计。
其安装位置各异,有些表(如电表)集中安装,有些表(如水表)却分散在住户家中;这样就给管理部门的抄表统计工作带来困难。
逐户抄表时要耗费很多人力和时间,而且入户抄表很难一次完成,有时只能估计。
集中式抄表管理系统将使这些问题成为历史。
运用本系统后,再无需进行人工逐户抄表。
所有住户表计的计量值将由中心统一抄取。
抄一只表只需1秒钟,省时省力。
系统包括了水、电、气自动抄表和家庭防煤气泄漏以及管理部门对用户用水、用电、用气进行实时通断控制等多种功能。
在网络技术逐渐渗入社会生活各个层面的今天,传统的安全管理方式也面临着变革,而利用网络系统对电力水电等抄表是一个很重要的方向。
基于Web技术的安全评估系统可以借助于遍布全球的Internet进行,由此让安全管理无处不在,不受时间地域的限制,大大拓展了安全管理的灵活性。
通过对水电气的各种信息进行综合分析,复杂处理后,能及时对具有安全威胁的情况提出警告,更科学、更客观。
因此,基于Web技术的智能抄表与无线采集系统将是以后水电气管理发展的趋势。
本系统需要实现的功能包括:
2.2对系统的综合要求
第一,系统应建立友好的UI界面,既要操作简单、直观、灵活,又要易于学习掌握。
如果操作复杂,就失去了价值。
第二,系统应提供对外查询的接口,方便用户或管理员随时通过网络进行相关信息的查询。
第三,系统在应采用统一的登陆接口,即用户,超级管理员都能在同一登陆接口进行登陆,登陆后,能自己识别用户身份,最后进入相应的后台介面。
第四,系统应具有良好的安全性。
系统应遵循有关信息安全标准,具有切实可行的安全保护和保密措施,以及对计算机犯罪和病毒的防范能力,确保数据永久安全。
第五,系统的程序算法设计要合理、精简、易懂。
整个系统的程序算法设计要具有二次开发性,程序的编写要易懂,并有相关的注释说明。
第六,系统应可扩充、易维护。
系统应充分考虑到各站各户的各种变化如用户的增加、数据的增加等等,具备一定的扩充能力。
系统的模块化程度要高,维护要方便。
3系统简介
本系统是一套基于三层架构的智能抄表系统和相对应数据采集C/S终端。
主系统运行于服务器端,采用ASP.NET2.0+ADO.NET+C#+MicrosoftSQLServer2005+VS2008开发,客户端为WINFROM系统。
WINFROM端有客户管理、操作员管理、用电管理三大模块。
归于原因,只有客户管理添加/修改/删除系统用户等功能。
WEB客户端功能待开发中.......................
数据采集C/S终端待开发中.......................
3.1系统的运行环境要求与安装方法
3.1.1 运行环境
本系统主程序运行于服务器端。
运行环境为Win2000+IIS5或WinXP+IIS6,需要安装Framework2.0和MicrosoftSQLServer2005
桌面终端软件运行于客户端机器,安装本软件的基本配置:
X86系统处理器,128M以上内存,安装盘至少有20M以上的剩余空间。
Windows2000以上操作系统。
3.1.2安装方法(以WinXP为例)
1).WEBFROM还没开发,不用配置
//******将存放系统的文件夹复制到C:
\Inetpub\wwwroot下,在IIS中:
默认网站->右击属性->主目录->改为C:
\Inetpub\wwwroot\Web。
****//
2).还原数据表
附加
3).用记事本编辑Web.config文件,并修改如下的数据库连接字符串:
providerName="System.Data.SqlClient"/>
将其中的DataSource改成你的SQL服务名,还原数据库ZNCB,添加数据源zncbDataSet1即可访问。
4功能说明
5功能程序类设计图
5.1主要数据库结构图如下:
5.2数据表设计
1.表:
Customer(客户)
序号
字段名
类型
长度
默认值
允许空
主键
说明
1
C_ID
int
40
√
客户标识
2
C_PWD
Varchar
50
客户密码
3
C_Charge
varchar
50
收费类别标识
4
C_Name
varchar
50
姓名
5
C_Address
varchar
50
家庭住址
6
C_Telphone
varchar
50
√
联系电话
7
S_Security
varchar
50
权限
2.表:
Chargelist(缴费单)
序号
字段名
类型
长度
默认值
允许空
主键
说明
1
L_Num
int
40
√
缴费序号
2
C_ID
int
40
客户标识
3
L_Amount
int
40
缴费金额
4
L_Date
varchar
50
缴费日期
5
O_ID
int
40
操作员标识
3.表:
Operator(操作员)
序号
字段名
类型
长度
默认值
允许空
主键
说明
1
0_ID
int
40
√
操作员标识
2
O_PWD
varchar
50
操作员密码
3
O_Name
varchar
50
姓名
4
O_SexU
varchar
50
性别
5
O_Birth
varchar
50
出生年月
6
O_EYD
varchar
50
雇佣日期
7
O_Address
varchar
50
家庭住址
8
O_Telphone
varchar
50
联系电话
9
O_Mail
varchar
50
电子邮箱
10
S_Security
varchar
50
权限
4.表:
UseE(用电量)
序号
字段名
类型
长度
默认值
允许空
主键
说明
1
U_ID
int
40
√
序号
2
C_ID
int
40
客户标识
3
U_Use
int
40
本月用电量
4
U_Remain
int
40
剩余电量
5.表:
Standar(电费收费标准)
序号
字段名
类型
长度
默认值
允许空
主键
说明
1
S_ID
int
40
√
收费类别标识
2
S_Price
int
40
电费单价
6.表:
Message(抄表信息)
序号
字段名
类型
长度
默认值
允许空
主键
说明
1
M_ID
int
40
√
序号
2
C_ID
int
40
客户标识
3
M_Data
int
40
电度表读数
4
M_Date
varchar
50
抄表日期
7.表:
Security(全局权限)
序号
字段名
类型
长度
默认值
允许空
主键
说明
1
S_ID
int
40
√
序号
2
S_Security
varchar
50
权限
6主要功能代码和相关说明
6.1数据库Helper层(说明)
*说明:
抄表信息表实体类
*/
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Data.SqlClient;
usingSystem.Configuration;
usingSystem.Data.DataSetExtensions;
usingSystem.Data;
namespaceCB_SqlHelper
{
publicclassSqlHelper
{
privatestaticSqlDataAdapterDA;
privatestaticSqlDataReaderDR;
privatestaticSqlConnectionConn;
privatestaticSqlCommandCMD;
privatestaticDataSetDS;
publicSqlHelper()
{
//构造函数
Conn=newSqlConnection();
Conn.ConnectionString=@"DataSource=X3IWPXL14MQV5I5\SQLEXPRESS;InitialCatalog=zncb;IntegratedSecurity=True";
}
#region数据库连接
///
///数据库连接
///
///返回
publicSqlConnectionGetConn()
{
if(Conn.State==ConnectionState.Closed)
{
Conn.Open();
}
elseif(Conn.State==ConnectionState.Open)
{
Conn.Close();
}
returnConn;
}
#endregion
///
///该方法传入SQL查询语句返回DataSet
///
///
///
publicDataSetDataSetSearch(stringsql)
{
using(DS=newDataSet())
{
DA=newSqlDataAdapter(sql,Conn);
DA.Fill(DS);
returnDS;
}
///
///该方法传入SQL查询语句返回DataTable
///
///要执行的SQL
///
publicDataTableExecuteQuery(stringsql)
{
try
{
DataTableDT=newDataTable();
CMD=newSqlCommand(sql,GetConn());
using(DR=CMD.ExecuteReader(CommandBehavior.CloseConnection))
{
DT.Load(DR);
}
returnDT;
}
catch(ExceptionEX)
{
throwEX;
}
}
///
///该方法传入SQL查询语句返回SqlDataReader
///
///
///
publicSqlDataReaderreader(stringsql)
{
try
{
CMD=newSqlCommand(sql,GetConn());
DR=CMD.ExecuteReader();
returnDR;
}
catch(ExceptionEX)
{
throwEX;
}
}
///
///数据增删改操作返回INT类型
///
///要执行的SQL语句
///返回
publicintinsertEx(stringsql)
{
try
{
CMD=newSqlCommand(sql,GetConn());
intres=CMD.ExecuteNonQuery();
returnres;
}
catch(ExceptionEX)
{
throwEX;
}
}
}
6.2Model对象
代码:
(例子)
*说明:
客户表实体类
*/
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceCB_Model
{
publicclassCustomer
{
privateintid;
privatestringpwd;
privatestringcharge;
privatestringname;
privatestringaddress;
privatestringtelphone;
privatestringsecurity;
///
///获取或设置客户登陆帐户名
///
publicintID
{
get{returnid;}
set{id=value;}
}
///
///获取或设置用户密码
///
publicstringPWD
{
get{returnpwd;}
set{pwd=value;}
}
///
///获取收费类别
///
publicstringCharge
{
get{returncharge;}
set{charge=value;}
}
///
///获取姓名
///
publicstringName
{
get{returnname;}
set{name=value;}
}
///
///获取家庭地址
///
publicstringAddress
{
get{returnaddress;}
set{address=value;}
}
///
///获取联系电话
///
publicstringTelphone
{
get{returntelphone;}
set{telphone=value;}
}
///
///权限设置
///
publicstringSecurity
{
get{returnsecurity;}
set{security=value;}
}
}
}
6.3DAL层
代码(例子)
*说明:
客户列表DAL层
*/
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Data;
usingSystem.Data.SqlClient;
usingCB_SqlH