软件工程复习试题及答案教材

上传人:小** 文档编号:70082136 上传时间:2022-04-06 格式:DOC 页数:16 大小:359.50KB
返回 下载 相关 举报
软件工程复习试题及答案教材_第1页
第1页 / 共16页
软件工程复习试题及答案教材_第2页
第2页 / 共16页
软件工程复习试题及答案教材_第3页
第3页 / 共16页
点击查看更多>>
资源描述
一、填空题(在下划线上填写正确的答案,每题2分,共20分)1. _等价划分 是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。2数据流图 和数据字典共同构成了系统的逻辑模型。3盒图也称为 _ N-S图 。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。4. 软件有效性,指软件系统的时间和 空间 效率。5. IPO图的中文意思是 结构化设计中变换型结构的输入(In put )、加工(Processing )、输出(Output ) 。6. 数据流图有四种基本成分: 源、终点,处理,存储,数据流 。7 .数据字典有以下四种条目:数据流、数据项、数据存储、基本加工,其中数据项是组成数据流和数据存储的最小元素。&软件工程中的结构化分析 SA是一种面向 数据流 的分析方法。9 .软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个_由下而上的过程。10.耦合性 与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、_低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。1. 常用的软件开发模型有 瀑布模型、原型模型 、增量模型、 螺旋模型、喷泉模型2. 软件生存周期一般可分为 问题定义、可行性研究、 需求分析、设计、编码、单元 测试、运行与维护阶段。3. 软件测试的步骤: 单元、 集成、系统、 验收 。4. 数据流图的基本符号包括加工、数据流、数据存储文件、汇点。5. IPO图由输入、处理和 输出三个框组成。这个图的特点是能够直观的显示三者之间的关系。6. 面向对象方法是一种运用 类、 实例 、 属性 、 重载、消息传送、 多态性等概念来构造系统的软件开发方法。7分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的_逆向工程 。&程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。9. 为了获得较高的模块独立性,尽量设计出具有_高内聚和低藕合 性能的模块。10. 常用的测试方法有 黑盒测试和 白盒测试。1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益可行性等方面研究。2. 构化程序设计中程序主要的3种基本控制结构是顺序结构、选择结构、循环结构。3. 软件生存周期中时间最长、花费精力和费用最多的一个阶段是 维护_阶段。4. 需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是 功能需求 _。7分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程_。&程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动进行查找的编码执行活动。9 为了获得较高的模块独立性,尽量设计出具有低耦合 和 高内聚 性能的模块。1若年利率为i, n年后可得钱数为 F则现在的价值 F/(1+N*i)。2在结构化分析中用来描述加工逻辑的主要工具是结构化语言、判定表、 判U定树。3 软件测试的步骤:制定测试计划、设计测试用例、实施测试、测试后调试、做测试报告4.自顶向下结合的渐增测试法,在组合模块时有两种组合策略:深度优先策落和 宽度优先策略。7 结构化方法总的指导思想是 _自顶向下逐层分解。1.软件工程的三要素包括方法、工具 和过程。2 面向对象方法用对象行为和属性的分解取代了传统方法的功能分解。3. HIPO图是由一组IPO图和一张 H 图组成。4在前期需求明确、资料完整的情况下尽量采用瀑布模型。5用例图中,如果在完成某个功能时,偶而会执行另一个功能,则用 扩展关系来表示。6UML中用一端为空心三角形的连接表示 泛化关系。7类是类图的主要的主要部件,由类名、 属性 _、操作3部分组成。& UML中的泛化关系就是通常所说的 继承关系。9部署图用 连接实线 关系表示各节点之间的通信路径。10选择关系命令,可以看到 Rose中对应图形的分类。1 软件危机具有下列表现(D )。1、对软件开发成本估计不准确2、软件产品的质量往往靠不住3、软件常常不可维护4、软件成本逐年上升A、1、2和3B、 1、3和4C、 2、3和4 D、 以上都正确2 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是(A )。A运行和维护阶段B、设计阶段 C、代码实现阶段 D、测试阶段3下列属于软件的特点的是(D )。A、软件是一种逻辑实体,具有抽象性B 、软件在使用过程中没有磨损、老化C、软件不同于一般程序,它的一个显著特点是规模庞大,复杂程度高D 、以上都正确 4软件开发技术不包含( D )。A、软件开发方法学 B、 软件工程环境 C、软件工具 D、软件质量度度量 5需求分析阶段最重要的技术文档是(B )。A、 设计说明书B、 需求规格说明书C、 可行性分析报告D、 用户手册6数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是(C )A、数据库设计 B、数据通信 C、数据定义D、数据维护7需求分析阶段的研究对象是(C )。A、系统分析员要求B、用户要求C、软硬件要求D、系统要求8结构化方法的基本原则是(B )。A、模块化 B、抽象与分解C、信息隐藏D、逐步求精9耦合度最高的是( B )耦合。A、环境耦合 B、内容耦合C、控制耦合 D、数据耦合10画软件结构图时应注意调用关系只能是(B )A 、从下到上B 、 从上到下C、从左到右D、从右到左11软件设计中划分模块的一个准则是(C)A、低内聚低耦合 B、低内聚高耦合C、高内聚低耦合 D高内聚高耦合12. Jackson设计方法是由英国的 M.Jackson提出的,它是一种面向(C)的软件设计方法。 A、对象 B、数据流 C、数据结构 D、控制结构13. 使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。A、程序内部逻辑 B、程序的复杂程度C、该软件的编辑人员 D、程序的功能14. 软件维护工作的最主要的部分是( A)。A、校正性维护 B、适应性维护 C、完善性维护 D、预防性维护15. PDL 是(B)语言。A、高级程序设计语言 B、伪码式C、中级程序设计语言 D、低级程序设计语言16. 下列哪个阶段不属于软件生存期的三大阶段(C )。A、定义阶段B、开发阶段C、编码阶段D、维护阶段17. 可维护性的特性中相互促进的是(A )A、可理解性和可测试性 B、效率和可移植性C、效率和可修改性D、效率和结构好18. 软件测试的目标是( B)A、证明软件是正确的 B、发现错误、降低错误带来的风险C、排除软件中所有的错误D、与软件调试相同19软件生命周期中所花费用最多的阶段是(D )A、详细设计 B、软件编码 C、软件测试 D、软件维护20.详细设计的基本任务是确定每个模块的( D)设计。A、功能B、调用关系 C、输入输出数据 D、算法22.下列哪个图不是 N-S图的构件(C )。CUNTILN23 .对于下列各图,有关描述中正确的是(A )。A、数据A和B同时输入变成 CC、数据A或数据B (不能同时)输入,变换成 CD、数据A变换成B和CB、WHILEM|yBB )。B、算法模型估计D、纯收入24. 下列哪种方法不是度量效益的方法(A、货币的时间价值C、投资回收期25. 下列描述错误的是( D )。A、数据流图将各种信息流抽象成数据流的形式B、数据流图不反映控制关系、调用关系C、数据流图不反映处理逻辑的先后顺序D、数据流图不反映数据的流向26. 软件是(C)A、 处理对象和处理规则的描述B、程序C、程序及文档D、计算机系统27软件需求规格说明的不应包括( B)。A 、主要功能 B 算法的详细描述C、用户界面及运行环境 D、软件性能 28程序的三种基本控制结构是( B)。A、过程、子程序和分程序 B、顺序、选择和循环C、递归、迭代和回溯 D、调用、返回和转移29面向对象的分析方法主要是建立三类模型,即( D)。A、系统模型、ER模型、应用模型 B、对象模型、动态模型、应用模型B、ER模型、对象模型、功能模型 D、动态模型、功能模型、对象模型 30. ER模型中,包含以下基本成分( C)。A、数据、对象、实体 B、控制、联系、对象C、实体、联系、属性 D、实体、属性、操作1.快速原型模型的主要特点之一是(B)A.开发完毕才见到产品B.及早提供工作软件C.及早提供全部完整软件D.开发完毕才见到工作软件2.软件工程学的一个重要目标是D)A.提高程序的执行效率B.降低程序对存储空间的要求C.定义各种软件开发过程模型D.提高软件的可维护性3.需求分析最终结果是产生B)A.项目开发计划B .需求规格说明书C.设计说明书D .可行性分析报告4.数据存储和数据流都是处于不同状态的D)A.分析结果B. 事件C.动作D . 数据5.数据字典是对数据定义信息的集合,它所定义的对象都包含于A)A.数据流图B.程序框图C.软件结构D .方框图6、结构化设计是一种面向(A)的设计方法。A.数据流B.数据库C.数据结构D .程序7.下列可哪个组件不是用例图的基本组件D)A.参与者B 用例C.系统D.文档8.用例图中用例之间存在各种关系,但不包括(B)A.包含B 关联C.泛化D.扩展9.常用动词或动词词组来表示(C )A.对象B .类C.关联D.属性10.组件图中通常不包括下列哪个元素(A)A.对象B .组件C.接口D.依赖11.好的软件结构应该是(B )A.高耦合、高内聚B.低耦合、高内聚C.高耦合、低内聚D.低耦合、低内聚12.静态模型不包括(C )A.类图B 组件图C.状态图D.部署图13.动态模型不包括(D)A.交组图B 活动图C.状态图D.部署图14. Rose 模型文件的扩展名为(A)A mdlB vsd15逆向工程是什么过程A .模型到代码C.代码到模型C pdfD swfB 设计到实现D .类图到包图三、判断题(正确的在括号内打上,错误的打上“X”。每小题2分,共20 分)1 软件开发的主要任务是写程序。( F )2 测试只能证明程序有错误 ,不能证明程序没有错误。(T )3 模块化程序设计中,模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。 ( F )4 在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排等等。(F )5 程序设计风格指导原则提出,尽量多使用临时变量。( F )6 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。(F)7 发现错误多的程序模块,残留在模块中的错误也多。(T)8 为了加快软件维护作业的进度,应尽可能增加维护人员的数目。(F )9 软件维护就是改正软件中的错误。(F)10 质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动。 ( T )11 螺旋模型是利用笛卡尔坐标的四个象限分别代表四个方面的活动来表示。(F )12 模块越多,开发成本越小。(F)13 内聚是指一个软件结构内各个模块之间互连程序的度量。(F)14 结构化设计属于面向数据流的设计方法。(T)15 详细设计是在概要设计之后进行的。它利用概要设计的结果,对系统中的每个模块给出足够的过程性描述。( T )16 程序运行过程中出现错误叫做容错。(F )17 软件测试的目的是证明程序没有错误。(F )18 白盒测试法是将程序看成一个透明的盒子,不需要了解程序的内部结构和处理过程。( F )19 PAD 图在设置了五种基本的控制结构后,还允许递归调用。( T )20 独立编译是指一个大程序的不同程序单元分别编译,然后重新连接整个程序段。( T )31 开发软件就是编写程序( F)32 系统测试的主要方法是白盒测试法,主要进行功能、性能测试、安全性测试及可靠性测 试等( F)33 编程时应尽可能利用硬件特点以提高程序效率(F)。34 软件需求分析的任务是建立软件模块结构图(F)。35 尽可能使用高级语言编写程序( T)。36 以结构化方法建立的系统模型就是数据流图(F)。37 进行总体设计时加强模块间的联系( F)。38 编码时尽量多用全局变量( F)。39 用 CASE 环境或程序自动化生成工具来自动生成一部分程序( T)40 软件测试是要发现软件中所有错误( F)(T ) 41、软件开发、设计几乎都是从头开始,成本和进度很难估计。F)42、V (G)值越高的程序往往是越不复杂、越不容易出问题的程序。F )43、适应性维护是改进软件未来的可维护性和可靠性。F)44、软件是逻辑产品,软件质量较容易直接度量。(T )45、随着软件复杂性的不断提高,软件的维护难度越来越大。(F )46、软件也会磨损和老化。F)47、用穷举法测试是较现实的测试方法。T )48、面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、 选择和循环三种基本形式表示数据等步骤。(F)49、测试计划、测试用例,出错统计和有关的分析报告一般不用长期保存。(F ) 50、McCabe建议模块规模应满足: V (G)w 20。(T ) 61 总体设计阶段要设计软件体系结构。 F ) 62、软件即程序。( T ) 63采用对象设计系统时,首先建立系统的物理模型。(T ) 64用例图中,扩展关系表示为虚线箭头加“extend”。T ) 65实现关系指定两个实体之间的一个合同。( T ) 66状态图通常作为对类图的补充。( F ) 67 聚集关系是关联的一种形式,表示两个类之间的一般与特殊关系。T ) 68 一个完整的模型必然描述系统的静态和动态两个方面。F ) 69状态图是对多个对象建模。T ) 70在UML中,组件是指系统中可替换的物理部分。四简述题(每小题 5分,共10分)1. 测试用例测试用例(Test Case )是为某个特殊目标而编制的一组测试输入、执行条件以及预期 结果,以便测试某个程序路径或核实是否满足某个特定需求。2. 模块化模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性。3. 对象指行动或思考时作为目标的事物4. 软件生命周期各阶段的任务是什么?答:软件生命期分为 7个阶段:1、问题定义:要解决的问题是什么2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性3、需求分析:系统必须做什么4、总体设计:系统如何实现,包括系统设计和结构设计5、详细设计:具体实现设计的系统6、实现:编码和测试7、运行维护:保证软件正常运行。h什么戢1牲鍋删黠生鉞M艇牆?答我肺主觎購亦織件的生勰歸它是投开发辦脚躲程廃从时间上相瞇询几个阶臥釧w叹分解成几个耿的滋、然后刪衲械次鼬各鵬 械务并雕-套融文邹潴个阶鮒瑕幌最后生产出誤量盼妙脇为定开戎鞫三大鳩,定义阶段有可彳亍性论证和开发计地飜分抓 幵发鵬有讓设比翩跚和编阿籍粥有测讯踰紡。5 软件重用的效益是什么?答:1软件重用可以显著地改善软件的质量和可靠性。2、软件重用可以极大地提高软件开发的效率。3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。6 结构化程序设计方法的基本要点。1采用自顶向下、逐步求精的程序设计方法:在需求分析、概要设计中,都采用了自定 向下、逐层细化的方法。2使用三种基本控制结构构造程序,分别是顺序、选择和循环,这三种基本结构的共同 点是、单入口、单出口,为自顶向下、逐步求精的设计方法提供了具体的实施手段。3采用主程序员的组织形式:指开发程序的人员组织方式应用由一个主程序员、一个后 备程序员和一个程序管理员三人为核心,再加上一些专家、其他技术人员组成小组。7 什么是软件生命周期?&简述什么是回归测试?回归测试-在集成测试过程中每当一个新模块结合进来时,程序就发生了变化:建立了 新的数据流路径,可能出现新的I/O操作,激活新的控制逻辑。这样变化有可能使原来正常的功能出现了问题;所谓回归测试是指重新执行已经做过的测试的某个子集,以保证上 述变化没有带来非预期的错误。9 简述软件危机有哪几种表现?软件开发和维护的过程中常遇到的问题(1) 对于软件开发的成本和进度的估计很不准确。(2) 开发的软件产品不能完全满足用户要求。(3) 开发的软件可靠性差,软件产品质量差。(4) 软件通常没有适当的文档资料。(5) 软件的可维护性差。(6)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势,效率低。(7 )软件价格昂贵。10. 什么是软件工程?(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实 用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台, 标准,设计模式等方面。11. 简述需求分析的任务?需求分析的任务就是:确定待开发的软件系统“做什么”。具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准 则和初步的用户手册12详细设计的主要任务是什么?答:详细设计的基本任务包括:1、为每个模块进行详细的算法设计2、为模块内的数据结构进行设计3、对数据库进行物理设计4、其他设计5、编写详细设计说明书6、评审13 .自顶而下渐增测试与自底向上渐增测试各有何优缺点答: 自顶而下渐增测试优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且 能够尽早发现上层模块的接口错误。缺点:需要存根程序,底层错误发现较晚。自底而上渐增测试优点与缺点和自顶而下渐增测试相反。14软件生存期各阶段的主要任务。15简述需求分析工作可以分成哪四个方面?软件需求分析有三个基本原则?需求分析阶段的基本过程包括四个方面 :对问题的识别,分析与综合,制定规格 说明以及评审。(1)问题识别,系统分析人员要研究计划阶段产生的可行性分析报告和软件 项目实施计划。然后进行功能需求、性能需求、环境需求、可靠性需求安全保密需求、用户 界面需求、资源使用需求等方面的工作。(2)分析与综合,分析员需从数据流和数据结构出析他们是否满足功能需求,是否合理。(3)制定规格说明,编写需求分析的文档。(4)需求并按规程严格执行。分析评审。为保证软件需求定义的质量,评审应以专门指定的人员负责,需求分析的原则1.必须能够传达和理解问题的数据域和功能域2.必须按自顶向下、逐层分解的方式对问顺进行分解和不断细化3.给出系统的逻辑模型和物理模型16.以G.J.Myers的观点,简述对软件测试的目的。1、为了发现错误而执行程序的过程2、一个好的用例能够发现至今尚未发现的错误的测试3、一个成功的测试是发现至今尚未发现的错误的测试17.在面向对象的系统开发过程中,每个阶段需要建造的模型各有什么作用?1、在面向对象的系统开发过程中,每个阶段要建造不同的模型2、需求分析阶段建造的模型用来捕获系统需求分析3、设计阶段的模型是分析模型的扩充,为实现阶段作指导性和技术性的解决方案4、实现阶段的模型是真正的源代码及编译后的组件5、发布阶段是描述系统物理上的架构18 软件工程的原则是什么?软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵 循的原则。五、应用题(20分)1某厂对部分职工重新分配工作的政策是:年龄有20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄有20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度者当技术员;年龄有 40岁以上者,中学文化程度当材料员,大 学文化程度当技术员。请用结构化语言,判定树或判定表描述上述问题的加工逻辑。职工重新分配工作的政策可描述为 若年龄在20岁以下则初中文化程度脱产学习高中文化程度当电工若年龄在20-40岁之间则中学文化程度男性当钳工女性当车工大学文化程度都当技术员若年龄在40岁以上者则中学文化当材料员大学文化当技术员年龄条件40初中高中中学大学中学大学男女操作脱产学习电工钳工V车工V技术员VV材料员V初中脱产学习/年龄20 -* 高中电工男钳工.中女*车工丄作分配规则”年龄20-40:二*高中技术员年龄40中学村料员高中技术员2 假设某航空公司规定,乘客可以免费托运重量不超过30kg的行李。当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的乘客超重部分每公斤收费6元,对国外乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定表表示每种条件组合相对应的计算行李费的算法。表& 1用判定表表示计算行李费的算法规1123456789国内乘客TTTTFFFF头等舱TFTFTFTF残疾乘客FFTTFFTT行李重量W30kgTFFFFFFFF免费XW-30)X2X(W-30)X3XW-30)X4XX(W30)X6XX(W-30)X8X(W-30)X12X用判定树表示计算行李费的算法用判定树表示计算行李费的算法国内乘客行李觅量30kg头等舱匚其他舱匚残疾乘客 正常乘客 残疾乘客正常乘客行李费算法外国乘客其他舱匚残疾乘客 正常乘客 残疾乘客 正常乘粉(JF-30)X2(JF-30)X4 仰-30)X3 (K-30)X6 (JF-30)X4(JF-30)X8(JT-30)X6(JF-30)X12行李重戢JP30kg免费3 .以自己开发软件(可以是 C、C+、VC+、VF、甚至是汇编、等其他语言)的一个自选项目为背景, 应用软件工程方法进行策划,要求必须给出项目描述, 主要的软件工程过程的描述以及各阶段的主要内容
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!