《2021-2022年收藏的精品资料软件工程复习材料.doc》由会员分享,可在线阅读,更多相关《2021-2022年收藏的精品资料软件工程复习材料.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一、填空题: 1. 软件测试通常有两种方法,一种是从功能上的测试,也称为黑盒测试,一种是从结构上的测试称为白盒测试。P1512. 软件生命周期通常由问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试、软件维护等阶段构成。P113. 数据字典的内容通常由4类元素的定义组成:数据流、数据流分量(即数据元素)、数据存储、处理。P474. 用面向对象方法开发软件,通常需要建立3种形式的模型:对象模型(静态结构)、动态模型(交互次序)、功能模型(数据变换)。P232 5. 由数据元素组成数据的方式有三种基本类型顺序、选择、重复。P48 6. 一个大型软件系统的测试过程基本上由五
2、个步骤组成:模块测试、子系统测试、系统测试、验收测试、平行运行。P1517. 软件生存周期是指一个软件从提出开发要求开始直到该软件报废不用的整个时期。通常,软件生存周期包括问题定义、可行性研究、需求分析、设计编码、编测试、运行和维护活动,可以将这些活动以适当方式分配到不同阶段去完成。 P118. 大型软件测试包括模块测试、子系统测试、系统测试、验收测试四个步骤。P1519. 软件详细设计工具可分为3类,即图形、表格、语言。P12410. 数据流图的基本四种成分:符号、例子、命名、用途。P4011. 等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据此导出测试用例。12.
3、软件过程模型也被称为软件生命周期模型,常用软件过程模型有瀑布模型、快速原型模型、螺旋模型、增量模型、喷泉模型。13. 在设计构件的过程中,应尽量使用数据耦合,少用控制和特征耦合,完全不用内容耦合。P9814. 软件开发过程模型主要有瀑布模型、快速原型模型、螺旋模型、增量模型、喷泉模型等。15. 对象的基本特点是以数据为中心、对象是主动的、实现了数据封装、本质上具有并行性、模块独立性好。P21016. 软件生命周期由三个时期组成:软件定义时期、开发时期、维护时期。17. 可行性研究通常从三方面研究每种解法的可行性 技术可行性、经济可行性、操作可行性。 18. 面向数据流的设计方法把信息流映射成软
4、件结构,信息流的类型主要有两种变换流、事务流。19. 大多数系统的面向对象设计模型,在逻辑上都可以分解成4大部分:人机交互部分、问题域部分、任务管理部分、数据管理部分。20. 在软件进行集成测试中,当使用渐增方式把模块结合到程序中去时,有自顶向下、自底向上两种集成策略。21. 软件生命周期由软件定义时期、开发时期、维护时期三个时期组成。进一步划分,可分为问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试、软件维护等阶段构成。22. 软件开发范型主要有瀑布模型、快速原型模型、螺旋模型等。23. 软件开发方法学可分为传统方法学、面向对象方法学等。24. 传统方法学中,建立
5、分析模型,主要建立 数据模型、行为模型、功能模型 三类模型。25. 增量集成主要有自顶向下、自底向上两种集成方式。?26. 估算技术主要分为两大类:分解和经验建模。27. 根据测试的步骤和规模,可以把测试分为单元测试、集成测试、确认测试。二、名词解释: 1、 软件危机及其典型表现:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。1.对软件开发成本和进度的估计常常很不准确。2.用户对已完成的软件系统不满意的现象经常发生。3.软件产品的质量往往靠不住。4.软件常常不可维护的。5.软件通常没有适当的文档资料。6.软件成本在计算机系统总成本中所占的比例逐年上升。7.软件开发生产率提高的速度,
6、远远跟不上计算机应用迅速普及深入的趋势。2、 面向对象设计的准则 :模块化、抽象、信息隐藏、弱耦合、强内聚、可重用。3、 耦合:是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。P974、 软件复用:是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。软件复用是提高软件生产力和质量的一种重要技术。早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。5、 软件工程:是指导计算机软件开发和维护的一门工程科学,采
7、用工程的概念、远离、技术和方法来开发与维护让un见,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。6、 模块化:就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。P947、 内聚:标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展。8、 软件工程工具(CASE) 9、 进度计划:将使产品满足顾客和期望的任务、分配、事件的进度列出的计划、安排进度计划的目的是为了控制时间和节约时间,而项目的主要特点之一即是有严格的时间
8、期限要求,由此决定了进度计划在项目管理中的重要性。10、 黑盒测试:是在程序接口进行的测试,它只检查程序功能是否按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。 把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。11、 白盒测试:它的前提是可以把程序看成装在一个透明的白盒子里,测试这完全知道程序的结构和处理算法。这种方法按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。三、判断题:试判断下列说法是否正确1. 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。( )2. 发现错误多的程序
9、模块,残留在模块中的错误也多。( )3. 为了加快软件维护作业的进度,应尽可能增加维护人员的数目。( )4. 软件维护就是改正软件中的错误。( )5. 质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动。( )6. 软件开发的主要任务是写程序。 ( )7. 测试只能证明程序有错误,不能证明程序没有错误。( )8. 模块化程序设计中,模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。( )9. 在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要像写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排,等等。( )10. 程序
10、设计风格指导原则提出,尽量多使用临时变量。( )11. 螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。( )12. 软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。( )13. 软件模块之间的耦合性越弱越好。( )14. 在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。( )15. 过程描述语言可以用于描述软件的系统结构。( )16. 如果通过软件测试没有发现错误,则说明软件是正确的。( )17. 快速原型模型可以有效地适应用户需求的动态变化。( )18. 白盒测试无需
11、考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。( )19. 软件概要设计包括软件系统结构设计以及数据结构和数据库设计。( )20. 为了加快软件维护作业的进度,应尽可能增加维护人员的数目。( )21. 软件项目管理先于任何技术活动之前开始,并且贯穿于软件的整个生命周期之中。( )22. 对于规模较大的软件项目往往编码开始得越早,最终完成开发工作所需要的时间就会越短。( )23. 需求分析的任务是。( )它的基本任务是准确地回答“系统必须做什么?”这个问题。24. 数据字典的作用。( )P4725. 在面向对象的设计方法中,.( )26. 源程序是软件配置的一个成分,用代码行技术(
12、)27. 如果软件通过黑盒白盒测试。( )P162 17128. 模块接口复杂是。( )29. 软件维护需要的工作量。( ) 30. 可行性研究的主要目的。()P3531. 可行性分析主要是。( )P3532. 面向对象分析,就是。( )P23133. 扇出是。( )34. 软件中使用的可重用构件越多,软件的可靠性越差。( )35. 对象模型表示了。( )四、论述题: 1、 耦合性和内聚性有几种类型? 其耦合度、内聚强度的顺序如何?耦合性7种由高到低 内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合、非直接耦合内聚性7种由高到低 功能内聚、顺寻内聚、通信内聚、过程内聚、时间内聚、逻辑
13、内聚、偶当内聚。2、 分析软件危机产生的主要原因有哪些? a) 软件不同与硬件,是逻辑部件; b) 软件规模庞大,逻辑结构复杂; c) 软件开发人员和管理人员只重视设计程序而轻视用户的需求分析,导致最后研制出的软件产品无法满足用户的需求; d) 软件设计技术和管理技术落后,没有统一的软件质量管理规范; e) 在软件的开发与维护关系问题上存在错误的概念,重视开发,而轻视维护。3、 耦合性和内聚性有几种类型? 其耦合度、内聚强度的顺序如何?4、 可行性研究的主要目的不是解决问题,而是确定问题是否值得去解。答:可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。主要从技术可行性、经
14、济可行性、操作可行性和法律可行性4个方面考虑。5、 软件的质量主要是由编码阶段决定的。编码是软件项目实例化的根本途径。目标:按照系统设计阶段产生的文档,进行软件系统功能开发,整合各个功能模块,实现系统的集成运行,并满足需求分析阶段提出的性能要求。任务: 将详细设计的结果转化为用具体程序设计语言编写的程序代码。6、 测试的目标是为了验证软件正确性。测试是为了发现程序中的错误而执行的过程,好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案,成功的测试是为了发现至今为止尚未发现的错误的测试。是为了发现错误不是验证正确性。7、 向一个拖延的项目中增加人手,可以非常有效地加快进度。这是错误的,项目
15、成功的关键是有高素质的软件开发人员和配合的亲密无间的团队。如果随意的增加人手,会照成之前的开发团队合作被破坏,造成资源的浪费。8、 针对软件危机产生的原因,阐述解决软件危机的途径。这些情况是由软件危机导致的,导致软件工程发生的主要原因为(1)软件的规模越来越大,结构越来越复杂。(2)软件开发管理困难而复杂。(3)软件开发费用不断增加。(4)软件开发技术落后。(5)生产方式落后。(6)开发工具落后,生产率提高缓慢。解决软件危机的办法是:(1) 充分吸收和借鉴人类长期以来从在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。 (2) 推广在实践中总结出来的开发软件的成功的技术和方法,
16、并研究更好、更有效的技术和方法, (3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发环境。 9、 结合专业实训、见习、实习经历,阐述软件团队开发中团队协作的重要性。10、 某企业可用的电话号码有以下几类:校内电话号码由4位数字组成,第一位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨9,如果是本地电话再接着拨8位电话号码(第一位不是0),如果是外地电话则先拨3位区码,再拨8位电话号码(第一位不是0)。试采用数据字典定义数据的方法,定义上述的电话号码。 电话号码=校内电话号码|校外电话号码校内电
17、话号码=非零数字+ 3 位数字 /后面继续定义校外电话号码=本市号码|外地号码本市号码=数字零+8位数字外地号码=数字零+3位数字+8位数字非零数字=1|2|3|4|5|6|7|8|9数字零03位数字3数字3 /3至3个数字8位数字=非零数字+7位数字7位数字=7数字7数字0|1|2|3|4|5|6|7|8|911、 在面向对象分析过程中,建立动态模型需要经过哪些步骤? 1、编写脚本2、从脚本中提取时间3、排列事件中的次序,确定每个事件的动作对象以及对象有可能的状态以及状态见的转换4、检查一致性。12、 软件的可维护性与哪些因素有关?在软件开发过程中应该采取哪些措施来提高软件产品的可维护性。决
18、定软件可维护性的因素主要有可理解性、可测试性、可修改性、可移植性和可重用性。 提高软件产品可维护性的措施有:在各个阶段着重对可维护性进行复审,并指明将来要改进和可能修改的部分;讨论软件的可移植性问题并考虑可能影响软件维护的系统界面;再设计和编码过程中应尽量使用可重用的软件构件等。五、综合能力题: 开始X100X0结束X=x-10X=x+10printX1、画出下列PDL程序的程序流程图、盒图 : START IF X100 THEN WHILE X0 DO X=X-10 END DOELSE BLOCK X=X+10 PRINT X END BLOCKEND IF STOPTFX=X-10X1
19、00X0X=X+10print XX=X-10X100X0X=X+10print X2、某程序流程图如右图所示,是一个被测试模块的处理算法。当进行条件覆盖测试时,若所有条件如下:(1)A1 (2)A1 (3)B0 (4)B0(5)A2 (6)A2 (7)X1 (8)X1要使得白盒测试覆盖Sacbd、sacbed、sabed、sabd路径,应选择(1)(8)中的哪些条件,并给出一组测试数据。 答:选择 (1) (3)(5)(7)数据 A=2 B=0 X=73、某高校制定了教师的课时津贴标准。对于理论课,无论教师是什么职称,每课时津贴费一律是20元;对于讲座课,则根据教师的职称来决定每课时津贴费:
20、教授200元,副教授100元,讲师80元,助教50元。请用判定树表示津贴标准。 bdce(A1) (B=0)X=X/ATF(A=2)V(X1)X=X+1TFa4、有如下程序流程图,请用白盒测试中的条件覆盖的方法设计测试用例,并填入下表中(10分)(1)(5分)假设几种可能的条件是: T1: A1 F1:A1 F4:X1判断条件取真值取假值判断(一)T1 T2 T3A=2B=0A=1X=0T1 T2 T4A=2B=0A=1X=0判断(二)5、一估算模型采用新对象点NOP作为参数:NOP=(对象点) (1-复用率);对象点计数为各类加权对象数之和,对象类型加权情况如下:对象类型权重简单的中等的困难的屏幕123报表2583GL构件10如果简单的、中等的、困难的屏幕数分别为:22,16,10;简单的、中等的、困难的报表数分别为:15,10,5;3GL构件数为11;若复用率为25%;生产率为13 NOP/人月,请估算总工作量,精确到整数人月。屏幕对象点数=22*1+16*2+10*3=84报表对象点数=15*2+10*5+5*8=1203GL构件对象点数=11*10=110总对象点=84+120+110=314NOP=(对象点)*(1-复用率)=314*(1-25%)=235.5人月=NOP/生产率=235.5/13=19