软件工程04精选.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程04精选

软件工程 3、软件结构 二、块内联系的类型   块内联系从小到大有下述6种:   (1)共存性块内联系。图2.20 中,设块X,Y,Z中有一组相同语句,把这种语句独立出来作为块W。块W中的几条语句是为了节省空间而独立出来的,块W的块内联系称为“共存性块内联系”。即偶然性内聚 3、软件结构     ——块内联系的类型 3、软件结构     ——块内联系的类型 共存性块内联系的各成分之间没有逻辑联系,阅读时难以理解;另一方面不易修改,例如X如需变动W中的某个语句,Y和Z就不能再用块W了。基于上述原因,只要有足够的空间,应尽量避免共存性块内联系。 (2)逻辑性块内联系 如图2.21(a)中块A,B,C的功能相近,为了节省空间,可以把它们合并成一个块ABC,就成了图2.21(b)的块结构图。块ABC的块内联系就属于逻辑性块内联系。 3、软件结构     ——块内联系的类型 可以模拟一下模块ABC的程序执行流程,大致如图2.21 (c)所示,S为A,B,C的公共部分。 逻辑性块内联系的缺点有两个,一是不易修改。当某个块(如X)需要修改公共程序段S时,其他块可能不需要修改;二是增加了块间联系,这是因为每一个调用块在调用时都要传递一个标志量的缘故。 3、软件结构     ——块内联系的类型 3、软件结构     ——块内联系的类型 (3)瞬时性块内联系。如果一个块所包含的任务必须在同一“时间”内完成,则称这个块内联系属于瞬时性块内联系。如图2.22的处理意外故障块中,关闭文件、保留现场、报警等任务必须在同一时间内完成。 3、软件结构     ——块内联系的类型 (4)通讯性块内联系。一个块内所有处理元素集中于同一数据结构中,其块内联系属通讯性块内联系。如图2.23中,由文件FILE的数据可产生不同的表格。若把生产日报表,单项产品生产报表的生成集中于块X中,则X的块内联系属于通讯性块内联系。 3、软件结构     ——块内联系的类型 (5)顺序性块内联系.一个块中各个处理元素都紧密相关于同一功能,且必须顺序执行,此块的块内联系属顺序性块内联系。图2.24的块A的功能是求一元二次方程的根。图中各处理元素都与求根有关,必须顺序执行。 3、软件结构     ——块内联系的类型 (6)功能性块内联系.如果一个块完成一个且仅完成一个功能,这个块的块内联系称功能性块内联系。例如,由块M1M2M3分别完成 ① 矩阵求逆;② 打印统计表 ③ 计算差额。 则M1,M2,M3都是功能性块。 上述对块间联系和块内联系讨论的目的不是要精确地确定地确定它们的类型和级别,而是为第5章将要讨论的设计准则提供基本依据。 4、软件度量 前几节中,已对软件的结构,块间的关系和块内联系做了定性的分析,这种定性分析没有形式的数学基础。软件作为一种产品,人们也试图给它一种定量的评价,但由于软件产品的特殊性,恰当地给出软件产品的定量评价是极为困难的。虽然如此,软件定量分析的研究工作也取得一些初步成果。下面以软件复杂性和软件可靠性为例做一点介绍。 4、软件度量 4.1软件复杂性 一、软件复杂性的基本概念 软件复杂性度量的参数很多,主要有: (1)规模,即软件总共的指令数,或源程序行数。 (2)难度,通常用由程序中出现的控制符和操作数的数目所决定的量来表示。 (3)结构,通常用程序结构有关的度量来表示。 (4)智能度,即算法的难易程度。 4、软件度量 ——软件复杂性的基本概念 软件复杂性主要表现在程序的复杂性。程序的复杂性主要指模块内程序的复杂性,它直接关联到软件开发费用的多少、开发周期长短和软件内部潜伏错误的多少,同时它也是软件可理解的另一种度量。 减少程序复杂性,可提高软件的简单性和可理解性,并使软件开发费用减少,开发周期缩短,软件内部潜藏错误减少。为了度量程序复杂性,要求复杂性度量满足一下假设: 4、软件度量 ——软件复杂性的基本概念 ①它可以用来计算任何一种程序的复杂性。 ②对于不合理的程序,例如对于长度动态增长的程序,或者对于原则上无法排错的程序,不应当使用它进行复杂性计算。 ③如果程序中指令条数、附加存储量及计算时间增多,不会减少程序的复杂性。 4、软件度量 二、软件复杂性的度量方法 1.代码行的度量法 度量程序的复杂性,最简单的方法就是统计程序的源代码行数。此方法的基本考虑是统计一个程序的源代码行数,并以源代码行数作为程序复杂性的度量。

文档评论(0)

tazhiq2 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档