面向对象的网络协议 (23)(全).pdf

面向对象的网络协议 (23)(全).pdf

ID:57759652

大小:110.90 KB

页数:4页

时间:2020-03-29

面向对象的网络协议 (23)(全).pdf_第1页
面向对象的网络协议 (23)(全).pdf_第2页
面向对象的网络协议 (23)(全).pdf_第3页
面向对象的网络协议 (23)(全).pdf_第4页
资源描述:

《面向对象的网络协议 (23)(全).pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、下载第19章从软件工程观点评价软件工程是研究制作及时的、高性价比的、高质量软件的设计方法、技术和工具的一门学科。软件质量通常以软件特性来定义,如可靠性、可移植性、有效性、可测试性、可理解性、可适应性和可维护性。本章运用各种软件度量来评价TIP的Tempo协议软件。19.1软件度量为了评定一个软件以及将它与其他软件进行比较,应测量它的各种特征。下面简要地描述一些可能的度量方法,它们是从Conteetal.(1986)中节选和修改得来的。19.1.1大小度量大小度量通常是对代码行(LOC)、语言符号

2、和函数进行计数。代码行包括所有的编程语句,其中包括说明部分的语句,但不包括注释行和空行。语言符号计数测量能对某些代码行比其他代码行难于编写的事实加以考虑,使得能根据语句的复杂性—例如利用编译器识别的语言符号(基本语法单位)的数目,对语句进行计数。函数的数目是一个程序被结构化成多少个子程序(在面向对象语言中的方法)。如果没有其他的诸如LOC之类的度量,函数的数目提供很少的信息,因为子程序的大小可以是任意的。如果也给出了LOC,函数的数目和LOC数目之比给出了关于模块化程度的一些信息。19.1.2数

3、据结构度量数据结构度量考虑一个软件程序所处理的数据量。一种测量方法是对在一个程序中说明的变量进行计数,以及在程序中它们多长时间被引用一次。19.1.3逻辑结构度量一个程序的逻辑结构定义它执行时的控制流。测试与转移语句和子程序调用语句中断了一个程序的顺序执行。因此,一种简单的逻辑结构度量是对诸如正向转移(IF)和逆向转移(WHILE)之类进行计数。其他还有平均嵌套级别和一个程序中的最小路径数。19.1.4工作量和代价度量构建软件的工作量通常以一个人开发该软件所需要的时间(月/人)测量的。构建软件的

4、代价通常是以开发该软件所花费的钱数给出的。除了支付给程序开发人员的钱外,代价还应当包括所需要的设备以及用于办公室的花费。19.1.5缺陷和可靠性度量软件程序通常包含未知数目的错误,因此通常是对一个程序的缺陷(程序中已出现的和第19章从软件工程观点评价计计205下载已识别的错误)进行计数。为了对缺陷进行比较,通常的度量使用缺陷密度,它是缺陷数或由于缺陷导致所修改的代码行数与总的软件大小之比。此外,一个软件可靠性R(t)是用在长度为t的时间区间内无故障的概率来表示的:R(t)=1-F(t)假定该软件

5、在时间区间内是连续运行的。当t>0时,函数F(t)表示缺陷记录间的时间区间的分布。19.1.6设计度量一个程序的设计质量能通过测量它的耦合度、复杂性和模块性进行评价。对于面向对象的程序,以下基本的度量特别有用:耦合度度量,通过对象间交互或绑定的次数计算;复杂性通过类的数目和类层次级数进行计算;模块性通过一个类的平均代码行数决定。19.2Tempo软件测量本节从软件实现的观点评价Tempo。我们将从大小、设计以及工作量度量来评定Tempo协议软件。我们也将通过测量一个标准的TCP实现来决定Temp

6、o软件的相对复杂性。19.2.1大小Tempo协议是作为一组Channels模块类实现的,以C++书写。从表19-1可以看到Tempo的一些模块类的代码行数(不包括空行和注释行)、操作数以及对象的大小。该表中还列出了Netglue和Socket++模块类的大小的信息,供大家参考。表19-1TIP模块类大小(示例)模块类代码行操作数①对象大小字节SRC376内部函数SNK266内部函数CHECK4257008SEG5458472SND2931714864SND_N4352017328SND_S_N

7、4572117928RCV1921312488RCV_S2131412760HAND_THROUGH155内部函数SVC3242415684UDP120610680TCP159611232TCP_BUF135510816注:包括不能被模块的用户访问的本地操作。为了提供一个类似于TCP的服务,Tempo中可需要CHICK、SEG、SND、RCV和SVC模块类,结果是905行代码和54个操作。对于一个可靠的协议来说,这个软件是非常小的,如果我们把它和一个典型的TCP实现—例如“ComerandSte

8、vens(1991)”描述的实现—的大小相比的话。在它之后,TCP软件以C实现,它约有3885行代码和95个函数。206计计第三部分案例分析下载Tempo的代码比TCP少的原因,一是由于不同的协议机制,二是由于Tempo是在一个专用的协议操作系统Channels中实现的,我们故意把Channels设计成能使协议的编程简化。而另一方面,TCP的实现只有一个通用的操作系统的支持,在上述典型实现的情况下是XINU操作系统(Comer,1984)。19.2.2耦合度Tempo协议功能类是由MOD模块类派

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。