(信号与信息处理专业论文)以太网交换机poe功能的研究与实现.pdf_第1页
(信号与信息处理专业论文)以太网交换机poe功能的研究与实现.pdf_第2页
(信号与信息处理专业论文)以太网交换机poe功能的研究与实现.pdf_第3页
(信号与信息处理专业论文)以太网交换机poe功能的研究与实现.pdf_第4页
(信号与信息处理专业论文)以太网交换机poe功能的研究与实现.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(信号与信息处理专业论文)以太网交换机poe功能的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文摘要 中文摘要 摘要。 在以太网交换机广泛应用于网络进行高速数据交换的背景下,对其下挂设备 的供电问题一直在困扰着以太网的应用。不同的厂家使用不同的供电标准来解决 设备供电的问蹶,在2 0 0 3 年第一个供电标准i e e e8 0 2 3 a f ( p 0 w e ro v e re t h e r n e t ) 出现后,供电设备的兼容性问题才得以解决,它是利用以太网传输电缆同时传送 数据和电功率的最新标准规范,称为以太网供电( p o e ) 。 在遵守i e e e8 0 2 3 a f 标准的前提下,开发出具有实际市场价值的供电方案具 有重要意义,所以本设计中包括具有实际市场应用价值p o e 应用方案,其特性包 括:支持与p o e 相关的命令行、m i b 、组配置、电源管理策略、热备份和热插拔等 功能,方便用户定制差异化的应用。 本论文的主要成果不仅包括上述的p o e 特性,还设计了灵活的可定制化的电 源管理算法及优化的管理算法,同时实现了该算法,在此基础上支持设备的p o e 热备份和热插拔功能,方便用户的应用;此外,在结合本次软件丌发的基础上, 对软件工程中的开发模型和周期的优缺点进行理论和实践的分析;同时在对p o e 标准研究基础上,对p o e 前景和发展方向给出分析和展望。 本次研究采用的方法为:以软件工程中的软件开发模型为时间主线,对p o e 系统进行分析和设计;同时结合作者所做的工作,对p o e 系统的关键模块进行设 计和实现。 关键词:p o e ;i e e e8 0 2 3 a f 标准; 软件工程;软件开发模型;电源管理策略 a b s t r a c t a b s r i r a c i j w i t hm o r c 锄dm o r ce t h e m c ts w i t c hi su s c df o r h i g l l s p e e dd a t at r 柚s p o n a t i 彻i n t h en e t w o f k ,t i l e 舯1 w e fs o u r c cf o re q u i p m e n ti nt h ei n 蛔m e tb o m eak e yp r o b l e m 卸d i ti si nt h ew a yo fn e t 、v o r k 印p l i c a t i o n m a l l ym 柚u f a c t i l f e su s e dt l l e s i 印a ll i n ct o s u p p l yt l l ep o w e rf o rt l l ee q u i p m e n t s ,b u tt h e y 锄eu pw i t hd i f f e r c n ts o l u t j o 眦t 1 l e f i r s tp o w e rs t a n d 缸dl e e e8 0 2 3 a fi n2 0 0 3r e s o l v et h cc o m p a t i b i l i t yp r o b l e mo f v a r i o u se q u i p m e n t s ,i ti sa l s oan e ws t a n d a r do fw h i c ht h ec a b l e 仃柚s p o n st h e 舯1 w e r a i i ds i g i l a l sa t t h es 枷e t i m e 柚d w ec a l l i t p o e a tt h eb a s eo ft h ep o w e rs t a n d a r di e e e8 0 2 3 a e i t sv e r yi m p o n 柚t t od e s i g i lt h e c o m m e r c j a ls o l u t i o n s ,w ed e s i g i it h i sb n do f l u t i o n si nt h ep r o j c c t ,t l l et r a i t s 抽d u d et h ef o l l o w i n g s :c o m m a n dl i n e ,m l b ,掣d u pc o n t i g u r a t i o n ,p 0 1 w e rm 柚a g e m e n t p o l i c y ,h i g i ia c c e 辐,h o ti n s e n 锄dp u l l o u tf o r t h cc a r d lo ft h i sm a k e si tp o l s s i b l e f o rc u s t o m e rt oc u s t o m i z ed i v e f s ea p p l i c a t i o n s b e s i d c st l l et r a i t s ,t h ea c h i e v e m e mf o rt h es o f t w a r cd e v e l o p m e n t 孤dd e s i 印a l s o i n c l u d e d :p u t t i n gf b n 盯dt h en e x i b l ep 0 w e rm a n a g c m e n tp o l i c ya l l di t so p t i m i z a t i 彻 a l g o r i t h m ,锄p p l y i n gt h ec o n v e n i e n tf i l n d i o no fh aa l l dh o ti l l s e n 锄dp i i s h o u tf b r c q u i p m e n t s ,c o m i n gu pw i t ht h ea d v a n t a g e s 粕dd i s a d v 卸t a g c so fd i v e r s o f 研a r e d c v e l o p m e mm o d e l ,柚a l y z i n gt h ep r o s p c c t i n ga n d 如t u f co fp o e t h eb a o fp o e 印p l i c a t i o n s t h ef o l l o w i n gm e m o d sw e f cu t i l i z e di nt h er c s e a r c h :t i l ep a p e rf o l l o w e dt h e s c h e d u l e so fs o f h a r cd e v e l o p m e n tm o d e l 卸dp r c s e n t e dt h ek c y 柚dc e n t r a ld e s j 印 t 1 l ep a p e ra l s o 柚a l y z e st h ck e ym o d u l eo fp o es y s t e ma n di m p l e m e n t st h ep o e s y s t e m k e y w o r d s :p o e ;j e e e8 0 2 3 a f ;s o f t w a r ce n 酉n e e r i n g ;s o 觚a r cd c v e l 叩m 曲t m o d e l ;p o w e fm a i l a g e m e n tp o l i c y 致谢 本论文的工作是在我的导师裘正定教授的悉心指导f 完成的,裘正定教授严 谨的治学态度和科学的工作方法给了我极大的帮助和影响。在此衷心感谢三年来 裘正定老师对我的关心和指导。 丁晓明教授悉心指导我们完成了实验室的科研工作,在学习上和生活上都给 予了我很大的关心和帮助,在此向丁晓明老师表示衷心的谢意。 张志飞师兄对于我的科研工作和论文都提出了许多的宝贵意见,在此表示衷 心的感谢。 在公司实习期问,汪勇、潘晰东、张永、李永祯等同事在我工作遇到困难时 总是给与我热情的帮助,在此表示衷心的感谢。 在实验室工作及撰写论文期间,肖坦、高立涛等同学对我论文的研究工作给 予了热情帮助,在此向他们表达我的感激之情。 另外也感谢家人,他们的理解和支持使我能够在学校专心完成我的学业。 序 序 以太网交换机广泛应用于高速数据交换和传输的场合,1 9 9 9 年以前,许多从 事交换机路由器丌发的产商如p o w e r d s i n e 、3 c o m 、c i s c o 都致力于研究通过以太网 信号线来传输电功率,并研发出自己的相关产品。 在经过几年的发展后,一个关于信号线供电的标准呼之欲出。在将相应的方 案提交给l e e e8 0 2 3 小组经过讨论和研究后,2 0 0 3 年颁靠了第一个标准i e e e 8 0 2 3 a f ( p o w c fo v e re t h e m e t ) ,它主要描述了信号线供电的基本参数、设备接入过 程等,使不同产家的设备的互操作行和兼容性交为可能,极大促进以太网供电的 应用。 在遵从基本的以太网供电标准i e e e8 0 2 3 a f 酊提下,不同产家都致力于提供 灵活而方便的以太网供电解决方案。本论文便是作者在参与了华为3 c o m 整个以太 网供电解决方案的开发前提下,结合当前的应用趋势,从软件工程的角度对以太 网供电解决方案的研究和设计,并针对所遇到的问题进行分析、比较和解决。 同时,在本论文中,结合当前的发展情况,同时给出了以太网供电的发展趋 势。 引言 1 1 相关研究概述 1 1 1 以太网交换机的现状 1 引言 交换机是一种基于m a c ( 介质访问控制层) 识别,能完成封装数据包转发功能的 网络设备。根据传输介质和传输速度分:以太网交换机、快速以太网交换机、千 兆以太网交换机、1 0 千兆以太网交换机、a t m 交换机、f 叩i 交换机和令牌环交换 机。 以太网交换机的工作原理是,检测从端口来的数据包的源和目的m a c 地址,然 后与系统内部的动态查找表进行比较,若数据包的m a c 层地址不在查找表中,则将 该地址加入查找表,并将数据包发送给相应的目的端口。 最初的交换机工作在o s i 的数据链路层,后来提出了三层交换技术:二层交换 技术+ 三层转发技术,它解决了局域网中网段划分之后,子网必须依赖路由器进行 管理的局面,解决了传统路由器低速、复杂所造成的网络瓶颈问题。 以太网交换机的特点是:性价比高、高度灵活、安全控制策略、丰富的q o s 策略、良好的扩展性、灵活的远程维护和丰富的管理方式等。所以,以太网交换 机的大量用于组建局域网,是应用最为广泛的一种交换机。 1 1 2 以太网供电功能的提出 近年来,伴随网络和数码产品的普及,人们在对诸如i p 电话机、无线局域网 接入点a p 、网络摄像机等终端传输通信信号的同时,设备的供电问题也困扰着人 们。p o e 技术就是在此背景下应运而生,它能在确保现有结构化布线安全的同时保 证现有网络的正常运作,最大限度地降低成本。 早在1 9 9 9 年,当时已经有许多公司提供了专用解决方案,其中包括3 c o m , p o w e r d s i n e 和a s c o 等。但比较新颖的想法是制定一项工业标准,以保证各种设备 之间实现全面的互操作性。制定工业标准将有利于避免不同供应商的解决方案在 连接时出现错误,以及由此可能造成的任何损害。同时,可以互操作的以太网电 源标准可以促进研发以太网的各种新应用,从而刺激以太网市场增长。 p o e ( p o w e ro v e re t h e r n e t ) ,以太网供电( 也称为馈线电源) 就是传输通信 北京交通人学硕七学位论文 分组的以太网电缆同时为与以太网相连的设备供电。i e e e8 0 2 3 a f 标准是利 用以太网传输电缆的同时传送数掘和电功率的最新标准规范,并保持了与 现存以太网系统和用户的兼容性,它在i e e e8 0 2 3 的基础上增加了通过网线 直接供电的相关标准,是现有以太网标准的扩展,也是第一个关于电源分配 的国际标准,它明确规定了远程系统中的电力检测和控制事项,并对路由器、 交换机和集线器通过以太网电缆向i p 电话、安全系统以及无线l 脒接入点等 设备供电的方式进行了规定。 从上可以看出p o e 技术的优势以及拓展的应用包括: 1 节约成本。许多带电设备,例如视频监视摄像机等,都需要安装在难 以部署a c 电源的地方,p o e 使其不再需要昂贵电源和安装电源所耗费的时 间,节省了费用和时间。 2 像数据传输一样,p o e 可以通过使用简单网管协议( s n m p ) 来监督和控 制该设备。 3p o e 供电端设备只会为需要供电的设备供电,只有连接了需要供电的 设备,以太网电缆才会有电压存在,因而消除了线路上漏电的风险。并且一 个单一的u p s 就可以提供相关所有设备在断电时的供电。 4 用户可以自动、安全地在网络上混用原有设备和p o e 设备,这些设备 能够与现有以太网电缆共存。在无线局域网中,p o e 可以简化射频测试任务, 接入点能够被轻松地移动和接入。 基于以上用途,可以总结出p o e 的特点如下:易于安装和管理,能够与 现有以太网电缆共存,另外,客户还能够自动、安全地在网络上混用原有设 备和p o e 设备。p o e 还有利于管理远程设备,因为当设备与网络相连后,将 能够远程控制、重配或重设。不仅如此,p o e 还有助于提高安全性,因为网 络只为需要供电的设备供电。 1 1 3 以太网供电的现状 一个典型的以太网供电系统示意图如图卜l 所示。在配线柜罩保留以太 网交换机设备,用一个带电源供电集线器( m i d s p a nh u b ) 给局域网的双绞线提 供电源。在双绞线的末端,该电源用柬驱动电话、无线接入点、相机和其他 设备。为避免断电,可以选用一个u p s 。 2 引言 1 1 4 以太网供电的前景 图卜1 以太网供电系统示意图 网 l e e e 已经成立新的小组准备扩展现有的以太网供电标准,主要目的就是支持 更大范围的设备,可以说数据与电力的集成即将迈上一个新的台阶,其对应的标 准叫8 0 2 3 盯。该标准致力于对p o e 技术以下几个方面进行改进【猢剐: 18 0 2 3 加应该在c a r 5 或者更高构件上应用,而非像8 0 2 3 a f 必须考虑c a = r 3 的限制;8 0 2 3 a 1 应该继承8 0 2 3 a f 的供电安全规则和限制;8 0 2 3 a 1 的p d 连接 到8 0 2 3 a f 的p s e 时候,必须提示用户需要8 0 2 3 叮的p s e 。 一 28 0 2 3 a fp o e 标准规定每条数据线携带的电力最大为1 5 4w ,而且实际应 用中很少能够达到这个最大值,所以现在很多设备还没办法通过p o e 方式来供 电。该研究小组的目标就是制定一套新标准,既能向下兼容已有的8 0 2 3 a f 标准, 又能让设备使用远超过1 5 4 w 的电力。 3 加强p o e 电力将引起的散热问题是几大关键点之一。还有个重要的问题是 如何保证网络上不同的设备都能获取适当的电力,也就是说,比较耗电的设备你 得多提供电力以维持运转,同时也不能因为电力太大而烧掉那些不耗电的设备。 同时,也应该注意到,不只是需要数据线来携带电力,利用电源线来传输数 据的需求也同时浮出水面,尤其在宽带网领域,真正实现数据和电力将紧密结合 在基础设施的建设当中。由于已经为在通用电缆上同时提供以太网分组和d c 电 源提供了全球标准,各类设备的制造商将能够在其产品中支持8 0 2 3 a f 以太网电 源( p o e ) 。监视摄像机、生物医学设备、无线频率识别( r f i d ) 阅读器、安全卡阅读 器和传感器设备等只是未柬几年内即将加入以太网的设备中的一部分。 3 北束奁通人学硕十学位论文 1 2 研究工作 1 2 1 研究的背景和意义 自从p o e 标准8 0 2 3 a f2 0 0 3 年正式公御以来,p o e 标准通过提供一种在标准 的以太网数据电缆上向网络设备供电的方法而明确地证明了自己的价值。具体体 现在以下三个方面: 1 ) 消除了在每一台i p 网络设备上都安装单独的电源设备的需求,使i p 电话、 无线接入点和其它大量的网络设备的应用更方便和更便宜。以太网线路能够完成 所有的任务。插入设备,这个设备就可以使用了。 2 ) p o e 以这种方法使聚合网络又向前迈进了一步。在一个统一的i p 基础设施 中传输数据、语音和视频的聚合媒体网络还能够集成电源网络。这种整合给p o e 带来了同其它网络整合一样的好处,如简化的管理、更方便地应用和较少的复杂 性等。p o e 在使网络更灵活和节省地适应运营需求的同时还节省了时间和金钱。 3 ) p o e 清楚地显示了它在i p 电话和无线接入点方面的有用性,目前正推动着 许多其它局域网设备的开发。这些设备包括视频摄像机、零售点、售货机设备、 卡扫描器、工业自动化工具和远程监视设备等。 1 2 2 研究的内容和方法 本研究的内容主要是在遵循以太网供电标准8 0 2 3 a f 的基础上,提供适应于实 际应用的供电方案,具体包括: 1 提出和实现差异化的p d 供电和p s e 电源管理策略,便于用户定制差异化的 供电策略: 2 引入保证模式概念:在上述电源管理策略的管理下,实现对关键设备的可靠 性供电: 3 提供对整个供电系统的状态的监控:包括支持标准的m i b ,私有m i b 以及命令 行来进行电源以及告警信息监控: 4 在平台软件实现以上策略的同时,对整个软件开发的过程进行研究,并给出 软件开发中遇到的问题以及更优的软件开发模型。 本研究的方法采用是开发模型与业务相结合的方法,具体是指以软件开发的流 程为主线,结合本研究所涉及到的具体业务,给出每一个阶段的业务结果和注意事 项,从而完成整个开发和研究。 4 引言 1 - 3 论文的主要工作和内容 由以上介绍可知以太网供电( p o e ) 具有的广泛应用i j i 景,本文便是在研究p o e 标准i e e e8 0 2 3 a f 的基础上对p o e 系统进行设计和实现,本文详细介绍了p o e 的 相关知识和p o e 系统需要支持的交换机扩展特性。研究的重点放在对支持p o e 特 性的交换机软件特性的研究、设计和实现,具体包括p o e 系统的电源管理策略、 电源热插拔自适应、电源监控、p o e 热备份、p o e 组配置,同时设计和实现了功率 抢占算法,有效地支持了电源管理策略和电源热插拔自适应。 论文的创新点: 1 电源管理策略的提出:由于该管理策略是可定制的,用户可以选择不同的 供电策略,灵活而有效地解决了对网络中关键设备的供电问题。 2 电源热插拔自适应功能的实现:由于电源管理策略的提出,当p o e 系统电源 功率发生变化时,p o e 系统自动的进行功率重新分配。 3 电源状态的监控:实现了电源工作状态的自告警功能,有效地完成对远程 节点的监控。 论文中作者独立完成的主要工作: 1 主要负责电源模块( p o e p o w e r ) ,设计和实现了该模块支持的命令行和m i b 管理信息库,实现了对远程告警节点的实时监控和处理。 2 提出并实现了差异化的供电策略及电源管理算法,便于用户选择不同的供 电策略。 3 在基于优先级管理策略下,以高优先级为功率抢占原则,设计并优化相应 的管理算法。 针对上述内容,论文分为七个章节,每章节具体内容介绍如下: 第一章主要介绍以太网供电的定义、用途和现在的应用情况,并结合当前以 太网供电的研究热点和发展趋势提出自己的看法。 第二章主要介绍软件及软件工程的概念,给出两种软件开发的模型并比较其 优缺点,然后给出本次开发所采用的v 型开发模型;然后依次给出软件需求、设 计、测试理论,以便于后续的工作。 第三章首先介绍太网的供电模型及供电的一般参数,并给出p o e 工作过程。 然后主要从软件需求的角度讲述p o e 的软件需求,得到p o e 的软件需求规格说明 书以及相应的文档。 第四章主要首先对p o e 模块在交换机软件体系中的所处的位置进行分析,从 而得到p o e 模块与外部接口关系,后将从功能的角度分解为四个子模块,对子模 块提供的功能进行简单介绍。 北京交通人学硕十学位论文 第五章主要介绍基本部分模块、p o e p o w e r 模块、热备份和热插拔接口封装, 同时给出给出p o e 模块热备份和热插拔处理流程。 第六章分析并设计p o e 模块的核心数据结构设计,设计和实现p o e 核心电源 管理算法及优化算法,并对其性能进行比较,最后给出电源管理事件的触发处理 分析。 第七章对前面所做的工作进行总结并对p o e 发展进行展望。 6 软件i 。程 2 1 软件工程概述 2 1 1 软件和软件工程 2 软件工程 软件的定义:软件是程序以及开发、使用和维护程序所需要的文档,包括机 器运行所需要的各种程序及有关资料。程序是为解决某一个问题而按事先设计的 功能和性能要求执行的指令系列;数据是使程序能正常操纵信息的数据结构;文 档是描述程序、数据和系统开发以及使用的各种图文资料。其软件大概可以分为 以下几类:系统软件、实时软件、个人软件、嵌入式软件等。 软件工程是指导计算机软件开发和维护的工程学科,采用工程上成熟的概念、 原理、技术、方法来开发和维护以及管理软件。 软件工程的三要素包括:软件工程方法和技术、软件工具与环境以及软件过 程。 2 1 2 软件生命周期 1 软件生命周期的概念 软件生命周期【2 l 是指软件产品从概念开始,经过定义、开发、使用和维护,直 到被废弃为止的过程。软件生命周期可以分为软件定义、软件开发、软件运行和 维护3 个阶段。 1 ) 软件定义时期:软件定义包括可行性报告和需求分析过程,任务是确定软 件开发工程必须完成的目标。具体可以分解为以下三个阶段: 问题定义:确定问题空间的性质; 可行性报告:确定系统的技术、经济、操作和社会可行性等; 需求分析:确定软件系统的功能需求、性能需求和运行环境的约束,写出软 件需求规格说明书s r s ( s o f l w a r cr e q u i r e m e n ts p e c i f i c a t i o n ) 、软件系统测试大纲、 用户手册等。 2 ) 软件开发时期:软件的设计和实现,可以分为概要设计、详细设计、编码 和测试。 概要设计:在软件需求规格 兑明的基础上,建立系统的总体结构和模块f 日j 的 北京交通人学硕十学位论文 关系,定义功能模块和各功能模块之问的关系。 详细设计:对概要设计产生的功能模块逐步细化,把模块内部细节转化为可 编程的程序过程性描述。详细设计包括算法和数掘结构、数据分布、模块问接口 信息、用户界面设计等。 编码:把详细设计转化为能在计算机上运行的程序。 测试:包括单元测试、集成测试、系统测试等。 3 ) 软件运行和维护 软件运行就是把软件产品提交给用户使用。 软件维护是对软件产品进行修改或对软件需求变化做出相应得过程。当软件 没有维护的价值时,软件生命周期结束。 2 软件过程模型 软件生存周期模型也称为软件开发模型( s o r w a r cd e v e l 叩m e n tm o d e l ) 或软件 过程模型( s o 胁a r ep r o c e s sm o d e l ) ,它是从某个特定角度提出的软件过程的简化描 述。 软件过程模型是软件开发实际过程的抽象和概括,它应该包括软件过程的各 种活动,即对软件开发过程各阶段之间关系的一个描述和表示。软件过程有各种 模型,如瀑布模型、演化模型、螺旋模型、u p 模型等。本文介绍一下瀑布模型、 u p 模型以及本开发采用的改进模型:v 模型。 1 ) 瀑布模型1 9 l :其特点是因果关系紧密相连,前一个阶段的结果是后一个阶 段的输入。其结构示意图如下图2 1 所示: 幽2 一l 瀑布模删 8 软件j :程 瀑布模型的主要缺点:软件需求分析的准确性很难确定以及需求变更的困难 性。针对这些缺点,要求在每一个阶段结束后都要进行审查和确认,尽量减少误 差累计。 2 1 u p 模型 统一过程( u n 诟e dp r o c e 鸱是一种构造面向对象系统的迭代软件开发过程。 迭代开发( n 啪l j v ed e v e l o p m e m ) 是u p 方法中的关键实践,具体过程指: 开发被组织成一系列固定的短期小项目,称为迭代;每次迭代都产生经过测 试、集成并可执行的局部系统;每次迭代都有各自的需求分析、设计、实现和测 试活动。 u p 阶段:u p 项目将其工作和迭代组织分为四个阶段: 初始( h i c c p t i o n ) :大体的构想、业务案例、范围和模糊评估a 细化f e l a b o r a t i o n ) :精化的构想、核心框架的迭代实现、高风险的解决、确 定大多数需求以及进行更为实际的评估。 构造( c o n s t 川c t i 伽) :对遗留下来的风险较低和比较简单的元素进行迭代实现, 进行部署。 移交f n 卸s i t j ) :进行b e t a 测试和部署。 图2 2 为u p 进度表示意图【4 】: 一开发周# 十 迭f t 一阶段 圈圈 匝匝 k 黼触乞舻品的碟仁终产品黼 。 图2 2u p 进度表示意图 迭代开发的优点: 减少项目失败可能性,提高生产率,降低缺陷率 在早期缓解高风险( 技术、需求、目标、可用性等) 早期可见的进展 早期反馈、用户参与和调整,会产生更接近真实需求的精化系统 可控复杂性:团队不会被“分析”或者长期复杂的步骤淹没 3 ) 两种模型的比较 u p 与瀑布不同,它不是在开始就定义全部需求,然后进行全部或者大部分 的设计。 u p 仞始阶段不是需求分析,而是研究可行性报告,在此阶段需要进行充分 9 北石( 交通人学硕十学位论文 的调查以确定继续或终止项目。 细化阶段不是需求或者设计阶段,而是迭代地实现核心架构并解决高风险 问题的阶段。 3 项目开发模型 本项目采用的是改进的瀑仰模型:v 模型,其结构示意图如下图2 3 所示: 圈2 3v 模型 从图可见v 模型的特点包括: 在编码前的每个阶段结束后,都会编写相应得测试用例,这是为后继的测 试做准各; 在编码后的单元测试、集成测试和系统测试分别与编码前的详细设计、概 要设计、需求分析相对应; 在整个开发过程中,评审一直都存在,这是为尽量减少每个阶段的误差而 采取的措施,确保软件开发的质量和项目的收敛性。 2 2 软件需求工程 本小节主要介绍需求分析的概念、软件需求建模、软件需求分析等。 1 0 软件r 程 2 2 1 软件需求分析 1 需求分析概述 软件需求是指用户对目标系统在功能、行为、性能等方面的期望。需求分析 是发现、求精、建模和产生规格说明的过程,软件开发人员需要对应用问题及环 境进行和分析,为问题涉及的信息、功能及行为建模。 2 软件需求的层次 软件需求包含几个不同的层次业务需求、用户需求和系统需求。系统需求 可以分为功能需求和非功能。下面分别介绍并最后给出软件需求各组成部分子间 的关系。 1 ) 业务需求 业务需求反映了客户对系统、产品高层的目标要求,它们在项目视图和范围 文档中给与说明。 2 ) 用户需求 用户需求描述了用户使用产品需要完成的任务。用户需求应该只描述系统的 外部行为,尽量避免对系统设计特性的描述。 3 ) 功能需求 功能需求定义了开发人员必须实现的软件功能,使用户能完成他们的任务, 从而满足业务需求。在需求规格说明中,功能需求充分描述了软件系统所具有的 外部行为。在某些特殊情况下,功能需求可能要声明系统不应该做什么。 理论上,系统功能需求应该具有全面性和一致性。 4 ) 非功能需求 非功能需求是不直接与系统具体功能相关的一类需求,如可靠性、相应时间、 存储空间等。 非功能需求包括产品必须遵循的标准、规范和合约;外部界面的具体细节; 性能要求;质量属性等。 3 需求分析的任务 目标系统具体的物理模型由它的逻辑模型经过实例化获得,而逻辑模型忽视 实现机制和细节,只描述系统要完成的功能和处理的数据。需求分析的任务就是 借助于当前系统的逻辑模型导出目标系统得逻辑模型。 软件目标系统模型描述所有的数掘信息、处理功能、用户界面和运行的外部 行为。通常不涉及软件的具体实现细节,也就是解决目标系统“做什么”的问题。 北京交通人学硕二卜学伊论文 4 需求开发过程 需求丌发式分析人员对问题及环境的理解、分析和综合,建立目标系统的模 型,最后形成软件需求规格说明书。需求开发过程【1 j 如下图2 - 4 所示。 硝 图2 4 需求开发过程 由图可见,需求开发可以分为以下4 个步骤: 1 ) 问题获取 系统分析人员应该根据研究计划阶段产生的可行性分析报告和软件项目实施 计划,主要是从系统的角度来理解软件并评审用于产生计划估算的软件范围是否 恰当,确定对目标系统的体系结构和综合要求,即软件的需求,并提出实现这些 需求的条件,以及需求应该达到的标准,也就是要解决将要开发的软件做什么、 做到什么程度等问题。需求包括:功能需求、性能需求、环境需求、用户界面需 求及软件成本消耗与开发进度需求等。同时应该关注非功能需求( 质量需求) ,如 易用程度、可靠性、异常处理等。 2 1 需求分析 需求分析包括提炼、分析和审查已经收集的需求,以确保所有风险承担者明 白它们的含义,并且找出错误、遗漏或者不足的地方。 3 1 需求规格浣明 通常,把描述需求的文档叫做软件需求规格说明,分析模型是需求规格说明 的一部分。分析员应以调查分析为基础,逐步形成舰格说明书。 同时,为确切表达用户对软件的输入输出要求,还要制定数据要求说明书和 编写初步的用户手册,着重反映被丌发软件的用户界面和用户使用的具体要求。 4 1 需求评审 1 2 软件t 程 需求分析完成以后,应该对功能的正确性、完整性和清晰性以及其他需求给 与评价。 2 2 2 软件需求建模 模型用于描述软件目标系统所有的数据信息、处理功能、用户界面以及运行 的外部行为。一般来说,模型并不涉及软件实现的具体细节。 经过软件的需求分析建立起来的模型可以称为分析模型或者需求模型。具体 应该包含以下目标: 描述系统对软件系统的需求; 为软件设计奠定一个良好的基础; 定义一组需求,并且可以作为软件产品验收的标准; 2 2 3 软件需求规格 1 需求规格概述 软件需求规格s r s ( s o n w a ”r e q u i r e m e n ts p c c i 矗c a t i 咖) 也称为功能规格说明、 需求协议以及系统规格说明,它是需求开发任务的最终产物。 系统分析员经过详细的调查和综合分析以后,建立软件分析模型,在这个基 础上,逐步形成软件需求规格说明,它是软件设计、编码和测试的基础。它也是 客户和开发小组对将要开发产品达成一致的协议,这个协议应该综合业务需求、 用户需求和一个详细系统需求描述,它能精确反映和描述一个软件系统必须提供 的功能以及实现和运行的约束条件。 软件需求规格有以下几个目标: 1 1 便于用户、分析员和软件设计人员进行理解和交流; 2 ) 支持目标系统的确认,反映问题的结构,是设计和编程的基础; 控制系统的实施过程; 4 ) 作为软件测试和验收及维护的依据。 2 需求规格内容 软件需求说明的内容应该包括功能和行为的需求描述以及非功能需求描述。 在软件设计之前,必须对需求规格说明进行评审。需要参与的人员包括用户 和开发者共同参与,检查文档中是否存在不规范和遗漏的地方。 软件需求规格说明主要包括几项指标,它们是j 下确性、无歧义性、完全性、 可验证性、一致性、可理解性、可修改性和可追踪性等。 北京交通人学硕十学位论文 2 4 软件设计工程 软件设计决定了软件的质量,软件设计提供了可以进行质量评估的软件表示; 同时软件设计是把用户需求转化为软件产品或者系统的唯一方法;软件设计是后 继所有软件工程活动的基础。 2 4 1 设计概述 1 软件设计的概念 软件设计过程中是不需要考虑软件过程模型的,主要关注的是数据设计,体 系结构设计、接口设计和构件设计。软件设计将影响软件的质量以及软件维护、 移植的难易程度。 2 4 2 软件设计原理 l 设计原理 1 1 模块化 模块,又称构件,是能够单独命名并独立地完成一定功能的程序语句的集 合。一般地,模块从调用者那里获取数据,把经过处理得到的输出数据返回给 调用者。 模块化的根据在于把复杂的问题分解为许多容易解决的小问题,从而解决 一个复杂的问题,但是不能把软件无限地分解,下图2 5 为模块化和软件成本 的关系图: 幡 镁 模块数目 倒2 5 模块化和软件成本关系| 茔l 从中可以看出,一个软件中都存在个开发成本最小的模块数m 。通常m 的数值不容易确定,但通常应该注意的就是在模块化的过程中,要注意减少接 口的复杂性,提高模块的独立性,这样才能有效降低软件的复杂程度。 j 4 软州:一i :程 分解与抽象 抽象就是抽出事物的本质特性而暂时不考虑它们的细节。当采用模块化的方 法解决问题时,可以提出不同层次的抽象:在抽象的最高层,使用问题环境的语 言,以概括的方式叙述问题的解法;在抽象的较低层,采用更过程化的方法,把 面向问题的术语和面向实现的术语结合起来叙述问题的解法:在抽象的最底层, 可以直接实现的方式叙述问题的解法。 信息隐藏 信息隐藏是指模块所包含的信息( 过程与数据) 对于其他模块来说应该是隐 藏的,软件设计过程中通过有效的模块化可以通过定义一组相互独立的模块来实 现,而这些模块之间仅仅交换那些为了完成系统功能所必需交换的信息。 4 1 模块独立性 模块独立性可以用两个定性的标准来度量:耦合和内聚。耦合是指软件结构中 各个模块之间相互关联程度的度量。包括数据耦合、标记耦合、控制耦合等;内 聚是一个模块内部各个元素彼此结合的紧密程度的度量,它是信息隐藏概念的自 然扩展。包括逻辑内聚、时间内聚、功能内聚能等。 耦合度越高,模块独立性越弱;模块内聚性越高,模块独立性越强。 2 软件设计原则 尽力提高模块独立性 选择合适的模块规模 模块的深度、,宽度、扇出和扇入适当 降低模块接口的复杂程度 2 5 软件测试理论 2 5 1 软件测试基础 软件测试是为了发现程序中的错误而执行程序的过程。具体地说,软件测试 是根据软件开发各阶段的舰格说明和程序的内部结构设计出一批测试用例,并利 用测试用例柬运行程序,以发现程序错误的过程。软件测试的目的1 6 l 包括: 1 ) 软件测试是为了发现错误而执行程序的过程: 1 5 北京交通人学硕卜学位论文 2 ) 测试是为了证明程序有错,而不是证明程序无错误。 3 ) 一个好的测试用例是在于它能发现至今未发现的错误; 4 ) 一个成功的测试是发现了至今未发现的错误的测试。 软件测试的目的决定了如何去组织测试:如果测试的目的是为了尽可能多地 找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的 位置;如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测 试就应该直接针对在实际应用中会经常用到的商业假设。 2 5 2 软件测试原则和特性 软件测试的对象不仅是源程序测试,而且应该包括需求分析、概要设计、详 细设计和编码所得到的文档。软件测试的基本原则包括:所有的测试都应追溯到 用户的需求;尽早、不断地进行测试;设计非法的测试用例;将8 0 2 0 原则应用于 软件测试;程序修改之后要进行回归测试。 基于对软件测试的理解,软件测试的特性包括:测试是不完全的;测试具有 免疫性;测试是全程测试;缺陷是必然的;为效益而测试。 软件的测试模型通常可以分为v 模型和w 模型,v 测试模型与本次采用的开 发模型一致,其特点包括:每次开发活动都与右边的测试活动相对应,软件开发 是一个自顶向下、逐步细化的过程,而测试过程是自底向上、逐步集成的过程; w 测试模型的特点包括:软件测试并不等于程序测试,软件测试应贯穿于软件定 义与开发的整个期问;需求分析、概要设计、详细设计以及程序编码等各阶段所 得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源 程序,都应成为软件测试的对象。 2 5 - 3 测试方法及用例设计 在本小节中,主要介绍测试用例的定义,然后给出常用的测试方法以及对应 的用例设计方法。 测试用例是描述了一个输入、反应、或者是与其相应的预期的响应,以便柬 判断应用软件的工作是否j 下常。具体包括测试标识、测试案例的名称、目标、测 试条件设置、输入数据要求、步骤、以及预期的结果。在实际写作过程中,对不 同的测试阶段,测试用例的信息不同。 对于软件测试技术,可以从彳:同的角度加以分类: 软件f :程 从是否需要执行被测软件的角度,可分为静态测试和动态测试:从测试是否 针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试。 1 白盒测试及用例设计 白盒测试是为完全理解程序的结构和处理过程,并按程序的内部逻辑来测试 程序,以检查程序的每条通道是否按照预定要求正确工作,故白盒测试又称为结 构测试。 自盒法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结 构,从检查程序的逻辑着手,得出测试数据;贯穿程序的独立路径数是不计其数 的;但即使每条路径都测试了仍然可能有错误。 使用白盒测试方法,主要想对程序模块进行如下的检查: 一对程序模块的所有独立的执行路径至少测试一次 一对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次 一在循环的边界和运行界限内执行循环体 一测试内部数据结构的有效性 a 、逻辑覆盖 逻辑覆盖是白盒测试中的一种具体方法,它是以程序内部的逻辑结构为基础 来设计测试用例。根据覆盖的目标,可以将逻辑覆盖分为:语句覆盖、判定覆盖、 判定条件覆盖、条件组合覆盖及路径覆盖。 语句覆盖:语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可 执行语句至少执行一次。 判定覆盖:判定覆盖就是设计若干个测试用例,运行被测程序,使得程序中 每个判断的取真分支和取假分支至少经历一次。 条件覆盖:条件覆盖就是设计若干个测试用例,运行被测程序,使得程序中 每个判断的每个条件的可能取值至少执行一次。 判断条件覆盖:设计足够的测试用例,使得判断中每个条件的所有可能取值 至少执行一次,每个判断中的每个条件的可能取值至少执行一次。 条件组合覆盖:设计足够的测试用例,运行被测程序,使得每个判断的所有 可能的条件取值组合至少执行一次。 路径测试:路径测试就是设计足够的测试用例,覆盖程序中所有可能的路径。 2 黑盒测试及用例设计 黑盒测试是把程序看作一个黑盒子,在程序的接口处进行测试,以检查程序 j 匕京交通人学硕 学伊论文 功能是否能按规格晚明书中的要求正常实现;程序能否恰当地接收数掘并产生正 确的输出,并保持外部数据的完整性;黑盒测试也称为功能测试。 黑盒测试主要发现以下类型的错误:功能不符或遗漏;界面错误;数据结构 或者外部数据访问错误:初始化或终止错误;性能错误。黑盒法是穷举输入测试, 只有把所有可能的输入都作为测试情况使用,爿。能以这种方法查出程序中所有的 错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要 对那些不合法但是可能的输入进行测试。 黑盒法的测试用例设计的方法有:等价类划分、边界值分析、错误推测法和 因果图。 钔等价类划分 等价类划分把所有可能的输入数据,即程序的输入域划分成若干部分,然后 从每一部分中选取少数有代表性的数据作为测试用例。使用这一方法设计测试用 例要经历划分等价类( 列出等价类表) 和选取测试用例两步。 等价类是指某个输入域的子集合,在该子集合中,各个输入数据对于揭露程 序中的错误都是等效的。测试某等价类的代表值就等价于对这一类其它值的测试。 在设计测试用例时,应该考虑有效和无效等价类两类等价类划分。前者是指对于 程序的规格说明来说,是合理的、有效的输入数据构成的集合;而后者则是不合 理、无意义的输入数据集合。 b 1 边界值分析 人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边 界上,而不是在输入范围的内部,是对等价类划分方法的补充。 使用边界值分析方法设计测试用例,首先应确定边界情况。应当选取正好等 于,刚刚大于,或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型 值或任意值作为测试数据。 曲错误推测法 人们也可以靠经验和直觉推测程序中可能存在的各种错误,从而有针对性地 编写检查这些错误的例子,这就是错误推测法。 错误推测法的基本想法是:列举出程序中所有可能有的错误和容易发生错误 的特殊情况,根据它们选择测试用例。 d 1 因果图 因果图的适用范围:如果在测试时必须考虑输入条件的各种组合,可使用一 软件啊掣 种适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例, 这就需要利用因果图。 因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合 情况,其过程如下: 1 ) 分析软件规格说明描述中,哪些是原因( 即输入条件或输入条件的等价 类) ,哪些是结果( 即输出条件) ,并给每个原因和结果赋予一个标识符: 2 ) 分析软件规格说明描述中的语义,找出原因与结果之白j ,原因与原因之间 对应的是什么关系? 根据这些关系,画出因果图; 3 ) 由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况 不可能出现。为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件; 把因果图转换成判定表; 5 ) 把判定表的每一列拿出来作为依据,设计测试用例。 2 6 小结 本章主要介绍了软件工程的基本理论,软件工程是为了有效地解决解决软件 开发过程中出现的问题而从工程角度提出的理论总结。通过软件工程的简单介绍, 为后续的工作奠定基础。 1 9 以太网供电 3 1 以太网供电介绍 3 1 1 以太网供电模型 3 以太网供电 p o e 是支持以太网电口的以太网交换机的一种扩展特性,支持p o e 特性的交 换机可以通过双绞线向远端下挂p d ( p o w e r c dd c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论