公交线路调配管理系统设计及实现.docx

上传人:b****4 文档编号:11699898 上传时间:2023-03-30 格式:DOCX 页数:18 大小:396.39KB
下载 相关 举报
公交线路调配管理系统设计及实现.docx_第1页
第1页 / 共18页
公交线路调配管理系统设计及实现.docx_第2页
第2页 / 共18页
公交线路调配管理系统设计及实现.docx_第3页
第3页 / 共18页
公交线路调配管理系统设计及实现.docx_第4页
第4页 / 共18页
公交线路调配管理系统设计及实现.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

公交线路调配管理系统设计及实现.docx

《公交线路调配管理系统设计及实现.docx》由会员分享,可在线阅读,更多相关《公交线路调配管理系统设计及实现.docx(18页珍藏版)》请在冰豆网上搜索。

公交线路调配管理系统设计及实现.docx

公交线路调配管理系统设计及实现

学号

2014-2015学年第一学期

1308030227

 

《数据结构》

课程设计报告

 

题目:

公交线路调配管理系统

专业:

数字媒体技术

班级:

13级

(2)班

姓名:

汪前娟

指导教师:

代美丽

成绩:

计算机与信息工程系

2014年11月19日

目录

1.设计内容及要求2

1.1内容2

1.2要求2

2.概要设计2

2.1需求概述2

2.2功能模块2

2.3软件结构3

2.4总体和模块外部功能设计3

2.5接口设计3

2.5.1外部接口3

2.5.2内部接口3

2.6数据库设计3

3.设计过程或程序代码.5

3.1登录5

3.2主窗体6

3.2.1查看出车7

3.2.2增加车辆7

3.2.3故障信息9

3.2.4定期保养11

3.2.5模拟回执(输入信息)11

3.2.6退出11

4.设计结果与分析.12

4.1登录12

4.2模拟回执(输入信息)12

4.3查看出车12

4.4增加车辆13

4.5故障信息14

4.6定期保养15

5.参考文献.16

 

公交线路调配管理系统

1.设计内容及要求

1.1内容

系统的目的可以实现对公交车辆的统一管理,以及实时监控各公交线路的情况。

1.2要求

a)可以查询每条线路的出车情况

b)根据线路的回执,可以根据具体情况,增加车辆

c)车辆故障处理

d)车辆定期维修

1.3概要设计

1.4需求概述

本方案通过对在线车辆的实时监控和调度,保证了车辆运行计划的有效实施。

通过车辆运营信息的及时反馈,保证了线路的畅通,并确保了车辆的合理运行、公交运力与客运资源的最优配置。

本方案减少了乘客的等车时间,简化了调度员的调度流程,方便了司机与调度中心的联系,提高了乘车的舒适性及行车的安全性,也充分体现了调度人员的劳动价值、工作效率和工作质量。

本方案可以提高公交车辆的载客率,大大降低车辆空驶率、燃油消耗及设备的损耗,通过提高管理水平降低了企业的生产成本,间接地提高了企业的经营效益。

2概要设计

2.1功能模块

Ø登录模块:

登录.vb

功能:

完成用户身份验证

Ø调度管理模块:

Form1.vb

功能:

处理所有的公交调度相关请求

Ø子模块:

查看出车模块:

可以查看对应线路的车辆出车详细信息。

增加车辆模块:

接收到某线路如果需要增加车辆回执后,可以通过此模块添加车辆并通知司机

故障信息模块:

在收到车牌号为某某的车辆发生故障信息后,做出处理,并维护故障相关信息。

定期保养模块:

可以通过此模块查看需要做维护的日期。

Ø模拟回执模块:

所有回执都是通过这个对话框来模拟的。

2.2软件结构

2.3总体和模块外部功能设计

一般功能:

Ø增加数据信息

Ø删除数据信息

Ø修改数据信息

Ø查询数据信息

特殊功能:

Ø权限设置(在此不要求实现)

2.4接口设计

2.5.1外部接口

界面为Windows应用程序界面,通过ADO.NET访问数据库;

与其他软硬件设备的接口函数未写。

2.5.2内部接口

暂无。

2.5数据库设计

使用ACCESS数据库。

车辆:

字段名

数据类型

说明

车牌号

文本

保养日期

日期/时间

下一次做保养的日期

车型

文本

载客

数字

发动机

文本

发动机类型

车重

数字

人员职位

功率

数字

制造厂

文本

驾驶员:

字段名

数据类型

说明

工号

文本

司机的工号

姓名

文本

性别

文本

车牌号

文本

联系电话

文本

司机的联系电话

驾驶中

是/否

是否在驾驶

管理层:

字段名

数据类型

说明

工号

文本

管理人员工号

姓名

文本

性别

文本

部门

文本

所属部门

联系电话

文本

登录密码

文本

级别

文本

管理级别

维修:

字段名

数据类型

说明

车牌号

文本

维修日期

日期/时间

维修部位

文本

汽车维修的部位

地点

文本

维修地点

维修费

数字

维修的花费

线路:

字段名

数据类型

说明

线路编号

文本

例如:

121,3。

起始站

文本

终点站

文本

途经站

文本

车队:

字段名

数据类型

说明

车牌号

文本

线路编号

文本

3设计过程或程序代码

3.1登录

PublicClass登录

PrivateSubOK_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesOK.Click

DimmyconnAsNewOleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;DataSource=|DataDirectory|\bus.accdb;")

DimmystrAsString="SELECT*FROM管理层WHERE工号='"+UsernameTextBox.Text+"'AND登录密码='"+PasswordTextBox.Text+"'"

DimmyadapterAsNewOleDb.OleDbDataAdapter(mystr,myconn)

DimmydatasetAsNewDataSet

myadapter.Fill(mydataset,"table")

If(Trim(UsernameTextBox.Text)<>""AndTrim(PasswordTextBox.Text)<>"")Then

If(mydataset.Tables("table").Rows.Count=1)Then

Me.Hide()

Form1.Show()

Else

MsgBox("没有此用户或密码错误,请重输!

")

UsernameTextBox.Focus()

EndIf

Else

MsgBox("请输入用户名和密码!

")

UsernameTextBox.Focus()

EndIf

EndSub

PrivateSubCancel_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesCancel.Click

Me.Close()

EndSub

PrivateSub登录_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load

UsernameTextBox.Focus()

EndSub

EndClass

3.2主窗体

ImportsSystem.Data.OleDb

PublicClassForm1

PublicmybindAsBindingManagerBase

Publicmybind1AsBindingManagerBase

PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load

'TODO:

这行代码将数据加载到表“BusDataSet.驾驶员”中。

您可以根据需要移动或移除它。

Me.驾驶员TableAdapter.Fill(Me.BusDataSet.驾驶员)

'TODO:

这行代码将数据加载到表“BusDataSet.车辆”中。

您可以根据需要移动或移除它。

Me.车辆TableAdapter.Fill(Me.BusDataSet.车辆)

'TODO:

这行代码将数据加载到表“BusDataSet.线路”中。

您可以根据需要移动或移除它。

Me.线路TableAdapter.Fill(Me.BusDataSet.线路)

'TODO:

这行代码将数据加载到表“BusDataSet.车队”中。

您可以根据需要移动或移除它。

Me.车队TableAdapter.Fill(Me.BusDataSet.车队)

Label1.Text=""

维修TableAdapter.Fill(Me.BusDataSet.维修)

mybind=Me.BindingContext(Me.维修BindingSource)

驾驶员TableAdapter.Fill(Me.BusDataSet.驾驶员)

mybind1=Me.BindingContext(Me.驾驶员BindingSource)

EndSub

3.2.1查看出车

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click

DimOledb1AsNewOleDbConnection

DimOleDataSet1AsNewDataSet

Oledb1.ConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;DataSource=|DataDirectory|\bus.accdb;"

Oledb1.Open()

IfConnectionState.OpenThen

DimOleDataAdapter1AsOleDbDataAdapter=NewOleDbDataAdapter("SELECT*FROM车队,驾驶员WHERE车队.车牌号=驾驶员.车牌号AND线路编号='"+ComboBox1.Text+"'",Oledb1)

OleDataAdapter1.Fill(OleDataSet1,"出车")

DataGridView1.DataSource=OleDataSet1.Tables("出车")

Oledb1.Close()

EndIf

EndSub

3.2.2增加车辆

PrivateSubComboBox2_SelectedValueChanged(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesComboBox2.SelectedValueChanged

DimOledb1AsNewOleDbConnection

DimOleDataSet1,OleDataSet2AsNewDataSet

Oledb1.ConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;DataSource=|DataDirectory|\bus.accdb;"

Oledb1.Open()

IfConnectionState.OpenThen

DimOleDataAdapter1AsOleDbDataAdapter=NewOleDbDataAdapter("SELECT车牌号FROM驾驶员WHERE车牌号IN(SELECT车牌号FROM车队WHERE线路编号='"+ComboBox2.Text+"')AND驾驶中=no",Oledb1)

OleDataAdapter1.Fill(OleDataSet1,"空闲车辆")

Me.ComboBox3.DataSource=OleDataSet1.Tables("空闲车辆")

Me.ComboBox3.DisplayMember="车牌号"

Me.ComboBox3.ValueMember="车牌号"

DimOleDataAdapter2AsOleDbDataAdapter=NewOleDbDataAdapter("SELECT车牌号FROM驾驶员WHERE车牌号IN(SELECT车牌号FROM车队WHERE线路编号='"+ComboBox2.Text+"')AND驾驶中=yes",Oledb1)

OleDataAdapter2.Fill(OleDataSet2,"在运行车辆")

Me.ComboBox4.DataSource=OleDataSet2.Tables("在运行车辆")

Me.ComboBox4.DisplayMember="车牌号"

Me.ComboBox4.ValueMember="车牌号"

Oledb1.Close()

EndIf

EndSub

PrivateSubComboBox3_SelectedValueChanged(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesComboBox3.SelectedValueChanged

DimOledb1AsNewOleDbConnection

DimOleDataSet1AsNewDataSet

Oledb1.ConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;DataSource=|DataDirectory|\bus.accdb;"

Oledb1.Open()

IfConnectionState.OpenThen

DimOleDataAdapter1AsOleDbDataAdapter=NewOleDbDataAdapter("SELECT姓名FROM驾驶员WHERE车牌号='"+ComboBox3.Text+"'",Oledb1)

OleDataAdapter1.Fill(OleDataSet1,"司机")

If(OleDataSet1.Tables("司机").Rows.Count>0)Then

Me.TextBox1.Text=OleDataSet1.Tables("司机").Rows(0).Item(0)

Else

Me.TextBox1.Text="没登记姓名"

EndIf

Oledb1.Close()

EndIf

EndSub

PrivateSubComboBox4_SelectedValueChanged(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesComboBox4.SelectedValueChanged

DimOledb1AsNewOleDbConnection

DimOleDataSet1AsNewDataSet

Oledb1.ConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;DataSource=|DataDirectory|\bus.accdb;"

Oledb1.Open()

IfConnectionState.OpenThen

DimOleDataAdapter1AsOleDbDataAdapter=NewOleDbDataAdapter("SELECT姓名FROM驾驶员WHERE车牌号='"+ComboBox4.Text+"'",Oledb1)

OleDataAdapter1.Fill(OleDataSet1,"司机")

If(OleDataSet1.Tables("司机").Rows.Count>0)Then

Me.TextBox2.Text=OleDataSet1.Tables("司机").Rows(0).Item(0)

Else

Me.TextBox2.Text="没登记姓名"

EndIf

Oledb1.Close()

EndIf

EndSub

PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click

DimOledb1AsNewOleDbConnection

DimOleDataSet1AsNewDataSet

Oledb1.ConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;DataSource=|DataDirectory|\bus.accdb;"

Oledb1.Open()

IfConnectionState.OpenThen

DimcmdAsNewOleDbCommand

cmd.Connection=Oledb1'创建连接

cmd.CommandText="UPDATE驾驶员SET驾驶中=yesWHERE车牌号='"+ComboBox3.Text+"'"'创建更新数据的SQL字符串

cmd.ExecuteNonQuery()'执行不反回任何值得查询

Oledb1.Close()

EndIf

MsgBox("操作完成,请立即与司机联系!

",64,"提示")

EndSub

PrivateSubButton14_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton14.Click

DimOledb1AsNewOleDbConnection

DimOleDataSet1AsNewDataSet

Oledb1.ConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;DataSource=|DataDirectory|\bus.accdb;"

Oledb1.Open()

IfConnectionState.OpenThen

DimcmdAsNewOleDbCommand

cmd.Connection=Oledb1'创建连接

cmd.CommandText="UPDATE驾驶员SET驾驶中=noWHERE车牌号='"+ComboBox4.Text+"'"'创建更新数据的SQL字符串

cmd.ExecuteNonQuery()'执行不反回任何值得查询

Oledb1.Close()

EndIf

MsgBox("操作完成!

",64,"提示")

EndSub

3.2.3故障信息

PrivateSubButton5_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton5.Click

mybind.Position=0'第一条按钮

EndSub

PrivateSubButton6_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton6.Click

mybind.Position=mybind.Position-1'前翻按钮

EndSub

PrivateSubButton7_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton7.Click

mybind.Position=mybind.Position+1'后翻按钮

EndSub

PrivateSubButton8_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton8.Click

mybind.Position=mybind.Count-1'最后一条按钮

EndSub

PrivateSubButton9_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton9.Click

Me.Validate()'修改按钮

Me.维修BindingSource.EndEdit()

Me.维修TableAdapter.Update(Me.BusDataSet.维修)

EndSub

PrivateSubButton10_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton10.Click

mybind.AddNew()'插入按钮插入一条空记录

EndSub

PrivateSubButton11_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton11.Click

mybind.RemoveAt(mybind.Position)'删除按钮

EndSub

PrivateSubButton12_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton12.Click

mybind.CancelCurrentEdit()'取消按钮

EndSub

PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.Click

Me.Validate()'确认按钮

Me.维修BindingSource.EndEdit()

Me.维修TableAdapter.Update(Me.BusDataSet.维修)

EndSub

3.2.4定期保养

通过图形化界面,绑定数据源实现。

步骤:

在数据源窗口中,直接拖住“车辆“表至界面中,即可完成。

3.2.5模拟回执(输入信息)

Private

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1