软件工程04.ppt
《软件工程04.ppt》由会员分享,可在线阅读,更多相关《软件工程04.ppt(30页珍藏版)》请在优知文库上搜索。
1、 软件工程软件工程 3、软件结构、软件结构 二、块内联系的类型二、块内联系的类型块内联系从小到大有下述种: ()共存性块内联系()共存性块内联系。图2.20 中,设块X,Y,Z中有一组相同语句,把这种语句独立出来作为块W。块W中的几条语句是为了节省空间而独立出来的,块W的块内联系称为“共存性块内联系”。即偶然性内聚 3、软件结构、软件结构块内联系的类型块内联系的类型 XYZA=A+BGET FILEPUT OUTPUTIF I=5 THEN E=0W图图2.203、软件结构、软件结构块内联系的类型块内联系的类型 共存性块内联系的各成分之间没有逻辑联系,阅读时难以理解;另一方面不易修改,例如X如
2、需变动W中的某个语句,Y和Z就不能再用块W了。基于上述原因,只要有足够的空间,应尽量避免共存性块内联系。 (2 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、软件结构、软件结构块内联系的类型块内联系的类型XYZABCXYZABCS(a)(b)(c)恢复开关值恢复开关值图图2.213、软件结构、软件结构块内联系的类型块内联系的类型(3 3)瞬时性块内联系。)瞬时性块内联系。如果一个块所包含的任务必须在同一“时间”内完成,则称这个块内联系属于瞬时性块内联系。如图2.22的处理意外故障块中,关闭文件、保留现场、报警等任务必须在同一时间内完成。紧急意外故障紧急意外故障处理处理关闭文件关闭文件保留现场保留现场
4、报警报警图图2.223、软件结构、软件结构块内联系的类型块内联系的类型(4 4)通讯性块内联系。)通讯性块内联系。一个块内所有处理元素集一个块内所有处理元素集中于同一数据结构中,其块内联系属通讯性块中于同一数据结构中,其块内联系属通讯性块内联系内联系。如图2.23中,由文件FILE的数据可产生不同的表格。若把生产日报表,单项产品生产报表的生成集中于块X中,则X的块内联系属于通讯性块内联系。X从文件从文件FILE读出数据读出数据由数据产生日报表由数据产生日报表由数据产生单项产品报表由数据产生单项产品报表图图2.233、软件结构、软件结构块内联系的类型块内联系的类型(5 5)顺序性块内联系)顺序性
5、块内联系. .一个块中各个处理元素都一个块中各个处理元素都紧密相关于同一功能,且必须顺序执行,此块紧密相关于同一功能,且必须顺序执行,此块的块内联系属顺序性块内联系的块内联系属顺序性块内联系。图2.24的块A的功能是求一元二次方程的根。图中各处理元素都与求根有关,必须顺序执行。A输入系数输入系数求根求根打印方程的根打印方程的根图图2.243、软件结构、软件结构块内联系的类型块内联系的类型(6 6)功能性块内联系)功能性块内联系. .如果一个块完成一个且仅如果一个块完成一个且仅完成一个功能,这个块的块内联系称功能性块完成一个功能,这个块的块内联系称功能性块内联系。内联系。例如,由块M1M2M3分
6、别完成 矩阵求逆;矩阵求逆; 打印统计表打印统计表 计算差额计算差额。 则M1,M2,M3都是功能性块。 上述对块间联系和块内联系讨论的目的不是要精确地确定地确定它们的类型和级别,而是为第5章将要讨论的设计准则提供基本依据。4、软件度量、软件度量 前几节中,已对软件的结构,块间的关系和块内联系做了定性的分析,这种定性分析没有形式的数学基础。软件作为一种产品,人们也试图给它一种定量的评价,但由于软件产品的特殊性,恰当地给出软件产品的定量评价是极为困难的。虽然如此,软件定量分析的研究工作也取得一些初步成果。下面以软件复杂性和软件可靠性为例做一点介绍。4、软件度量、软件度量4.1软件复杂性软件复杂性
7、一、软件复杂性的基本概念一、软件复杂性的基本概念 软件复杂性度量软件复杂性度量的参数参数很多,主要有: (1)规模规模,即软件总共的指令数,或源程序行即软件总共的指令数,或源程序行数数。 (2)难度难度,通常用由程序中出现的控制符和操通常用由程序中出现的控制符和操作数的数目所决定的量来表示。作数的数目所决定的量来表示。 (3)结构结构,通常用程序结构有关的度量来表示通常用程序结构有关的度量来表示。 (4)智能度智能度,即算法的难易程度即算法的难易程度。4、软件度量、软件度量 软件复杂性的基本概念软件复杂性的基本概念 软件复杂性主要表现在程序的复杂性软件复杂性主要表现在程序的复杂性。程程序的复杂
8、性序的复杂性主要指模块内程序的复杂性,它直主要指模块内程序的复杂性,它直接关联到软件开发费用的多少、开发周期长短接关联到软件开发费用的多少、开发周期长短和软件内部潜伏错误的多少,同时它也是软件和软件内部潜伏错误的多少,同时它也是软件可理解的另一种度量可理解的另一种度量。 减少程序复杂性,可提高软件的简单性和可理解性,并使软件开发费用减少,开发周期缩短,软件内部潜藏错误减少。为了度量程序复为了度量程序复杂性,要求复杂性度量满足一下假设杂性,要求复杂性度量满足一下假设:4、软件度量、软件度量 软件复杂性的基本概念软件复杂性的基本概念它可以用来计算任何一种程序的复杂性。它可以用来计算任何一种程序的复
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 04
