《大学软件工程复习资料16231.docx》由会员分享,可在线阅读,更多相关《大学软件工程复习资料16231.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、五、简答题1. 层次图和层次方框图之间区别何在? P92层次图描绘软件的层次结构,层次方框图描绘数据结构层次图中方框框代表一个功功能模块,层层次方框图方方框代表数据据的子集或数数据元素层次图中连线线表示模块间间调用关系,层层次方框图连连线表示组成成关系。2. 2、软件设计过过程中为什么么要采用模块块化设计方法法?P85参考答案:(1)、采用模模块化原理可可以使软件结结构清晰,不不仅容易设计计,也容易阅阅读和理解;(2)、模块化化使软件容易易测试和调试试,因而有助助于提高软件件的可靠性;(3)、模块化化可以提高软软件的可修改改性;(4)、模块化化有助于开发发过程的组织织和管理;3. 用某种软件复
2、杂杂性度量算法来度度量不同类型型的程序时。得得出的度量值值是否真正反反映了它们的的复杂性?如如果对同类型型的程序进行行度量,其结结果是否就比比较有价值?参考答案:开发规模相同,但但复杂性不同同的软件,花花费的成本和和时间会有很很大的差异。因因此到目前为为止,还没有有一个软件复复杂性度量的的方法能够全全面、系统地地度量任一软软件的复杂性性,某一种度度量方法只偏偏重于某一方方面。所以,用用某种软件复复杂性来度量量不同类型的的程序,所得得到的度量值值不一定真正正反映它们的的复杂性。但但对同一类里里的程序,按按某种视点来来度量它们的的复杂性,其其结果还是比比较有价值的的。4. 数据流图的作用用是什么?
3、它它有哪些基本本成分?参考答案:数据流图可以用用来抽象地表表示系统或软软件。它从信信息传递和加加工的角度以图形的方方式刻画数据据流从输入到到输出的移动动变换过程,同同时可以按自自顶向下、逐逐步分解的方方法表示内容容不断增加的的数据流和功功能细节。因因此,数据流流图既提供了了功能建模的的机制也提提供了信息流流建模的机制制,从而可以以建立起系统统或软件的功功能模型。基本成分有:数数据原点/终终点 数据处处理 数据流流 数据存储储5. 常用的估算软件件规模的方法法有哪些?试试比较这些方方法的优缺点点。代码行技术的优优点,容易计计算,缺点是是太片面,因因为源程序只只是软件配置置的很少一部部分,不同语语
4、言实现同一一个软件所需需的代码行数数不同;功能点数的特点点:与编程语语言无关,但但是判断信息息域复杂性级级别和技术因因素的影响程程度时,存在在着相当大的的主观因素。6. CMM的全称是是什么?其基基本思想是什什么?为什么么要对CMMM进行分级?P321其基本思想是:软件开发和和维护过程中中的问题是由由于管理软件件过程的方法法不当引起的的,即使是应应用新的软件件技术,也不不会自动提高高软件的生产产率和质量。能能力成熟度模模型有助于软软件开发机构构建立一个有有规律的、成成熟的软件过过程。改进后后的软件过程程将有利于开开发出高质量量的软件,使使更多的软件件项目免受时时间和费用超超支之苦。3分对于任何
5、软件开开发机构的软软件过程的改改进都是在完完成一个又一一个小的改进进的基础之上上不断进行的的渐进过程,而而不是一蹴而而就的彻底革革命。CMMM将软件过程程从无序到有有序的进化过过程分为5个个等级,用于于测量软件机机构的软件过过程成熟度和和评价其软件件过程能力什么是软件配置置管理?答:软件配置管管理,简称SSCM(Sooftwarre Connfigurrationn Manaagemennt),是在在软件的整个个生命周期内内管理变化的的一组活动。具具体地讲,这这组活动包括括:标志变化, 控制辩化, 确保适当地地实现变化, 向需要指导导这类信息的的人报告变化化。软件配置置管理技术可可以使软件变变
6、更所产生的的错误达到最最小并最有效效地提高生产产率。7. 什么是基线?你你是如何理解解基线的?PP319基线:已经通过过正式复审的的规格说明或或中间产品,它它可以作为进进一步开发的的基础,并且且只有通过正正式的变化控控制过程才能能改变它。基线是通过了正正式复审的软软件配置项。一一旦软件配置置变成基线,那那么,对于软软件配置的改改变,必须使使用特定的、正正式的过程来来评估、实现现和验证每个个变化。基线除了包含软软件配置之外外,还有可能能包含软件工工具。8. 什么是面向对象象的方法学?它有哪些优优点?P1993面向对象的方法法就是模拟人人类认识世界界解决问题的的思维习惯开开发软件的方方法,这种方方
7、法认为:OOO=对象+类+继承+对象之间的的通讯。1分OO方法有如下下四个方面的的要点:客观世界是是由各种对象象组成的,任任何事物都是是对象,复杂杂的对象可以以有比较简单单的对象以某某种方式组合合而成。把所有对象象都划分成各各种对象类,每每个类定义一一组数据(静静态属性,状状态信息,类类实例专有数数据)和一组组方法(施加加于对象上的的操作,类实实例所共有的的)。按照子类与与父类的关系系,把若干个个类组成一个个层次结构的的系统。子类类继承父类的的方法和属性性,同时可以以重载某些方方法。对象之间仅仅能通过传递递消息相互联联系2分优点:与人类类习惯的思维维方法一致,稳定性好,可重用性好,较易开发大型
8、软件产品,可维护性好。2分六、分析题1. 试说明下面的两两个程序段的功能能是什么?可可否用另一些些等效的程序序段来代替它它,以提高其其可读性。(1)A=A+BB=A-BA=A-B(2)for(i=00;jn;i+)for(j=0;j3)AND(B=1)M=M/2(A=1)OR(M1)M=M-5M=M+5FFTTbdceafend假设几种可能的的条件是:T1: A33 F11:A1 F4:MM1填写下表(注意意:本题答案案不唯一)数据覆盖路径覆盖条件M值A=4,B=11,M=2cdT1,T2,FF3,F46A=1,B=22,M=4beF1,F2,TT3,T4-1请设计路径覆盖盖用例,并写写出各种
9、测试试用例下程序序的执行路径径。3. 下面是一段用SSeidell迭代法求解解线性方程组组的程序。其其中An,n是方程程组的系数矩矩阵。Bnn是方程组组的右端项,XXn是方方程组的解向向量。epss是控制迭代代精度的较小小实数。immax是控制制迭代的最大大次数。fllag是标志志,值为0时时表示迭代不不收敛,值为为l时表示迭迭代收敛。for(k=00;kn;kk+)Xk=00.0;Xn-1=1.0;for(i=11;iimmax;i+)flag=11;for(j=0;jnn;j+)s=Bjj;for(kk=0;k (abs(s) + 1.0)*epsflagg=0;Xj=s;if(flaag
10、=1)breakk;画出该C伪码的的程序流程图图,N-S图图,程序流图图,并计算程程序的McCCabe环形形复杂度。4. 阅读下列关于软软件可靠性方方面的叙述,回回答问题1和和问题2。软件的可靠度可可定义为:在在假定输入和和硬件不发生生错误的前提提下,对于给给定的环境和和给定的输入入,在指定的的时间内能完完成规定任务务的概率。某软件中心的评评测部为了评评估已开发实实现的应用软软件ASP的的可靠性,决决定采用软件件可靠性的错错误播种模型型来进行测试试和评估。评评测部在评估估时,作了下下列3个假设设:(l)在测试前前,单位长度度的故障个数数ET/IT为一常数,此此常数基本上上落在一个固固定的范围内
11、内。其中ITT为被测程序序的长度(即即机器指令条条数),ETT为被测程序序中故障总数数。(2)失效率正正比于软件中中剩余的(潜潜伏的)故障障数,平均无无敌障时间MMTTF(MMean Tiime Too Faillure)与与单位长度的的剩余故障个个数成反比,即即MTTF=1/(Kr)。其中r为单位长度度剩余故障个个数,K的典典型值现取为为200。(3)测试中发发现的错误都都得到了及时时改正,在测测试过程中没没有引入新的的错误。评测测部对ASPP软件人为地地植入了100个错误,即即Ns=10,在在开始测试的的一小段时间间内,发现了了160个固固有故障,即即n=1600,又发现了了植入的故障障2
12、个,即nns=2,被测测程序ASPP的长度(即即机器指令条条数)为1000000。问题1:用故障障播种(植入入)的数学模模型,估算出出被测程序AASP的固有有故障的个数数N的值。如如果通过测试试一段时间后后,发现的固固有错误个数数为EC=795时时,请估算此此程序的平均均无故障时间间MTTF的的值。问题2:若要求求把此MTTTF提高4倍倍,应至少再再排除多少个个固有错误?请简要地列列出有关计算算式。由得:所以应该在排除除:799-795=44个错误。5. 对于包含100000条机器器指令的程序序进行一个月月集成测试后后,总共改正正了15个错错误,此时MMTTF=110h;经过过两个月的测测试后
13、,总共共改正了255个错误(第第二个月改正正了10个错错误),MTTTF=155h。请问:(1)在开始测测试之前,软软件中潜藏着着多少个错误误?(2)为了达到到MTTF=100h,还还应该改正多多少个错误?程序中还残残留多少个错错误?6. 在测试一个长度度为240000条指令的的程序时,第第一个月内由由甲、乙两人人各自独立地地测试这个程程序。经过一一个月后,甲甲发现并改正正了20个错错误,使MTTTF达到110h。与此此同时,乙发发现了24个个错误,其中中6个错误甲甲也发现了。以以后甲一个人人继续独立测测试这个程序序。请问:(1)刚开始测测试这个程序序时,程序中中总共潜藏有有多少个错误误?(2
14、)为了使MMTTF达到到60h,需需要再改正多多少个错误?此时程序中中还残留有多多少个错误?7. 根据下列程序流流程图画出相相应得N-SS图和PADD图,并计算算其环路复杂杂度。七、名词解释1、系统流程图图系统流程图是描描绘物理系统统的传统工具具,用图形符符号来表示系系统中的各个个元素,表达达了系统中各各个元素之间间的信息流动动的情况。2数据字典 答:数数据字典(DData DDictioonary,简简称DD)就就是对数据流流图中包含的的所有元素的的定义的集合合。它和数据据流图共同构构成了系统的的逻辑模型。3数据流图(DFD) 答:数据流流图,简称DDFD,是SSA方法中用用于表示系统统逻辑
15、模型的的一种工具,它它以图形的方方式描绘数据据在系统中流流动和处理的的过程,由于于它只反映系系统必须完成成的逻辑功能能,所以它是是一种功能模模型。4软件工程 答:软件工工程是:把系统的、规规范的、可度度量的途径应应用于软件开开发、运行和和维护过程,也也就是把工程程应用于软件件;研究中提到的途途径。5模块 答:在程序序中是数据说说明、可执行行语句等程序序对象的集合合,或者是单单独命名和编编址的元素,在在软件的体系系结构中,模模块是可组合合、分解和更更换的单元。6控制耦合 答:控制耦耦合指一个模模块调用另一一个模块时,传传递的是控制制变量(如开开关、标志等等),被调模模块通过该控控制变量的值值有选
16、择地执执行块内某一一功能。7内聚性答:内聚性指模模块的功能强强度的度量,即即一个模块内内部各个元素素彼此结合的的紧密程度的的度量。8PAD图答:PAD图指指问题分析图图(Probblem Analyysis Diagrram),是是日本日立公公司于19779年提出的的一算法描述述工具,它是是一种由左往往右展开的二二维树型结构构。PAD图的控制制流程为自上上而下、从左左到右地执行行。9单元测试答:单元测试指指对源程序中中每一个程序序单元进行测测试,检查各各个模块是否否正确实现规规定的功能,从从而发现模块块在编码中或或算法中的错错误。10判定/条条件覆盖 答:指设计计足够的测试试用例,使得得判定表达式式中的每个条条件的所有可可能取值至少少出现一次,并并使每个判定定表达式所有有可能的结果果也至少出现现一次。11完善性维维护 答:在在软件运行时时期中,用户户往往会对软软件提出新的的功能要求与与性能要求。这这种增加软件件功能、增强强软件性能、提提高软件运行行效率而进行行的维护活动动称为完善性性维护。