- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程-第10章[精选]
软件工程 第10章 软件的技术度量 10.1 软件度量 10.1.1 测量、测度、度量、指标和估算 测量:对产品或过程的某个属性的范围、数量、维度、容量或大小提供一个定量的指标。 测度:测量的一个行为,把数字或符号分配给现实世界实体的属性的过程,是任意一个工程过程中的重要元素。 度量:建立在多次测度的基础上,对系统、部件或过程的某一特性所具有的程度进行的量化测量。 指标:是一个度量或多个度量的组合,对同一类事物的多次度量的一个横向比较。它可以对软件产品、过程或资源提供更深入的理解。 估算:对软件产品、过程资源等使用历史资料或经验公式等进行预测。 10.2 分析模型的度量 10.2.1 基于功能点的度量 测量参数 值 权值 用户输入数 □ *4 = □ 用户输出数 □ *5 = □ 用户查询数 □ *4 = □ 文件数 □ *7 = □ 外部界面数 □ *7 = □ 总计数值 = □ 其中: 用户输入数 用户为软件提供的输入参数个数 用户输出数 软件系统为用户提供的输出参数个数 用户查询数 一个联机输入确定一次查询,软件以联机输出的形式, 实时地产生一个响应 文件数 统计逻辑的主文件个数 外部界面数 统计所有机器可读的界面,利用这些界面可以将信息从 一个系统传送到另一个系统 ATM系统的数据流图 为了确定用以计算功能点度量所需的关键测度,对数据流图加以评价: 外部输入有8个:账号、选择信息、确认信息、金额(分为取款金额和转账金额)、日期、账号(转入账号)、密码; 外部输出有3个:与屏幕和语音接口的数据接口信息; 用户查询有5个:余额信息、密码、转出账户的信息、明细信息、出钞器余额; 有2个文件,即客户存储信息单和系统配置信息; 外部接口有8个:与出钞器、后台服务系统、凭条打印机和读卡器的所有数据接口信息。 我们假定复杂度是平均的,这些数据及复杂度在下表中显示: 10.3 设计模型的度量 10.3.1 体系结构设计度量 体系结构设计度量集中于体系结构的特征上,强调体系结构的结构和模块的有效性。 Card和Glass定义了三个软件设计复杂度测度:结构复杂度、数据复杂度和系统复杂度 模块i的结构复杂度S(i):S(i)=f2out(i),其中fout(i)是模块i的扇出数。 数据复杂度D(i)定义如下:D(i)=v(i)/[fout(i)+1],其中v(i)是模块i的输入输出变量的数目之和。 系统复杂度C(i)定义为结构复杂度和数据复杂度之和:C(i)=S(i)+D(i)。 Fenton建议使用简单的形态度量,如外形度量,这样不同的程序体系结构就可以用同一套简单的量纲加以比较。可以定义如下的度量(以ATM为例): size=n+a,其中n是节点,既模块的数目,a是弧,即控制线的数目。对于ATM系统的体系结构,size=14+13=27。 深度=从根节点到叶子节点的最长路径=5。 宽度=体系结构中的最宽的那一层的节点数=5。 弧和节点的比率,r=a/n,测度了体系结构的连接密度,为体系结构的耦合提供了一个简单的指示。对于ATM系统的体系结构,r=13/14=0.93。 10.3.2 构件级设计度量 内聚度量 耦合度量 复杂度度量 根据软件过程性描述(详细设计或代码)中的控制流程确定复杂性度量。 McCabe认为程序控制流的复杂度度量很多都是基于流图的。流图可以从算法设计导出,是由节点和边构成的。下面三个图给出了一个模块的流图设计。 复杂度度量的一种方法是计算流图的环复杂度,环复杂度定义了程序基本集的独立路径数量的上界。 可以用如下三种方法之一来计算环复杂度V(G): V(G)=流图中区域的数量,区域是指结点和边限定的区域,分为闭合区域和外部区域。上图中的流图有4个闭合区域,所以V(G)=4+1=5。 V(G)=E-N+2,其中E是流图中边的数目,N是流图中节点的数目。上图中的流图有10条边,7个节点,所以V(G)=10-7+2=5。 V(G)=P+1,其中P是流图中的判定节点的数目,判定节点是指包含了条件的节点。上图中的流图中节点1、2、4、5是判定节点,所以V(G)=4+1=5。 程序结构的复杂性度量值V(G)取决于程序控制流的复杂程度。当程序内的分支数和循环数增加时,V(G)值将随之增加,即程序的复杂性增大。V(G)还可
文档评论(0)