软件工程试题及答案(较详细)

上传人:工**** 文档编号:564659041 上传时间:2024-02-15 格式:DOCX 页数:8 大小:29.42KB
返回 下载 相关 举报
软件工程试题及答案(较详细)_第1页
第1页 / 共8页
软件工程试题及答案(较详细)_第2页
第2页 / 共8页
软件工程试题及答案(较详细)_第3页
第3页 / 共8页
软件工程试题及答案(较详细)_第4页
第4页 / 共8页
软件工程试题及答案(较详细)_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《软件工程试题及答案(较详细)》由会员分享,可在线阅读,更多相关《软件工程试题及答案(较详细)(8页珍藏版)》请在金锄头文库上搜索。

1、一. 判断题:1. 如果决定将软件全部包给第三方公司开发.(X)2. 有了对系统的目标有了大致的了解,就可以开始开发项目,以后的在开发中继续了解o (X)3. 对于一个成功的软件项目,可执行程序是唯一交付的东西.(X)4. 直到程序运行,才评估软件系统的质量。(X)5. 如果未能按时完成任务,我们可以通过增加程序员来加快完成任务。(X)6. 虽然软件需求不断变更,但因软件比硬件有弹性,所以我们经常可以变更它(X)7. 软件工程将导致我们产生大量的无用文档,降低工作效率。(X)8. 在面向对象建模中,主题划分提供了在更高一层上描述(主题划分是指UML中将一组关联比较强的类的 集合。则上百个类可划

2、分为几个主题)(V)9. 面向对象的开发,对象分解取代功能分解。(V)10. 软件中80%的错误存在20%的模块中。(V)11. 结构化分析方法在建立系统模型时,使用一般一一特殊结构(实际上没有这种关系)来处理信息。(X)12. 开发软件就是编程。(X)13. 需求规格说明书说明了(V)14. 结构化方法,建立系统模型时使用一般连接组织信息。(X)15. 敏捷过程模型选用小而高激励的团队使用而不适用于大团队。(V)二. 简答题1. 软件工程是层次化的,其四个层次是?答:方法,工具,过程,质量保证软件工程是一种层次化的技术(如图2 1所示)。任何工程方法(包括软件工程)必须以有组织的质量保证为基

3、础。 全面的质量管理和类似的理念刺激了不断的过程改进,正是这种改进导致了更加成熟的软件工程方法的不断出 现。支持软件工程的根基就在于对质量的关注。软件工程的基层是过程层软件工程过程是将技术层结合在一起的凝聚力,使得计算机软件能够被合理地和 及时地开发出来。过程定义了一组关键过程区域的框架(KPAs) PAY93这对于软件工程技术的有效应用是必 须的关键过程区域构成了软件项目的管理控制的基础,并且确立了上下各区域之间的关系,其中规定了技术方法 的采用、工程产品(模型、文档、数据、报告、表格等的产生、里程碑的建立、质量的保证及变化的适当管理。 软件工程的方法层提供了建造软件在技术上需要“如何做。方

4、法涵盖了一系列的任务:需求分析、设计、编程、 测试和维护软件工程方法依赖于一组基本原则,这些原则控制了每一个技术区域,且包含建模活动和其他描述 技术软件工程的工具层对过程和方法提供了自动的或半自动的支持。当这些工具被集成起来使得一个工具产生的信 息可被另外一个工具使用时,一个支持软件开发的系统就建立了,称为计算机辅助软件工程(CASE)。CASE 集成了软件、硬件和一个软件工程数据库(一个仓库,其中包含了关于分析、设计、编程和测试的重要信息),从而 形成了一个软件工程环境,它类似于硬件的CAD/CAE (计算机辅助设计/工程)。软件工程必须以有组织的质量保证为基础 软件质量保证就是向用户及社会

5、提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量 的活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。2. 软件工程的框架是?答:沟通,策划,建模,构建,部署 通用过程框架通用过程框架可适用于绝大多数的软件项目,该框架由沟通、策划、建模、构造和部署5个通用框架活动组成。(1)沟通。这项框架活动包含系统分析员与客户之间大量的交流和协作,还包括需求获取以及其他相关活动。(2)策划策划活动协助软件开发团队定义全局目标,并为后续的软件工程工作制定计划。策划活动包括一系列 管理和技术实践,如描述需要执行的技术任务、可能的风险、资源需求、工作产品和工作进度计划

6、。(3)建模建模的目的是为了更好地理解需要构建的实体。 在软件工程中,要创建两类模型:分析模型和设计模型。 分析模型通过描述软件的信息域、功能域及行为域来表达客户的需求设计模型描述软件架构、用户界面及构件细节,从而帮助开发者高效地开发软件(4)构造构造活动包括一系列构件组装、编码和测试任务,从而为向客户和最终用户交付可运行软件做好准备。(5)部署。部署活动是将软件(全部或者完成的部分)交付给用户,用户对其进行评测并给出反馈意见。部署活动包括三个动作:交付、支持和反馈。3. 一个模块的三个基本要素有哪些?答:功能,状态,逻辑(程序流程图描述逻辑的一个方法)功能:指模块实现什么功能(包括所调用的子

7、模块的功能),做什么事情逻辑:描述模块内部怎么做状态:指该模块使用时的环境和条件4. 不同的对象收到同一个消息,产生不同的结果这种现象叫多态。多态性含义把相同的操作施加于不同类型的对象,获得不同的行为效果和结果。在C+中,多态性是通过虚函数(Virtual)实现的。动态联编(Dynamic binding),滞后联编.5. 模块的基本要素:功能,状态,逻辑6. 面向对象建模需要识别五个层次:a.类与对象层b.属性层c。结构层(类与类之间的关系)d.方法层e。主题层(为多个类划分主题) 主题层:它相当于高层的模块或子系统类与对象层:它们是对问题域概念的抽象,可以从用户需求或其它规格说明书中找到。

8、结构层:描述类之间的整体与部分、一般与特殊的关系.属性层:它们是类所保存的信息,同时要给出各个类之间的实例连接。服务层:它们是类可提供的操作,同时要根据需要的功能给出各个操作之间的消息连接。软件测试的四个阶段:a。单元测试 b。集成测试 c。确认测试 d.系统测试单元测试(模块测试):目的是保证每个模块作为一个单元能正确运行。主要测试编码和详细设计阶段的错 误。子系统测试:把经过单元测试的模块放在一起形成子系统。注重模块接口。系统测试(集成测试):测试由子系统组成的整个系统,不仅测试模块间的协调和通信能力。还要测试设计 错误、需求说明中的功能错误。验收测试:确认系统能够满足用户的需求,方法同系

9、统测试,主要强调用户的参与(alpha测试),测试需求说 明中的功能错误.平行运行、beta测试测试过程按4个步骤进行,即单元测试、组装测试、确认测试和系统测试。开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了 规定的功能。组装测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否 完全、正确。系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试 单元测试又称模块测试,是针对软件设计的最小单位一程序模块,进行正确性

10、检验的测试工作。其目 的在于发现各模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例.多个模块可以平行地独立进行单元测试。组装测试(集成测试、联合测试)通常,在单元测试的基础上,需要将所有模块按照设计要求组装成为系统。这时需要考虑的问题是: 在把各个模块连接起来的时侯,穿越模块接口的数据是否会丢失; 一个模块的功能是否会对另一个模块的功能产生不利的影响;确认测试又称有效性测试。任务是验证软件的功能和性能及其它特性是否与用户的要求一致对软件的功能和性能要求在软件需求规格说明书中已经明确规定。它包含的信息就是软件确认测试的基础. 确认测试一般采用黑盒测试,其测试范围与系统测试

11、略有不同,如弱化一些技术性的测试,强化用户所 关心的功能和性能测试等.确认测试一般包括 有效性测试(强调由专家进行)软件配置复查a测试和B测试验收测试(强调由用户进行)-功能测试- 性能测试(响应时间、处理速度、容量开销等)-强度测试(对强负荷的承受能力)-对文档配置的复审系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支 持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试 和确认测试. 系统测试的目的在于通过与系统的需求定义作比较,发现软件与系统的定义不符合或与之矛盾的地方.将软件周期化为8个阶段(瀑布模

12、型):a.可行性研究 b。需求分析 c.概要测试 d.详细测试 e.编码 f。测试g.维护 h。问题定义正确的顺序为:habcdefgP 12-14页书上。7. 对于一个流图(程序流程图退化为流图),它的基本路径的独立之路的上限是V(G)。(V (G):强连通图中 线性无关的环的个数)P157页书上8. 自上往下集成测试:不需要编写驱动程序;自下往上集成测试:不需要编写桩程序 P147-148 书上。9. 单元测试针对模块哪些方面?接口信息,主要功能,边界,错误处理,主要路径。P143页10. 题目:比较经典的软件工程开发过程模型(是对这三个模型化比较分析)-瀑布模型、原型模型、螺旋模 型。瀑

13、布模型从可行性研究开始,逐步进行阶段性变换,直至通过确认测试并得到用户确认的软件产品为止。 瀑布模型上一阶段的变换结果是下一阶段变换的输入,相邻两个阶段具有因果关系紧密联系一个阶段的失 误将蔓延到以后的各个阶段。为了保障软件开发的正确性,每一阶段任务完成后,都必须对它的阶段性产品 进行评审,确认之后再转入下一阶段的工作。评审过程发现错误和疏漏后,应该及时反馈到前面的有关阶段 修正错误或弥补疏漏,然后再重复前面的工作,直至某一阶段通过评审后再进入下一阶段。瀑布模型的优点:有利于大型软件开发过程中人员的组织、管理有利于软件开发方法和工具的研究,从 而提高了大型软件项目开发的质量和效率。瀑布模型的缺

14、点:(1)开发过程一般不能逆转,否则代价太大;(2)实际的项目开发很难严格按该模型 进行;(3)客户往往很难清楚地给出所有的需求,而该模型却要求如此。(4)软件的实际情况必须到项目开 发的后期客户才能看到,这要求客户有足够的耐心。瀑布模型的使用范围:(1)用户的需求非常清楚全面,且在开发过程中没有或很少变化;(2)开发人员对 软件的应用领域很熟悉;(3)用户的使用环境非常稳定;(4)开发工作对用户参与的要求很低.原型模型又称演化模型,主要是针对事先不能完整定义需求的软件项目开发而言的。许多软件开发项 目由于人们对软件需求的认识模糊,很难一次开发成功,返工再开发难以避免。因此,人们对需开发的软件

15、 给出基本需求,作第一次试验开发,其目标仅在于探索可行性和弄清需求,取得有效的反馈信息,以支持软 件的最终设计和实现。通常我们把第一次实验性开发出的软件称为原型(prototype)。这种开发模型可以减 少由于需求不明给开发工作带来的风险,有较好的效果相对瀑布模型来说,原型模型更符合人类认识真理 的过程和思维,是目前较流行的一种实用的软件开发方法。原型模型的优点:(1)开发人员和用户在“原型上达成一致。这样一来,可以减少设计中的错误和开发 中的风险,也减少了对用户培训的时间,而提高了系统的实用、正确性以及用户的满意程度。(2)缩短了 开发周期,加快了工程进度。(3)降低成本。快速原型模型的缺点:(1)客户与开发者对原型理解不同;(2)准确的原型设计比较困难(3)不利于开 发人员的创新.快速原型模型的使用范围:(1)对所开发的领域比较熟悉而且有快速的原型开发工具;(2)项目招投标 时,可以以原型模型作为软件的开发模型;(3)进行产品移植或升级时,或对已有产品原型进行客户化工作 时,原型模型是非常适合的.螺旋模型是瀑布模型与原型模型相结合,并增加两者所忽略的风险分析而产生的一种模型,该模型通 常用来指导大型软件项目的开发,它将开发划分为制定计划、风险计划、实施开发和客户评估

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号