软件工程简答题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、什么是软件生存周期?他有那几个活动?什么是软件生存周期模型?有哪些主要操作?
答:软件生存周期是软件产品的一系列相关活动的整个生命期,即从形成概念开始,经过开发、交付使用、在使用中不断修改和演进,只到最终被废弃,让位于新的软件产品为止的整个时期。活动包括:软件定义、软件开发和运行维护3个时期。软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段或机动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理。主要的软件生存周期模型有瀑布模型、演化模型、螺旋模型、喷泉模型。
2、什么是结构化分析法?该方法使用什么描述工具?
答:结构化分析方法是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法结构是指系统内各个组成要素之间的相互联系、相互作用的框架。结构化开发方法提出了一组提高软件结构合理性的准则,如分解与抽象、模块独立性、信息隐蔽等。
针对软件生存周期各个不同的阶段,它有结构化分析(SA)和结构化程序设计(SP)等方法。主要的描述工具有数据流图、数据字典、结构化语言、判定表以及判定树等。3、详细设计的基本任务是什么,有哪几种描述方法?
答:详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。详细设计的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明易懂。传统软件开发方法的详细设计主要是用结构化程序设计法。详细设计的表示工具有图形工具和语言工具。图形工具有业务流图、程序流程图、PAD图、NS流程图。语言工具有伪码和PDL 等
4、软件测试要经过哪些步骤?这样测试与软件开发各阶段有什么关系?
答案:(1)单元测试、集成测试、确认测试、系统测试。(1分)
(2)单元测试:对源程序中的每个程序单元进行测试,检查各模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。(1分)
(3)集成测试:检查与设计相关的软件结构的有关问题。(1分)
(4)确认测试:主要检查已实现的软件是否满足需求规格说明书中确定了的各种需求。(1分)
(5)系统测试:把已确认的软件与其它系统元素结合在一起进行测试。(1分)
5、衡量模块独立性的两个标准是什么?各表示什么含义?
答:模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合。耦合衡量不同模块彼此间互相连接的紧密程度的度量;内聚衡量一个模块内部各个元素彼此结合的紧密程度的度量。
6、什么是需求分析?需求分析阶段的基本任务是什么?
答:需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。(3分)需求分析的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。
7、什么是UML的用例模型?
答:它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。用例图主要用来描述用户、需求、系统功能单元之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。
8、软件维护的副作用有哪些?
答:a、修改代码的副作用。在使用程序设计语言修改源代码时,都可能引入错误。B、修改数据的副作用。在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而
导致软件出错。C、文档的副作用。对数据流、软件结构、模块逻辑或任何其它有关特性进行修改时,必须对相关技术文档进行相应修改。否则会导致文档与程序功能不匹配,缺省条件改变,新错误信息不正确等错误。使得软件文档不能反映软件的当前状态。9、什么是白盒测试法?有哪几种逻辑覆盖方法?
答:白盒测试基于产品的内部结构来规划测试,检查程序是否按规定运行,各部分代码是否被充分覆盖。它允许测试人员利用程序内部的逻辑结构及相关信息,设计或选择测试测试用例,对程序进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一样。逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。
10、什么是黑盒测试法?采用黑盒技术测试用例有哪几种方法?
答:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景法等。
11、软件可维护度量的指标有哪几种?哪些是互斥的?哪些是互助的?
12、集成测试中增值式集成有哪几方法,他们的优缺点是什么?
答:增值式测试模式:把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合起来测试。(1)增值式测试模式需要编写的软件较多,工作量较大。(2)增值式测试模式发现模块间接口错误早。(3)使用渐增式测试模式发现错误,往往和最近加进来的那个模块有关。(4)渐增式测试更彻底。(5)使用增值式测试模式不可以并行测试。