软件工程题库
计算机二级考试软件工程题库及答案

计算机二级考试软件工程题库及答案一、选择题1. 下列哪个不是软件工程的基本特征?A. 可靠性B. 可维护性C. 可重复性D. 可移植性答案:C2. 软件需求分析的目的是什么?A. 建立软件体系结构B. 确定软件需求C. 设计软件模块D. 编写软件代码答案:B3. 下列哪个不是软件开发生命周期的阶段?A. 需求分析B. 设计C. 测试D. 销售答案:D二、填空题1. 软件工程的目标是提高软件的_________。
答案:质量2. 软件需求分析阶段的主要任务是对用户的需求进行_________。
答案:分析3. 软件测试的目的是为了发现软件中的_________。
答案:缺陷三、简答题1. 什么是软件开发生命周期?请简要描述各个阶段的主要任务。
答案:软件开发生命周期指的是软件从开始开发到结束的整个过程。
主要阶段包括需求分析、设计、编码、测试和维护。
需求分析阶段的主要任务是确定用户的需求;设计阶段的主要任务是根据需求设计软件的结构和模块;编码阶段的主要任务是根据设计编写软件代码;测试阶段的主要任务是发现并修复软件中的缺陷;维护阶段的主要任务是对软件进行更新和修复。
2. 请简要说明软件工程的重要性。
答案:软件工程的重要性体现在以下几个方面。
首先,软件工程可以提高软件的质量,确保软件能够满足用户的需求。
其次,软件工程可以提高软件的可维护性,使得软件可以持续更新和修复。
最后,软件工程可以提高软件的开发效率,节省时间和资源。
以上是计算机二级考试软件工程题库及答案的内容。
希望对您有所帮助!。
软件工程试题(卷)(附答案解析)

一、单项选择题(每题2分,共40分)1.软件生存周期模型有多钟,下列选项中,(C)不是软件生存周期模型。
A.螺旋模型B.增量模型C.功能模型D.瀑布模型2.以下说法错误的是(C)。
A.增量模型是在瀑布模型的基础上加以修改而形成的B.增量模型推迟某些阶段或所有阶段中的细节,从而较早地产生工作软件C.瀑布模型和增量模型都属于整体开发模型D.瀑布模型规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节3.可行性分析中,系统流程图用于描述(A)。
A.当前运行系统B.当前逻辑模型C.目标系统D.新系统4.研究软硬件资源的有效性是进行(A)研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.操作可行性5、数据字典中,一般不包括下列选项中的(D)条目。
A.数据流B.数据存储C.加工D.源点与终点6、SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(A)。
A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型C.获得当前系统的逻辑模型,抽象出目标系统的物理模型,建立目标系统的逻辑模型D.获得当前系统的逻辑模型,抽象出目标系统的物理模型,建立目标系统的物理模型7、通过(B )可以完成数据流图的细化。
A.结构分析B.功能分解C.数据分析D.系统分解8、对软件进行分解,是为了(C)。
A.降低模块的复杂程度B.降低模块间接口的复杂程度C.降低模块的复杂程度,并降低模块间接口的复杂程度D.降低模块的复杂程度,并提高模块间接口的复杂程度9、为了提高模块的独立性,模块部最好是(C)。
A.逻辑聚B.时间聚C.功能聚D.通信聚10、在软件结构设计完成后,对于下列说法,正确的是(C)。
A.非单一功能模块的扇入数大比较好,说明本模块重用率高B.单一功能的模块扇入高时应重新分解,以消除控制耦合的情况C.一个模块的扇出太多,说明该模块过分复杂,缺少中间层D.一个模块的扇入太多,说明该模块过分复杂,缺少中间层11、在软件开发过程中,以下说确的是(B)。
软件工程题库

软件工程题库一单项选择1.软件是一种逻辑产品,它的开发主要是(A )。
A研制B拷贝C再生产D复制2.软件生命周期一般包括:软件开发期和软件运行期,下述(D )不是软件开发期所应包含的内容。
A需求分析 B 结构设计C程序编制D软件维护3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C )。
A喷泉模型 B 增量模型C瀑布模型D螺旋模型4.在软件生存周期中,(B )阶段必须要回答的问题是“要解决的问题是做什么?”。
A详细设计 B 可行性分析和项目开发计划C概要设计D软件测试5.软件产品与物质产品有很大区别,软件产品是一种(C )产品A有形 B 消耗C逻辑D文档6.(C )把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。
A 原型模型B 螺旋模型C 基于知识的智能模型D 喷泉模型7.( B )阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。
A概要设计 B 详细设计 C 编码 D 测试8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是(A )。
A 原型模型B 瀑布模型C 基于知识的智能模型D 变换模型9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是( C )。
A 原型模型B 瀑布模型C 喷泉模型D 螺旋模型10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是( D )。
A 原型模型B 瀑布模型C 喷泉模型D 螺旋模型11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为(C )。
A可修改性B可靠性C可适应性 D 可重用性12.软件特性中,一个软件能再次用于其他相关应用的程度称为(B )。
A可移植性B可重用性 C 容错性 D 可适应性13.软件特性中,(A )是指系统具有清晰的结构,能直接反映问题的需求的程度。
软件工程考试题库

软件工程概述一单项选择1.软件生命周期一般包括:软件开发期和软件运行期,下述(D )不是软件开发期所应包含的内容。
A需求分析 B 结构设计C程序编制D软件维护2.软件是一种逻辑产品,它的开发主要是(A )。
A研制B拷贝C再生产D复制3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C )。
A喷泉模型 B 增量模型C瀑布模型D螺旋模型4.在软件生存周期中,(B )阶段必须要回答的问题是“要解决的问题是做什么?”。
A详细设计 B 可行性分析和项目开发计划C概要设计D软件测试5.软件产品与物质产品有很大区别,软件产品是一种(C )产品A有形 B 消耗C逻辑D文档6.(C )把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。
A 原型模型B 螺旋模型C 基于知识的智能模型D 喷泉模型7.( B )阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。
A概要设计 B 详细设计 C 编码 D 测试8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是(A )。
A 原型模型B 瀑布模型C 基于知识的智能模型D 变换模型9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是( C )。
A 原型模型B 瀑布模型C 喷泉模型D 螺旋模型10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是( D )。
A 原型模型B 瀑布模型C 喷泉模型D 螺旋模型11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为(C )。
A可修改性B可靠性C可适应性 D 可重用性12.软件特性中,一个软件能再次用于其他相关应用的程度称为(B )。
A可移植性B可重用性 C 容错性 D 可适应性13.软件特性中,(A )是指系统具有清晰的结构,能直接反映问题的需求的程度。
《软件工程》练习题

《软件工程》练习题一一、单选题1.可行性研究要进行一次()需求分析。
A.详细的B.全面的C.简化的、压缩的D.彻底的2.系统流程图用于可行性分析中的()的描述。
A.当前运行系统B.当前逻辑模型C.目标系统D.新系统3.系统流程图是描述()的工具。
A.逻辑系统B.程序系统C.体系结构D.物理系统4.软件的发展经历了()个发展阶段。
A .一B.二C.三D.四5.需求分析的任务不包括()。
A.问题分析B.系统设计C.需求描述 D .需求评审6.一个软件的宽度是指其控制的()。
A.模块数B.层数C.跨度D.厚度7.可行性研究的步骤中不包括()的内容。
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方法在需求分析阶段的主要步骤不包括()。
A.了解实体行为B.标识实体与行为C.生成实体结构图D.创建软件系统模型15.原型化方法是用户和设计者之间执行的一种交互构成,适用于()系统。
A.需求不确定性高的B.需求确定的C.管理信息D.实时16.原型化方法是一种()型的设计过程。
软件工程复习题库带答案完整版

软件工程复习题库带答案完整版一、选择题1、白盒测试法是通过分析程序的(C)来设计测试用例的。
A.应用范围B.功能C.内部逻辑D.输入数据2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。
A.风险产生的原因B.风险监控技术C.风险能否消除D.风险发生所产生的后果3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。
A.好的计划B.不断的发布C.反馈和勇气D.持续集成4、等价分类法的关键是(C)。
A.确定等价类的边界条件B.按照用例来确定等价类C.划分等价类D.确定系统中相同和不同的部分5、下列不属于黑盒测试的技术是(A)。
A.程序段或语句的功能 B.模块的接口C.数据的名称和用途 D.模块的功能6、为了提高模块的独立性,模块之间最好是(D)耦合。
A.控制耦合B.公共耦合C.内容耦合D.数据耦合7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。
A.角色B.活动C.制品D.工作流8、功能性注释嵌入在源程序内部,它是用来说明(A)。
A.程序段或语句的功能 B.模块的接口C.数据的名称和用途 D.模块的功能9、在结构化分析方法中,数据字典是重要的文档。
对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。
A.只有结构化语言 B.有结构化语言和判定树C.有结构化语言、判定树和判定表 D.有判定树和判定表10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。
A.正确性 B.适应性C.完善性 D.预防性11、软件危机的主要原因是(A)。
A软件本身特点与开发方法B对软件的认识不够C软件生产能力不足D软件工具落后12、13、下列关于面向对象分析与设计说法错误的是(C)。
A.面向对象的设计以面向对象分析为基础归纳出类B.建立类结构或进一步构造成类库,实现分析结果对问题空间的抽象C.面向对象的设计是面向对象分析的另一种思维方式D.面向对象的设计是面向对象分析进一步的细化和更高的抽象14、在软件的可行性分析中,可以从不同的角度对软件进行研究,其中(B)是从软件的功能可行性角度考虑的。
软件工程试题库

软件工程试题库1.采用工程的概念、原理、技术和方法来()和()软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
A、开发测试B、运行管理C、开发管理D、开发维护2.软件是程序、数据及相关文档的完整集合,其中“开发、使用和维护程序所需要的图文资料”指的是()A、程序B、数据C、文档D、以上都不是3.计算机系统经历了几个不同的发展阶段,具有以下特点指的是()发展时期:小规模团队开发,但仍然沿用早期形成的个体化开发软件的方法。
A、个体软件B、软件作坊C、软件危机D、软件工程4.以下( )不是软件危机的表现形式。
A、开发的软件不满足用户的需要B、开发的软件可维护性差C、开发的软件价格便宜D、开发的软件可靠性差5.软件产品与物质产品有很大区别,软件产品是一种()产品A、有形B、消耗C、逻辑D、文档6.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是()。
A、喷泉模型B、增量模型C、瀑布模型D、螺旋模型7.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是()。
C、原型模型B、瀑布模型C、基于知识的智能模型D、变换模型8.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是()。
A、原型模型B、瀑布模型C、喷泉模型D、螺旋模型9.下列软件开发模型中,()只有在开发人员具有风险分析和排除风险的经验及专门知识时,才能获得成功。
A、原型模型B、瀑布模型C、喷泉模型D、螺旋模型10.()是用户和设计交换最频繁的方法。
A、原型模型B、瀑布模型方法C、螺旋模型方法D、构件组装模型11.传统的()要求,必须等前一阶段的工作完成之后,才能开始后一阶段的工作;前一阶段的输出文档,就是后一阶段的输入文档。
C、原型模型B、瀑布模型C、螺旋模型D、喷泉模型12.下列叙述中不属于软件生命周期模型的是( )A、瀑布模型B、快速原型模型C、风险模型D、原子模型13.“为了解决这个问题,目标系统必须做什么?”这是生命周期中()阶段要确定的事。
软件工程题库 多选

软件工程题库多选1-引言软件工程是一个涵盖软件开发、测试、部署和维护等方面的学科领域。
本文档提供了一个多选题库,旨在帮助软件工程师们复习和测试自己对软件工程的理解和知识。
2-软件开发过程2-1 瀑布模型2-1-1 简要描述瀑布模型2-1-2 瀑布模型的优缺点2-1-3 瀑布模型中各个阶段的活动和产物2-2 敏捷开发方法2-2-1 简要描述敏捷开发方法2-2-2 敏捷开发方法的优缺点2-2-3 敏捷开发方法的常用实践2-3 增量式开发2-3-1 简要描述增量式开发2-3-2 增量式开发的优缺点2-3-3 增量式开发的常用实践3-需求工程3-1 需求获取3-1-1 需求获取的常用方法3-1-2 需求获取中的常见问题和挑战3-1-3 需求获取的实例分析3-2 需求建模3-2-1 需求建模的概念和目的3-2-2 需求建模的常用方法和工具3-2-3 需求建模的实例分析3-3 需求验证与确认3-3-1 需求验证与确认的概念和目的3-3-2 需求验证与确认的常用方法和工具3-3-3 需求验证与确认的实例分析4-设计与架构4-1 系统设计4-1-1 系统设计的概念和目的4-1-2 系统设计的常用方法和工具4-1-3 系统设计的实例分析4-2 软件架构4-2-1 软件架构的概念和目的4-2-2 软件架构的常见模式和风格4-2-3 软件架构的实例分析4-3 模块设计4-3-1 模块设计的概念和目的4-3-2 模块设计的常用方法和工具4-3-3 模块设计的实例分析5-软件测试5-1 测试基础知识5-1-1 测试的概念和目的5-1-2 测试的基本原则和策略5-1-3 测试中的常用术语和概念5-2 测试计划与策略5-2-1 测试计划的编写流程和要点5-2-2 测试策略的制定方法和考虑因素5-2-3 测试计划与策略的实例分析5-3 测试设计与执行5-3-1 测试设计的方法和技巧5-3-2 测试用例的编写要求和实例5-3-3 测试执行的步骤和工具6-软件部署与维护6-1 软件部署6-1-1 软件部署的概念和目的6-1-2 软件部署的流程和工具6-1-3 软件部署的实例分析6-2 软件维护6-2-1 软件维护的概念和目的6-2-2 软件维护的类型和活动6-2-3 软件维护的实例分析7-附件本文档未附带附件,请参照附件目录索取相关材料。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程单元一(概述)一单项选择1.软件是一种逻辑产品,它的开发主要是(A )。
A研制B拷贝C再生产D复制2.软件生命周期一般包括:软件开发期和软件运行期,下述(D )不是软件开发期所应包含的内容。
A需求分析 B 结构设计C程序编制D软件维护3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C )。
A喷泉模型 B 增量模型C瀑布模型D螺旋模型4.在软件生存周期中,(B )阶段必须要回答的问题是“要解决的问题是做什么?”。
A详细设计 B 可行性分析和项目开发计划C概要设计D软件测试5.软件产品与物质产品有很大区别,软件产品是一种(C )产品A有形 B 消耗C逻辑D文档6.(C )把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。
A 原型模型B 螺旋模型C 基于知识的智能模型D 喷泉模型7.( B )阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。
A概要设计 B 详细设计 C 编码 D 测试8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是(A )。
A 原型模型B 瀑布模型C 基于知识的智能模型D 变换模型9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是( C )。
A 原型模型B 瀑布模型C 喷泉模型D 螺旋模型10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是(D )。
A 原型模型B 瀑布模型C 喷泉模型D 螺旋模型11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为(C )。
A可修改性B可靠性C可适应性 D 可重用性12.软件特性中,一个软件能再次用于其他相关应用的程度称为(B )。
A可移植性B可重用性 C 容错性 D 可适应性13.软件特性中,(A )是指系统具有清晰的结构,能直接反映问题的需求的程度。
A可理解性B可靠性C可适应性 D 可重用性14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为(B )。
A可理解性 B 可维护性C可适应性 D 可重用性15.软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是(C ).A可理解性B可修改性C可移植性 D 可重用性16.软件特性中,在给定的时间间隔内,程序成功运行的概率指的是( D )。
A有效性B可适应性C正确性 D 可靠性17.软件特性中,允许对软件进行修改而不增加其复杂性指的是(A )。
A可修改性B可适应性C可维护性 D 可移植性18.软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是(B )。
A可理解性B可互操作性C可维护性 D 可追踪性19.软件特性中,根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力指的是(C )。
A 可理解性B 可互操作性C可追踪性 D 可维护性20.软件的可修改性支持软件的(D )。
A 有效性B 可互操作性C可追踪性 D 可维护性21.软件的可移植性支持软件的(A )。
A 可适应性B 可互操作性C可追踪性 D 有效性22.软件的可理解性支持软件的(B )。
A 有效性B 可移植性C可追踪性 D 可靠性23.在软件工程的原则中,抽象、信息隐藏、模块化和局部化的原则支持软件的(C )。
A 有效性B 可互操作性C可靠性 D 可追踪性24.下列选项中,属于需求分析阶段的任务的是(D )。
A 组装测试计划B 单元测试计划C软件总体设计 D 验收测试计划25.下列选项中,属于概要设计阶段的任务的是(A )。
A 组装测试计划B 单元测试计划C初步用户手册 D 验收测试计划26.下列选项中,属于详细设计阶段的任务的是(B )。
A 组装测试计划B 单元测试计划C初步用户手册 D 验收测试计划27.下列选项中,属于实现阶段的任务的是(C )。
A 组装测试计划B 绘制程序流程图C 单元测试D 验收测试计划28.下列选项中,在验收测试结束时,必须提交给用户的是(D )。
A 项目开发总结报告B 验收测试计划C 需求规格说明书D 最终用户手册二填空1.计算机软件是指与计算机系统操作有关的以及任何与之有关的文档资料。
答案:程序、数据2.是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。
答案:瀑布模型3.是软件生存周期中时间最长的阶段。
答案:维护阶段4.是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。
答案:喷泉模型5.软件生存周期是指一个软件从开始直到该软件最终退役为止的整个时期。
答案:定义6.在软件的生产过程中,总是有大量各种信息要记录,因此,在产品的开发过程中起着重要的作用。
答案:文档7.在软件生存周期中,软件定义过程的基本任务是确定软件系统的。
答案:工程需求8.在软件生存周期中,软件定义过程可以通过软件系统的两个阶段来完成。
答案:可行性研究和需求分析9.在软件生存周期中,软件开发过程可以通过、实现、组装测试、验收测试共5个阶段组成。
答案:概要设计、详细设计10.我们把支持软件项目的的软件叫做软件开发的工具软件。
答案:开发、管理、维护活动11.软件工程由三部分组成,称为软件工程的三要素。
答案:方法、过程和工具weo1.计算机软件答:计算机软件是指与计算机系统操作有关的程序、数据以及任何与之有关的文档资料。
2.软件危机答:软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。
3.软件工程答:软件工程是指用工程、科学和数学的原则与方法开发、维护计算机软件的有关技术和管理方法4.软件工程过程答:软件工程过程指在定义、开发、使用和维护软件时,要实施的过程、活动和任务。
5.软件生存周期答:软件从定义开始,经过开发、使用和维护,直到最终退役的全过程称为软件生存周期。
6.软件生存周期模型答:软件开发模型(又称为软件生存周期模型)是指软件项目开发和维护的总体过程思路的框架。
7.计算机辅助软件工程答:在软件工程活动中,人们按照软件工程的原则和方法,利用计算机及其集成的软件开发环境,辅助软件项目的开发、维护及管理的过程,称为计算机辅助软件工程(即CASE)。
四简答题1.软件产品的特点是什么答:①软件开发与硬件研制相比,更依赖于开发人员的业务素质、智力、人员的组织、合作和管理。
②大型软件仍然存在着潜伏的错误。
③软件产品开发成功后,只需对原版软件进行复制,即可生产出任意多的同样的产品。
④还有,软件在使用过程中的维护工作比硬件要复杂得多。
⑤由于软件不是物理产品,所以它不会磨损和老化。
2.软件危机的表现有哪些?答:1)对软件开发成本和进度的估计常常很不准确。
2)用户对已完成的软件不满意的现象时有发生。
3)软件产品的质量往往是靠不住的。
4)软件常常是不可维护的。
5)软件通常没有适当的文档资料。
6)软件成本在计算机系统总成本中所占比例逐年上升。
7)软件开发生产率提高的速度远跟不上日益增长的软件需求。
3.产生软件危机的原因主要有哪些?答:1)用户对软件需求的描述不精确。
2)软件开发人员对用户需求的理解有偏差。
3)缺乏处理大型软件项目的经验。
4)开发大型软件易产生疏漏和错误。
5)缺乏有力的方法学的指导和有效的开发工具的支持。
6)面对日益增长的软件需求,人们显得力不从心。
4.软件工程的7条基本原理是什么?答:1)用分阶段的生存周期计划严格管理2)坚持进行阶段评审3)实行严格的产品控制4)采用现代程序设计技术5)结果应能清楚地审查6)开发小组的人员应少而精7)承认不断改进软件工程实践的必要性5.软件工程的7条原则是什么?答:1.抽象。
2.信息隐藏。
3.模块化。
4.局部化。
5.一致性。
6.完全性。
7.可验证性。
6.软件生存周期如何划分?答:可将软件生存周期划分为3个过程共9个阶段。
软件定义过程:由可行性研究和需求分析2个阶段组成;软件开发过程:由概要设计、详细设计、实现、组装测试、验收测试5个阶段组成;软件使用与维护过程:由使用与维护和退役2个阶段组成。
7.常见的软件开发模型有哪些?答:有瀑布模型、原型模型、螺旋模型、喷泉模型、变换模型、基于四代技术的模型、基于知识的智能模型等。
8.瀑布模型适合于哪类软件系统的开发?答:瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发。
例如操作系统、编译系统、数据库管理系统等系统软件的开发。
9.瀑布模型的缺点主要有哪些?答:1)在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。
2)在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。
3)不支持产品的演化,缺乏灵活性,使软件产品难以维护。
10.实现快速原型的开发途径有哪三种?1)仅模拟软件系统的人机界面和人机交互方式。
2)开发一个工作模型,实现软件系统中重要的或容易产生误解的功能。
3)利用一个或几个类似的正在运行的软件向用户展示软件需求中的部分或全部功能。
11.原型模型适于哪种情况的软件开发?答:原型模型适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项目组成员(包括分析员、设计员、程序员和用户)不能很好交流或通信有困难的情况。
12.螺旋模型的每一个周期包括哪几个阶段?答:螺旋模型的每一个周期都包括计划(需求定义)、风险分析、工程实现和用户评价与阶段评审4个阶段。
13.螺旋模型的优点有哪些?答:螺旋模型的主要优点有:1)支持用户需求的动态变化。
2)原型可看作形式的可执行的需求规格说明,易于为用户和开发人员共同理解,还可作为继续开发的基础,并为用户参与所有关键决策提供了方便。
3)螺旋模型特别强调原型的可扩充性和可修改性,原型的进化贯穿整个软件生存周期,这将有助于目标软件的适应能力。
4)为项目管理人员及时调整管理决策提供了方便,进而可降低开发风险。
14.螺旋模型适于哪种情况的软件开发?答:螺旋模型支持需求不明确、特别是大型软件系统的开发,并支持面向规格说明、面向过程、面向对象等多种软件开发方法,是一种具有广阔前景的模型。
软件工程单元二(软件项目管理)一单项选择1.软件项目管理必须(A )介入。
A)从项目的开头B)在可行性研究之后C)在需求分析之后D)在编码之后2.下列选项中,属于成本管理的主要任务的是(B )。
A)人员的分工B)估算软件项目的成本C)对控制软件质量要素D)对软件阶段产品进行评审3.下列选项中,不属于质量管理的主要任务的是( C )。
A)制定软件质量保证计划B)按照质量评价体系控制软件质量要素C)增加软件产品的功能D)对最终软件产品进行确认4.下列选项中,属于软件配置管理的任务的是(D )。