软件工程复习题根据课本整理_第1页
软件工程复习题根据课本整理_第2页
软件工程复习题根据课本整理_第3页
软件工程复习题根据课本整理_第4页
软件工程复习题根据课本整理_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章:.什么是软件危机?有什么表现?P1-2.什么是软件工程?软件工程的基本目标是什么?软件工程与基本目标之间的关系? 软件工程的基本目标是:付出较低的开发成本 达到要求的软件功能 取得较好的软件性能开发的软件易于移植 需要较低的维护费用能按时完成开发任务,及时完成开发任务,及时交付费用开发的软件可靠性高在具体项目的实际开发中,企图让以上几个目标都达到理想的程度往往是非常困难的。(假升号成苗)k、* 互斥美系易于堆护) (按时交付)-互补关系1%可靠乂高n能)软件工程目标之间的关系如上图:表明了软件工程目标之间存在的相互关系。其中有些目标之间是互补关系,例如,易于维 护和高可靠性之间,低开发

2、成本与按时交付之间。还有一些目标是彼此互斥的,例如,低开发 成本与软件可靠性之间,提高软件性能与软件可移植性之间,就存在冲突。.软件工程方法学有哪些要素?方法、工具和过程.软件生命周期(选择正确的模型)(1)假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得到的结果应该精确到小数点后4位。一旦实现并测试完成后,该产品将被抛弃。你打算采用哪种软件生命周期 模型?请说明你的理由。对这个软件的需求很明确,实现开平方功能的算法也很成熟,因此,即无须通过原型来分析需求也无须使用有助于提高软件可维护性的增量模型或螺旋模型来开发该软件。因此,开发这个简单的软件,使用大多数人所熟悉的瀑布模型就可

3、以了。(2)假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字 处理软件的新版本开发。由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。你 打算采用哪种软件生命周期模型?为什么?对这个项目的一个重要要求是,严格按照已对外公布了的日期完成产品开发工作,因此,选择 生命周期模型时应该着重考虑哪种模型有助于加快产品开发的速度。使用增量模型开发软件时 可以并行完成开发工作,因此能够加快开发进度。这个项目是开发该公司已被广泛应用的字处理软件的新版本,从上述事实至少可以得出3点结论:1.旧版本相当于一个原型,通过收集用户对旧版本的意见,较容易确定对新版本的需求,没必要再专

4、门建立一个原型系统来分析用户的需求;2.该公司的软件工程师对字处理软件很熟悉,有开发字处理软件的丰富经验,具有采用增量模型开发新版字处理软件所需要的技术水平;3.该软件受到广大用户的喜爱,今后很可能还要开发更新的版本,因此,应该把软件的体系结 构设计成开放式的,以有利于今后的改进和扩充。综上所述,采用增量模型来完成这个项目比较恰当。第二章:.什么是数据流图?数据流图有什么作用?数据流图的作用是什么?它有哪些基本成份?答:数据流图可以用来抽象地表示系统或软件。它从信息传递和加工的角度,以图形的方式刻 画数据流从输入到输出的移动变换过程,同时可以按自顶向下、逐步分解的方法表示内容不断 增加的数据流

5、和功能细节。因此,数据流图既提供了功能建模的机制,也提供了信息流建模的 机制,从而可以建立起系统或软件的功能模型。.画数据流图(如银行取款、订货、订飞机票)(1)画出描述储户携带存折去银行办理取款手续的数据流图。 储户携带存折去银行办理取款手续的数据流图如下:帐K(2)订货的数据流图 P44(3)订飞机票的数据流图:机票t付第三章:复习的范围(P65-67)1.怎么画状态图?如:复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入 复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果 执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸

6、,装满纸后进入闲置状 态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修 人员来排除故障,故障排除后回到闲置状态。请用状态转换图描绘复印机的行为。解:第五章:什么是模块化?P94什么是内聚?什么是耦合?P97-99第六章:画程序流程图和盒图(见作业)作业如下:下面是一段用赛德尔迭代法求解线性方程组的程序。其中An,n是方程组的系数矩阵,Bn是方程组的右端项,Xn是方程组的解向量。eps是控制迭代精度的较小实数。imax是控制迭代的最大次数。flag是标志,=0,表示迭代不收敛;=1,表示迭代收敛。for k := 1 to n do Xk := 0.0;Xn :=

7、1.0 ;for i := 1 to imax dobegin flag := 1 ;for j := 1 to n tobegin s := Bj;for k := 1 to n dobeginif j = k then s := s + Xk; s := s-Aj, k * Xkend;if abs(Xj -s) (abs(s) + 1.0) * eps then flag := 0;Xj := s;end;if flag = 1 then goto L1; end;L1 :(1)试画出它的结构化的程序流程图。(2)将它改为N-S图。(3)计算它的McCabe环路复杂性。答案:(1)结构化

8、的程序旅程图:Eidk- 1;k品k+;烟=1; i=lj flag=0;imax & flag -= 0s-0j; k- 1;k卑nL、F=kXT1s s + Xk;s =喻 k+;区国词A (kl+D*蝉E/Yj%三。;斌=F McCabe环路复杂性度量V(G)-判定语句个数+1 = S 第七章:.软件测试的基本准则是什么?.为什么强调软件测试越早进行越好?在传统的软件开发生命周期当中,测试工作往往被搁置到整个开发过程的后期进行,也就是说,当应用程序的编码工作已经基本完成,才开始进行测试,这样做的缺点在于:a)由于应用程序庞大而复杂,测试工作千头万绪,测试人员难以组织科学、全面的测试用例,

9、从而大幅度提高了测试成本,并严重影响测试的全面性和有效性;b)由于缺陷所涉及的模块从开发到测试之间的时间间隔较长,使得程序员的修改和维护工作要付出更大的代价;c)由于受到分发日期的限制,测试工作往往是在忙碌中结束的,而将大量的缺陷遗留 给最终用户,也就是说,真正的测试工作实际上是由最终用户来完成的。因此,为了保证测试工作科学、精确、全面、有序地进行,应该采取一边开发一边测试的策略,使得开发工作与测试工作平行进行,这也就是俗话所说的越早测试越好”的概念。.白盒和黑盒的测试案例(见习题)课堂练习:假设现有以下的三角形分类程序。该程序的功能是,读入代表三角形边长的3个整数,判定它们能否组成三角形。如

10、果能够,则输出三角形是等边、等腰或任意三角形的分类信息。图9.11显示了该程序的流程图和程序图。为以上的三角形分类程序设计一组测试用例。国廿等硬三俾形:程.阵的流程巴初程.序chinaitlab中国IT实室三角彤匕【解】第一步:确定测试策略。在本例中,对被测程序的功能有明确的要求,即:(1)判断能否组成三角形;(2)识别等边三角形;(3)识别等腰三角形;(4)识别任意三角形。 因此可首先用黑盒法设计测试用例,然后用白盒法验证其完整性,必要时再进行补充。第二步:根据本例的实际情况,在黑盒法中首先可用等价分类法划分输入的等价类, 然后用边界值分析法和猜错法作补充。等价分类法:有效等价类输入3个正整

11、数:3数相等(2)3数中有2个数相等,比如 AB相等(3)3数中有2个数相等,比如 BC相等(4)3数中有2个数相等,比如 AC相等(5)3数均不相等(6)2数之和不大于第3数,比如最大数是 A(7)2数之和不大于第3数,比如最大数是B(8)2数之和不大于第3数,比如最大数是 C 无效等价类:(9)含有零数据(10)含有负整数(11)少于3个整数(12)含有非整数(13)含有非数字符边界值法:(14)2数之和等于第3数猜错法:(15)输入3个零(16)输入3个负数第三步:提出一组初步的测试用例,如下表所示:序号一测试内容,腓激捧)期望结果A-,8u等边,5,5.”等边三角形,2.等腰口445y

12、5.5445小等胧三角形,任意-*任意三角形非三角股%峥4,94电4%5-退化三角形&494.8444和1不是三角形+6.,零数据,0,4,5 口404扯负数据-3,4,5-34%9/3451遗漏鞅据34非整数,3349非数字符,A3q卜国IT实验室第四步:用白盒法验证第三步产生的测试用例的充分性。结果表明,上表中的前8个测试用例,已能满足对被测程序图的完全覆盖,不需要再补充其他的测试用例。课后练习:.设计下列伪码程序的语句覆盖和路径覆盖的测试用例:STARTEND IFINPUT (A,B,C)IF B20IF A10THEN Y=40THEN X=20ELSE Y=4ELSE X=2END

13、 IFIF C30PRINT (X,Y,Z)THEN Z=60STOPELSE Z=6END IF语句覆盖测试用例1)三个判定表达式之值全为假输入 A=1,B=1,C=1预期输出:X=2,丫=4,C=62)三个判定表达式依次为真,真,真输入:A=20,B=30,C=40预期输出:X=20,Y=40,C=60 路径覆盖的测试用例1)全为假输入 A=1,B=1,C=1预期输出:X=2,Y=4,Z=62)三个判定表达式依次为假,假,真输入:A=1,B=1,C=40预期输出:X=2,Y=4,Z=603)假,真,假输入 A=1,B=30,C=1预期输出:X=2,Y=40,Z=64)假,真,真输入:A=1

14、,B=30,C=40预期输出:X=2,Y=40,Z=60真,假,假输入:A=20,B=1,C=1预期输出:X=20,Y=4,Z=66)真,假,真输入:A=20,B=2,C=40预期输出:X=20,Y=4,Z=607)真,真,假输入:A=20,B=30,C=1预期输出:X=20,Y=40,Z=6真,真,真输入:A=20,B=30,C=40预期输出:X=20,Y=40,Z=60.某图书馆有一个使用CRT终端的信息检索系统,该系统有下列4个基本检索命令(见书185 页)。要求:(1)设计测试数据以全面测试系统的正常操作;(2)设计测试数据以测试系统的非正常操作。预期的,出,:二:的一个名字杳找位于列

15、表4间的个名字后的名字预期的帖出:弋2字毋戚序恰好在第我找不在列”I个名字前的名,预期的输出,FA无毋.序侑好在”查找不在列表中但核心预期的博出 FA16Em数据9.答:测试系统止作的同.序执行下列3个疝门b( KEYWORD)(L)d命令&用在修上“二其中.KEYWORD.正的)也中央一个行号”、北3 中的一个(至少应该便l分.为第一后一个和中央出的拿引号中的一个至少收 针对若干个不一的key使N分#f i里D”快行上央.,F3 序执行下112个. f(NAME);,、AME最已,小秋第,出*拿引号中口 课使N分剔角.一个、行一个“中鹿一,,)计财若干个不y NAMH(2) ffIK祟统多至

16、,H作用Mft的美“字竹1的Bt.MlD.behability oh2一 combined)Hi期的山,系统(饱”归的X.H7.MIU. I 14命中的关健,一 reliability *ofware0用不正的美愣件为,I,的依.例如,M AAKDVARK)颈期的,出,“小出量接近的几配姑黑例如,拉卜1 M命令后可能2小1. AARON,JULES(book)用比执行命令1,%列出的最大行号大1的收作为命令5的叁数第九章:(912章是结合一起考的).什么是类、封装、对象、继承?.什么是对象建模、动态模型、功能模型?课堂练习题:1、建立窗口系统的对象模型,问题陈述如下:窗口分为对话窗、图形窗、滚

17、动窗三种。对话窗中有若干对话项,由唯一的项名字来确定;对话项分为按钮、选择项和正文项三种, 选择项中有若干选择项入口。图形窗中有若干形状元素,形状元素分为一维形状和二维形 状。一维形状又分为直线、圆弧、折线;二维形状分为圆、椭圆、矩形、多边形,其中折 线与多边形由若干有序顶点组成。正文窗是滚动窗的一种,而图形滚动窗既是图形窗又是 滚动窗。”对象模型应由对象图和数据词典组成。根据题意,先给出对象图。菌口对语值I|朝后读|画滚输正生相碗什个 四翱人口 |卿画原点窗口类与对话窗类、图形窗类、滚动窗类是一般化-特殊化关系。对话窗类与对话项类是限定关联,限定词是对话项名。对话项类与按钮类、选择项类、正文项类是一般化-特殊化关系。选择项类与选择项入口类是一对多的拥有关联。图形窗类与形状元素类也是一对多的拥有关联。形状元素类与一维形状、二维形状是一般化-特殊化关系。一维形状类与直线类、圆弧类、折线类是一般化-特殊化关系。折线类与顶点类是整体 -部分关系。二维形状类与圆类、椭圆类、矩形类、多边形类是一般化-特殊化关系。多边形类与顶点类是整体 -部分关系,一个多边形至少有 3个顶点。正文窗类与滚动窗类是一般化 ?特殊化关系。图形滚动窗类的父类是图形窗类和滚动窗类,这是一个多继承关系。对应的窗口系统的数据词典类名S性操作窗口11, W, 2. y2息就不星武触尤狙、W

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论