软件工程试题及答案(共3页).doc
精选优质文档-倾情为你奉上二、填空1 黑盒测试又称为功能测试,白盒测试也称为结构测试2、如果用户对系统的目标不是很清楚,需求难以定义,这时最好使用原型法模型进行系统开发。3、在软件开发的各个阶段中,对软件开发成败影响最大的是需求分析阶段。4、研究可行性从技术上、经济上和管理上可行性进行研究。5结构化方法的指导思想是 自顶向下、逐步求精 6、在软件开发的各个阶段中, 阶段成为软件的二次开发。7、类是指具有相同数据结构和相同操作的对象的集合。8数据流程图按照信息流的类型主要分为变换型结构,事物型结构 两种。9软件危机是指在计算机软件开发和维护过程中所遇到的一系列严重问题10、需求分析阶段是解决目标系统做什么的问题,设计阶段是解决目标系统怎么做的问题。11、内聚是度量一个模块内的各个元素彼此结合的紧密程度,它是信息隐藏概念的自然扩展。12.面向对象的三个子模型分别是 对象模型、动态模型、功能模型 13.结构化设计简称 SP,分为 概要设计 和 详细设计 14软件工程方法学的三要素是 方法、工具、过程 15软件设计的准则是 、 、 和 16JACKSON方法是面向数据结构的设计方法,它有3种逻辑结构17软件过程模型中过程模型是描述用户的动态需求的,螺旋模型是带有风险驱动的18结构化设计方法是面向 数据流 的设计方法19传统的软件工程方法学采用 结构化分析 完成系统分析工作的20模块的独立性要求 高 内聚 低 耦合 21.在软件测试的步骤中, 单元 测试是检验每个模块能否单独工作22.调试是是在测试发现错误之后 排除错误 的过程23.成本效益分析是从 4 方面进行可行性研究24.Jackson方法是面向 数据设计 的软件设计方法25.内聚越高模块的独立性 低 ;耦合越高模块的独立性 强 26.软件维护又称为软件的 1什么是软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题2什么是黑盒测试和白盒测试的两个方面而已。 :是通过程序的源代码进行测试而不使用。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。 黑盒测试:是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收和正确的输出3软件开发和写程序有什么不同软件包含程序,程序是软件的一部分。软件是程序、数据及其相关文档的完整集合。程序只是为了实现软件的功能和性能要求而编写的指令序列。4软件设计的准则(1)要有分层的组织结构,便于对软件各个进行控制;(2)应形成具有独立功能特征的模块(模块化);(3)应有性质不同、可区分的数据和过程描述();(4)应使模块之间和与外部环境之间接口的复杂性尽量地减小;(5)应利用中得到的信息和可重复的方法。5什么是软件的生命周期,包含哪些阶段又称为软件生存周期或系统开发生命周期,是软件的产生直到报废的生命周期。指从软件定义开发使用维护到淘汰的全过程。7个阶段1 问题定义:要解决的问题是什么2 可行性研究:确定问题是否值得解,技术可行性,经济可行性,操作可行性3 需求分析:系统必须做什么4 总体设计:系统如何实现,包括系统设计和结构设计5 详细设计:具体实现设计的系统6 实现:编码和测试7 运行和维护:保证软件正常运行6软件测试的步骤有哪些,含义是什么发现软件中的bug,确保软件的质量 测试设计 执行测试 测试总结7 软件过程模型有那些,各自特点是什么软件过程模型特点适合的软件项目瀑布模型简单,分阶段,阶段间有因果关系,每个阶段完成后有评审,允许反馈,不支持用户参与,要求需求可预先确定需求易于完善定义且不易变动的软件系统快速原型模型不要求需求的预先完备定义,支持用户参与,支持需求的渐进式完善和确认,能够适应用户需求变化需求复杂、难以确定、动态变化的软件系统增量模型软件产品是被增量式的一块块开发的,开发活动允许并行和重叠技术风险较大,用户需求较为稳定的软件系统迭代模型不要求一次性地开发出完整软件系统,将软件开发视为是一个逐步获取用户需求、完善软件产品的过程需求难以确定、用户需求不断变更的软件系统螺旋模型结合了瀑布模型、快速原型模型和迭代模型的思想,并引进了风险分析活动用户需求难以获取和确定、软件开发风险较大的软件系统Rup可改造、扩展和剪裁;可以对它进行设计、开发、维护和发布;强调迭代开发复杂和需求难以获取和确定的软件系统;项目组具有丰富的软件开发和管理经验8. 比较黑盒测试和白盒测试的优缺点 1黑盒测试与白盒测试的优缺点比较 黑盒测试 优点:适应于阶段测试从产品功能角度测试容易入手生成测试数据 缺点:某些代码得不到测试 如果规格说明有误,可无法发现 不易进行充分 性测试 白盒测试 优点:可构成测试数据使特定程序部分得到测试 ,有一定的充分性度量手段,可生成较多工具支持 缺点:不易生成测试数据, 无法对未实现规格说明的部分进行测试 工作量大通常只用于单元测试有应用局限9. 衡量模块独立性的标准是什么,并解释与模块独立的具体关系这两个标准分别是耦合性和内聚性。(1)耦合性,也称块间联系,指软件系统结构中各模块间相互联系紧密程序的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。(2)内聚性,又称为块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量,如果一个模块内各元素联系得越紧密,则它的内聚性就越高。耦合性和内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚和低耦合,提高模块的独立性。10. 详细设计用到的有哪些工具程序流程图 盒图 PAD图 判定表 判定树 过程设计语言作业总汇E1:非信用卡客户E2:信用卡客户E3:银行2)3)4)2 我认为(b)方案较好。要评价一个软件结构设计,主要看模块的独立性,要从软件结构的耦合性和内聚性两个方面来衡量。对于(a)方案,模块A与模块B 之间形成了控制耦合,因此独立性不高,而在B模块内部,有两个不同的功能被放在一起,形成的是逻辑内聚,内聚性不高。对于(b)方案,模块A与B1和B2 之间是数据耦合,独立性较强,在B1和B2内部,只完成单一的功能,是功能内聚,因此内聚性高,可维护性好,因此相比而言(b)方案比(a)方案更好些。解答: 达到判定覆盖为(4); 达到条件覆盖为(3); 达到判定/条件覆盖为(6); 达到条件组合覆盖为(8); 达到路径覆盖为(7)。专心-专注-专业