地铁模拟运行系统设计

2022-09-20 版权声明 我要投稿

第1篇:地铁模拟运行系统设计

地铁通风空调系统节能运行对策

摘 要:随着社会经济的发展,城市的交通也发生了翻天覆地的变化,在一些大城市中,日常交通的负荷压力越来越大,所以交通建设也成为社会发展的重要指标。在地面交通压力逐渐增大的情况下。地铁成为减轻城市地面交通压力的主要办法。我国的一些城市,如北京、广州、深圳等地,也在逐渐的加快城市地铁的建设。虽然地铁在很大程度上缓解交通压力,但是地铁运行随之而来的能耗也不可忽视。地铁整个通风系统所消耗的能量,也达到了整个地铁系统的45%。因此要想降低地铁系统的整体能耗,就必须降低地铁通风空调系统的能耗。文章通过对地铁通风空调系统的分析和研究,提出从空调的设计到合理的布局,大温差等措施具有良好的节水泵的变频技术,动态节能可达到27%~28%,在很大程度上实现了地铁通风空调系统的节能。

关键词:地铁;通风空调;系统;节能;分析

由于地铁自身具有速度快、效率高、载客量大等特点,地铁已经成为大城市中缓解城市交通压力的重要手段。虽然我国的一些大城市已经建立了比较发达的城市地铁网络,但是地铁的发展和研究也还在不断的深入。由于地铁的网络系统庞大,所以在运行能耗方面也引起了社会各界广泛的关注。地铁的通风空调系统是地铁系统中非常重要的组成部分,在能耗方面也占了比较大的比例。因为在整个地铁系统中,通风空调系统是非常庞大和复杂的,所以对能耗的影响也比较大。因此,要想减少地铁通系统的能耗,就必须正视地铁通风空调系统的能耗,必须科学合理的对通风空调系统进行全面的分析和探究,为地铁通风空调系统的节能提供一些建议,从宏观上减少整个国家的能耗。

1 通风空调系统能耗分析

地铁通风系统的组成是比较庞大和复杂的,其主要部分包括列车隧道通风系统、车站候车室等公共区域通风空调系统,车站设备管理房内的通风空调系统,车站空调水系统。

1.1 列车隧道通风系统

列车隧道通风与空调系统是由两部分呢组成的,一部分是区间隧道通风系统,另一部分是车站隧道通风系统。区间隧道通风系统,主要是在地铁日常的运行中,对早晨列车开启前和晚上列车停止后,隧道通风系统进行整体的全线的机械通风,在列车的正常运行中,主要就是通过隧道的活塞效应进行通风,以此来排除隧道内产生的热量和潮湿,确保列车运行的隧道内温度符合运行要求。当列车进站停靠或故障停车时,隧道内能给列车提供一定的通风量,保证整列车的通风正常运行和空调设备正常运行。当列车是因为故障停车时,要及时的排除烟气和控制烟气流向,为乘客疏散和救援提供条件。

1.2 车站整体的通风系统

车站的大系统组成比较复杂,主要是空调、送风机、排烟机、风道等组成。当列车进行运行时,為乘客提供一个比较舒适的乘车环境。当车站内发生安全情况尤其是发生火灾时,能够及时的将烟雾排除。

1.3 车站通风小系统

车站通风小系统,相对于车站大系统来说,组成几乎相同,但是在作用上主要是为地铁的工作人员服务,提供比较舒适的工作环境。以及为整体车站中的照明、设备、广告、导向牌等提供能量。

对车站通风空调能耗的影响,主要因素是车站的客流量。客流量的变化对车站通风能耗的影响是十分大的,而且呈现正比的趋势。例如每天地铁客流量比较大的几个时段,分别是早高峰和晚高峰。在这两个时间段内,因为人流量比较大,所以车站通风空调的能耗比较高。而其他时间,相对来说人流量比较小,所以对车站内的能耗消耗比较少。除了客流量对通风空调系统的能耗有较大的影响之外,季节的变化也会对车站内的通风空调系统能耗产生一定的影响。所以要想在最大程度上使得车站排风系统节能,就必须采取一系列行之有效的办法。

在客流量远未达到设计额定值,空调系统在小负荷的情况下,如何根据实际负荷需求对风量、水量进行调节,是空调系统节能的关键。

2 通风空调系统节能策略

从空调负荷分析,人员及新风负荷是系统节能的重点,这需要根据实际负荷需求对风量、水量进行调节。所以要想在最大程度上减少系统地铁排风系统的能耗,就必须根据车站具体的情况来调节风机、水泵等地运行状态,以此来降低地铁通风系统的能耗,实现地铁通风空调系统的节能。

2.1 优化设计阶段的节能

在车站的设计时,应该立足于地铁运行的实际情况,与其他设计专业合作进行整体设计,尽量的优化风道、房间等的设置。在风井和机房位置的设置上,也好尽可能的保持路程的畅通,尽量的减少直角的设计,这样就能在最大程度上减少了不合理的设计,减少了不必要的投入在后期的地铁运行中,也能减少通风空调系统的耗能。

在地铁通风空调系统进行设计时,就应该充分的考虑节能这一问题。地铁设计人员应该尽可能的结合地铁的实际负荷情况,优化系统的位置,尽量的减少直角的设计,科学合理的选择空调和通风设备,最大程度上的实现节能的目标。

2.2 风机变频风量调节

因为地铁的本质属性是载客,所以地铁在运行的过程中会呈现出很多的不稳定性,所以在具体的空调设计中要根据不同情况下的地铁运行载客情况进行计算。在客流量比较少的时候,来通过一些有效的方式减少地铁系统的通风和空调系统流量、风量。当客流量比较大的时候,再通过一些手段来增强地铁通风空调系统的负荷。而这种行之有效的方式就是采用变频器,变频器的使用,可以调控通风和空调系统的,变频器的使用再最大程度上对地铁通风空调系统进行调节,减轻了能源的浪费,实现了资源的节约。

2.3 空调水系统流量调节

在空调系统中,对冷冻水泵和冷却水泵的选择,一般是根据地铁车站的容量进行设计和采用的,一般都是按照车站的最大负荷来选择的,并且还在一定程度上留有余地。但是根据现行车站的运行情况来看,地铁的通风空调系统一般都处于低负荷的运行状态,因此要想在最大程度上减轻地铁通风空调的能耗,采用变频控制器是比较理想的方式,也是最为简便和有效的方式。

2.4 采用不同的运行模式

上文提到季节的变化也会对地铁通风空调系统产生影响,所以要尽可能的通过季节的变化来产生自然风等方式来减少地铁通风空调的能耗。例如在夏季,天气炎热,空调能耗较高,这时就可以采用自然冷源来达到减少空调能耗的目的。

第一,空调小新风工况。当站外空气焙值大于车站空调大系统回风空气焙值时,空调系统采用小新风加一次回风运行。

第二,空调全新风工况。当地铁车站外的空气焙值略小于车站的空调大系统,并且站外的空气温度略大于地铁空调送风温度是,就可以采用全新的新空调系统,经过空调处理器处理后的新风送至空调区域,在最大程度上实现了地铁通风空调节能的目的。

3 结语

经过一系列的分析和研究之后发现,地铁车站通风空调系统可以根据不同时期的运行需求对风量和水量进行调整,并根据不同的季节需求进行相应的空调控制,这样都能起到比较好的节能效果。除此之外还可以在地铁的设计阶段,就可以进行地铁能耗的设计,尽量的采用设计方案对地铁的通风空调系统进行科学合理的设计。虽然这些方式都能节省地铁的能耗,但是在设计上也必须与其他相关专业相结合,将节能意识贯穿于整个设计阶段。虽然现在地铁空调通风系统设计比较先进,但是问题仍然存在,但是随着科学技术的发展,地铁通风空调系统也必然会有更为宽广的空间。

参考文献

[1] UB50157-2003,地铁设计规范[S].北京:中国计划出版社, 2015(07):56-57.

[2] 朱颖心.水力网络流动不稳态过程的算法[J].清华大学学报,2015,5(29):32-33.

[3] 朱培根,朱颖心,李晓锋.地铁环控系统模拟与能耗分析[J].地下空间,2015,24(02):88-89

[4] 朱培根,朱颖心,李晓锋.地铁通风与热模拟方案及其分析厂[J].流体机械,2014,32(11):45-46.

作者:万永红

第2篇:地铁移动通信系统切换设计

摘 要 结合广州地铁

1、2号线工程经验,对地铁移动通信系统的各种条件下的切换方案设计进行探讨,包括隧道间小区切换、换乘站的上下层切换、站内和站外切换、隧道和地面切换等。 关键词 地铁 移动通信 切换 基站

为了实现地铁移动通信信号的覆盖,必须在地铁内部建立专门的无线信号覆盖系统,由于存在多个基站来实现对地铁的信号覆盖,同时,移动用户经常是在移动的列车中或地铁出入口通信,因此,必然存在切换问题,下面结合广州地铁

1、2号线的工程经验,对地铁移动通信系统切换方案设计进行探讨。1 切换的概念

切换是指在蜂窝系统中,移动台从一个信道或基站切换到另一个信道或基站的过程。这种切换操作过程不仅要识别新基站,还要将话音和信令信号分派到新基站的信道上。在小区内分配空闲信道时,用户的切换请求优于用户初始呼叫请求。切换是在不被用户察觉的情况下实现这个过程的,且一旦切换完成,移动台不应立即再切换。切换发生的门限值是在系统安装时进行初调的,且初始参数设置取决于系统性能要求,不能随意改变。切换的目的就是维持高质量的信号质量、平衡小区之间的业务量及恢复出现故障的控制信道,切换主要有以下三种形式。

1)信号质量切换

当基站接收到的移动台信号电平低于预分配门限值时就开始进行切换过程,服务基站通知移动业务交换中心(MSC),请求邻近所有其他小区,以便确定可最佳接收移动台信号的某小区,然后就把新的信道号通知给服务基站,以便移动台进行切换。

2)业务量平衡切换

本切换方式主要是为了平衡不同小区之间的负荷,以使每个小区不会出现过载现象。当相邻小区间重叠范围很大时,负载平衡是最有效的,这种平衡的实现可用“引导切换”技术来完成。

3)控制信道出现故障切换

在控制信道出现故障,此时可用一个话音信道作为备份控制信道。该特性设计的系统在控制信道出现故障时,如果移动台正在使用原指定的备份控制信道通话,则此时要求移动台切换到另一个话音信道工作,由故障引起切换的主要目的就是将此信道释放话音业务而准备控制信道。

切换的种类主要有小区内切换、基站控制器(BSC)内切换、移动交换中心(MSC)内切换、移动交换中心(MSC)间切换、网络间切换等。

在数字蜂窝系统中,是否切换是由移动台来辅助完成的。在移动台辅助切换中,每个移动台监测根据周围基站发出的信号进行无线测量,包括测量功率、距离和话音质量,这三个指标决定切换的门限。无线测量结果通过信令信道报告给基站子系统中的基站收发信台,经过预处理后传送给基站控制器,基站控制器对综合功率、距离和话音质量进行计算且与切换门限值进行比较,然后再决定是否进行切换。

数字蜂窝系统中的切换有时也称为硬切换。但在CDMA蜂窝系统中,由于不用按信道化的无线系统那样在切换期间分配一个不同的无线信道,扩频通信用户在每个小区里都共享相同的信道。因此,切换并不意味着所分配信道上的物理改变,而是由不同的基站来处理无线通信任务。通过同时估算多个相邻基站接收到的同一个用户的信号,MSC能够及时判断出任何时刻用户信号的最佳情况。

从不同基站接收到的瞬时信号中进行选择的处理称为软处理。软切换与硬切换的差别在于:硬切换需要先中断与原基站的联系,再在一指定时间内与新基站取得联系;而软切换就是当移动台需要与一个新基站通信时,并不需要先中断与原基站的联系。软切换只能在相同频率的CDMA信道间进行。2 地铁移动通信切换方案考虑

地铁站内的切换形式一般是信号质量切换,多数为MSC内切换,其类型主要有隧道间小区切换、换乘站上下层切换、站内和站外切换、隧道和地面切换等。2·1 隧道间小区切换

地铁内移动通信系统与地面移动通信系统之间的最大区别是全部在地下,而且大部分在隧道里面。这样一来,在隧道里面,在运行的车辆上保证越区切换的顺利进行就成了一个重要问题。

由于地铁隧道区间是链状覆盖网,一般基站(BTS)频率复用都采用隔站复用,因此列车行进方向的切换(本小区与邻小区)位于区间中部,而此时列车的车速也达到最高,同时列车又是金属外壳,这些都给切换带来了困难。由于隧道是地下一个封闭的圆柱形空间,隧道效应使高频信号衰减很快,为了保证隧道内的信号均匀分布,隧道内都使用漏泄同轴电缆(LCX)。

为了保证移动通信可通率大于等于98%,保证切换顺利进行的一个有效手段就是正确设计场强的覆盖,或者说,在系统场强覆盖设计时着重从以下两个方面考虑选用系统及设备的参数。

(1)在漏泄电缆场强覆盖区段,为满足无线通信覆盖可通率大于等于98%的系统要求,首先应正确选用漏泄电缆的95%接收概率的耦合损耗值(因为厂家提供的产品指标只有95%接收概率的耦合损耗值),该值与漏泄电缆LCX型号及频段有关(50%接收概率耦合损耗值与95%接收概率耦合损耗值相差3~14dB),然后再加一定的余量(对应于可通率98%,系统场强余量应再增加1.4dB)。具体计算如下[1]:

式中,P{x≥Pmin}为接收信号大于接收机输入端要求的最低保护功率电平Pmin的通信概率,Md为通信概率为98%时接收机输入端要求的中值信号电平,σ为位置分布和时间分布的标准偏差[2]。由式(1)可得

Pmin+2.05×7.5=Pmin+15.4dB

其中,σ为7.5dB(900MHz城市、混合路径标准偏差)。

由此可见,为满足98%的时间、地点通信概率,系统余量,应在50%的概率上增加15.4dB;与为满足95%的时间、地点通信概率,系统余量应增加14dB,相差1.4dB。故在漏泄电缆覆盖区段,为达到98%的时间、地点概率,系统余量应在95%概率值下再增加1.4dB。此理论数据值与在深圳地铁竹子林隧道实测的漏泄电缆95%与98%接收概率耦合损耗差值(0.8~2.3dB)非常接近。

还有一个工程措施,即让区间中点的漏泄电缆LCX联通,使两边基站来的信号尽量形成较多的重叠区,保证在列车高速运行下的切换顺利进行。

由于在设计中保证了98%以上区域各信号的最弱电平为-80dB(m),保证了切换时不会因为信号变化太快造成掉话。还有一个工程措施,即让区间中点的漏泄电缆LCX联通,使两边基站来的信号尽量形成较多的重叠区,当列车高速运行经过隧道中段时,原小区信号逐渐减弱,切入小区的信号逐渐增强,没有信号突然消失的情况,避免了移动台因为切换时间不足造成掉话。通过在网络中设置相应参数,将各隧道的覆盖场强调整到合适的水平,可以使切换更加平滑。

一般情况下小区间进行正常切换需要6~10s时间,对于切换区应满足12s切换的最低要求,而列车在隧道中段最高速度为80km/h,12s内行进的距离为

在理想情况下,本小区与相邻小区的信号在LCX中传输损耗是相同的,因此它们的场强衰减特性曲线相对于它们的交点是对称的,所以LCX的越区切换损耗余量可由本小区与相邻小区各负担一半,即1/2×267m=133m。对应于LCX传输损耗24dB/km,越区切换损耗余量为24×(1/1000)×133=3.1dB,参见图1。

所以,要保证隧道中的切换区长度超过266.7m。根据漏缆指标计算得知:900MHz信号在133m的漏缆中共衰减3.1dB,所以在最坏情况下原小区的900MHz信号将衰减到-80-3.1=-83.1dB(m),将驶入小区的900MHz信号强度增强到-80+3.1=-76.9dB(m),所以信号强度相差超过6dB,可保证通过场强比较的方式进行切换。2·2 换乘站切换

对于天线的配置,换乘站应统一规划信号切换区域,如换乘站是一次建成的,则尽量考虑用一个基站的信号来完成覆盖;如因工期或其他各种原因无法在一个基站范围内来完成信号覆盖的,则需在可能情况下,做出优化方案:①尽量减少重叠区域;②尽量减少短时间切换区域;③重叠区效应影响下的乒乓切换尽量安排在相对宽敞的区域,以尽量避免多径影响下的乒乓切换。

在广州地铁公园前地铁站,是

1、2号线的换乘站,1号线站厅部分在1999年就投入使用,2号线站厅部分在2003年才投入使用,因此在站厅就需要1号线和2号线基站的信号才能完成覆盖。在工程设计中,考虑了以上的重点,如尽量减少重叠区域等,实现了各个区域的平滑切换。2·3 车站出入口切换

(1)交叠区保证:车站出入口附近一定要设置天线,使站厅信号与站外信号的交叠区尽量在出入口通道附近。

(2)梯度/平滑性的保证:出入口附近站内信号的梯度及平滑性容易保证;站外信号的梯度及平滑性受多径效应及地面多个基站天线的覆盖规划因素的影响较大,如有问题应与运营商共同协调解决。

在广州地铁2号线的个别车站,虽然在出入口附近布置了天线,但在出站时仍然无法实现与站外基站的正常切换,后经与运营商协调,通过其网络优化解决了切换问题。2·4 隧道与地面切换

隧道与地面切换情况如图2所示,要保证有足够的信号交叠区,可采用以下措施:

(1)延长LCX方式或洞口设置定向天线(延长洞内信号,使交叠区向外);

(2)设置直放站方式(延长洞内信号,使交叠区向外);

(3)隧道引入地面信号,使交叠区向内,由于各运营商地面基站设置的不同、向隧道引入地面信号实现起来相对复杂。

延长LCX、设置隧道口直放站方式均要注意,延长区域应足够长,使地面到隧道切换交叠区选择在一个稳定区域内。如果相邻地面车站需要覆盖,就可使其信号向隧道方向延伸,取得切换信号的“优势锁定”。实施中应兼顾上、下行行车方向,并与运营商做好切换规划的配合。在广州地铁1号线坑口地面站与花地湾站隧道入口处,场强覆盖就是采用了这种方式,将覆盖区域向外增加100m左右,避免了初期进出隧道时经常出现的掉线现象。

3 结语

为保证在隧道内无线信号的顺利切换,应保证98%以上区域各信号的最弱电平为-80dBm,同时让区间中点的漏泄电缆LCX联通,使两边基站来的信号尽量形成较多的重叠区。换乘站应尽量减少重叠区域及短时间切换区域,重叠区效应影响下的乒乓切换应尽量安排在相对宽敞的区域,以尽量避免多径影响下的乒乓切换。车站出入口应保证交叠区及信号的梯度/平滑性,隧道与地面应保证有足够的信号交叠区。

通过以上切换方案考虑,就能保证在地铁站内移动通信的顺利切换,保证通信的可靠性及连续性。 参考文献[1]杨留清,张闽申,徐菊英.数字移动通信系统[M].北京:人民邮电出版社,1995.[2]郭梯云,邬国扬,张厥盛.移动通信[M].西安:西安电子科技大学出版社,1995.[3]竺南直,肖辉,刘景波.码分多址(CDMA)移动通信系统[M].北京:电子工业出版社,1999.[4]龚小聪.地铁移动电话引入系统设计探讨[J].地铁与轻轨,2002(1).[5]徐华林,马建萍.地铁中漏泄同轴电缆的选择和配置[J].都市快轨交通,2005,18(1).

第3篇:轨道交通地铁通信系统设计技术要求规范---(通信系统)

通信

通信

通信系统是轨道交通运营指挥、运营管理、公共安全治理、服务乘客的网络平台,它是轨道交通正常运转的神经系统,为列车运行的快捷、安全、准点提供了基本通信保障。通信系统在正常情况下应保证列车安全高效运营、为乘客出行提供高质量的服务保证;在异常情况下能迅速转变为供防灾救援和事故处理的指挥通信系统。

主要设计规范及标准

《地铁设计规范》(GB50157-2013) 《城市轨道交通技术规范》(GB50490-2009) 《城市轨道交通工程项目建设标准》(建标104-2008) 《铁路通信设计规范》(TB10006-99)

《电子信息系统机房设计规范》(GB50174-2008) 《民用建筑电气设计规范》(JGJ16-2008)

《民用闭路监视电视系统工程设计规范》(GB50198-94) 《本地通信线路工程设计规范》(YD5137-2005) 《通信管道与通道工程设计规范》(YD5007-2003) 《数字同步网工程设计暂行规范》(YD/T5089-2000) 哈尔滨市有关地方法规、标准 国际标准化组织(ISO)相关标准 国际电工技术委员会(IEC)相关标准 国际电气与电子工程师协会IEEE有关协议

国际电信联盟ITU-T、国际无线电咨询委员会CCIR的有关建议 欧洲邮政及电信联盟CEPC最新文件及其附件 电子工业协会(EIA)的有关标准

一般要求

1. 通信系统是指挥列车运行,进行运营管理、公务联络、提高乘

13—1 通信

客服务水平和传递各种信息的重要手段,应能传递语音、文字、数据、图像等,并具有网络监控、管理功能。因此,必须建立一个可靠、易扩充、组网灵活、各种信息的综合数字通信网。

2. 当出现紧急情况时,本系统应能迅速及时地为防灾救援和事故的指挥提供通信联络。

3. 通信设备的选型,应在满足系统功能的基础上优先选择国产设备,对于国内尚不能满足功能的设备,应进行充分比选后选择引进。

4. 设计范围

哈尔滨轨道交通1号线四期工程线路全长2.3km,全部为地下线,全线设2座车站,控制中心利用清滨公园控制中心(已建成)。

通信系统设计范围为上述工点及线路所有通信线缆、系统设备及相关设施,系统由专用通信系统、公用通信系统、公安通信系统三部分组成。

专用通信系统由传输系统、公务电话系统、专用电话系统、无线通信系统、闭路电视监控系统、广播系统、乘客信息系统、时钟系统、办公数据网络及综合布线系统、集中告警系统、电源系统组成。

公安通信系统由公安无线系统、消防无线系统、治安动态视频监控系统、公安专网系统组成。

公用通信系统由传输系统、公用无线引入系统、电源系统及集中监测告警系统组成。

基本技术要求

1. 本系统及设备应是技术先进、价格合理、安全可靠、组网灵活,并代表当前通信发展要求的成熟技术。

2. 通信系统主要设备和模块应具有自检功能,并采取必要的冗余,避免单点故障引起全网故障。

3. 本系统中各子系统发生故障时,应具有降级使用功能和对重要通道的备用手段,以保证系统基本功能。

4. 通信系统主要设备应采用模块化结构,易于扩展和平滑升级。

13—2 通信

5. 通信系统应采用支持符合国际标准和工业界标准的相关接口,能与其它相关系统或业务部门实现可靠的互联,并应选择广泛应用的标准协议。

6. 本系统应选用体积小、重量轻、耗能少、防尘、防锈、防震、防潮、防晒的设备和材料。

7. 本系统设计应充分考虑电下铁道的特性,应采用抗电气干扰强的设备和电缆,并采取必要的防护措施。

8. 光缆、电缆应采用阻燃、低烟、低毒、防蚀的产品,并应考虑防鼠害和防迷流腐蚀。

9. 本线作为1号线

一、

二、三期工程的延伸段,因此,在整体上应与既有的1号线通信系统组成统一的通信网,充分考虑对控制中心级设备系统的改造、衔接。该网络与既有1号线

一、

二、三期工程的通信网络应组成功能完整统

一、便于维护管理的网络,以实现控制中心对全线的协调统一管理。

10. 本系统应满足下列工作环境条件:

(1) 环境温度:0℃~50℃(室内);-40℃~65℃(室外)

(2) 相对湿度:25℃时30%~75%(室内);35℃时10%~95%(室外)。 (3) 防护等级:IP50(室内);IP65(室外及区间)。 (4) 设备限高:室内≤2200mm,区间内不超过设备限界。 (5) 冷却方法:自然风冷或强迫风冷。

(6) 负载承荷:≤600kg/m2。(通信设备);≤1000kg/m2。(通信电源) 耐机械冲击:10g 耐机械振动:5~20Hz时,5mm(振幅);

13..1 专用通信系统 传输系统

传输系统应满足1号线四期工程对于传递语音、数据、文字、图像等业务信息的需要,具有多功能、大容量、高可靠并能进行集中维护管

13—3 20~100Hz时,1.4g(室内),4.2g(区间隧道) 通信

理的数字传输网,与既有1号线

一、

二、三期工程传输子系统构成一个完整统一的传输网络。

1. 系统功能

(1) 传输系统应具备在沿线各车站自由上下话路、使用灵活及易于扩展的功能。

(2) 传输系统应具备设于不同光缆路径的主备光通道,同时系统应具备通道保护或复用段保护功能。在出现故障时能自动倒换,且倒换时间小于50ms。

(3) 系统应有功能完善的网络管理功能及硬件设施,所有站的配置及其它调整均应能在控制中心的操作终端上遥控完成。

(4) 传输系统的设计容量除应满足本线路的各专业需求外,还应充分考虑满足远期发展的需求,并宜预留30%的余量。

2. 传输的信息内容

(1) 各车站各种调度电话及自动电话用户的语音信息。 (2) 无线基站和主交换机的话音及控制信息。

(3) 控制中心至各车站的电视监视、广播、乘客信息、时钟等系统的语音、数据、图像、视频信息及其控制信号。

(4) 各种自动化系统,包括信号系统(ATS)、电力监控系统(SCADA)、防灾报警(FAS)系统、自动售检票(AFC)及的办公自动化(OA)等系统等所需的各种数据信息。

3. 系统结构

本工程应结合既有1号线

一、

二、三期工程系统组网情况,从通信系统的各种业务功能出发,推荐最为适用的传输方案,线路传输速率不宜低于2.5Gb/s。

传输系统须采用环状网络结构,各节点宜隔站连接以保证系统的可靠性和安全性。传输系统的自愈功能设置主备光通道,并分设与区间两侧的光缆中,具备手/自动切换,切换时,不影响传输质量。

在各车站分别设置传输节点设备,控制中心设备及网管宜采用扩容方案,网管设备具备对所有节点进行远程在线管理。

13—4 通信

4. 系统统接口配置类型

传输系统配置的接口种类根据相关各系统的使用要求,经过协调后确定。为了降低系统的运行代价,简化维护过程,减少维修困难,提高系统的适应能理,应尽量使用较少的接口种类。

系统配置的各类用户接口应具有足够的容量来满足近远期对系统的扩展要求,以及与其它轨道交通线路接入和可能的扩充。系统配置的主要的接口种类如下:

(1) 光纤传输线路接口

(2) 标准的G.703 2M(基群)接口

(3) 以太网接口,接口速率为10M/100M/1000M

(4) 低速数据接口RS-232,RS-422,RS-485,2.4~19.2kbps (5) 网络管理接口 (6) 时钟输入/输出接口

(7) 其它经系统设计后确认所需的接口 5. 传输线路

从控制中心至各车站之间,分别在区间两侧弱电桥架上各敷设1条48芯单模光缆及一条20P市话电缆。光缆宜采用符合ITU-T建议的G.652b双窗口单模光纤。无特殊分歧需求时,除长大区间外,光缆在区间内不得接续。干线电缆为光传输系统故障等情况下提供必要的备用调度通信。干线通信光电缆必须采用无卤、阻燃、低烟、低毒、防蚀、耐老化、防鼠害和抗电气干扰的铠装缆。在区间内全线设置通信电缆托架放置通信光电缆。

所有光、电缆在接入设备前,应经过光纤、音频配线架,电缆接入时应设置适当的保安和接地措施,并考虑足够的容量。 13..2 公务电话系统

公务电话系统采用在原有控制中心交换机扩容方式。在控制中心利用既有程控电话交换机扩容,在各车站设置小交换机,各车站小交换机通过光传输设备与控制中心交换机组网,控制中心交换机与车站小交换机之间采用2M通道组网。

13—5 通信

1. 采用单局制构成,对控制中心数字程控交换机扩容,用于控制中心、各车站间的内部通话及与市话网的连接。

2. 主要部件应采用双机热备份工作模式,话务处理能力满足远期容量需求。

3. 中继方式

交机与市话局采用2Mb/s数字中继,全自动呼出,呼入采用部分全自动直拨DID,部分采用半自动接续BID的混合进网中继方式。

(1) 各种业务忙时话务量按下列要求设计: 电话用户0.16Erl/线; 传真0.17 Erl/线;

每条数字中继话路0.7 Erl/线;

低速数据、2B+D、30B+D及其它符合ISDN用户网络基本条件的各类用户1 Erl/线。

(2) 传输衰耗应满足下列要求: ① 四线链路 地区呼叫:3.5dB 长途呼叫:7dB ② 用户线衰耗

用户至市话端局间的衰耗不大于7dB。 (3) 编号方案

本线的公务电话用户应按照哈尔滨市轨道交通1号线的号码分配原则进行统一编号。 13..3 专用电话系统

专用通信系统由它调度电话、站内电话、站间行车电话、区间电话、直通录音电话等组成。

1. 调度电话

调度电话设列车调度电话、电力调度电话、环控、防灾及维修调度电话,各调度区段划分应与行车指挥或控制管界划分一致。

总机和分机间话路经数字传输通道按辐射方式连接。

13—6 通信

2. 站内电话供车站值班员与本站其他有关部门进行通话联络。 3. 站间电话能及时、迅速沟通相邻两车站的通话,且不允许其它电话插入。

4. 在区间每隔150~200m设一台区间电话机,用于列车司机或维修人员与有关单位进行紧急联系和一般通话。1~3台电话机并联使用一个用户号码。

5. 直通录音电话供电力部门使用,与市供电局直通通话,并能实时录音,直通录音电话设于控制中心。 13..4 无线通信系统

1. 采用与1号线

一、

二、三期一致的800MHz频段TETRA数字集群无线通信系统。

2. 采用全基站方式实现无线信号覆盖。

3. 区间(包括地下站台)应采用漏泄电缆完成无线信号的覆盖,车站站厅(含公共区域、重要用房等)宜采用天线完成信号覆盖。在初步设计阶段应根据运营和运营部门的需求,明确无线信号的具体覆盖范围。

4. 为减少不同小区的频率干扰,采用800MHz频段的三组频率(6对频点)轮流在本线上使用。具体频点待向哈尔滨市无线电管理委员会申请并得到批准后确定。

5. 在满足信纳比20dB的条件下,本系统可靠通信的时间、场强覆盖地点的概率在线路运营区间范围内应大于95%,其它地点不小于90%。

6. 系统设置

专用无线系统包含列车调度、事故及防灾、设备维修及停车场管理四个子系统,系统在既有1号线工程800MHz频段TETRA数字集群无线通信系统基础上进行扩容。

(1) 列车调度子系统供列车调度员、司机、车站值班员、车辆基地和停车场信号楼值班员之间以及车站值班员与站台值班员之间通信联络,满足列车运行需要。

(2) 事故及防灾子系统供防灾调度员、车站防灾员、现场指挥人员

13—7 通信

及有关人员之间通信联络,满足事故抢险及防灾救灾需要。

(3) 设备维修子系统供维修值班员与现场维修人员之间通信联络,满足线路、设备的日常维护及抢修的需要。

(4) 停车场管理子系统供车辆基地和停车场运转值班员、调车员、列车司机、场内作业人员之间通信联络,满足列车调车及车辆维修的需要。本期工程不新设停车场。

7. 系统功能

(1) 虚拟专网:系统为各调度群用户提供专用调度台,组成虚拟专用网;

(2) 调度通话:单呼、组呼、全呼、紧急呼叫、强拆、组呼的动态重组、调度监听、优先级设置及呼叫;

(3) 能完成调度区域选择、越基站无隙切换;电话互联呼叫等功能; (4) 车载台自动转组:列车在进出车辆基地时,系统可通过信号系统ATS所提供的信息,进行行车调度通话组与车辆段通话组的自动转换;

(5) 所有调度通话的自动录音:具有列车司机与行车调度的语言录音及回放,时间不少于60min;

(6) 主要提示信号:接通音、呼叫失败音(或显示)、忙音、弱场区提示音;

(7) 应提供分组数据传输能力,支持多用户共享、语音调度优先和自动断点续传,并能根据语音调度通信的繁忙程度,自动调整分组数据业务带宽(7.2~28.8Kbps)。

(8) 网管设备应具有系统配置、用户管理、故障监测报警及管理、统计报告功能。 13..5

闭路电视监控系统 1. 监视功能

车站值班员可监视本站站台、站厅及自动扶梯、出入口情况; 中心调度员可利用监视器和显示大屏监视全线各车站情况。 2. 图像选择功能

车站行车值班员可选择本站与行车相关的任一摄像机的图像在任一

13—8 通信

监视器上显示,既可用各种时序自动循环切换,也可由操作人员手动切换。 控制中心各调度员可利用

一、

二、三期设置的调用终端同时选择全线任一摄像机或相同摄像机的16幅图像,在既有任一监视器和显示大屏上显示,既用各种时序可自动循环切换,也可由操作人员手动切换。

3. 录像功能

本系统在各车站设置长时间录像机,对运营用摄像机图像进行长时4. 列车司机监视功能

列车司机可通过站台前端设置监视器方式,监视站台和旅客上下车间不间断录像。

情况,即在上、下行站台列车驾驶室停车位置的一端,各设置1台大屏幕彩色监视器,接收本侧站台摄像机的图像供司机观看。 13..6 广播系统

1. 本系统纳入既有1号线

一、

二、三期工程的广播网络,实现控制中心调度员通过同一控制设备对既有1号线

一、

二、三期及本期车站的统一控制,保证系统功能与

一、

二、三期工程的一致性。

2. 由车站广播子系统、控制中心子系统组成。

3. 车站广播是控制中心、车站两级控制的广播网,控制中心的调度员(总调、列调、防灾调度)可对全线车站进行选站、选路或全线统一广播,车站值班员可对本管区的站台、站厅、办公管理区及有关设备房进行同时广播或分路、分区广播。

4. 车站广播的优先顺序为: 控制中心防灾调度; 车站值班员; 控制中心总调、列调;

5. 各车站分为上、下行站台、站厅、办公及设备房、出入口五个广播区。

6. 扩音设备应采用n+1备份方式工作。

7. 车站采用低功率扬声器密布的方式,使车站内各点均获得均匀

13—9 通信

而足够的声场强度,其有用声场强度高于背景噪音10dB,切换到防灾广播时,声场强度高于背景噪音15dB。

8. 为保证声场强度在上、下行站台设置噪声传感器。 13..7 乘客信息系统

乘客信息系统(PIS)是依靠成熟可靠的网络技术和多媒体传输、显示技术,以车站和车载显示终端为媒介,向乘客提供以运营信息为主的多媒体综合信息显示系统。

1. 本系统分为车站乘客信息系统和车载乘客信息系统。按照系统组成,整个系统又可以分为中心、车站、车载和网络四个部分。

(1)

中心子系统

乘客信息中心子系统对各车站子系统的操作通过专用通信传输通道实现,对车载子系统的操作通过本系统设置的WLAN传输通道实现。1号线四期工程在

一、

二、三期中心子系统的基础上扩容,车站子系统接入中心子系统。

(2)

车站子系统

车站子系统的主要设备包括:车站信息服务器、车站交换机、车站播放控制器分配器、显示屏集成化软件等。

(3)

车载子系统

车载子系统主要设备包括:车载无线天线、车载无线单元、车载播放控制器等。

(4)

网络子系统

网络子系统是指提供系统数据信息和控制信号传输的通道,根据传输路径可分为有线网络和无线网络两个部分。有线网络采用专用传输系统提供的以太网通道,无线网络应支持以80km每小时速度行驶列车的双向数据通信。考虑到PIS和预留车载CCTV车地双向数据通信的需求,无线传输部分宜采用WLAN传输技术。

2. 系统终端设备布置 (1)

车站LCD显示屏

LCD显示屏设置在各车站站厅售票机上方和上下行站台乘客候车

13—10 通信

区。

(2)

LED显示屏

LED屏设置在各车站出入口处。 (3)

车载LCD显示屏

车载LCD显示屏设置在各列列车每节客室车厢的车门旁。 13..8 时钟系统 1. 系统功能

(1) 为控制中心、车站各部门工作人员提供统一的时间显示; (2) 为乘客提供统一的标准时间信息; 2. 系统构成

本系统利用既有1号线

一、

二、三期工程控制中心既有母钟作为标准时钟源、在各车站设置子钟驱动器、子钟(各类时间显示单元)等设备。

在各车站设置的子钟驱动器,接收母钟发送的时间编码信息,以消除累计误差。子钟驱动器应具备多路输出接口,当母钟或传输通道发生故障时,仍可驱动子钟并告警。在子钟驱动器故障时,子钟可进入降级模式并告警。 13..9 办公数据网络及综合布线系统 1. 系统组成

OA系统的硬件包括网络设备、综合布线、计算机设备及相应办公设备。四期工程OA系统接入

一、

二、三期工程设置的信息网,构成1号线完整的OA信息网络。

2. 传输方式

利用专用传输系统提供的以太网通道组网。 3. 软件

办公自动化系统的软件主要包括操作系统、数据库软件、自动备份软件,网管软件以及各种OA应用软件等。 13..10 集中告警系统

集中监测告警系统由以太网交换机、工作站、打印机、网络设备等

13—11 通信

组成,通过控制中心以太网交换机将各子系统的监控终端连接成网。控制中心设备已在

一、

二、三期工程中实施,本次四期工程对其进行扩容接入。 13..11 电源及接地系统

1. 通信电源是保证通信系统正常工作的必要条件。因此,通信电2. 控制中心及各车站、车辆段、停车场的通信设备均要求按一级源必须安全可靠。

负荷供电,需供电系统提供三相五线制交流电源。各通信机房设置专门的交流配电柜。

由变电所引接两路独立的三相五线制交流电源进线。如使用中一路在全线设置UPS电源并提供交流“集中供电,分散配电”的功能。 3. 交流UPS供电电源输出电压波动范围不应大于±5%。 4. 通信设备在外部电源失电时应能通过蓄电池提供不间断供电,5 蓄电池应无腐蚀气体析出,适合设在通信机房内。 电源故障时应能进行自切并在本地及远端自动告警。

其蓄电池组的容量应保证向通信设备连续供电不少于2h。

6. 为确保人身和通信设备安全以及通信设备的正常工作,需设置为保证系统正常工作和人身设备的安全,应采用联合接地方式。 通信专业应对接地体部分应提出设置要求,由供电专业负责设置,接地系统。

通信专业和其它专业的接地引出端子应保证足够的间距。在通信电源设备室内设置地线盘,综合接地体的接地电阻应不大于1Ω。

接地装置用来接引下列各类设备: — 直流电源需要接地的一极 — 通信设备的保安避雷器

— 通信设备、通信电源设备的机架,机壳 — 引入电缆、室内电缆和配线的金属护套或屏蔽层 — 交、直流电源设备采用供电系统的PE线保护。

13—12 通信

13..1 公安通信系统 公安无线系统 1. 系统功能

(1) 满足公安350MHz警用自动级建设项目的要求,系统通过链路应能实现350MHz公安电台从地面到地下,从一个地铁站到另一个地铁站的全自动漫游。

(2) 系统满足MPT1327集群标准信令规范,符合公安部要求。 (3) 满足 MPT1343,警用CPSX用户编号协议。

(4) 系统必须覆盖站厅、站台、出入口通道、隧道区间,实现地下线路,地下车站之间、车站与地面之间通信;

(5) 系统支持从指挥中心或现场任意一台手持机到各个分部门的全呼、一对多组呼、一对一单呼、广播呼叫、优先呼叫、紧急呼叫、PABX/PSTN呼叫以及在紧急情况下的强拆、强插等集群调度功能。

(6) 分站本身发生的本地呼叫不占用主站信道,跨站呼叫时间不超过0.5秒;

(7) 集群信道和常规信道共享功能:可通过系统管理终端,远程遥控设置某集群信道变为常规中转信道。

(8) 主站信道满负荷或出现故障时,分站可独立工作,而且分站可独立实现MPT1327信令标准所规定的所有集群呼叫功能。

2. 系统组网方案

利用哈尔滨公安市局调度中心设置地铁公安无线设备,可进行单独的网络管理。

应采用与市局公安350MHz集群通信系统兼容的设备和相同的系统制式。

采用分基站组网方式,地铁内部通信话音信息可以不用通过市区主基站,不占用主基站资源。

在各车站设置分基站分别接入哈尔滨市的模拟集群通信系统主基站,各地下移动电台及固定电台通过分基站融入市公安集群指挥调度通信网。

13—13 通信

在每个地下车站各配置一套多信道无线集群分基站,分基站与市公安局的中心主基站采用无线链路连接。在每个车站出入口地面设置室外天线,经射频电缆连接到站内分基站,通过空中接口与市局指定的地面主基站连通。

3. 系统构成

本工程采用无线链路分基站引入方式构建公安无线通信网,在四期工程5个地下车站设置分基站。

隧道内无线场强覆盖可采用漏缆覆盖方式,上下行合用一条缆。站厅、设备层、办公区域、人流通道和换乘厅使用比较经济的小天线覆盖,收发合用同一副天线。站台由于形状较规则,宽度较窄,结合隧道的覆盖方式,站台和隧道一并采用漏泄同轴电缆方式覆盖。

在每个站站外需要架设与市局主基站通信的链路天线和GPS接收天线。

在四期工程5个地下车站公安机房分别设置5套公安350M模拟集群无线分基站,分基站配置4个信道机,用于公安话音通信。

扩容市局、地铁分局配置公安指挥调度台和市局网管设备。 在派出所、车站警务室设置手持终端和固定台。 13..2 消防无线系统 1. 系统功能

(1) 地铁消防无线系统是哈尔滨市消防无线系统的一部分,必须和市消防无线通信系统联网,以保证地下消防人员与消防指挥中心之间、消防地铁中队等相关部门之间的无线通信。

(2) 系统必须覆盖站厅、站台、出入口通道、隧道区间,实现地下全线、地下车站之间、车站与地面之间通信。

2. 系统组网方案

(1) 系统采用800MHz的数字集群系统。

(2) 集群交换机由市消防局统一设置在市消防中心,不在本工程范围,本工程主要考虑地下基站设置。全线采用基站+光纤直放站的方式组网。

13—14 通信

(3) 扩容消防指挥中心地铁消防调度台和集群、直放站网管。 13..3 治安动态视频监控系统 1. 系统功能 (1) 图像监视功能

车站公安值班员使用本地监控,共享原有专用闭路电视系统和公安专用摄像机资源,可通过终端切换实现现场实时图像的调看。

派出所值班员可通过控制终端远程调看所管辖区域车站的摄像机图像。

地铁分局值班员可通过控制终端远程调看全线车站的摄像机图像。 (2) 图像选择功能

车站公安值班员、派出所值班员、地铁分局值班员可通过键盘进行自动循环或手动切换选择。

(3) 录像功能

对站内所有图像进行录像,录像保存时间不小于15天。 (4) 图像分析功能

根据市公安局需求,在各车站设置至少4路图像视频分析系统,报警时自动弹出相关画面。

2. 系统构成

系统由摄像机终端、图像显示与控制、图像录制、控制信号处理、信号传输及网管设备组成。

公安通信设备室设置视频分配器、视频切换矩阵、编码器、高清解码器、视频分析设备、云台控制设备、视频控制设备及录像设备,在公安值班室设置视频监控终端及监视器。

系统通过公安专网提供的数字通道接入派出所及地铁公安分局。 13..4 公安专网系统 1. 系统功能

公安专网系统是为公安轨道分局与派出所及车站警务室提供数据及视频信息传送的网络平台,同时与市公安计算机网络互联进行数据信息交流。

13—15 通信

由于公安部门的特殊性,必须保证该系统的独立性、保密性、安全性。本系统应能传输公安系统的管理、监控信息等数据信息。

2. 系统构成

采用IP数据网络,在公安轨道分局、派出所和车站设置以太网交换机,组成骨干层、汇聚层和接入层三层IP网络。

汇聚层和接入层设备接入由1号线

一、

二、三期在轨道分局设置的核心交换机。

汇聚层设备设于派出所,每个派出所设1台以太网交换机,向上联至市公安轨道分局交换机。

接入层设备设于车站公安通信机房,每个车站设一台以太网交换机,以太网交换机分别与派出所交换机互联。

本工程上下行各敷设一条60芯光缆。

公用通信系统

1. 民用通信引入系统作为一个相对独立的系统,应满足轨道交通开展公用通信运营的需求。

2. 民用通信引入系统应满足乘客在地下空间进行无线通信联络、拨打公用通信网电话及其它多媒体通信的需求。

3. 民用通信引入系统应满足公众移动通信运营商和多种移动通信制式接入的需求,同时应考虑将来业务技术发展的需求,预留相应接口和条件。

4. 传输系统 (1) 传输的信息 ① 无线中继信息 ② 电源网管信息 ③ 无线覆盖设备网管信息 ④ 系统本身所需的相关信息 ⑤ 其他信息 (2) 传输系统制式

13—16 通信

传输系统应采用光纤及数字复用设备。应根据本工程的具体特点,对各种传输制式进行充分论证,明确推荐所采用的传输系统制式。

(3) 传输网络组网应安全、可靠,易扩容、升级和维护。 (4) 系统带宽

根据用户使用的性质及要求提供主、备用信道并预留一定租用的带宽,并具有自动倒换功能。

(5) 系统节点通道型式和接口要求

系统各节点应能提供点对点式E1通道、以太网(10/100M Ethernet)等符合相关标准和建议的接口。

(6) 系统的容量应考虑扩展的需要,宜预留30%的余量。 (7) 系统应具有完善的网管功能,可进行故障管理、性能监视、系统管理、配置管理。

(8) 系统宜独立敷设光缆,应采用充油、低烟、无卤、阻燃、束管式的铠装光缆,并采用1310nm和1550nm双窗口的单模光纤。光纤的几何尺寸、光学、传输特性应满足ITU-T有关建议。

5. 移动电话引入系统

(1) 应是诸多射频信号的合成——分配网络。系统应完成的功能为:将各地下车站目前及将来(预留)各运营商的各种移动电话制式的射频信号合路后,再由天馈系统均匀地将能量辐射于需要覆盖的场所,在无线覆盖区域内95%的位置,99%的时间内移动台可接入网络。

(2) 民用通信引入系统支持GSM、CDMA、GPRS、3G等制式的信号引入。

(3) 无线网络覆盖及服务质量应达到以下要求: ① 区域边缘GSM、CDMA下行信号电平≥-85dBm;

② 根据国家环境电磁波卫生标准,办公区域一级标准(10w/cm2),站台、站厅、商场及隧道内达到二级标准(40w/cm2);

③ 覆盖区内无线可通率≥95%;

④ 同频干扰保护比:C/I(载波/干扰)≥12dB;

⑤ 在基站接收端位置接收到的GSM上行噪声电平应小于

13—17 通信

-110dBm/200kHz;

⑥ 在基站接收端位置接收到的CDMA上行噪声电平应小于-105dBm/1.25MHz;

⑦ 越区切换成功率、掉话率、误码率应符合国家和行业的相关规定。

7. 电源设备及接地系统

(1) 为保证民用通信引入系统安全可靠地正常工作,系统设备按一级负荷供电,需供电系统提供两路独立、可靠的三相五线制交流电源。交流输入电源电压的波动范围为:380V±10%。

(2) 民用通信引入系统采用UPS不间断电源供电,其配电容量按远期确定。

(3) 本系统应根据各子系统对直流电源需求,优化系统配电方案,考虑设置直流供电系统的合理性。

(4) 本系统接地的技术指标应与运营通信系统的电源及接地一致。接地宜合用运营通信系统的接地箱,连接至直流电源接地、屏蔽接地、保安避雷接地、测试接地、设备金属外壳、室内金属电缆桥架及金属电源保护管等接入本接地装置。综合接地装置的接地电阻应≤1Ω。

通信用房技术要求及机构设置和定员

1. 本线通信用房设在各车站,其用途分为通信设备用房、生产辅助用房及办公用房等。

2. 通信用房的设置原则

通信设备机房的位置安排应做到经济合理、尽量远离电力变电所,在技术上应考虑引入方便、控制配线长度和便于维修。

在通信系统设计中,应充分考虑通信设备的布置以及电缆的敷设,综合考虑布置并预留通信专业所需的沟槽管洞。

机房地面均布荷载计算标准:设备室600kg/m2,通信电源设备处1000kg/m2。

各种通信用房的面积,均应按远期容量确定。

13—18 通信

通信设备用房内设活动地板,应有防静电措施,机房地板下净空不小于300mm。室内净高不得小于2.8m,门宽度不小于1.2m(双扇向外对开),门高度不小于2.0m。

通信机房防火及其它工艺要求应符合国家的相关规定。

3. 业务技术管理机构定员和行政机构定员应分别单列,以适应将来不同运营管理方式的变动。

13..1 通信系统维修措施 主要功能

1. 应能24小时不间断地对所有通信设备进行故障告警监视、集中控制和抢修。

2. 针对各设备的特性制定维修、巡检、测试方案。 13..2 维修工区和车间房屋设置与检修设备配置

以管理体制和定员为设计基础,合理配置通信工区、材料备品室、仪器仪表室、休息室、设备检修室。

13—19

第4篇:地铁综合监控辅助决策系统设计与实现

摘要:地铁综合监控辅助决策系统帮助操作员在紧急情况下做出正确的操作。辅助决策系统包括决策管理、决策执行、历史查看等功能,采用流程图来表示应急操作的步骤及其相互关系,并能实现多站点的协同处理。

关键词:地铁,安全,紧急,综合监控,辅助决策

Abstract: Metro ISCS decision support system (DSS) help the operator to make a correct operation in case of emergency. DSS including the function of decision-making, decision execution and history view etc. DSS use the flow chart to represent emergency operation steps and their relationship, and can realize the multisite collaborative processing. Key Word: Metro, safe, emergency, ISCS, Decision Support System 1 概述

地铁是人员密集的一个公共场所,一条地铁线每天的客运量达数十万人次。由于空间封闭,人员疏散不畅,在地铁发生事故时如果不能及时地采取正确的应对措施,可能会造成重大的人员和财产损失。

为了保证地铁的运营安全,地铁内配置了大量的相关设备和系统,并制订了各种应急操作预案。但由于地铁的规模大,系统复杂,这些预案的执行也相当复杂,在事故情况下,处于高度紧张状态的运营管理人员往往顾此失彼,难以保证预案的正确执行。

为了解决上述问题,在青岛地铁综合监控系统中,设置了一套辅助决策系统(Decision Support System, DSS),用于帮助运营人员在事故时采取正确的措施,提升在紧急情况下处理复杂事务的能力,最大限度地保证地铁运营安全。

2 软件说明

2.1 软件特点

辅助决策系统是综合监控系统的一个子系统。用于在紧急事件发生时辅助用户完成一系列应急指挥动作。 辅助决策系统有如下的功能特点:

一、决策执行过程采用流程图的形式进行操作,在流程图里,每个节点作为一个独立的操作步骤,允许有分支、合并、判断等步骤,运营人员可按流程图中提示的操作步骤及操作次序,逐步操作,从容应对,正确完成应急处理过程。

二、辅助决策系统的启用允许有两种方式:一种是综合监控系统内部发生严重的故障或事故,按照预先设计的模式自动启动;一种是外部事件发生,由操作员手工启动。

三、可方便的建立和维护辅助决策信息库,使系统有一个良好的扩展性。可完全由维护人员自行管理,能够方便地完成决策的增、删、改操作,并随时向外界发布最新的应急决策。

四、可实现不同地点的操作人员协同执行决策操作。在紧急事件发生时,决策被启动后,在决策流程中的所有相关的操作员的终端中应能够弹出决策执行界面,根据决策步骤执行的实时状态,能够协同其他操作员共同完成流程图中的步骤动作,正确处理紧急事件。

五、能够实时保存决策的执行情况至数据库中,以便日后对当时的决策执行情况进行分析和归纳,辅助运营人员完善决策和分析故障。

已有的综合监控辅助决策系统往往触发后只能运行在一台调度员工作站上,还需要多人配合才能正常工作,对于事故处理的时效性不能很好的保证。本软件支持多终端弹出功能,当事故发生,触发相应的决策后,能够及时的在相关终端中分别弹出决策执行窗口,决策执行过程中,根据自身权限,执行自己对应的决策步骤,而且各相关执行人员能及时的了解决策执行状况,观察别人的执行情况,对决策的执行的情况有一个总体把握,作到心中有数,遇事不慌。

2.2 模块划分

本软件划分为3个模块:决策管理模块,决策执行模块和历史查看模块。

图2.1 辅助决策系统的模块划分

1. 决策管理模块 决策管理模块提供了决策的新增、修改、删除等功能。决策管理模块也包括了流程图编辑器,通过编辑器可进行决策流程的编辑。

2. 决策执行模块

决策执行模块是DSS最基本和最核心的功能。系统提供直观的决策执行界面,用来展示事件的处理过程。由系统自动触发或调度员手动调出定义好的决策流程图,并按照流程步骤的先后顺序,提示相关调度员采取正确的应对措施。系统根据相关调度员对于操作结果的反馈,及时向每个相关调度员显示当前多人协同执行情况。

3. 历史查看模块

DSS系统还提供决策历史记录查询工具,该工具在界面上以列表的方式展示出每一步的执行状况,包括操作员的名称、执行时间段、执行记录、执行结果等。历史记录查询工具可以让操作者直观地了解决策执行的整个过程,通过记录分析出步骤执行失败的原因,并定位到相应的责任人。操作员还可以通过历史记录评估决策执行的效果,必要时采取改进措施,进一步完善决策的流程。

3 详细功能说明

3.1 界面设计原则

辅助决策系统软件属于综合监控系统的一个单独模块,通常从综合监控主界面启动。 界面的整体设计风格与综合监控主界面相协调。软件的主界面用分页的形式来划分辅助决策系统的3大功能(决策管理,决策执行和历史决策),功能一目了然,方便操作员快速切换。

在主界面的左侧用树型结构组织数据,右侧部分的主视图区来显示决策的流程和查询结果等主要的现实内容。

图3.1 辅助决策系统界面 对于历史决策信息的展示方法,为了便于操作员查询和回溯过往执行的历史决策信息,采用了按条件检索的方式,检索结果用列表的方式体现。

3.2 决策管理 3.2.1 图元设计

决策的过程用流程图表示,每个决策都有自己的流程图。决策流程图由四种图元组成: 1. 始端、终端元件:用于表示决策的开始和结束。 2. 判定元件:根据已有条件进行判断,用于产生选择分支。

3. 步骤元件:用于表示需要执行的决策动作。步骤元件可以产生并行分支(发散步骤),也可以收拢分支(闭合步骤)。

4. 有向连接线:用于表示步骤的执行顺序。

在进行决策编辑时采用直接点击工具条上的图元按钮,在流程图描画区上直接描画图元。采用所见即所得的方式,在流程图描画区可以直接拖动图元至任意位置来编辑决策。这样的做法使用户更加直观的编辑决策,使决策编辑功能做到简单易用。

在流程图的描画上,图元的形状采用与通用的流程图形状: 1. 始端、终端元件:跑道形或椭圆形等。 2. 判定元件:菱形。 3. 步骤元件:矩形。

4. 有向连接线:带箭头的直线。

图3.2 决策流程图

3.2.2 功能说明

编辑器提供灵活的决策编辑工具。管理员可以在界面上拖拽图元用于表示决策的执行步骤,并通过有向连线表示出模块之间的先后关系,从而直观地画出决策流程图。可以灵活的配置决策步骤的具体信息,包括步骤名称、步骤描述、执行人、步骤超时时间等。决策资料在录入后,管理员可以在决策编辑器界面中对决策进行修改。 3.3 决策执行 3.3.1 功能说明

系统提供直观的决策执行界面,用来展示事件的处理过程。决策触发时,系统会自动调出定义的决策流程图,并按照流程步骤的先后顺序,提示相关调度员采取正确的应对措施。系统根据相关调度员对于操作结果的反馈,及时向每个相关调度员显示当前多人协同执行情况,并给出进一步的应对提示(操作建议)。

3.3.2 决策执行规则

决策执行规则如下:

系统以流程图变色的形式提示调度员当前的操作情况:绿色闪烁-当前应执行的步骤;绿色-已执行完成的步骤;白色-未执行的步骤;黄色-执行失败,或跳过不执行; 调度员需要确认每个步骤是否完成;只有经调度员确认完成后,决策才会进入到下一步。

决策在执行过程中,操作人员可以进行必要的干预,如终止决策。执行结束后会存储执行记录,供日后检索和查阅。

3.3.3 决策的协同执行

当决策在一台工作站上被启动执行后,在该决策中相关的其他工作站将自动弹出该决策的执行界面。

需要多个调度员协同执行的决策,每个调度员只能执行自己的分支,但可以看到其他分支的执行情况。此时每个步骤的执行可能不是独立的,而是相互关联的,某个步骤的执行有可能会需要其余调度员的等待。

3.3.4 流程图执行方式

1. 顺序执行

步骤以设定好的顺序依次执行。需要其他调度确认的步骤在执行后会等待接收方确认,或在指定时间内未收到回应后进行超时处理。 2. 并行执行 多个分支同时执行。 3. 选择执行

根据条件判断,在两条分支中选择一条执行。

3.3.5 流程执行时的一些限制

每一个决策,都有一个唯一的执行起点和唯一的执行终点。 允许决策执行流程中的主线发散为两条或多条支线。

每个判定元件只允许产生2个选择分支,如需多个选择分支,需使用多个判定元件。 从主线上发散出分支的步骤称为发散步骤;从分支收拢到主线的步骤称为闭合步骤。分支上不允许再有并行分支,闭合步骤必须闭合之前的所有分支。 每个发散步骤必须有一个与之对应的闭合步骤。 不允许向前(起点方向)跳转。

主线上的步骤是顺序执行的,单条分支上的步骤也是顺序执行的,主线发散成多分支时是并发执行的。判断元件产生的分支是选择执行。

每个步骤均有一个超时时间。如该时间为0,则认为本步骤不可跨越。如该时间不为0,步骤开始执行后,超过该时间仍未被确认的,跳过本步骤,执行下一步骤。 判断步骤不可超时跨越。

3.4 历史查看 3.4.1 功能说明

历史查看界面的主要功能是帮助用户反演以往辅助决策应用的整个过程,帮助用户分析在实际应用中,执行过程存在的问题以及辅助决策设计存在的问题,以便加以改进。

历史查看界面的要素包括: 1. 提供历史决策执行的查询功能。

图3.3 历史查看画面 2. 能够查看指定历史决策项的各环节执行时间和执行结果。 3. 能够反演指定历史决策项的执行过程。

系统提供了历史决策的查看工具,该工具在界面上以列表的方式展示出每一步的执行状况,包括调度员的名称、执行时间、执行主机名称、执行结果等。

4 功能实现

4.1 决策数据模型的建立

决策的最小逻辑单元是步骤,作为流程图的节点。在决策执行过程中,步骤只能从前驱步骤执行到后继步骤,且每个决策的执行都仅有一个开始步骤和一个结束步骤,那么,决策的流程图可以看作是一个由若干节点组成的有向图。搜索步骤关系的过程也就是搜索整个有向图的过程。

有向图是一非线性结构, 本身不能作为一个整体存储, 可考虑用两个数据库表文件来分别表示。其中步骤表用于存储顶点信息, 一个顶点是一条记录, 字段可有步骤编号,步骤名称等, 步骤关系表用于存贮每一条弧的信息, 有向图中每条弧作为库中一条记录, 字段可有前序步骤编号、后继步骤编号等。

每一个结点都有各自的属性。决策的属性有触发类型、触发条件、启动权限等。步骤的属性主要包括图元类型、图元位置、步骤内容、前后结点的关联关系,以及图元的颜色,线条颜色等等信息。

4.2 流程图的描画实现

为了更好的兼容系统平台,采用QT实现流程图元件的描画。 流程图的描画方法:

采用QT内部既有的画布类作为基类,实现了一些流程图元件的拖动。 其中包括ShapeBase类: 流程图元件的基类。 定义了纯虚函数。

virtual void SetPen( const QPen& p, unsigned char ps ) = 0; virtual void SetBrush( const QBrush& b, bool color ) = 0; virtual void SetFill (bool fill) = 0;

virtual void SetFont( const QFont& font ) = 0; virtual void SetText( const QString& text ) = 0; virtual void SetBackPicture( const QString& filename ) = 0; 上述方法实现了图元的属性(包括,线条的粗细,是否填充等等) virtual void drawSelectRect (QPainter& p) = 0; 此方法实现了流程图元件的描画。 ShapeBase类继承于Node类, class DLL_EXPORT Node : public Tree { public:

Node (); virtual ~Node (); virtual void loadAttribute ();

//绘制拖拽句柄

virtual void setAttribute (); …… } 此类为公共基类,实现流程图元件的属性管理。 ShapeBase基类派生出的流程图元件类包括: ShapeArrow:有向连接线类(箭头图元) ShapeRhombus:菱形类(判断图元) ShapeRect:矩形类(处理图元) ShapeEllipse:椭圆类(始终端元件) ……

4.3 决策执行时的通信机制

由于本软件的运行是依托于同方的ezISCS系统平台之上的,平台在底层通信上有很好的站间通知机制。因此辅助决策画面的弹出和协作互动直接利用系统平台的通知事项来实现。 4.4 决策的执行原理

在决策的数据模型建立后,每一个决策的所有步骤结点都存储了的先后续关系,这样,我们在找到决策的起点和终点后,就可以按照前驱后继关系进行决策执行了。

流程如下:

初始化:当前未执行节点列表清空后,存入开始节点的步骤编号; 处理一:依次对未执行列表中的节点进行检查; 判断当前登录用户是否具有执行此节点的权限; 如有权限,此节点变为待执行状态。(闪烁)

如没有权限,等待此节点变为待执行状态。如果收到节点更新事项(待执行),那么此节点变为待执行状态。

处理二:等待操作员进行对节点的操作确认,如点击操作完成按钮,则此节点变为已执行状态,等待期间,用计时器对待执行节点进行超时计数,如超过设定的超时时间,则该节点的状态变为超时状态。等待期间如果收到节点更新事项(已执行),那么此节点变为已执行状态。

处理三:检查未执行节点列表,搜索超时和已执行节点的后继节点,并将搜索到的后继节点放入未执行节点列表,删除已执行节点后,返回处理一,直至未执行节点列表为空。

5 结束语

辅助决策系统的应用能够进一步提高地铁运营部门对应急事件的响应、处理效率,最大限度地降低突发事件对地铁运营的影响。随着技术的不断完善和发展,辅助决策系统在地铁综合监控系统中将会得到更多的应用。

第5篇:航空公司地面运行管理系统分析与设计

摘 要:随着中国民航业的高速发展,每年航班量的大幅增长,原有的地面运行系统已不能满足现在的生产管理的需要,因此,应当综合考虑技术、经济等因素,为实现航空公司和系统的效率、效能、效益的统一[1],利用计算机技术和网络技术,对航空公司地面运行管理系统进行分析与设计,使新的地面运行管理系统为提高航班正常率提供保障和支持。

关键词:航空公司;地面运行管理;B/S

中图分类号:TP311.52

1 背景分析

中国民航业已进入高速发展的阶段,每年航班量都在大幅增加。航空市场竞争激烈,各公司通过提高服务质量来赢得市场份额,其中航班正常率是乘客最关注的服务质量,因此成为各航空公司绩效考核的重要指标。由于地面运行效率的提高是保证航班正常的重要因素之一,因此,建设一个高效、可靠的地面运行管理系统能帮助公司提升地面运行管理效率。

目前某航空公司的地面运行管理系统采用C/S架构,此系统现已不能满足生产管理的需要,改造难度和成本都比较大,因此迫切需要设计开发一套基于B/S架构的新的地面运行管理系统,为公司建立一个高效可靠的地面运行管理系统,以帮助公司提升地面运行管理效率。

2 系统分析

地面运行管理系统以提高地面运行保障效率为目标,通过各部门有效的协调、沟通为航空的航班服务提供综合保障,因此地面运行管理系统应当能满足以下各方面的要求:

2.1 对航班运行保障服务实现全程监控,为保障航班安全、正点的运行提供实时、准确的信息决策支持

系统以甘特图、列表等方式显示航班的保障情况,通过视频信号、网络和手机平台对整个现场运行进行管理。

2.2 以运行控制为中心,实时采集运行服务支持部门的工作信息

运行控制中心通过对航务、机务、机组、配载和地面服务等部门工作状态的信息汇总,评估飞机放行条件。各地面运行支持部门通过对地面运行管理系统及时更新工作状态,为管理决策提供及时准确的信息支持。

2.3 自动生成部门工作计划

系统的部门排班模块能通过对各部门的输入的预设定信息的分析,自动生成工作计划,在最大程度上保障生产的顺利进行。譬如,机务能将飞机的定检安排录入到系统中,便于运行管理者合理的使用飞机执行航班。系统中汇总的当日各单位值班人员的信息为运控中心的决策服务提供了准确的沟通渠道。

2.4 提供航班情况判断的预警服务

系统通过对航班运行计划和航班实际运行情况的分析,自动的根据航班运行实际情况对异常和紧急情况进行通知、提醒和预警。譬如,当运行控制管理人员在系统输入航班的预计起飞时间后,系统将对预计时间和计划时间进行比较分析,如果预计起飞时间比计划时间滞后,系统将自动将预计延误时间以短信的形式发送给各现场保障单位和执行航班的机组成员,便于各单位安排工作和机组控制进场时间。

2.5 提供领导决策信息支持服务

系统根据实时监控的地面运行保障情况,根据运行控制策略进行自动分析,将管理决策所需的航班运行实际情况(如机务的飞机故障检修情况、地面服务的值机服务等)及时地提供给领导,便于领导对航班调整的决策基于准确有效的服务信息。

2.6 建立航空公司运行管理数据库

存储历史航班运行管理数据,既为本系统的运行信息分析提供支持,也为其它系统提供数据服务。

2.7 建立与其他系统的接口,提高信息交换的准确率与效率

地面运行管理系统需要其他系统的信息,如旅客信息、机组信息、飞机信息等等。也为其他系统提供有效数据。

3 系统设计

3.1 系统总体结构

系统采用B/S结构开发,B/S(Browser/Server)结构即浏览器和服务器结构。B/S结构形成了三层(3-tier)结构,用户工作界面通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Web Server)实现,数据库服务层(Database Server)主要负责数据的操作和维护[2],图1是系统的B/S结构。

图1

3.2 系统功能模块

现场运行管理系统具有运行监控、运行管理、运行服务、系统管理的四大核心功能。

图2

3.2.1 运行监控

运行监控包括各保障部门进度监控和保障异常管理,各保障部门根据航务、机务、机组、配载、地面服务等调度部门保障完成的情况,协调各部门的保障工作,并采用多种模式进行动态监控,以方便的查询到航班保障动态以及航班信息,使其能针对航班保障情况进行协调各部门的保障工作。

3.2.2 运行管理

运行管理包括当日航班计划管理、航班信息发布管理、当次航班运行管理、备降信息管理、奖罚管理。该模块提供了从其他系统自动导入航班计划并允许工作人员在调整时手工修改的功能,并根据航空运行系统的实时数据,通知到相关部门关于该航班的保障工作时间。同时管理当次航班运行数据,包括飞机数据、当日航班计划、保障时间、延误原因、航班性质类型、部门工作内容等。在该模块中还提供了备降信息管理,通过设置备降保障顺序的条件,提供给系统自动根据条件判定备降航班的保障顺序等。根据航班运行的保障情况,该系统通过奖罚管理模块可以自定义奖、罚公式、模板和自动打印罚单。

3.2.3 运行服务

运行服务包括值班计划、运行消息通知、生产分析。值班计划和值班日志课根据系统采集的数据自动填写,也为员工提供模板手动填写补充值班人员的交接班记录和值班记录,减少员工工作量,该系统还支持把值班日志导出PDF文档。运行消息通知功能提供了给系统中通讯录的部门、员工发送通知短信的功能。对各部门完成任务的情况自动统计,作为部门奖罚的判断依据,对于航班保障汇报的数据(延误原因)进行分析,汇总每种延误原因的延误率是多少,同时作为领导决策的支撑数据。

3.2.4 系统管理

系统管理模块包括系统权限设置、应急备份系统、部门员工信息管理、资料管理。通过系统权限设置可以为每个员工岗位身份设置不同级别的操作权限,通过应急备份系统为系统支持实时数据备份提供保障,使生产工作不受系统故障的影响。通过部门员工信息管理功能建立员工身份信息、通讯录等资料,通过资料管理对航班信息数据等文档资料存储、处理、删除、更新。

4 结束语

本系统采用java语言编写,B/S为系统架构,oracle数据库。目前系统已在某航空公司投入使用,运行良好,提高航班地面运行保障管理效率。系统具有安全性、易用性,可扩展性,为保障部门及时准确的信息获取提供了支持。

参考文献:

[1]张友生,信息系统项目管理师[M].北京:电子工业出版社,2012(06):03.

[2]王英辉,基于B/S模式的钢企自动化管理系统的设计与应用[J].制造业自动化,2013(10):73.

[3]郜惟,罗江华,基于B/S架构的土地资源管理系统的设计[J].科技信息,2013(15).

[4]王涛,俞利健,基于B/S的电力企业干部管理信息系统的设计与实现[J].浙江电力,2013(08):68.

作者简介:万畅(1976-),四川渠县人,硕士研究生,研究方向:计算机网络计算。

作者单位:广东省科技干部学院,广东珠海 519090

第6篇:课程设计--模拟电信计费系统

课程设计指导书

课题名称:模拟电信计费系统

设计目标:按照软件工程的规范,以SQL Server或Access为后台数据库,以Visual C++、Delphi等为前端开发工具,设计并实现一个能模拟电信计费过程的系统。 需求描述:

本系统存放固定电话通话的源数据和费率数据。通话数据包括:主叫区号、主叫电话号码、被叫区号、被叫电话号码、通话开始时间、通话时长(秒)。如果主、被叫区号相同,则为本地通话;否则为长途通话。费率数据存放本地到外地的通话费率,包括:被叫区号和通话费率。

系统应实现以下功能:

(1) 计费功能(对应专门的菜单):

根据存放在源通话数据中的通话记录和长途费率对每一条通话记录

计算其通话费用。其中:

通话费的计算方法如下:

通话费=长途电话费+本地电话费

长途电话费=费率(元/分钟)×通话时长(分钟)

(通话时长不满1分钟的按1分钟计算)

本地电话费为:3分钟以内0.5元,以后每3分钟0.2元。

(2) 话费查询:按电话号码查询某月或某几个月该电话号码的所有本地话费、

长途话费和总费用。

(3) 话单查询:按电话号码查询某月或某几个月该用户的所有通话记录。 结果形式:

提交课程设计报告、源程序和可演示的软件

课程设计报告要求:详见课程设计模板

课程设计参考思路:

(1) 熟悉数据库和开发工具,掌握开发工具与本地数据库的连接方法。

(2) 理解系统的信息需求,进行合理的数据库设计,建立各数据库表。

(3) 理解系统的功能需求,设计应用软件。结合Delphi 或VC++进行系统界面

(窗体、菜单以及相应控制按钮)的设计、连接与操纵数据库方案的设计,编写程序。

(4) 系统运行、调试并完善。

(5) 撰写设计报告。

第7篇:JAVA课程设计-ATM机模拟系统

《Java语言程序设计》

课程设计报告

目:

ATM柜员机

业:

信息与计算科学

号:

23

名:

指导教师:

绩:

2010 年 12 月 10 日

目 录

1课程设计研究背景及意义 ....................................... 2 2 课程设计题目描述和基本功能设计要求 ........................... 2 3 系统需求分析 ................................................. 2 3.1 功能需求分析 ............................................ 2 3.2 其他需求分析 ............................................ 3 4 系统设计 ..................................................... 3 4.1 总体设计 ................................................ 3 4.2 ATM柜员机界面设计 ...................................... 4 4.3 各功能模块设计 .......................................... 5

4.3.1 登陆页面模块设计 ................................ 5 4.3.2 选择服务模块设计 ................................ 6 4.3.3 取款模块设计 .................................... 7 4.3.4 修改密码模块设计 ................................ 8 4.3.5 查询余额模块设计 ................................ 9 4.3.6 退卡模块设计 .................................... 9 4.4 异常处理情况说明 ....................................... 10 5 系统实现与测试 .............................................. 10 6 课程设计总结 ................................................ 13 6.1 遇到的问题及解决办法 ................................... 13 6.2 心得体会 ............................................... 14 参考文献 ...................................................... 14 附录(源码) .................................................. 14

1课程设计研究背景及意义

这次课程设计是通过JAVA编程来实现ATM柜员机的功能。以前,人们用手算取钱,不管从方便的角度还是速度的角度来看都不及现在。电子技术的不断发展使得ATM自动化的功能不断完善。在二十一世纪的今天,ATM柜员机是人们生活中重要的工具,所以,对ATM柜员机的研究的课程设计具有重大意义。

这次课程设计的主要目的是结合面向对象程序设计课程,培养我们面向对象开发的思维,初步了解软件开发的一般流程,提高用JAVA编程的实际动手能力并增强大家对面向对象的了解。这次课程设计的主要内容是独立用JAVA语言开发一个小的应用程序。

2 课程设计题目描述和基本功能设计要求

本次设计的ATM柜员机主要是由各个Windows窗口组成,它是由登录页面、选择服务、取款、查询余额、修改密码和退卡等功能。它的各种按钮的事件和功能可以简单的模拟ATM柜员机的要求。 组员分工:

组长(单焱): 负责分配其他组员的任务,构建需求分析,系统实现及异常处理情况, 调试程序等,把握ATM柜员机的整体布局。

组员1(刘星):负责登陆界面模块,选择服务模块及退卡模块,编写相应代码。 组员2(王玲玲):负责取款、修改密码、查询余额模块,编写相应代码。

3 系统需求分析 3.1 功能需求分析

本ATM柜员机的主要功能如下所述:

要求使用图形用户界面。当输入给定的卡号和密码(初始卡号为000000和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:

查询余额:初始余额为50000元

ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。

ATM存款:不能出现负存款。

修改密码:只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

3.2 其他需求分析

(1)性能描述

实时性好、灵活性强、易于不同年龄阶段的人操作。 (2)设计约束 开发工具:Eclipse3.2. 运行环境:Windows 2000以上。 (3)界面要求

以Windows窗口形式显示,标题栏为ATM柜员机名称,右上角有最小化按钮、最大化按钮、关闭按钮,不同的窗口中有不同的按钮和选择菜单。

4 系统设计 4.1 总体设计

本次设计的ATM柜员机主要是由登录页面模块还由选择服务模块组成,其中选择服务模块又由取款模块、查询余额模块、修改密码模块、退卡模块组成。如图:

图1

ATM功能结构示意图

4.2 ATM柜员机界面设计

一个系统的界面应该要简单明了,当然样式美观就更好了。本次设计的界面主要是由窗体组成,操作简单。而每一个窗口则执行相应的功能。

一个系统界面的好坏直接影响到用户的操作,界面设计要求样式美观、简单明了、方便易操作。界面主要分为窗体、菜单、按钮和文本输入框几个部分,分别执行相应的操作。

(1)窗体的设计

窗体整个框架使用Frame类构造,Frame有自己的外边框和自己的标题,创建Frame时可以指定其窗口标题,我创建的窗口标题是各个不同功能的模块的名字,比如说查询余额,还有取款等。相应源代码为:WindowBox(String s){super(s);} 、Selection(String s,Account act){ } 向Frame窗口中添加组件使用add()。 例如:button1 = new Button("存款");

p1.add(button1); this.add(p1); super(s); 每个Frame在其右上角都有三个控制图标,分别代表将窗口最小化、窗口最大化和关闭的操作,其中最小化和最大化操作Frame可自动完成,而关闭窗口操作实现需要书写有关的代码,在我的程序中我采用的是对WINDOWS_CLOSING事件做出响应,调用dispose()方法关闭窗口。Frame也可以引发WindowsEvent类代表的窗口事件。相应源代码为:

addWindowListener(new WindowAdapter() //窗口侦听器,以从此窗口接收窗口事件 {public void windowClosing(WindowEvent e) //处理窗口关闭事件

{ System.exit(0); } }); } (2)窗体的主要结构的设计(网格布局)

我所设计的窗口的主要结构的特点就是每个窗口都对应着一个特定的功能。比如说报各种各样的错,还有各种查询余额、取款、选择服务等,所以它们都是由各种按钮和文本框,标签组成的,而联系各个窗体成为一个整体的就是各个按钮的监听事件。所以整个设计就趋向简单化了。

为了定义各个按钮所对应的命令和操作,首先需要将各个按钮注册给实现了动作事件的监听接口ActionListener的监听者,然后为监听者定义actionPerformed(ActionEvent e)方法,在这个方法中调用e.getSource()或e.getActionCommand()来判断用户点击的菜单子项,并完成这个菜单子项定义的操作。

4.3 各功能模块设计 4.3.1 登陆页面模块设计

与ATM柜员机打交道比较多的,也是大家对安全比较关心的问题:密码。所以第一个界面就是要输入密码和卡号才能继续服务。

我定义了文本框累的对象tf1,tf2。抓药是用于输入单行的文本;文本区调用public String getText()方法,获取用户想要的字符串。用来判断输入的密码和卡号是否正确,如果不正确的话,则弹出密码或卡号错误的警告框,并用dispose()关掉窗口。此模块相应的部分源代码为:

public void actionPerformed(ActionEvent e){

Account act;

String card;

String pwd;

act=new Account("000000","Devil","123456",50000);//初始化

/*选择各种服务*/

if(e.getSource() == button1){

String number1,number2;

number1=tf1.getText();

number2=tf2.getText();

/*判断密码和卡号是否正确*/ if((act.get_Code().equals(number1))&&(act.get_Password().equals(number2))){

dispose();

/*卡号和密码都正确则进入功能选择窗口*/

Selection s = new Selection("选择服务",act);

}else{

dispose();

5

JOptionPane.showMessageDialog(null, "您输入的卡号或密码不正确,请核实后再确定",

"消息!", JOptionPane.INFORMATION_MESSAGE);

new WindowBox("登录界面");

}

}

/*退卡*/ if(e.getSource()==button2){

dispose();

JOptionPane.showMessageDialog(null, "谢谢使用!", "消息!",

JOptionPane.INFORMATION_MESSAGE); System.exit(0);

} } 4.3.2 选择服务模块设计

在选择服务模块中,有各种ATM的服务功能,只要用户在该界面中选择按钮,它就会弹出各个相应的界面。每一个按钮都有监听器,在选择了按钮后,java.awt.event中的ActionEvent类创建一个事件对象,并将它传递给方法public void actionPerformed(ActionEvent e)中的参数e,监视器就会知道所发生的事件,对此事件进行处理。其中的部分源代码为:

p.add(new Label("请选择你要的服务"));

this.add(p);

button1 = new Button("存款");

p1.add(button1);

this.add(p1);

button2 = new Button("取款");

p2.add(button2);

this.add(p2);

button3 = new Button("查询余额");

p3.add(button3);

this.add(p3);

button4 = new Button("退出");

p4.add(button4);

this.add(p4);

button5 = new Button("修改密码");

p5.add(button5);

this.add(p5);

this.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0);

}

}

}); button2.addActionListener(this); button3.addActionListener(this); button4.addActionListener(this); button5.addActionListener(this); setBounds(300,300,300,300); setVisible(true); validate(); } public void actionPerformed(ActionEvent e){ if(e.getSource()==button2){//取款

dispose();

GetBalance gb = new GetBalance("取款",act); } if(e.getSource()==button3){//查询余额

Query q =new Query("查询余额",act);

dispose(); } else if(e.getSource()==button4){//退出

dispose();

} JOptionPane.showMessageDialog(null, "谢谢使用!", "消息!",

JOptionPane.INFORMATION_MESSAGE); System.exit(0);

} else if(e.getSource()==button5){//修改密码

ChangePassword cp = new ChangePassword("修改密码",act);

dispose(); } 4.3.3 取款模块设计

在取款模块中,和其他的界面也是同样的结构。也是有一个文本框和一个按钮还有标签组成的。用户在文本框中输入他想取的数额,但是必须是100的倍数,而且每一次最多只能取5000块。当然了取款的时候也不能超过卡里的余额,再就是卡里的余额不可以为负,否则就会弹出报错的窗口。其方法为:

if (e.getSource() == button) {

if (act.get_Money() < 0) {// 判断余额是否为负

dispose(); JOptionPane.showMessageDialog(null, "余额为负数", "消息",

JOptionPane.INFORMATION_MESSAGE); } else if (money <= act.get_Money()) {// 取钱的数额不大于余额

if (money % 100 == 0) {

dispose();

JOptionPane.showMessageDialog(null, "取款成功!", "消息",

JOptionPane.INFORMATION_MESSAGE); act.set_Balance(money); this.setVisible(false); Selection s = new Selection("选择服务", act); }

if ((money % 100 != 0) || (money >= 5000)) {// 取钱数为100的倍数或不大于5000

dispose();

JOptionPane.showMessageDialog(null,

的钱!", "消息",

务窗口

}

"每次只能取100的倍数,而且不能超过5000,请重新输入你想取

JOptionPane.INFORMATION_MESSAGE); act.get_Money(); this.setVisible(false); Selection s = new Selection("选择服务", act);// 返回选择服} else if (money > act.get_Money()) {// 判断取款数额是否大于余额

dispose();

JOptionPane.showMessageDialog(null, "超过已有的钱数,请重新输入你想取的钱!",

"消息", JOptionPane.INFORMATION_MESSAGE);

this.setVisible(false);

} Selection s = new Selection("选择服务", act); } 4.3.4 修改密码模块设计

在修改密码模块中,首先你必须要输入你的旧密码是否正确,否则就会报错。再一个就是要两次输入你的新密码,且两次药匹配,否则也会报错,然后再重新回到修改密码的界面。在修改密码时用到的方法为:

/*判断旧密码是是否正确*/ if(pwd2.equals(act.get_Password())){ /*判断两次输入的密码是否匹配*/

if(pwd3.equals(pwd4)){

/*如果都正确的话就设置新密码*/

act.setPassword(pwd3);

dispose();

Selection s = new Selection("选择",act); }else{

dispose();

ErrorWarn2 ew2 = new ErrorWarn2("消息",act);

} }else{

this.setVisible(false);

ErrorWarn3 ew1 = new ErrorWarn3("消息",act);

dispose(); } 4.3.5 查询余额模块设计

在查询余额模块设计中, 和其他的界面的结构相差不多。有一个余额显示和一个按钮还有标签组成的。查询时用到的方法:

Query(String s, Account act) {// 构造函数

super(s); this.act = act; button = new Button("确定"); // TextField tf = new TextField(6); Panel panel1 = new Panel(); Panel panel = new Panel(); panel1.add(new Label("你的余额为: " + act.get_Money()));// 查询余额的button.addActionListener(this); panel.add(button); this.add(panel); this.add(panel1); this.setLayout(new GridLayout(2, 1)); this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {

System.exit(0); } }); setBounds(300, 300, 300, 300); setVisible(true);

方法

} 4.3.6 退卡模块设计

在退卡模块设计中,这个方法就更加的简单了,它只是用了if(e.getSource()==button4){//退出

dispose(); JOptionPane.showMessageDialog(null, "谢谢使用!", "消息!",

JOptionPane.INFORMATION_MESSAGE); System.exit(0); } 这个方法就可以实现了,这里就不再多说了。

4.4 异常处理情况说明

(1)打开、保存文件时的异常处理 需要处理的异常:IOException (2)数据库访问时的异常处理 需要处理的异常:SQLException (3)加载类时的异常处理

需要处理的异常:ClassNotFindException,当应用程序试图使用Class类中的forName方法通过字符串名加载类时,但是没有找到具有指定名称的类的定义。

(4)加载URL时的异常

需要处理的异常:MalformedURLException,抛出这一异常指示出现了错误的 URL。或者在规范字符串中找不到任何合法协议,或者无法分析字符串。

5 系统实现与测试

(1)编译运行程序后,将会看到如下的界面,如图2所示。如果输入的密码或卡号不正确的话就会报右下图的错误。

图2 主界面—登陆页面

(2)选择服务界面效果

当输入的密码和卡号正确,单击确定后就会进入到选择服务的界面,如图3所示。然后就可以选择所需要的服务了。

图3 选择服务界面

(3)取款界面,如图4所示。

图4 取款界面

当输入的钱数不是100的倍数或每一次大于5000时就会报图5的错误。

图5 输入错误1 当取款时如果超过卡里的余额的话就会报图6的错误。

图6 输入错误2 (4)查询余额界面,如图7所示。

图7 查询余额界面

(5)修改密码界面,如图8所示。

图8 修改密码界面

当输入的初始密码不正确会报图9所示错误。

图9 输入错误1

当2次输入的新密码不同会报图10所示错误。

图10 输入错误2

经过测试,所有的功能基本上都实现了,而且运行正常。

6 课程设计总结

6.1 遇到的问题及解决办法

在此次课程设计中遇到了一些问题,如:对于面向对象的方法了解不够透彻,运用到实际的软件开发中存在着困难;对于Java语言,只学习到了一些最基本的知识,这导致编写程序时经常出现一些语法错误,而且要在短时间内用Java语言来设计一个具体的系统是一个较大的挑战;还有对于正规开发一个系统的流程不熟悉,适应起来比较慢,编写各个模块相对应的操作时,自己感觉难以动手,这表明所学的知识不能灵活运用到实际中。

对于以上的问题,自己有清楚的认识,解决办法是需要大量阅读相关的书籍,对于书上以及网站上下载的资料中的Java实例必须有清楚的理解,还有就是多跟精通此方面的老师和同学交流,取其精华。对于实际动手能力与系统开发的流程的适应,必须多进

行实际的练习与操作,才能有大的进步。

6.2 心得体会

在这次的课程设计中,主要运用了Java语言的界面设计、异常处理、、Awt控件、Swing控件,输入输出流等,综合运用了Java语言。深刻感受到了面向对象语言中类库的强大功能,掌握了运用Java中的类实现某些基本功能,并学会了自己查询使用类的方法,为以后的面向对象语言的自学奠定了基础。

通过这次课程设计我学到了一些东西,这次的课程设计中,主要是运用JAVA语言来编写一个小的应用程序,当然还可以用其他的技术来辅助。在这个小应用程序当中,我用了Java外还用了Swing控件。输入输出流等。由于以前学的不是很扎实,而且还有些知识我们都是没有学过的,这就要求我们去查相关的书籍,还有就是和同学之间的交流。正因为这样,才锻炼了我的自学的能力,还有就是加深了我对各个知识点的认识,并且提高了我对专业的学习的兴趣,为我以后的学习打下了基础。此外,还感受到了面向对象语言的类库的强大的功能,掌握了运用JAVA中的类实现某些基本功能,并学会了自己查询使用类的方法,也就是要会用API文档,为以后更好的学习面向对象语言奠定了基础。

通过努力,这次课程设计终于完成了,在这个过程当中,学到了很多的知识,同时也感谢我的同学的帮助和指导。在以后的学习当中,我会更加努力的学习好专业知识,并将所学的知识用于实践当中去,以便牢固掌握知识。

参考文献

[1] 王萌,刘婧,来宾著.JAVA程序设计[M]北京 冶金工业出版社,2004 [2] 黄聪明 精通 JAVA2程序设计[M]北京:清华大学出版社,2004.4 [3] 王文涛,袁海燕 JAVA实用程序设计100例[M]北京:人民邮电出版社,2005.5 [4] 雍俊海 JAVA程序设计[M]北京:清华大学出版社,2006.8 [5] 刘宝林 JAVA程序设计与案例[M]北京:高等教育出版社,2006.11 附录(源码)

/******登陆页面首窗口*******/ import javax.swing.*; import java.awt.*; import javax.swing.border.*; import java.awt.event.*;

import java.io.*;

public class WindowBox extends Frame implements ActionListener { Box baseBox, box1, box2; TextField tf1, tf2; Button button1; Button button2;

WindowBox(String s) {// 构造方法

super(s); tf1 = new TextField(6); tf2 = new TextField(6); box1 = Box.createVerticalBox();

box1.add(new Label("请输入你的卡号")); // 输入卡号 box1.add(Box.createVerticalStrut(8)); box1.add(new Label("请输入你的密码"));// 输入密码 box2 = Box.createVerticalBox(); box2.add(tf1); // box2.add(new TextField(16));

box2.add(Box.createVerticalStrut(8)); box2.add(tf2); // box2.add(new TextField(16));

baseBox = Box.createHorizontalBox(); baseBox.add(box1); baseBox.add(Box.createHorizontalStrut(10)); baseBox.add(box2); add(baseBox); button1 = new Button("确定");// 加入按钮 button1.addActionListener(this); add(button1); button2 = new Button("退卡");// 退卡按钮 button2.addActionListener(this); add(button2); setLayout(new FlowLayout()); /* 监听器 */

this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {

System.exit(0); } }); setBounds(300,300,220,220); setVisible(true); } public void actionPerformed(ActionEvent e) {

Account act; String card; String pwd; act = new Account("000000", "Devil", "123456", 50000);// 初始化 /* 选择各种服务 */

if (e.getSource() == button1) {

String number1, number2;// 输入的两个卡号和密码的变量 number1 = tf1.getText(); number2 = tf2.getText(); /* 判断两次输入的卡号和密码是否正确 */

if ((act.get_Code().equals(number1))

&& (act.get_Password().equals(number2))) { dispose(); Selection s = new Selection("选择服务", act); } else { dispose();

JOptionPane.showMessageDialog(null, "您输入的卡号或密码不正确,请核实后再确定",

"消息!", JOptionPane.INFORMATION_MESSAGE);

// 报输入密码或卡号不正确

new WindowBox("登录界面");

}

}

if (e.getSource() == button2) {

System.exit(0);

dispose();// 退出

} } }

/*************主函数****************/ public class ATM { public static void main(String[] args) {

new WindowBox("登录页面"); } } /********* 选择服务窗口 ***************/ import java.awt.*; import java.awt.event.*;

public class Selection extends Frame implements ActionListener { Button button1, button2, button3, button4, button5;

16

Panel p1 = new Panel(); Panel p2 = new Panel(); Panel p3 = new Panel(); Panel p4 = new Panel(); Panel p5 = new Panel(); Panel p = new Panel(); Account act; public Selection() { } Selection(String s, Account act) { super(s); this.act = act; this.setLayout(null); this.setLayout(new GridLayout(6, 1));

p.add(new Label("请选择你要的服务")); this.add(p); /* 各种服务功能 */

button1 = new Button("存款"); p1.add(button1); this.add(p1); button2 = new Button("取款"); p2.add(button2); this.add(p2); button3 = new Button("查询余额"); p3.add(button3); this.add(p3); button4 = new Button("退出"); p4.add(button4); this.add(p4); button5 = new Button("修改密码"); p5.add(button5); this.add(p5); this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {

System.exit(0); } }); button2.addActionListener(this); button3.addActionListener(this); button4.addActionListener(this); button5.addActionListener(this); setBounds(300, 300, 300, 300); setVisible(true); validate();

} } public void actionPerformed(ActionEvent e) {

} if (e.getSource() == button2) {// 取款

dispose(); GetBalance gb = new GetBalance("取款", act); } if (e.getSource() == button3) {// 查询余额

Query q = new Query("查询余额", act); dispose(); } else if (e.getSource() == button4) {// 退出

dispose();

JOptionPane.showMessageDialog(null, "谢谢使用!", "消息!",

JOptionPane.INFORMATION_MESSAGE); System.exit(0); } else if (e.getSource() == button5) {// 修改密码

ChangePassword cp = new ChangePassword("修改密码", act); dispose(); } /**********取款功能************/ import javax.swing.*; import java.awt.*; import javax.swing.border.*; import java.awt.event.*;

public class GetBalance extends Frame implements ActionListener { Box baseBox, box1, box2; Button button; TextField tf; Account act;

GetBalance(String s, Account act) {// 构造函数

super(s); this.act = act;

button = new Button("确定"); Panel panel = new Panel(); Panel panel1 = new Panel(); tf = new TextField(6); this.setLayout(new GridLayout(2, 1)); panel1.add(new Label("请输入你想取钱的数目")); panel1.add(tf); panel.add(button); this.add(panel1);

this.add(panel); button.addActionListener(this); this.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0);

} }); setBounds(300, 300, 300, 300); this.setVisible(true); } public void actionPerformed(ActionEvent e) { // System.out.println(e.getActionCommand());

double money; money = Double.parseDouble(tf.getText().trim()); if (e.getSource() == button) {

if (act.get_Money() < 0) {// 判断余额是否为负

dispose(); JOptionPane.showMessageDialog(null, "余额为负数", "消息",

JOptionPane.INFORMATION_MESSAGE); } else if (money <= act.get_Money()) {// 取钱的数额不大于余额

if (money % 100 == 0) {

dispose();

JOptionPane.showMessageDialog(null, "取款成功!", "消息",

JOptionPane.INFORMATION_MESSAGE); act.set_Balance(money); this.setVisible(false); Selection s = new Selection("选择服务", act); }

if ((money % 100 != 0) || (money >= 5000)) {// 取钱数为100的倍数或不大于5000

dispose();

JOptionPane.showMessageDialog(null,

的钱!", "消息",

务窗口

"每次只能取100的倍数,而且不能超过5000,请重新输入你想取

JOptionPane.INFORMATION_MESSAGE); act.get_Money(); this.setVisible(false); Selection s = new Selection("选择服务", act);// 返回选择服 // dispose(); } } else if (money > act.get_Money()) {// 判断取款数额是否大于余额

dispose(); JOptionPane.showMessageDialog(null, "超过已有的钱数,请重新输入

你想取的钱!","消息", JOptionPane.INFORMATION_MESSAGE);

this.setVisible(false); 口

Selection s = new Selection("选择服务", act);// 返回选择服务窗

} } } }

/********修改密码功能*************/ import java.awt.Button; import java.awt.Frame; import java.awt.GridLayout; import java.awt.Label; import java.awt.Panel; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JOptionPane;

public class ChangePassword extends Frame implements ActionListener { Panel panel1 = new Panel(); Panel panel2 = new Panel(); Panel panel3 = new Panel(); Panel panel = new Panel(); TextField tf4, tf5, tf6; Button button; Account act; ChangePassword(String s, Account act) {

super(s);

this.act = act;

tf4 = new TextField(6);

tf5 = new TextField(6);

tf6 = new TextField(6);

button = new Button("确定"); button.addActionListener(this); /* 建立新密码 */

panel1.add(new Label("请输入你的旧密码:")); panel1.add(tf4); panel2.add(new Label("请输入你的新密码:")); panel2.add(tf5);

} panel3.add(new Label("请再次输入你的新密码")); panel3.add(tf6); panel.add(button); this.add(panel1); this.add(panel2); this.add(panel3); this.add(panel); setLayout(new GridLayout(4, 1)); setBounds(300, 300, 300, 300); this.setVisible(true); /* 窗口事件 */

this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {

System.exit(0); } }); /* 判断事件源,看条件是否成立再修改密码 */

public void actionPerformed(ActionEvent e) { if (e.getSource() == button) {

String pwd2, pwd3, pwd4;

pwd2 = tf4.getText();

pwd3 = tf5.getText();

pwd4 = tf6.getText();

if (pwd2.equals(act.get_Password())) {// 判断旧密码是否正确

if (pwd3.equals(pwd4)) {// 判断两次输入的新密码是个匹配

act.setPassword(pwd3);// 启用新的密码

dispose();

JOptionPane.showMessageDialog(null, "密码修改成功!", "消息

JOptionPane.INFORMATION_MESSAGE);

",

Selection s = new Selection("选择", act);// 返回服务窗口 } else { this.setVisible(true);

// ErrorWarn2 ew = new ErrorWarn2("消息",act); dispose(); JOptionPane.showMessageDialog(null, "两次密码输入不匹配", "

JOptionPane.INFORMATION_MESSAGE);

消息",

Selection s = new Selection("选择", act);// 返回服务窗口

} } else { this.setVisible(false); dispose();

21

",

} JOptionPane.showMessageDialog(null, "初始密码输入错误", "消息

JOptionPane.INFORMATION_MESSAGE);

Selection s = new Selection("选择", act);// 返回选择服务窗口

} } } /**************查询余额功能******************/ import javax.swing.*; import java.awt.*; import javax.swing.border.*; import java.awt.event.*;

public class Query extends Frame implements ActionListener { Button button; Account act;

Query(String s, Account act) {// 构造函数

super(s); this.act = act;

button = new Button("确定"); // TextField tf = new TextField(6); Panel panel1 = new Panel(); Panel panel = new Panel();

panel1.add(new Label("你的余额为: " + act.get_Money()));// 查询余额的方法

// panel1.add(tf);

button.addActionListener(this);

panel.add(button);

this.add(panel);

this.add(panel1);

this.setLayout(new GridLayout(2, 1));

this.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

setBounds(300, 300, 300, 300);

setVisible(true); } public void actionPerformed(ActionEvent e) {

if (e.getSource() == button) {

dispose();

22

Selection s = new Selection("选择服务", act);// 返回选择服务窗口

} } }

/***********账户****************/ import java.io.*; /* 该类为实现客户信息及部分功能 */ public class Account {

{

} private String code = null; // 信用卡号 private String name = null; // 客户姓名

private String password = null; // 客户密码 private double money = 0.0; // 卡里金额

public Account(String code, String name, String password, double money)

} this.code = code; this.name = name; this.password = password; this.money = money; public String get_Code() {// 取得卡号

return code; } public String get_Name() {// 取得名字

return name; } public String get_Password() {// 取得密码

return password; } public double get_Money() {// 重置余额

return money; } /* 得到剩余的钱的数目 */

protected void set_Balance(double mon) { money -= mon; } /* 重置密码的方法 */

public String setPassword(String pwd) { password = pwd; return password; }

23

上一篇:教学月报下一篇:开展学生评星活动总结