移动基站远程监控系统数据库课程设计.docx
- 文档编号:3778073
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:31
- 大小:118.32KB
移动基站远程监控系统数据库课程设计.docx
《移动基站远程监控系统数据库课程设计.docx》由会员分享,可在线阅读,更多相关《移动基站远程监控系统数据库课程设计.docx(31页珍藏版)》请在冰豆网上搜索。
移动基站远程监控系统数据库课程设计
一概述
1.课程设计的目的
数据库是计算机学科中的一门很重要的基础课程,而且数据库设计是一门应用性很强的学科,在学习时必须使理论与实践相结合。
数据库课程设计是计算机科学与技术专业集中实践性环节之一,是学习完《数据库系统概论》课程后进行的一次全面的综合练习。
通过本次课程设计要达到以下几个目的:
1.加深学生对数据库基础理论和基本知识的理解,掌握数据库应用系统设计开发的基本方法,达到进一步使学生综合运用所学知识和增强实际动手能力的目的。
2.通过实践使同学们经历到一次综合训练,以便能较全面地理解、掌握和综合运用所学的知识。
3.用所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。
4.通过设计培养对工作认真负责、一丝不苟的态度,对组员团结互助,协作攻关的团队精神。
5.培养从资料文献、科学实验中获得知识并解决问题的能力。
培养运用理论去分析及处理问题的能力、实践动手能力、书面及口头表达能力。
2.课程设计的要求
课程设计最主要的要求是在综合应用平时所学知识的基础上,独立设计与制造出具有较复杂功能的应用系统,并且在实验的基本技能方面上进行一次全面的训练。
其详细要求如下:
1.由6名组员组成设计小组,小组成员分工协作完成。
每人有自己相对独立的模块,同时要了解其他组员完成的内容。
2.通过查阅相关资料,丰富自己的相关知识,解决相应的问题。
3.所设计的应用系统要准确无误,符合数据库设计的要求,能够详细的分析该系统,演示出运行流程,并能按老师的要求做出相应的改进。
4.本次课程设计的实际内容是构建一个移动基站远程管理系统。
以解决随着移动基站数量的增多,移动基站的无人值守非常必要。
所以要构建一个数据库系统来收集各个基站的各种信息传输到控制台,计算机远程监控能同时对多个基站进行实时监控。
通过采集基站的内部温度、外部温度、湿度、蓄电池电压和是否断电等影响基站正常工作的因素的数据形成一个数据库,管理人员可以根据这些数据来判断基站的工作是否正常。
一旦出现异常情况管理人员就可以通知维护人员对基站进行及时的修理避免造成更大的损失。
另外,也可以通过软件的方法来判断基站的状态,并在基站异常时报警通知管理人员。
这样不仅可以减少管理员的工作量,也可以避免人工判断失误等情况的发生。
从而大大地降低了移动基站的维护费用,确保了基站设备的可靠性和安全性。
二总体方案设计
本次数据库课程设计是以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
EndIf
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
Else
flag=0
EndIf
GoTokk
EndIf
IfTrim(mrc.Fields(5))=""Then
mrc.Fields(5)="0"
EndIf
If(lv>lvsAndVal(mrc.Fields(5))<=18)=TrueThen
mrc.Fields(7)="是"
mrc.Update
DoWhile(mrc1.EOF=False)
IfTrim(mrc1.Fields(0))=Trim(mrc.Fields(0))Then
flag=1
ExitDo
EndIf
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
Else
flag=0
EndIf
GoTokk
EndIf
IfTrim(mrc.Fields(6))=""Then
mrc.Fields(6)="0"
EndIf
If(st>stsAndTrim(mrc.Fields(6))=Trim("1"))=TrueThen
mrc.Fields(7)="是"
mrc.Update
DoWhile(mrc1.EOF=False)
IfTrim(mrc1.Fields(0))=Trim(mrc.Fields(0))Then
flag=1
ExitDo
EndIf
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
Else
flag=0
EndIf
GoTokk
EndIf
IfTrim(mrc.Fields(4))=""Then
mrc.Fields(4)="0"
EndIf
If(Val(mrc.Fields(4))>80)=TrueThen
mrc.Fields(7)="是"
mrc.Update
DoWhile(mrc1.EOF=False)
IfTrim(mrc1.Fields(0))=Trim(mrc.Fields(0))Then
flag=1
ExitDo
EndIf
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
Else
flag=0
EndIf
GoTokk
EndIf
mrc.Fields(7)="否"
kk:
mrc.MoveNext
Nexti
mrc.MoveFirst
Fori=0Tomrc.RecordCount-1
IfTrim(mrc.Fields(7))="是"Then
abcount=abcount+1
EndIf
mrc.MoveNext
Nexti
EndIf
frmMain.abnormalsum.Text=Str(abcount)
MsgBox"异常检测完成,请到“异常显示”菜单项中查看各异常记录!
",vbOKOnly+vbExclamation,"添加用户"
EndSub
PrivateSubabout_Click()
frmAbout.show
EndSub
PrivateSubaddbaseweb_Click()
frmaddbase.Left=frmaddbase.Left+4000
frmaddbase.Top=frmaddbase.Top+4000
frmaddbase.show
EndSub
PrivateSubalarmtime_Click()
frmalarmtime.show
frmalarmtime.Left=frmalarmtime.Left+3500
frmalarmtime.Top=frmalarmtime.Top+3500
EndSub
PrivateSuballcysshow_Click()
txtSQL="select*frombase_Info"
Setmrc=ExecuteSQL(txtSQL,MsgText)
Ifmrc.EOF=TrueThen
MsgBox"日前没有移动基站的数据,无法循环显示!
",vbOKOnly+vbExclamation,"警告"
Else
Timer2.Enabled=True
EndIf
EndSub
PrivateSubcoditionshow_Click()
txtSQL="select*fromabnormal_Info"
Setmrc=ExecuteSQL(txtSQL,MsgText)
Ifmrc.EOF=TrueThen
MsgBox"日前没有异常移动基站的数据,无法循环显示!
",vbOKOnly+vbExclamation,"警告"
Else
Timer3.Enabled=True
EndIf
EndSub
PrivateSubcycinteral_Click()
frminterval.show
EndSub
PrivateSubexit_Click()
End
EndSub
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"Then
menuSystem.Enabled=True
Else
menuSystem.Enabled=False
EndIf
txtdata.Text=Date
txtime.Text=Time
txtSQL="select*frombase_Info"
Setmrc=ExecuteSQL(txtSQL,MsgText)
EndSub
PrivateSublast_Click()
mrc.MovePrevious
Ifmrc.BOF=FalseThen
txtbaseno.Text=mrc.Fields(0)
Ifmrc.Fields
(1)<>""Then
txtbasename.Text=mrc.Fields
(1)
Else
txtbasename.Text=""
EndIf
Ifmrc.Fields
(2)<>""Then
txtintemperature.Text=mrc.Fields
(2)
Else
txtintemperature.Text=""
EndIf
Ifmrc.Fields(3)<>""Then
txtoutemperature.Text=mrc.Fields(3)
Else
txtoutemperature.Text=""
EndIf
Ifmrc.Fields(4)<>""Then
txthumidity.Text=mrc.Fields(4)
Else
txthumidity.Text=""
EndIf
Ifmrc.Fields(5)<>""Then
txtvoltage.Text=mrc.Fields(5)
Else
txtvoltage.Text=""
EndIf
next1.Enabled=True
Else
'mrc.MoveFirst
next1.Enabled=True
last.Enabled=False
EndIf
EndSub
PrivateSubmenuAdduser_Click()
gintMode=1
frmadduser.show
frmadduser.ZOrder0
EndSub
PrivateSubmenudeluser_Click()
gintMode=1
frmdeluser.show
frmdeluser.ZOrder0
EndSub
PrivateSubmenuExit_Click()
End
EndSub
PrivateSubmenuModifypwd_Click()
gintMode=1
frmmodipwd.show
frmmodipwd.ZOrder0
EndSub
PrivateSubnext1_Click()
mrc.MoveNext
Ifmrc.EOF=FalseThen
txtbaseno.Text=mrc.Fields(0)
Ifmrc.Fields
(1)<>""Then
txtbasename.Text=mrc.Fields
(1)
Else
txtbasename.Text=""
EndIf
Ifmrc.Fields
(2)<>""Then
txtintemperature.Text=mrc.Fields
(2)
Else
txtintemperature.Text=""
EndIf
Ifmrc.Fields(3)<>""Then
txtoutemperature.Text=mrc.Fields(3)
Else
txtoutemperature.Text=""
EndIf
Ifmrc.Fields(4)<>""Then
txthumidity.Text=mrc.Fields(4)
Else
txthumidity.Text=""
EndIf
Ifmrc.Fields(5)<>""Then
txtvoltage.Text=mrc.Fields(5)
Else
txtvoltage.Text=""
EndIf
last.Enabled=True
Else
'mrc.MoveLast
next1.Enabled=False
last.Enabled=True
EndIf
EndSub
PrivateSubok_Click()
sdemperature=Val(txtstemperature.Text)
ok.Visible=False
abnormity.Enabled=True
EndSub
PrivateSub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 移动 基站 远程 监控 系统 数据库 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)