简介:软件项目工作量估算是软件项目成本估算的基础。合理的软件成本估算有助于业主方在以下方面做出理性的决策:在软件项目投资、招标、软件项目外包以及对软件项目开发过程中的监督管理等方面。COCOMO模型是目前应用于软件项目成本估算方法中最广泛、最受欢迎的模型之一。本文首先研究并给出了软件项目工作量估算的常用方法,详细介绍了COCOMO模型和COCOMOII模型估算方法,并指出了模型修正的意义所在;然后介绍了工作量估算中软件项目规模度量的常用方法,重点介绍了基于功能点分析的软件规模度量方法;最后,通过研究分析前人提出的软件项目工作量估算“三步法”,针对算法的问题和不足,提出了完善的建议和改进的方法,并据此提出了新的软件项目工作量估算流程模型;同时,阐述了本文提出算法的合理性和有效性。
简介:本文针对LEACH算法中没有考虑簇头间能耗均衡和远离基站簇头过早失效的问题,提出一种基于能耗和距离的WSN分簇路由算法。仿真结果显示,该算法能有效克服LEACH存在的这两个缺陷,有效提高网络生命期。关键词无线传感器网络;分簇路由算法;能耗均衡中图分类号TP212.1文献标识码A文章编号1007-9599(2010)04-0000-02ClusteredRoutingofWSNagainstEnergy&DistanceYaoLijunLiKangman(HengyangNormalUniversity,Hengyang421008,China)AbstractLEACHalgorithmdoesn’tconsiderenergy-consumptionbalancebetweencluster-headsanditscluster-headawayfromthebasestationoftenprematurelyfail.Thispaperproposesaclusteredroutingalgorithmbasedonenergyanddistanceforwirelesssensornetwork.SimulationresultsshowthatthealgorithmcaneffectivelyovercomethesetwofalwsofLEACH,improvethenetworklifetime.KeywordsWirelesssensornetwork;Clusteredroutingalgorithm;Energybalance过去多年以来,传感器网络在数据收集和处理方面的协同工作和协作管理采集活动的潜在应用价值受到越来越多的关注。然而,由于现代无线传感器网络具有节点能源受限且通常无法补充、节点微型化等形态特征。因此,如何高效使用能量来最大化网络生命周期是无线传感器网络面临的首要挑战1。对wsn路由协议研究表明,分簇路由协议23可以对簇内成员感知的数据进行融合转发,能有效简化对传感网网络的查询,从而节省能量延长网络生命周期。低能耗自适应分簇协议LEACH4基本思想是通过等概率地随机循环选择簇头,将整个网络的能量负载平均到每个传感器网络节点,从而达到降低网络能量耗费、延长网络生命周期的目的。然而,该算法主要集中于均衡簇成员节点之间的能量消耗,没有考虑到簇头之间的能量消耗均衡问题。再者,其由于规定簇头直接与基站通信,造成了远离基站的簇头过早失效。本文针对这两点,提出一种新的分簇路由算法。本算法首先根据节点的剩余能量来合理选择簇头,剩余能量高的优先选择为簇头,最终有效平衡全网能量。簇头选好后,对于成员节点来说,根据与簇头的距离和自身的能量消耗决定加入哪个簇,从而有效延长网络生命周期。这样就可以让簇头节点的选举与节点剩余能量直接相关,避免同构成簇算法遇到的问题。对于远离基站的节点会较早失效的问题,算法规定每个簇头通过成员节点的位置估计感知到相同事件的邻居簇,然后进行局部的多跳数据融合,以达到节能的目的。一、网络模型本文采用的网络模型如下①所有节点随机静态分布在1个二维平面区域中,在该区域的外部存在1个基站;②节点具有数据融合功能;③所有节点的射频发射功率可以调节;④节点在最大的功率下可以直接与基站进行通信;⑤所有节点同构,并且对突发事件具有相同的感知半径;⑥节点知道自身的位置;⑦网络突发事件的出现概率较小,在同一时刻仅出现1次突发事件。传感器节点的能耗主要由计算能耗和无线射频模块收发报文的通信能耗构成。节点的通信能耗模型以及相关参数的选择与无线模型2相同,节点传输kbit数据至距离d处,以及接收kbit数据需要的能耗分别为,对于服从4次方衰减的无线电,本文仅考虑节点的通信能耗。二、成簇算法在网络建立阶段,基站需要用一个给定的发送功率向网络内广播一个信号。每个传感器节点在收到此信号后,根据接收信号的强度计算它到基站的近似距离。每轮循环的过程是在簇建立阶段,基站每个节点选取一个介于0和1之间的随机数,如果这个数小于某个阈值,该节点成为候选簇头。然后,通过竞争算法确定最终簇头,簇头向周围节点广播自己成为簇头的消息。每个节点根据提出的能量消耗函数来确定加入哪个簇,并回复该簇头。持续一段时间后,网络重新进入启动阶段,进行下一轮分簇。能量消耗函数f(i,j)为,其中1≤i≤CH,CH为加入第j个簇头的簇成员数量,1≤i≤CH,CH为簇头数量。节点i加入簇头CHj的条件就是使f(i,j)最小。其中Ei表示节点i的当前能量,ECHj表示簇头j的当前能量。f(i,j)既引入了距离因素,又引入了能量因素,更能有效平衡当前簇头区的能量消耗。只要能量消耗率函数最小,簇成员和簇头消耗能量均最低,进而全网络消耗能量低,因此能有效延长网络的生命周期。对于LEACH算法规定簇头直接与基站通信从而造成了远离基站的簇头过早失效的问题,通常通过固定多跳方式解决,但造成额外的能耗。本算法估计感知到相同事件的簇,从而确定下一跳的汇聚点。三、结论使用MATLAB对算法进行仿真测试,假设100个节点均匀分布在(0,0)和(100,100)的二维区域内,基站的位置在(175,50),设每一轮节点成为簇头的概率为0.05。消耗率函数参数是平衡簇头和成员之间的权值。图1消耗率权值与轮数关系图2本算法与LEACH生命期比较图1显示w值从0.1到1范围内的仿真,从图1可以看出w在0.5或0.6处效果最好。图2显示在不同传感半径下LEACH和本算法生命期的对比,从图可以看出,随着传感半径的增大,各个协议中网络的生命期均有所下降,在各传感半径下本算法的网络生命期要明显高于LEACH。参考文献1liuyue-yang,JiHong,YueGuang-xin.RoutingprotocolwithoptimallocationofaggregationinwirelesssensornetworksJ.TheUournalofChinaUniversitiesofPostsandTelecommnications,2006,13(1)125-1312HeinzelmanW,ChandrakasanA,BalakrishnanH.Anapplication-specificprotocolarchitectureforwirelessmicrosensornetworksJ.IEEETransactionsonWirelessCommunications,2002,1(4)660-6703YounisO,FahmyS.HEEDahybrid,energy-efficient,distributedclusteringapproachforAdHocsensornetworksJ.IEEETransactionsonMobileComputing,2004,3(4)366-3794HEINZELMANW,CHANDRAKASANA,BALAKRISHNANH.Energy-efficientroutingprotocolsforwirelessmicrosensornetworksA.Proceedingsofthe33rdHawaiiInternationalConferenceonSystemSciencesC.Hawaii,2000.1-10