2021-2022年收藏的精品资料软件工程—简答题.docx
《2021-2022年收藏的精品资料软件工程—简答题.docx》由会员分享,可在线阅读,更多相关《2021-2022年收藏的精品资料软件工程—简答题.docx(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、全国2010年10月四、简答题1. 简述软件危机产生的原因。答案:软件危机产生的原因有:(每点1分)(1)软件的规模越来越大,结构越来越复杂。(2)软件开发的管理困难。由于软件规模大,结构复杂,又具有无形性,导致管理困难,进度控制困难,质量控制困难,可靠性无法保证。(3)软件开发费用不断增加。软件生产是一种智力劳动,它是资金密集、人力密集的产业,大型软件投入人力多,周期长,费用上升很快。(4)软件开发技术、开发工具落后,生产率提高缓慢。(5)生产方式落后。软件仍然采用个体手工方式开发。2. 简述需求分析的概念及需求分析的基本任务。答案:需求分析是指开发人员要准确理解用户的要求,进行细致的调查分
2、析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。(3分)需求分析的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。(2分)3. 简述数据流图的分类及每一类的特点。答案:数据流图有两类:变换型数据流图和事务型数据流图。(1分)变换型数据流图是由输入、处理和输出三部分组成,(1分)因此变化型数据流图是一个顺序结构。(1分)事务型数据流图特征:事务处理中心将它的输入流分离成许多发散的数据流,形成许多加工路径,(1分)并根据输入的值选择其中一个路径来执行。(1分)4. 简述建立对象模型的过程。答案:建立对象
3、模型的步骤如下:(每点1分)(1)确定类:标出来自问题域的相关对象类。(2)准备数据字典:为所有建模实体准备一个数据字典,准确描述各对象类的精确含义,描述当前问题中的类的范围,包括对类的成员、用法方面的假设或限制;(3)确定关联:确定二个或多个类之间的相互依赖;(4)确定属性:只考虑与具体应用直接相关的属性(5)使用继承来细化类:使用继承来共享公共结构,以此来重新组织类_全国2010年1月1简述软件工程面临的问题。 答:内容:软件开发技术软件开发管理面临的主要问题:软件费用软件可靠性软件维护软件生产率软件重用2简述可行性研究报告包含的主要内容。 技术可行性:对要开发项目的功能、性能、限制条件进
4、行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。包括:开发的风险;资源的有效性;技术;开发人员在评估技术可行性时,一旦估计错误,将会出现灾难性后果。 经济可行性:包括成本效果分析、公司经营长期策略、开发所需的成本和资源、潜在的市场前景。 社会可行性包括:合同、责任、侵权、用户组织的管理模式及规范,其他一些技术人员常常不了解的陷阱等。3简述软件结构设计的优化准则。答:(1)模块独立性准则,即尽量高内聚,低耦合,保持模块相对的独立性,并以此原则优化软件结构;(2)控制范围与作用范围之间的准则,一个模块的作用范围应在其控制范围之内,且条件判断所在的模块应与受其影响的模块在层次上尽量靠
5、近;(3)软件结构的形态特征准则,软件结构的深度、宽度。扇入、扇出应适当;(4)模块的大小准则,模块的大小最好控制在50150条语句左右,以便于阅读研究;(5)模块的接口准则,模块的接口要简单。清晰及含义明确,以便于理解、实现、测试和维护。4简述快速原型的开发步骤。 答:快速原型开发步骤可划分下列阶段:(1)快速分析:迅速确定基本需求、集中力量确定需求说明。(2)快速构造原型:在快速分析基础上,在强有力的软件工具支持下,快速构造所需原型。(3)运行原型:在开发者指导下,用户参与原型的运行,各类人员在共同运行原型中进一步加深对系统的了解及相互间的理解,以发现各种问题。(4)评价原型;在运行基础上
6、,根据原型目标,考核原型的特性,分析原型效果是否满足用户需求,提出修改意见。(5)修改原型:在评价基础上进行修改。若不满足需求说明,则根据明确的需求修改原型。若不满足用户需求,则先修改并明确用户需求,再重新构造原型。2008年10月1. 软件生存周期可以分为几个阶段,每个阶段的提交物是什么?答案:(1)可行性研究和项目开发计划,提交项目开发计划和可行性分析报告;(2)需求分析,提交软件需求说明书;(3)概要设计,提交概要设计说明书;(4)详细设计,提交详细设计说明书;(5)编码,提交源程序清单;(6)测试,提交测试报告;(7)维护,提交维护报告。(1点1分,答对5点以上可得满分)2. 结构化分
7、析的描述工具有哪些?简述结构化分析的步骤。答案:结构化分析的描述工具有:(1)数据流图,(2)数据字典,(3)描述加工逻辑的结构化语言、判定表、判定树。(1分)(1)了解当前系统的工作流程,获取当前系统的物理模型;(1分)(2)抽象出当前系统的逻辑模型;(1分)(3)建立目标系统的逻辑模型;(1分)(4)作进一步补充和优化。(1分)3. 什么是黑盒测试法?常用的黑盒测试方法有哪些?答案:黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。(1分)黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并
8、且保持外部信息的完整性。黑盒测试又称为功能测试。(2分)常用的黑盒测试方法有等价类划分、边界值分析、错误推测、因果图。(2分,每答对两个1分)4. 简述面向对象的特征。答案:(1)对象唯一性:每个对象都有自身唯一的标识,通过这种标识,可以找到相应的对象。(1分)(2)分类性:分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。(1分)(3)继承性:继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。(1分)(4)多态性:多态性是指相同的操作或函数、过程作用于多种类型的对象上并获得不同的结果。不同的对象收到同一消息可以产生不同的结果。(2分)2007年10月1.
9、简述软件工程过程的含义、目的以及包含的子过程。答案:软件工程过程规定了获取、供应、开发、操作和维护软件时,要实施的过程、活动和任务。(1分)其目的是为各种人员提供一个公共的框架,以便用相同的语言进行交流。(1分)软件工程过程包含七个子过程:(3分)(1)获取过程;(2)供应过程;(3)开发过程;(4)操作过程;(5)维护过程;(6)管理过程;(7)支持过程。2. 数据字典的作用是什么,它有哪些条目?答案:数据字典是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式,为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。它和数据流图共同构成了系统的逻辑模型,是
10、需求规格说明书的主要组成部分。(3分)JP3数据字典包含以下几个条目:数据流条目、数据存储条目、数据项条目、加工条目。(2分)3. 简述结构化程序设计方法的基本要点。答案:(1)采用自顶向下、逐步求精的程序设计方法:在需求分析、概要设计中,都采用了自顶向下、逐层细化的方法。(1分)(2)使用三种基本控制结构构造程序,分别是顺序、选择和循环,这三种基本结构的共同点是单入口、单出口,为自顶向下、逐步求精的设计方法提供了具体的实施手段。(2分)(3)采用主程序员组的组织形式:指开发程序的人员组织方式应用由一个主程序员、一个后备程序员和一个程序管理员三人为核心,再加上一些专家、其他技术人员组成小组。(
11、2分)4. 简述原型的开发步骤。答案:(1)快速分析:在分析人员与用户紧密配合下,迅速确定系统的基本需求,根据原型所要体现的特征描述基本需求以满足开发原型的需要;(1分)(2)构造原型:在快速分析的基础上,根据基本需求说明尽快实现一个可运行的系统;(1分)(3)运行原型:这是发现问题、消除误解、开发者与用户充分协调的一个步骤;(1分)(4)评价原型:在运行的基础上,考核评价原型的特性,分析运行效果是否满足用户的愿望,纠正过去交互中的误解与分析中的错误,增添新的要求;(1分)(5)修改:根据评价原型的活动结果进行修改。(1分)2006年10月1. 增量构造模型有什么特点?答案:增量构造模型是部分
12、阶段进行增量开发,即在该模型中,需求分析阶段和设计阶段与瀑布模型一样,按照瀑布模型方式进行开发,(1分)而编码和测试阶段不采用瀑布模型方式,而采用增量方式开发,(1分)即先对部分功能进行编码,进行测试,将这部分功能提交用户,然后再对另一部分功能进行编码,测试提交用户,直到把全部功能按这种方式开发完毕,(1分)在这种模型中,用户可以及早看到部分软件功能,及早发现问题,以便在其它软件功能开发时及时解决。(2分)2. 软件测试要经过哪些步骤?简述这些测试的基本任务。答案:(1)单元测试、集成测试、确认测试、系统测试。(1分)(2)单元测试:对源程序中的每个程序单元进行测试,检查各模块是否正确实现规定
13、的功能,从而发现模块在编码中或算法中的错误。(1分)(3)集成测试:检查与设计相关的软件结构的有关问题。(1分)(4)确认测试:主要检查已实现的软件是否满足需求规格说明书中确定了的各种需求。(1分)(5)系统测试:把已确认的软件与其它系统元素结合在一起进行测试。(1分)3. 简述需求分析方法应遵循的基本原则。答案:应遵循的基本原则:(1)必须能够表达和理解问题的数据域和功能域;(2分)(2)可以把一个复杂问题按功能进行分解并可逐层细化;(2分)(3)建模。(1分)4. 模块间的耦合性包括哪些类型?答案:模块的耦合性包括:(1)无直接耦合;(2)数据耦合;(3)标记耦合;(4)控制耦合;(5)公
14、共耦合;(6)内容耦合。(少一点扣1分)2005年10月1. 软件工程面临的主要问题有哪些?答案:(1)软件费用;(1分)(2)软件可靠性;(1分)(3)软件可维护;(1分)(4)软件生产率;(1分)(5)软件重用。(1分)2. 软件配置管理的作用及其主要目标是什么?答案:软件配置管理用于整个软件工程过程。其目的是协调整个软件的开发,使得混乱减少到最小程度,使得变更所产生的错误达到最小并最有效地提高生产率。(3分)它的主要目标是:标识变更;控制变更;确保变更的正确实现;报告有关变更。(2分)3. 简述SA步骤。答案:SA分析的主要步骤:(1)了解当前系统的工作流程,获得当前系统的物理模型;(2
15、)抽象出当前系统的逻辑模型;(3)建立目标系统的逻辑模型;(4)作进一步补充和优化。(第一点2分,其他点1分)4. 软件复杂性主要体现在哪些方面?减少软件复杂性有哪些优点?答案:软件复杂性主要表现在程序复杂性,而程序的复杂性主要指模块内程序的复杂性。它直接关联到软件开发费用的多少、开发周期长短和软件潜伏错误的多少。(3分)减少程序的复杂性,可提高软件的简单性和可理解性,并使软件开发费用减少,开发周期缩短,软件内部潜伏错误减少。(2分)2004年10月1. 面向对象的主要特征有哪些?简要说明其含义。答案:对象的惟一性:每个对象都有自身惟一的标识;(1分)分类性:将具有一致的数据结构(属性)和行为
16、(操作)的对象抽象成类。(1分)继承性:指子类自动共享父类数据结构和方法的机制。(1分)多态性:指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。(2分2. 简述快速原型模型的开发步骤。答案:快速原型开发步骤可划分下列阶段:(1)快速分析:迅速确定基本需求、集中力量确定需求说明。(1分)(2)快速构造原型:在快速分析基础上,在强有力的软件工具支持下,快速构造所需原型。(1分)(3)运行原型:在开发者指导下,用户参与原型的运行,各类人员在共同运行原型中进一步加深对系统的了解及相互间的理解,以发现各种问题。(1分)(4)评价原型:在运行基础上,根据原型目标,考核原型的特性,分析原型效
17、果是否满足用户需求,提出修改意见。(1分)(5)修改原型:在评价基础上进行修改。若不满足需求说明,则根据明确的需求修改原型。若不满足用户需求,则先修改并明确用户需求,再重新构造原型。(1分)3. 简述软件结构的设计优化准则。答案:软件结构的设计优化准则是:(1)划分模块时尽量做到高内聚低耦合,保持模块相对独立性,并以此原则优化初始的软件结构。(1分)(2)一个模块的作用范围应在其控制范围之内,其判定所在的模块应与受其影响的模块在层次上尽量靠近。(1分)(3)软件结构的深度、宽度、扇入和扇出应适当。(1分)(4)模块的大小要适中。(1分)(5)模块的接口要简单、清晰、含义明确,便于理解,易于实现
18、、测试与维护。(1分)4. 需求分析阶段的基本任务是什么?要进行哪几方面的工作?答案:需求分析的基本任务是要准确地定义新系统的目标。为了满足用户需要,回答系统必须“做什么”的问题。(2分)本阶段主要进行:问题识别;分析与综合,导出软件的逻辑模型;编写文档。(3分)2003年10月1. 增量构造模型有什么特点?答案:增量构造模型是部分阶段进行增量开发,即在该模型中,需求分析阶段和设计阶段与瀑布模型一样,按照瀑布模型方式进行开发,(1分)而编码和测试阶段不采用瀑布模型方式,而采用增量方式开发,(1分)即先对部分功能进行编码,进行测试,将这部分功能提交用户,然后再对另一部分功能进行编码,测试提交用户
19、,直到把全部功能按这种方式开发完毕,(1分)在这种模型中,用户可以及早看到部分软件功能,及早发现问题,以便在其它软件功能开发时及时解决。(2分)2. 软件测试要经过哪些步骤?简述这些测试的基本任务。答案:(1)单元测试、集成测试、确认测试、系统测试。(1分)(2)单元测试:对源程序中的每个程序单元进行测试,检查各模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。(1分)(3)集成测试:检查与设计相关的软件结构的有关问题。(1分)(4)确认测试:主要检查已实现的软件是否满足需求规格说明书中确定了的各种需求。(1分)(5)系统测试:把已确认的软件与其它系统元素结合在一起进行测试。(1
20、分)3. 简述需求分析方法应遵循的基本原则。答案:应遵循的基本原则:(1)必须能够表达和理解问题的数据域和功能域;(2分)(2)可以把一个复杂问题按功能进行分解并可逐层细化;(2分)(3)建模。(1分)4. 模块间的耦合性包括哪些类型?答案:模块的耦合性包括:(1)无直接耦合;(2)数据耦合;(3)标记耦合;(4)控制耦合;(5)公共耦合;(6)内容耦合。(少一点扣1分)模拟101. 需求分析阶段的基本任务是什么?答案:需求分析阶段的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。本阶段要进行以下几方面的工作:(1)问题识别。双方确定对问题的综合需求,这些需
21、求包括:功能需求、性能需求、环境需求、用户界面需求,另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求。(2)分析与综合,导出软件的逻辑模型。分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。这里也包括对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成份,并用图文结合的形式,建立起新系统的逻辑模型。(3)编写文档。编写“需求规格说明书”、编写初步用户使用手册、编写确认测试计划、修改完善软件开发计划。2. 软件生产已经历了几个阶段?各有何特征?答案:软件的生产至今已经历了三个阶段:(1)程序设计时代(19461956)。这个阶
22、段的生产方式是个体手工劳动,使用的工具是机器语言、汇编语言。开发方法是追求编程技巧,追求程序运行效率。硬件特征是价格贵、存储容量小、运行可靠性差。软件特征是只有程序、程序设计概念,不重视程序设计方法。(2)程序系统时代(19561968)。这个阶段的生产方式是作坊式的小集团合作生产,生产工具是高级语言,开发方法仍旧靠个人技巧,但开始提出结构化方法。硬件特征是速度、容量、工作可靠性有明显提高。软件特征是程序员数量猛增,但开发技术没有新的突破,开发人员的素质和落后的开发技术不适应规模大、结构复杂的软件开发,导致软件危机的产生。(3)软件工程时代(1968至今)。这个阶段的生产方式是工程化的生产,使
23、用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件。硬件特征是向超高速、大容量、微型化以及网络化方向发展。软件特征是开发技术有很大进步,但是未能获得突破性进展,软件价格不断上升,没有完全摆脱软件危机。3. 调试的目的是什么?调试有哪些技术手段?答案:调试的目的是确定错误的原因和位置,并改正错误,因此调试也称为纠错。调试技术主要有:(1)简单的调试方法。主要有在程序中插入打印语句、运行部分程序等。(2)归纳法调试。它从测试结果发现的线索(错误迹象、征兆)入手,分析它们之间的联系,导出错误原因的假设,然后再证明或否定这个假设。(3)演绎法调试。该方法列出所有可能的错误原因的假设,然
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2021 2022 收藏 精品 资料软件 工程 答题
限制150内