移动基站远程监控系统数据库课程设计Word下载.docx
《移动基站远程监控系统数据库课程设计Word下载.docx》由会员分享,可在线阅读,更多相关《移动基站远程监控系统数据库课程设计Word下载.docx(31页珍藏版)》请在冰豆网上搜索。
从而大大地降低了移动基站的维护费用,确保了基站设备的可靠性和安全性。
二总体方案设计
本次数据库课程设计是以SQLServer2000数据库作为后台以VB作为前台的应用型设计课程。
我们要做的是移动基站系统,这个软件的基本功能是接收移动基站(下位机)传送的各种数据并且将这些数据在控制中心的PC机(上位机)上显示出来,从而达到监控各个移动基站的目的。
下面是具体要求:
(1)使用VB编写;
(2)程序安装后直接生成快捷方式;
(3)双击快捷图标后进入该程序。
程序界面标题为:
“移动基站远程监控系统”,背景可以选取一张淡颜色的照片。
界面中下部有一对话框,要求输入“用户名”和“密码”。
(4)正确输入用户名和密码后,即可进入主界面。
(5)“参数设置”菜单中包含“逐个设置”和“统一设置”两个选项。
单击“参数设置”命令后,选择“逐个设置”和“统一设置”此时可以对“设定温度”进行更改。
选择“统一设置”时,单击“基站编号”旁边的“下一个”和“上一个”按钮,可以将基站编号顺序增加或减少一个数字。
选择“逐个设置”时在“基站编号”栏显示“全部”,更改设定温度后,单击设定温度右侧的“OK”按钮,返回主界面。
(6)“系统设置”菜单中有“添加用户”、“更改密码”、“添加基站”选项。
(7)“显示方式”菜单中有“全部循环显示”、“仅显示异常基站”、“循环显示间隔时间”、“显示时间”三个选项。
选择“全部循环显示”时,根据设置的“循环显示间隔时间”,按照基站编号顺序,循环显示每个基站的状况;
选择“仅显示异常基站”时,根据设置的“循环显示间隔时间”,循环显示异常基站的状况;
(8)执行“异常检测”命令后,系统随时统计出现异常情况的基站的数量,并循环显示所有异常基站的状况。
(9)所有基站的参数通过一个文本文件输入,改变文本文件的值,将改变基站的参数。
(10)根据编程过程中出现的情况,自行决定菜单及界面的组织安排,只要能够演示就行了。
系统设计:
1.系统功能设计
移动基站远程监控系统主要实现移动基站的集中监控以及异常报警等功能,该系统主要功能模块图如图3.1所示。
图2.1移动基站远程监控系统功能模块图
(1)基站管理
基站基站对象基本信息以及安全设定数据。
基站管理能够添加在基站表中添加或删除一个基站和修改基站现有数据。
(2)显示即监控方式设定
根据用户需要可以循环显示所有基站并能自行设定循环间隔时间,还能只显示异常基站。
(3)数据统计
统计异常基站的数目。
(4)用户管理
包括用户注册和用户登录认证。
这里用户注册时指软件安装在任何一台机器上,程序会根据计算机物理设备编号(如硬盘号或网卡物理地址等)计算出一个唯一的机器码,然后机器码通过统一的数据变换生成注册码,变换方法根据加密的要求而采用不同的算法,达到软件加密的目的。
用户只有正确的提供了机器码和注册码才能登入到软件系统。
2.数据库设计
(1)数据库概念结构设计
根据上面的设计,所涉及的数据只有基站的设定信息和基站的实时信息。
它们分别可以为一个实体:
基站和基站当前状态,分别如图3.2和图3.3所示
基站
基站编号
基站名称
电池电压
安全温度
内部湿度
外部湿度
停电
异常
图2.2基站实体
图2.3异常基站实体
图2.4用户信息实体
(2)数据库逻辑结构设计
现在需要将上面的数据库概念结构转化为SQLServer2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
在上面的实体基础上,形成数据库中的表。
移动基站远程监控系统数据库中的各个表的设计如表2.1、表2.2和表2.3所示。
每个表表示在数据库中的一个数据表
表2.1base_info基站信息
表2.2abnormal_info异常基站
表2.3user_info用户信息
三详细设计
1.数据库的建立与设计:
通过SQLSERVER的企业管理器可以十分容易的建立后台数据库。
2.VB界面的建立设计以及程序的编写说明:
VB是在Windows操作平台下,用于开发和创建具有图形用户界面的应用程序的强有力工具之一。
VB为开发Windows应用程序不仅提供了全新的相对简单的方式,而且也引进了新的程序设计方法——面向对象的设计方法(00P)。
从传统的面向过程的程序设计,转移到更先进的面向对象的程序设计,无论是对老的程序员,还是初学者,都是一个挑战。
而学习VB,则是掌握这一新的程序设计方法的一条捷径。
(1).界面的设计和程序的编写:
frmLogin用于登陆此系统的登录界面
frmMain是主窗体,在这上面建立相应的菜单主界面
如:
系统设置——添加用户(frmadduser)、删除用户(frmdeluser)、更改密码(frmmodipwd)、添加基站(frmaddbase)、报警值(frmalarmtime)
显示方式——全部循环显示、仅显示异常基站、循环显示间隔时间(frminterval)、显示时间(frmtime)
关于(frmAbout)
主界面代码:
DimtxtSQLAsString
DimmrcAsADODB.Recordset
DimMsgTextAsString
DimrcountAsInteger
DimabcontAsInteger
DimflagAsInteger
PrivateSubabnormity_Click()
DimtxtSQL1AsString
Dimmrc1AsADODB.Recordset
DimMsgText1AsString
txtSQL="
select*frombase_Info"
Setmrc=ExecuteSQL(txtSQL,MsgText)
txtSQL1="
select*fromabnormal_Info"
Setmrc1=ExecuteSQL(txtSQL1,MsgText1)
Ifmrc.EOF=TrueThen
MsgBox"
日前没有移动基站的数据,无导常情况!
"
vbOKOnly+vbExclamation,"
警告"
Else
Fori=0Tomrc.RecordCount-1
IfTrim(mrc.Fields
(2))="
Then
mrc.Fields
(2)="
0"
EndIf
If(Val(mrc.Fields
(2))>
35Andht>
hts)=TrueThen
mrc.Fields(7)="
是"
mrc.Update
DoWhile(mrc1.EOF=False)
IfTrim(mrc1.Fields(0))=Trim(mrc.Fields(0))Then
flag=1
ExitDo
mrc1.MoveNext
Loop
Ifflag<
>
1Then
mrc1.AddNew
mrc1.Fields(0)=mrc.Fields(0)
mrc1.Fields
(1)=mrc.Fields
(1)
mrc1.Fields
(2)=mrc.Fields
(2)
mrc1.Fields(3)=mrc.Fields(3)
mrc1.Fields(4)=mrc.Fields(4)
mrc1.Fields(5)=mrc.Fields(5)
mrc1.Fields(6)=mrc.Fields(6)
mrc1.Update
flag=0
GoTokk
IfTrim(mrc.Fields(5))="
mrc.Fields(5)="
If(lv>
lvsAndVal(mrc.Fields(5))<
=18)=TrueThen
IfTrim(mrc.Fields(6))="
mrc.Fields(6)="
If(st>
stsAndTrim(mrc.Fields(6))=Trim("
1"
))=TrueThen
IfTrim(mrc.Fields(4))="
mrc.Fields(4)="
If(Val(mrc.Fields(4))>
80)=TrueThen
否"
kk:
mrc.MoveNext
Nexti
mrc.MoveFirst
IfTrim(mrc.Fields(7))="
abcount=abcount+1
frmMain.abnormalsum.Text=Str(abcount)
异常检测完成,请到“异常显示”菜单项中查看各异常记录!
添加用户"
EndSub
PrivateSubabout_Click()
frmAbout.show
PrivateSubaddbaseweb_Click()
frmaddbase.Left=frmaddbase.Left+4000
frmaddbase.Top=frmaddbase.Top+4000
frmaddbase.show
PrivateSubalarmtime_Click()
frmalarmtime.show
frmalarmtime.Left=frmalarmtime.Left+3500
frmalarmtime.Top=frmalarmtime.Top+3500
PrivateSuballcysshow_Click()
日前没有移动基站的数据,无法循环显示!
Timer2.Enabled=True
PrivateSubcoditionshow_Click()
日前没有异常移动基站的数据,无法循环显示!
Timer3.Enabled=True
PrivateSubcycinteral_Click()
frminterval.show
PrivateSubexit_Click()
End
PrivateSubForm_Load()
Timer1.Enabled=True
ok.Visible=False
last.Visible=False
next1.Visible=False
yesok.Visible=False
Label14.Visible=False
Label15.Visible=False
Label16.Visible=False
Label17.Visible=False
Ifusername="
admin"
menuSystem.Enabled=True
menuSystem.Enabled=False
txtdata.Text=Date
txtime.Text=Time
PrivateSublast_Click()
mrc.MovePrevious
Ifmrc.BOF=FalseThen
txtbaseno.Text=mrc.Fields(0)
Ifmrc.Fields
(1)<
"
txtbasename.Text=mrc.Fields
(1)
txtbasename.Text="
Ifmrc.Fields
(2)<
txtintemperature.Text=mrc.Fields
(2)
txtintemperature.Text="
Ifmrc.Fields(3)<
txtoutemperature.Text=mrc.Fields(3)
txtoutemperature.Text="
Ifmrc.Fields(4)<
txthumidity.Text=mrc.Fields(4)
txthumidity.Text="
Ifmrc.Fields(5)<
txtvoltage.Text=mrc.Fields(5)
txtvoltage.Text="
next1.Enabled=True
'
mrc.MoveFirst
last.Enabled=False
PrivateSubmenuAdduser_Click()
gintMode=1
frmadduser.show
frmadduser.ZOrder0
PrivateSubmenudeluser_Click()
gintMode=1
frmdeluser.show
frmdeluser.ZOrder0
PrivateSubmenuExit_Click()
PrivateSubmenuModifypwd_Click()
frmmodipwd.show
frmmodipwd.ZOrder0
PrivateSubnext1_Click()
Ifmrc.EOF=FalseThen
last.Enabled=True
mrc.MoveLast
next1.Enabled=False
PrivateSubok_Click()
sdemperature=Val(txtstemperature.Text)
ok.Visible=False
abnormity.Enabled=True
PrivateSub