习题课软件工程.ppt

上传人:小飞机 文档编号:6238951 上传时间:2023-10-09 格式:PPT 页数:28 大小:422.50KB
返回 下载 相关 举报
习题课软件工程.ppt_第1页
第1页 / 共28页
习题课软件工程.ppt_第2页
第2页 / 共28页
习题课软件工程.ppt_第3页
第3页 / 共28页
习题课软件工程.ppt_第4页
第4页 / 共28页
习题课软件工程.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《习题课软件工程.ppt》由会员分享,可在线阅读,更多相关《习题课软件工程.ppt(28页珍藏版)》请在三一办公上搜索。

1、软件工程习题课,4-1 从供选择的答案中选出正确的答案填入下列叙述中的()内。模块内聚性用于衡量模块内部各成份之间彼此结合的紧密程度。(1)一组语句在程序中多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚性是(A)的。(2)将几个逻辑上相似的成分放在同一个模块中,通过模块入口处的一个判断决定执行哪一个功能。该模块的内聚性是(B)的。(3)模块中所有成分引用共同的数据,该模块的内聚性是(C)的。(4)模块内的某成份的输出是另一些成份的输入,该模块的内聚性是(D)的。(5)模块中所有成份结合起来完全一项任务,该模块的内聚性是(E)的。它具有简明的外部界面,由它构成的软件易于理解、测

2、试和维护。供选择的答案:A E:功能内聚 信息内聚?(顺序)通信内聚 过程内聚 巧合内聚 时间内聚 逻辑内聚,A 5 B 7 C 3 D 4?2 E 1,4-2 从供选择的答案中选出正确的答案填入下面的()中。块间联系和块内联系是评价程序模块结构质量的重要标准。联系的方式、共用信息的作用、共用信息的数量和接口的(A)等因素决定了块间联系的大小。在块内联系中,(B)的块内联系最强。SD方法的总的原则是使每个模块执行(C)功能,模块间传送(D)参数,模块通过(E)语句调用其它模块,而且模块间传送的参数应尽量(F)。此外,SD方法还提出了判定的作用范围和模块的控制范围等概念。SD方法认为,(G)应该

3、是(H)的子集。供选择的答案:A:友好性 健壮性 简单性 安全性B:巧合内聚 功能内聚 通信内聚 信息内聚C:一个 多个D:数据型 控制型 混合型E:直接引用 标准调用 中断 宏调用F:少 多G H:作用范围 控制范围,A.,B.,C.,D.,E.,F.,G.,H.模块之间的耦合(块间联系)和模块的内聚(块内联系)是评价程序模块结构质量的重要标准。联系的方式、共用信息的作用、共用信息的数量和接口的简单性等因素决定了块间联系的大小。在块内联系中,以功能内聚模块的块内联系最强。SD方法的总的原则是使每个模块只做一件事,就是说,只执行一个功能。模块之间尽可能传送简单的数据型参数。模块要通过标准调用语

4、句调用其它模块,不要直接引用另一个模块内部的数据。同时模块之间传送的参数应尽量少。此外,SD方法还提出了判定的作用范围和模块的控制范围等概念。SD方法认为,模块的作用范围应该是其控制范围的子集。,4-3 举例说明你对概要设计与详细设计的理解。有不需要概要设计的情况吗?软件设计是一个把软件需求变换成软件表示的过程。最初这种表示只是描绘出软件的总的框架,然后进一步细化,在此框架中填入细节,把它加工成在程序细节上非常接近于源程序的软件表示。正因为如此,所以从工程管理的角度来看,软件设计分两步完成。首先做概要设计,将软件需求转化为数据结构和软件的系统结构。然后是详细设计,即过程设计。通过对结构表示进行

5、细化,得到软件的详细的数据结构和算法。由于概要设计建立起整个系统的体系结构框架,并给出了系统中的全局数据结构和数据库接口,人机接口,与其它硬、软件的接口。此外还从系统全局的角度,考虑处理方式、运行方式、容错方式、以及系统维护等方面的问题,并给出了度量和评价软件质量的方法,所以它奠定了整个系统实现的基础。没有概要设计,直接考虑程序设计,就不能从全局把握软件系统的结构和质量,实现活动处于一种无序状态,程序结构划分不合理,导致系统处于一种不稳定的状态,稍一做改动就会失败。所以,不能没有概要设计。,4-4说明并比较概要设计说明书与需求分析说明书的内容。(1)两个说明书都包括引言,内容基本相同;(2)任

6、务概述部分概要设计说明比需求说明增加了需求概述;(3)需求说明主要通过静态、动态数据,数据库描述,数据字典和数据采集等内容进行数据描述;(4)需求说明中的主要部分是功能要求、性能要求、运行需求以及其他要求,它的目的是全面地、精确地描述了系统要“做什么”。需求说明书中还可能包括数据流图、数据字典、IPO图等描述的系统逻辑模型。(5)概要设计说明则对系统的总体结构、各个接口、数据结构、运行、出错、安全、维护进行具体设计,它的目的是描述系统“怎样做”,往往包含了各模块的处理说明和接口说明以及系统结构图。(6)概要设计说明是建立在需求说明的基础上的。,4-5设计SC图根据下图所示的变换型DFD图,用面

7、向数据流的设计方法设计出SC图。,(1)第一级分解(建立初始SC框架)设计顶层和第一层模块,MC,MT,MA,ME,c,e,c,e,u,w,u,w,传送信息,第一级分解后的SC(另一种画法),MC,MA1,c,e,u,w,c,p,MA2,Q,P,R,ME1,ME2,e,p,r,r,w,u,w,变换分析设计方法步骤:,(2)第二级分解(分解SC各分支)自顶向下分解,设计出每个分支的中、下层模块,输入分支的分解(1),MA,C,B,A,b,a,c,E,D,d,e,c,e,输入分支的分解(2),MA,Get C,b,a,c,Read D,d,e,c,e,B to C,b,c,d,e,a,b,Get

8、E,Get B,D to E,A to B,Read A,输出分支的分解,ME,W,Write V,u,u,w,u,v,v,v,Put U,U to V,ME,U,Write W,w,w,u,w,u,V,(1),(2),中心加工分支的分解,MT,P,Q,R,e,c,p,r,u,w,p,r,5-1 下图是使用Basic语言编写的一个打印A,B,C三数中最小者的程序的流程图。其中出现了6个GOTO语句,一个向前,5个向后,程序可读性很差。if(A=B and B C)then print B else print C;分析:理清程序流程图中每一条执行路径,适当利用复合的条件测试于判断语句,对每一个

9、最终的打印处理,保留一个分支进入它。这样可以消除众多的GOTO语句,甚至可以消除嵌套的判断语句结构。这种程序结构清晰,可读性好。,5-2.试说明下面的两个程序段的功能是什么?可否用另一些等效的程序段来代替它,以提高其可读性。(1)AI=AI+AT;(2)for(i=1;i=n;i+)AT=AI-AT;for(j=1;j=n;j+)AI=AI-AT;Vij=(i/j)*(j/i);(1)的功能是对换AI 与AT 的内容。等效的程序段可以是:WORK=AT;AT=AI;AI=WORK;(2)的功能是建立一个单位矩阵V。等效的程序段可以是:for(i=1;i=n;i+)for(j=1;j=n;j+)

10、if(i=j)Vij=1;else Vij=0;分析:阅读这两段程序,读者可能不易看懂,有时还需用实际数据试验一下。对于(1),如果我们给AI 赋值3,给AT 赋值5,在运算后发现AI 中变成了5,AT 中变成了3。这段程序就是交换AI 和AT 中的内容。目的是为了节省一个工作单元。如果改一下:WORK=AT;AT=AI;AI=WORK;就能让读者一目了然。对于(2),除法运算()在除数和被除数都是整型量时,其结果只取整数部分,而得到整型量。因此,i/j为0,当i j时 j/i为0,当j i时得到的数组 Vij=(ij)*(ji)=0,当i j时(ij)*(ji)=1,当i j时这样得到的结果

11、V是一个单位矩阵。如果直截了当地说明作者的意图:if(i=j)Vij=1;else Vij=0;让读者可以很容易地理解。所以,在程序设计时,应当首先考虑清晰性,不要玩技巧。,5-3.用Jackson图表示下图所示的二维表格:该学生名册由表头和表体两部分组成。其中表头又顺序包括表名和字段名。表体可由任意行组成,每行包括学生的姓名、性别、年龄和学号。,学生名册,5-4.根据伪码画出NS图。STARTIF A THENX1DO UNTIL BELSEX2YEND IFZSTOP,5-5.根据伪码画出PAD图。STARTSWITCH PCASE 1:A;break;CASE 2:B;break;CAS

12、E 3:C;break;Default;STOP,5-6.移动电信公司为促进业务的发展发行各种优惠卡,其中包括钻石卡、金卡、银卡3种,用户可以依据其信用度享受不同额度的透支。其中钻石卡、金卡和银卡允许透支的额度分别为800元、500元和100元。发卡的规则为:从未发生过话费拖欠,且每月通话费在500元(含)以上者可获得钻石卡,每月通话费在200元(含)以上者可获得金卡,每月通话费在100元(含)以上者可获得银卡;发生过话费拖欠,能在规定的时间内缴清欠款,且每月通话费在300元(含)以上者可获得金卡,每月通话费在200元(含)以上者可获得银卡;发生过话费拖欠,并未能在规定时间内补清欠款,无论每月

13、话费多少均不能获得优惠卡。,6-2根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。“一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。这个程序要打印出信息,说明这个三角形是三边不等的、是等腰的、还是等边的。”解:设三角形的三条边分别为A,B,C。如果它们能够构成三角形的三条边,必需满足:A 0,B 0,C 0,且A+B C,B+C A,A+C B。如果是等腰的,还要判断是否A=B,或B=C,或A=C。对于等边的,则需判断是否A=B,且B=C,且A=C。列出等价类表:,6-3.某一报表处理系统,要求用户输入处理报表的日期。假设日期限制在1990年1月至1999年12月

14、,即系统只能对该段时期内的报表进行处理。如果用户输入的日期不在此范围内,则显示输入错误信息。该系统规定日期由年、月的 6 位数字字符组成,前 4 位代表年,后两位代表月。现用等价类划分法设计测试用例,来测试程序的“日期检查功能”。解:划分等价类并编号:划分成 3 个有效等价类,7 个无效等价类,如表5-3所示。为合理等价类设计测试用例,对于表中编号为1,5,8对应的 3 个合理等价类,用一个测试用例覆盖。为每一个不合理等价类至少设计一个测试用例:测试数据 期望结果 覆盖范围 199002 输入有效 1,5,8 99MAY 输入无效 2 19995 输入无效 3 1999005 输入无效 4 198912 输入无效 6 200001 输入无效 7 199900 输入无效 9 199913 输入无效 10,6-4根据给出的程序流程图,画出它的PAD图和程序图,并计算它的McCabe复杂性度量。其中:Pi代表操作语句,Ci代表条件。,PAD图,程序图,McCabe复杂性:4,6-5某城市的电话号码由三个部分组成。这三部分的名称与内容分别是:地区码:空白或3位数字;2、前缀:非“0”或“1”开头的3位数字;后缀:4位数字。用等价分类法完成如下要求:划分出有效等价类、无效等价类;为有效等价类设计出测试用例。解第一步:电话号码等价类划分,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号