【软件工程期末复习题】看了这个,期末就够了!!! | 您所在的位置:网站首页 › 系统结构图最大扇入数怎么算 › 【软件工程期末复习题】看了这个,期末就够了!!! |
B站关注帅小柏 选择题 判断题 简答题 其他大题 成本效益分析 程序流程图 盒图 PAD图 Jackson图 流图 数据字典 判定树判定表 选择题1.( )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A.软件过程 B.软件工具 C.质量保证 D.软件工程 2.需求分析中开发人员要从用户那里了解( )。 A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模 3.在下列选项中,( )不是软件的特征。 A.系统性与复制性 B.可靠性与一致性 C.抽象性与智能性 D.有形性与可控性 4.进行需求分析可使用多种工具,但( )是不适用的。 A.数据流图 B.PAD图 C.状态转换图 D.数据词典 5.在需求分析之前有必要进行( )工作。 A.程序设计 B.可行性分析 C.ER分析 D.2NF分析 6.软件需求规格说明书的内容不应该包括( ) A.对重要功能的描述 B.对算法的详细过程描述 C.对数据的要求 D.软件的性能 7.画分层的DFD图的基本原则有( ) A.数据守恒原则 B.分解的可靠性原则 C.子、父图平衡的原则 D.数据流封闭的原则 8.为了提高模块的独立性,模块之间最好是( ) A.控制耦合 B.公共耦合 C.内容耦合 D.数据耦合 9.以下不属于逻辑覆盖的是( ) A.语句覆盖 B.基本路径 C.条件覆盖 D.判定覆盖 10.单元测试的测试用例主要根据下面哪种过程的结果来设计( ) A.需求分析 B.源程序 C.概要设计 D.详细设计 11.在软件结构设计完成后,对于下列说法,正确的是( ) A.非单一功能模块的扇入数大比较好,说明本模块重用率高 B.单一功能的模块扇入高时应重新分解,以消除控制耦合的情况 C.一个模块的扇出太多,说明该模块过分复杂,缺少中间层 D.一个模块的扇入太多,说明该模块过分复杂,缺少中间层 12.软件测试中根据测试用例设计方法的不同可分为黑盒测试和白盒测试两种,它们( ) A.前者属于静态测试,后者属于动态测试 B.前者属于动态测试,后者属于静态测试 C.都属于静态测试 D.都属于动态测试 13. 黑盒测试是从( )观点的测试,白盒测试是从( )观点的测试。 A.开发人员、管理人员 B.用户、管理人员 C.用户、开发人员 D.开发人员、用户 14.在软件工程设计阶段,常用的设计方法有Jackson方法,Jackson方法是( ) A.使用对象、类和继承 B.由数据结构导出模块结构 C.模块要相对独立,且功能单一,模块间联系弱,模块内联系强 D.将可能变化的因素隐藏在某有关模块内部,使这些因素变化时的影响范围受到限制 15.当算法中需要用一个模块去计算多种条件的复杂组合 ,并根据这些条件完成适当的功能时,从供选择的答案中,选出合适的描述工具( ) A.程序流程图 B.N-S图 C.PAD图 D.判定表 16.软件需求分析阶段的测试手段一般采用( ) A.总结 B.阶段性报告 C.需求分析评审 D.不测试 17.从结构化的瀑布模型看,在软件生命周期的8个阶段中,下面的哪个选项出错,对软件的影响 最大( ) A.详细设计阶段 B.总体设计阶段 C.需求分析阶段 D.测试和运行阶段 18.可行性研究的步骤中不包括下面哪项内容( ) A.复查初步分析结果 B.研究现有的系统 C.导出新系统高层逻辑模型 D.建立新系统的物理模型解法 19.软件的复杂性是( ),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A.固有的 B.人为的 C.可消除的 D.不可降低的 20.软件危机的主要原因是( ) A.软件工具落后 B.软件生产能力不足 C.实行严格的产品控制 D.软件本身的特点及开发方法 21.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的( ) A.内聚性和耦合性B.局部化和封装化 C.抽象和信息隐藏D.逐步求精和结构图 22.面向数据流的软件设计方法可将( )映射成软件结构。 A.控制结构B.模块C.数据流 D.事物流 23.Jackson方法根据( )来导出程序结构。 A.数据流图 B.数据间的控制结构 C.数据结构 D.IPO图 24. 软件的集成测试工作最好由( )承担,以提高集成测试的效果。 A.该软件的设计人员 B.该软件开发组的负责人 C.不属于该软件开发组的软件设计人员 D.该软件的编程人员 25.软件测试可能发现软件中的( ),但不能证明软件( ) A.所有错误、没有错误B.设计错误、没有错误C.逻辑错误、没有错误D.错误、没有错误 26.软件文档是软件工程实施的重要成分,它不仅是软件开发各阶段的重要依据,而且也影响软件 的( ) A.可用性 B.可维护性 C.可扩展性 D.可移植性 27.使用软件时提出增加新功能就必须进行( )维护。 A.纠错性 B.适应性 C.完善性 D.预防性 28.为适应软件运行环境的变化而修改软件的活动称为( ) A.纠错性维护 B.适应性维护 C.完善性维护 D.预防性维护 答案汇总 1. A 2.A 3.D 4.B 5.B 6.B 7.C 8.D 9.B 10.D 11.C 12.D 13.C 14.B 15.D 16.C 17.C 18.D 19.A 20.D 21.A 22.C 23.C 24.C 25.D 26. B 27.C 28.B 判断题1.系统测试就是对程序设计工作的检验,是为了证明程序不存在错误。( × ) 2. 程序设计过程就是把系统分析的结果翻译成可为计算机理解、可执行的代码的过程。( √ ) 3.在数据代码设计时,应尽量让一条代码代表多个信息。( × ) 4.在输出界面设计时,要尽可能使用代码或缩写,以求简洁。( × ) 5. 一个系统是其构成要素的集合,它不具有一定的结构。( × ) 6. 所谓信息加工就是对收集到的信息进行去伪存真、由表及里的加工过程。( √ ) 7. 黑盒法是根据程序的内部逻辑来设计测试用例的。( × ) 8.软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。( √ ) 9.单元测试之前我们首先要进行软件维护。( × ) 10.改正性维护是为了和变化了的环境配合而进行的修改软件的活动,是既必要又经常的维护活动。( × ) 11. 模块结构图是在数据流图的基础上推导出来的。( √ ) 12.在完成了每一项维护工作之后,都应该对软件维护本身进行仔细认真的复审。( √ ) 13.螺旋模型的基本数据字典重要的用途之一是可以辅助设计数据库。( √ ) 14. 管理信息系统的开发,单纯是一种用某种计算机语言编制程序的工作。( × ) 15.信息系统设计过程中要考虑如何减少软件维护中的“水波效应”。( √ ) 16.螺旋模型的思想是使用原型及其他方法来尽量降低风险。( √ ) 17.人机界面设计是接口设计的重要组成部分。( √ ) 18.PAD图用二维树形结构的图来表示程序的控制流,这种图翻译成程序代码比较容易。( √ ) 19.维护过程本质上是修改和压缩了的软件定义和开发过程。( √ ) 20.数据处理系统是一种决策工具,它可以代替人进行决策。( × ) 21. 数据流图反映各部分的相互联系的判断与控制条件等技术问题。( × ) 22.结构化维护与非结构化维护差别巨大。( √ ) 23.在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。( √ ) 24.用例就是需求,通过用例名称可以表述系统要完成的工作。( √ ) 答案汇总: 1.× 2. √ 3. X 4. X 5. ×6.√7. X8. √ 9. X 10. X 11. √12. √ 13. √ 14. ×15. √16. √ 17. √ 18. √ 19. √ 20. ×21.× 22. √ 23. √ 24. √ 简答题 软件工程的目标主要包括哪几点?(1)付出较低的开发成本, (2)达到要求的软件功能, (3)取得较好的软件性能, (4)开发的软件易于移植, (5)需要较低的维护费用, (6)能按时完成开发工作,及时交付使用。 2. 软件生命周期一共包含哪几个时期,每个时期又包含哪些阶段? 3. 在软件概要设计过程中,我们应该遵循哪些启发性规则? (1)模块功能的完善化; (2)消除重复功能,改善软件结构; (3)模块规模应该适中; (4)模块的深度、宽度、扇出和扇入都应适当; (5)模块的作用范围应该在控制范围之内; (6)力争降低模块接口的复杂程度; (7)设计单入口、单出口的模块; (8)模块功能应该可以预测。 其他大题大题范围:成本效益分析,程序流程图,盒图,PAD图,JACKSON图,流图,数据字典,判定树判定表。 成本效益分析 假设完成一个项目的成本估计是4000美元,项目完成后,估计每年可节约2000美元,假设年利率是12%,则请填写下表中空白项,并计算出该项目的投资回收期和纯收入。(本题中数据请保留两位小数)(示例题,非原题)年 将来值(美元) (1+i)n 现在值(美元) 累计的现在值(美元) 1 2000 1.12 2 2000 3 2000 1.40 1428.57 4 2000 6088.17 5 2000 投资回收期的通项公式: pt=(用累计的现在值-成本为正数的年数-1)+(成本-上一年的累计现在值)/(用累计的现在值-成本为正数的年数里面的现在值) 该程序 秒杀 任何 成本效益分析的题 #include #include #include #include using namespace std; const int N = 20; int n; // 年数 float profit; //年利率 int basis; // 每年可节约的钱数 ---> 将来值 int invest;// 成本 float Pfit[N]; float NowVal[N]; float AccVal[N]; int main(){ cout n >> basis>>profit>>invest; for (int i = 1; i |
CopyRight 2018-2019 实验室设备网 版权所有 |