软件工程习题解答

合集下载

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的三要素不包括以下哪一项?A. 工具B. 方法C. 过程D. 环境答案:D2. 软件需求分析阶段的主要任务是确定软件的()。

A. 功能需求B. 性能需求C. 界面需求D. 所有选项答案:D3. 软件测试的目的是()。

A. 发现软件中的错误B. 证明软件是正确的C. 验证软件是否满足需求D. 所有选项答案:D4. 以下哪一项不是软件维护的类型?A. 纠错性维护B. 适应性维护C. 完善性维护D. 开发性维护答案:D5. 软件项目管理的主要目标是()。

A. 提高软件质量B. 控制成本C. 缩短开发周期D. 所有选项答案:D6. 瀑布模型的主要缺点是()。

A. 缺乏灵活性B. 难以适应需求变化C. 无法并行开发D. 所有选项答案:D7. 敏捷开发方法的核心理念是()。

A. 以文档为中心B. 以人为中心C. 以过程为中心D. 以工具为中心答案:B8. 软件配置管理的主要目的是()。

A. 确保软件的一致性B. 跟踪软件的变更C. 控制软件的版本D. 所有选项答案:D9. 以下哪一项不是软件工程的原则?A. 抽象B. 模块化C. 复用D. 随机性答案:D10. 软件工程的目标是()。

A. 开发高质量的软件B. 提高软件生产率C. 降低软件成本D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件需求分析阶段可能包括以下哪些活动?A. 需求收集B. 需求分析C. 需求规格说明D. 需求验证答案:ABCD2. 软件测试的类型包括以下哪些?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD3. 软件维护的常见原因包括以下哪些?A. 适应环境变化B. 修正软件缺陷C. 提高软件性能D. 增加新功能答案:ABCD4. 软件项目管理的关键活动包括以下哪些?A. 项目规划B. 项目监控C. 项目沟通D. 风险管理答案:ABCD5. 软件工程中的常见开发模型包括以下哪些?A. 瀑布模型B. 螺旋模型C. 敏捷模型D. 增量模型答案:ABCD三、判断题(每题2分,共10分)1. 软件工程的目标是开发出零缺陷的软件。

软件工程练习题&答案

软件工程练习题&答案

软件工程练习题一. 选择题(单选或多选)(1)需求分析阶段最重要的技术文档是( C )。

A)项目开发计划B) 设计说明书C)需求规格说明书D) 可行性分析报告(2)在软件工程中,白盒测试法可用于测试程序的内部结构。

此方法将程序看作是(A )A) 路径的集合B) 循环的集合C) 目标的集合 D) 地址的集合(3)在以下模块耦合性类型中,模块之间独立性最差的类型是( D )A) 非直接耦合B) 标记耦合C)控制耦合D)内容耦合(4)软件详细设计的主要任务是对(A)进行的详细设计。

A) 算法和数据结构B) 外部接口C)软件编码D)功能(5)Jackson方法是一种面向(C)的结构化方法。

A) 数据流B) 对象C)数据结构D)控制流(6)一个成功的测试可以( D )。

A) 表明程序没有错误B) 发现所有错误C)提高软件可靠性D)发现尚未发现的错误(7)下述陈述中,哪一个不是软件健壮性的度量指标?(C )。

A)失败后重新启动所需的时间B)引起失败的时间所占的百分比C)失败前的平均工作时间D)在一次失败中数据恶化的概率(8)黑盒技术设计测试用例的方法之一为( A )。

A)因果图B)逻辑覆盖C)循环覆盖D)基本路径测试(9)CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是(D )。

A)工作无序,项目进行过程中经常放弃当初的计划B)建立了项目级的管理制度C)建立了企业级的管理制度D)软件过程中活动的生产率和质量是可度量的(10)在面向数据流的软件设计方法中,一般将信息流分为( A )。

A)变换流和事务流B)变换流和控制流C)事务流和控制流D)数据流和控制流(11)软件设计中一般将用到图形工具,下述哪种工具可用作设计的图形工具。

( ABCDEF )A)结构图B)实体关系图C)IPO图D)流程图E) N-S图F) 判定树(12)软件需求分析阶段建立原型的主要目地是( C )。

A)确定系统的性能要求B)确定系统的运行要求C)确定系统是否满足用户需要D)确定系统是否满足开发人员需要(13)要显示描绘软件开发项目各作业的依赖关系,应选择(B )。

软件工程习题及解答

软件工程习题及解答

软件工程第一章习题一、选择题1、软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。

其中,( A )是按事先设计的功能和性能要求执行的指令序列。

( B )是使程序能够正确操纵信息的数据结构。

( C )是与程序开发、维护和使用有关的图文材料。

供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2、开发软件时对提高软件开发人员工作效率至关重要的是( A )。

软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。

供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3、从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。

有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。

第二阶段(1950年代末~1960年代末)称为“基本软件期”。

出现了( A ),并逐渐普及。

随着( B )的发展,编译技术也有较大的发展。

第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。

这一时期,与硬件费用下降相反,软件开发费急剧上升。

人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。

第四阶段(1970年代中期~现在)称为“软件工程时期”。

软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。

供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理二、简答题1、美国一家公司在1982年计划用FORTRAN语言开发一个在VAX750计算机上运行的应用程序,估计这个程序的长度为10000条FORTRAN指令。

软件工程期末试题及答案

软件工程期末试题及答案

软件工程期末试题及答案一、选择题(每题2分,共20分)1. 以下哪项不是软件工程的基本目标?A. 提高软件的生产效率B. 提高软件的质量C. 减少软件的开发成本D. 增加软件的复杂性答案:D2. 下面哪个不属于软件工程的三个主要过程?A. 软件规格B. 软件开发C. 软件测试D. 软件维护答案:A3. 下列哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A4. 以下哪个不属于软件项目的管理活动?A. 项目计划B. 风险管理C. 质量保证D. 软件开发答案:D5. 以下哪个不是软件需求分析的工具?A. 数据流图(DFD)B. 实体关系图(ERD)C. 状态转换图(STD)D. 类图答案:B6. 以下哪个不属于软件设计的原则?A. 模块化B. 抽象C. 封装D. 继承7. 以下哪种测试方法主要用于检测软件的功能是否满足需求?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:C8. 以下哪个不属于软件维护的类型?A. 适应性维护B. 完善性维护C. 纠错性维护D. 预防性维护答案:D9. 以下哪个不属于软件项目管理工具?A. Microsoft ProjectB. JiraC. TrelloD. Visual Studio10. 以下哪个不属于敏捷软件开发的特点?A. 短周期迭代B. 客户参与C. 重构D. 线性开发流程答案:D二、填空题(每题2分,共20分)1. 软件工程的基本目标包括提高软件的生产效率、提高软件的质量和______。

答案:减少软件的开发成本2. 软件工程的三个主要过程分别是软件规格、软件开发和______。

答案:软件维护3. 软件需求分析的主要工具包括数据流图(DFD)、实体关系图(ERD)和______。

答案:状态转换图(STD)4. 软件设计的原则包括模块化、抽象、封装和______。

答案:继承5. 软件测试的四个层次分别是单元测试、集成测试、系统测试和______。

软件工程学试题及答案

软件工程学试题及答案

软件工程学试题及答案一、单项选择题(每题2分,共10分)1. 软件工程的目的是()。

A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 下列哪项不是软件需求分析的任务?()。

A. 确定软件的功能需求B. 确定软件的性能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:D3. 软件生命周期中,()阶段是确定软件需求的阶段。

A. 需求分析B. 系统设计C. 编码D. 测试答案:A4. 软件测试的目的是()。

A. 证明软件是正确的B. 证明软件存在错误C. 发现软件中的错误D. 证明软件不存在错误答案:C5. 软件危机主要表现在()。

A. 软件成本B. 软件质量C. 软件进度D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件工程的基本原理包括()。

A. 用分阶段的生命周期计划严格管理B. 强调开发过程的迭代性质C. 采用合适的编程规范D. 强调软件工具的使用答案:ABD2. 软件需求分析的常用方法包括()。

A. 数据流图B. 用例图C. 状态转换图D. 流程图答案:ABC3. 软件测试的类型包括()。

A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD4. 软件维护的类型包括()。

A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件工程中常用的设计模式包括()。

A. 单例模式B. 工厂模式C. 观察者模式D. 策略模式答案:ABCD三、简答题(每题5分,共20分)1. 简述软件工程中的模块化设计原则。

答案:模块化设计原则要求将系统分解成若干个模块,每个模块具有高内聚、低耦合的特点,以便于系统的开发、测试、维护和理解。

2. 描述软件需求分析的重要性。

答案:软件需求分析是软件开发过程中的关键步骤,它确保了开发团队对用户需求有清晰的理解,有助于避免开发出不符合用户需求的软件,减少返工和成本。

软件工程课后习题(含答案)

软件工程课后习题(含答案)

第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。

2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。

二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。

可靠性是衡量软件质量的一个重要目标。

2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。

可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。

三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。

(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。

2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。

(2)软件开发简单,易学、易上手。

(3)专业或非专业人员都能参与软件开发活动。

第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。

2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。

3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。

4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。

二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。

2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。

2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。

3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

(完整版)软件工程课后答案

(完整版)软件工程课后答案

《软件工程》作业及答案1-1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

软件危机典型表现:对软件开发成本和进度的估计常常很不准确。

用户对“已完成的”软件系统不满意的现象经常发生。

软件产品的质量往往靠不住。

软件常常是不可维护的。

软件通常没有适当的文档资料。

软件成本在计算机系统总成本中所占的比例逐年上升。

软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。

软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。

管理和控制软件开发过程相当困难。

软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。

目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。

1-2 假设你是一家软件公司的总工程师,当你把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”你怎么反驳他?1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?答:软件工程是指导计算机软件开发和维护的一门工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。

软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。

软件工程(习题与参考答案)

软件工程(习题与参考答案)

第1章概述(习题与参考答案)[判断题]1. 由于今天个人计算机不断发展壮大,人们不再采用软件团队的开发方式。

(×)2. 由于软件是产品,因此可以应用其他工程制品所用的技术进行生产。

(×)3. 购买大多数计算机系统所需的硬件比软件更昂贵。

(×)4. 大多数软件产品在其生命周期中不需要增强功能。

(×)5. 大多数软件系统是不容易变化的,除非它们在设计时考虑了变化。

(√)6. 一般来说,软件只有在其行为与设计者的目标一致的情况下才能成功。

(×)[选择题]1. ()因素促使计算机系统越来越复杂。

(D)A. 计算机内存和存储容量上的巨大增长B. 外部输入/输出选项的更加多样性C. 计算机体系结构方面的深刻变化D. 以上所有选项2. 下面的()不再是现代软件工程师关注的问题。

(A)A. 为什么计算机硬件的成本这么高?B. 为什么软件需要很长时间才能完成?C. 为什么开发一个软件的成本这么高?D. 为什么不能在产品发布前去除软件错误?3. 软件会逐渐退化而不会磨损,其原因在于()。

(C)A. 软件通常暴露在恶劣的环境下B. 软件错误通常发生在使用之后C. 不断的变更使组件接口之间引起错误D. 软件备件很难订购4. 大多数软件仍然是定制开发的,其原因在于()。

(C)A. 软件组件重用是十分普遍的B. 可重用的组件太昂贵而无法使用C. 软件在不使用其他组件的情况下很容易构造出来D. 商业组件在很多应用领域中可以得到5. 下面的()说法是正确的。

(C)A. 软件危机在20世纪70年代末期全面爆发B. 当前先进的软件工程方法已经解决了软件危机的问题C. 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题D. 软件危机是指在软件产品中存在一系列的质量问题6. 软件工程的基本目标是()。

(B)A. 消除软件固有的复杂性B. 开发高质量的软件C. 努力发挥开发人员的创造性潜能D. 更好地维护正在使用的软件产品7. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。

软件工程课后题答案大全(详细)

软件工程课后题答案大全(详细)

软件工程习题解答第一章概述1.软件产品的特性是什么?a.软件产品是一种逻辑产品。

b.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成后,复制就产生了大量软件产品。

c.软件产品不会用坏,不存在磨损、消耗问题。

d.软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是"定做"的。

e.软件费用不断增加,成本相当昂贵。

2.软件产品有几个阶段?各有何特征?阶段 A.程序设计时代(1946-1956) B.程序系统时代(1956-1968) C.软件工程时代(1968-今)生产方式个体手工劳动作坊式小集团合作生产工程化的生产工具机器语言、汇编高级语言数据库、开发工具、开发环境、网络、分布式、面向对象技术开发方法追求编和技巧,追求程序运行效率个人技巧,开始提出结构化方法硬件特征价格贵、存储容量小、运行可靠性差速度、容量、工作可靠性有明显提高,价格降低,销售有爆炸性增长向超高速、大容量、微型化以及网络化方软件特征只有程序、程序设计概念,不重视程序设计方法程序员数量猛增,已意识到软件开发的重要性,开发技术没有新的突破,大量软件开发的需求已提出,开发人员的素质和工程兵的开发技术不适应规模大、结构复杂的软件开发,产生了尖锐矛盾,导致软件危机的产生开发技术有很大进步,但未能获得突破性进展,软件价格不断上升,没有完全摆脱软件危机3.什么是软件危机?其产生的原因是什么?软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。

一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。

在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。

主要表现在以下几个方面:a.经费预算经常突破,完成时间一再拖延。

b.开发的软件不通满足用户要求。

c.开发的软件可维护性差。

d. 开发的软件可靠性差。

软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:a.软件的规模越来越大,结构越来越复杂。

软件工程习题附答案

软件工程习题附答案

软件工程习题附答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。

以下是一些软件工程的习题及答案,希望能帮助您更好地理解这门学科。

一、选择题1、软件生命周期中所花费用最多的阶段是()A 详细设计B 软件编码C 软件测试D 软件维护答案:D解析:软件维护阶段需要对软件进行修改、优化和修复,由于软件在使用过程中可能会遇到各种问题和需求变更,所以维护阶段通常会花费大量的时间和资源。

2、下面不属于软件工程的 3 个要素的是()A 工具B 过程C 方法D 环境答案:D解析:软件工程的三要素是方法、工具和过程。

方法为软件开发提供了“如何做”的技术;工具为方法的运用提供了自动的或半自动的软件支撑环境;过程是将方法和工具结合起来,以达到合理、及时地进行软件开发的目的。

3、软件可行性研究实质上是要进行一次()需求分析和设计过程。

A 简化、压缩的B 详细的C 彻底的D 深入的答案:A解析:可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决,其实质是进行一次简化、压缩的需求分析和设计过程。

4、软件测试的目的是()A 证明软件的正确性B 找出软件中的所有错误C 尽可能多地发现软件中的错误D 调试程序答案:C解析:软件测试的目的是尽可能多地发现软件中的错误,而不是证明软件的正确性,也不可能找出软件中的所有错误。

5、下面描述中,不符合结构化程序设计风格的是()A 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B 自顶向下C 注重提高程序的执行效率D 限制使用 goto 语句答案:C解析:结构化程序设计强调清晰的结构和良好的可读性,注重程序的可理解性和可维护性,而不是过于追求执行效率。

二、填空题1、软件生存周期一般可分为问题定义、可行性研究、()、设计、()、测试、运行与维护阶段。

《软件工程概论》期末复习题及参考答案

《软件工程概论》期末复习题及参考答案

《软件工程概论》期末复习题及参考答案一、选择题1. 软件工程的三要素不包括以下哪项?A. 软件开发B. 软件维护C. 软件管理D. 软件设计答案:D2. 下列哪项不是软件工程的基本目标?A. 提高软件的生产率B. 提高软件的可维护性C. 提高软件的质量D. 减少软件开发成本答案:D3. 下列哪种方法不属于软件工程的建模方法?A. UMLB. 数据流图C. 实体关系图D. 快速原型法答案:D4. 软件需求分析的主要目的是什么?A. 确定软件的功能和性能B. 设计软件的体系结构C. 编写软件的测试计划D. 评估软件的可行性答案:A5. 在软件开发过程中,以下哪个阶段是最容易发现错误的?A. 需求分析B. 设计C. 编码D. 测试答案:A二、填空题6. 软件工程的目的是______、______和______。

答案:提高软件的生产率、提高软件的可维护性、提高软件的质量7. 软件开发过程包括______、______、______、______和______。

答案:需求分析、设计、编码、测试、维护8. 软件需求分析的工具有______、______和______。

答案:数据流图、实体关系图、状态转换图9. 软件设计包括______设计和______设计。

答案:体系结构、详细10. 软件测试的目的是______、______和______。

答案:发现错误、评估软件质量、验证软件功能三、判断题11. 软件工程的方法和技术适用于所有类型的软件项目。

()答案:正确12. 软件开发过程中,需求分析是最重要的阶段。

()答案:错误(设计阶段同样重要)13. 软件测试是软件开发过程中的最后一个阶段。

()答案:错误(软件维护是最后一个阶段)14. 软件维护是为了提高软件的性能和可维护性。

()答案:正确15. 软件项目管理主要包括进度管理、成本管理和风险管理。

()答案:正确四、简答题16. 简述软件工程的基本原则。

答案:软件工程的基本原则包括以下几点:(1)分阶段进行软件开发;(2)采用模块化设计;(3)使用适当的开发工具;(4)进行有效的项目管理;(5)注重软件质量保证。

专升本《软件工程》考试答案

专升本《软件工程》考试答案

专升本《软件工程》考试答案一、选择题(每题 3 分,共 30 分)1、软件危机出现于(),为了解决软件危机,人们提出了软件工程学的概念。

A 50 年代末B 60 年代末C 70 年代末D 80 年代末答案:B解析:软件危机在 20 世纪 60 年代末爆发,软件开发过程中出现的成本高、质量低、进度难以控制等问题日益严重。

2、软件工程方法学的目的是使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是()。

A 硬件环境B 软件开发的环境C 软件开发工具和软件开发的环境D 开发人员的素质答案:C解析:软件工程方法的有效实施需要依赖软件开发工具来提高效率,同时也需要良好的开发环境来保障开发过程的顺利进行。

3、在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是()。

A 概要设计B 详细设计C 可行性研究D 需求分析答案:D解析:需求分析阶段的主要任务就是明确软件系统的功能和性能需求,确定系统必须做什么。

4、数据流图(DFD)是用于描述结构化方法中()阶段的工具。

A 可行性分析B 需求分析C 详细设计D 程序编码答案:B解析:数据流图是需求分析阶段常用的工具,用于描绘系统的数据流向和处理过程。

5、软件测试的目的是()。

A 证明软件是正确的B 发现软件中的错误C 找出软件中的所有错误D 评价软件的质量答案:B解析:软件测试的目的不是证明软件的正确性,而是尽可能多地发现软件中的错误。

6、软件维护工作的最主要部分是()。

A 校正性维护B 适应性维护C 完善性维护D 预防性维护答案:C解析:在软件维护工作中,完善性维护通常占比最大,主要是为了增强软件的功能和性能。

7、软件设计中划分模块的一个准则是()。

A 低内聚低耦合B 低内聚高耦合C 高内聚低耦合D 高内聚高耦合答案:C解析:高内聚低耦合的模块设计有助于提高软件的可维护性和可扩展性。

8、面向对象方法中,继承是指()。

A 一组对象所具有的相似性质B 一个对象具有另一个对象的性质C 各对象之间的共同性质D 类之间共享属性和操作的机制答案:D解析:继承是面向对象编程中的重要概念,允许类之间共享属性和操作。

软件工程习题及答案解析

软件工程习题及答案解析

一、选择题: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、1/6B、1/5C、1/4D、1/37. 变换型和事务型是程序结构的标准形式.从某处获得数据,再对这些数据作处理,然后将结果送出是属于.A、变换型B、事务型8. PAD〔Problem Analysis Diagram〕图是一种工具.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. 结构化程序设计主要强调程序的.A、效率B、速度C、可读性D、大小15. 开辟软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作.A、软件投机B、软件危机C、软件工程D、软件产生16. 瀑布模型把软件生存周期划分为软件定义、软件开辟和三个阶段,而每一阶段又可细分为若干更小的阶段.A、详细设计B、可行性分析C、运行与维护D、测试与排错17. 软件的设计又称为总体结构设计,其主要任务是建立软件系统的总体结构.A、概要B、抽象C、逻辑D、规划18. 结构化分析 SA 是软件开辟需求分析阶段所使用的方法,不是 SA 所使用的工具.A、DFD 图B、PAD 图C、结构化英语D、判定表19. 结构化分析方法以数据流图、和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型.A、DFD 图B、PAD 图C、IPO 图D、数据字典20. 模块本身的内聚是模块独立性的重要度量因素之一,在七类内聚中,具有最强内聚的一类是.A、顺序性内聚B、过程性内聚C、逻辑性内聚D、功能性内聚21. Jackson 设计方法是由英国的 M.Jackson 提出的,它是一种面向的设计方法.A、对象B、数据流C、数据结构D、控制结构22. 结构化程序设计思想的核心是要求程序只由顺序、循环和三种结构组成.A、分支B、单入口C、单出口D、有规则 GOTO23. 源程序的版面文档要求应有变量说明、适当注释和.A、框图B、统一书写格式C、修改记录D、编程日期24. 在软件工程中,软件测试的目的是.A、试验性运行软件B、发现软件错误C、证明软件是正确的D、找出软件中全部错误25. 在软件工程中,当前用于保证软件质量的主要技术手段还是.A、正确性证明B、测试C、自动程序设计D、符号证明26. 在软件工程中,高质量的文档标准是完整性、一致性和.A、统一性B、安全性C、无二义性D、组合性27. 在软件研究过程中,CASE 是.A、指计算机辅助系统工程B、CAD 和CAM 技术的发展动力C、正在实验室用的工具D、指计算机辅助软件工程28. 软件〔结构〕设计阶段文档是.A、系统模型说明书B、程序流程图C、系统功能说明书D、模块结构图和模块说明书29. 软件的维护指的是.A、对软件的改进、适应和完善B、维护正常运行C、配置新软件D、软件开辟期的一个阶段30. 逆向工程在软件工程中主要用于阶段.A、分析B、设计C、编码D、维护31. 软件工程中,只根据程序的功能说明而不关心程序内部逻辑的测试方法,称为测试.A、白盒法B、灰盒法C、黑盒法D、综合法32.阶段是软件生命期中花费最多,持续时间最长的阶段.A、需求分析B、维护C、设计D、测试33. 在可行性研究阶段,对系统所要求的功能、性能以与限制条件进行分析,确定是否能够构成一个满足要求的系统,这称为可行性.A、经济B、技术C、法律D、操作34. 结构化系统分析所得到的系统需求说明书中包含一组小说明.小说明是指对作进一步说明.A、数据流B、数据存储〔文件〕C、处理〔加工〕D、外部项〔源点终点〕35. 分层的数据流图中,父图与子图的平衡是指的平衡.A、处理B、数据存储C、外部项D、数据流36. 数据流图中,当数据流向或者流自数据存储时,. A、数据流要命名,数据存储不必命名B、数据流不必命名,数据存储要命名C、数据流和数据存储均应命名,因流进和流出的数据流可能不同D、数据流和数据存储都不必命名,因为从处理上可自然反映出来37. 结构化系统设计阶段的目的是.A、获得良好的软件结构B、获得可读性好的程序C、获得满足用户需求的数据流图D、获得高效的算法38. 要减少两模块之间的联系,则.A、两模块之间的调用次数要尽量少B、两模块之间直接传递的信息要尽量少C、两模块应使用尽可能相同的全局变量D、两模块应尽量共享相同的数据结构39. 在集成〔联合〕测试中,测试的主要目的是发现阶段的错误.A、软件计划B、需求分析C、设计D、编码40. 在验收测试时,测试所依据的文档是.A、可行性报告B、系统〔需求〕说明书C、模块说明书D、用户手册41. 在软件生存期的维护阶段,继续诊断和修正错误的过程称为.A、完善性维护B、适应性维护C、预防性维护D、改正性维护42. 软件的可移植性是衡量软件质量的重要标准之一.它指的是.A、一个软件版本升级的容易程度B、一个软件与其他软件交换信息的容易程度C、一个软件对软硬件环境要求得到满足的容易程度D、一个软件从一个计算机系统或者环境转移到另一个计算机系统或者环境的容易程度43. 软件生存周期是指阶段.A、软件开始使用到用户要求修改为止B、软件开始使用到被淘汰为止C、从开始编写程序到不能再使用为止D、从立项制定计划,进行需求分析到不能再使用为止44. 可行性研究的目的是用最小的代价,在最短的时间内确定问题是否可能解决和值得去解决,主要从三个方面进行.A、技术可行性、费用可行性、效益可行性B、经济可行性、技术可行性、机器可行性C、技术可行性、操作可行性、经济可行性D、费用可行性、机器可行性、操作可行性45. 数据流图是一种描述数据与其变换的图形表示,在数据流图上不允许浮现.A、数据流B、控制流C、文件D、加工46. 数据字典是软件需求分析阶段的重要工具之一,它的基本功能是.A、数据定义B、数据维护C、数据通讯D、数据库设计47. 事务型结构数据流图的特点是,将某一个加工的输入分解成并行的数据流,通过执行后面的加工.A、变换B、选择C、合并D、联接48. 如果一个模块要调用另一个模块,在下列几种方式中,采用方式的块间联系小.A、过程调用,传递控制参数B、过程调用,传递数据参数C、直接引用,共用控制信息D、直接引用,共用数据信息49. 软件的结构化设计方法是以为依据的模块结构设计方法.A、系统数据要求B、数据结构C、数据流图D、数据流50. 结构化设计〔SD〕是软件开辟中常用的方法,使用 SD 方法可以得到.A、程序流程图B、编程语言的源程序C、分层数据流图和数据字典D、模块结构图51. 在测试层次结构的大型软件时,有一种方法是从上层模块开始, 自顶向下进行测试,此时有必要用替代尚未测试过的下层模块.A、主模块B、桩模块C、驱动模块D、输出模块52. 联合〔集成〕测试可以由两种方式进行.A、模块测试、系统测试B、条件测试、非条件测试C、渐增式测试、非渐增式测试D、分析测试、验收测试53. 由于更新了操作系统而对软件进行的修改工作属于.A、修正性维护B、适应性维护C、完善性维护D、预防性维护54. 为保证软件质量,在软件生存周期的每一个阶段结束之前,都需要进行工作. A、制定计划 B、测试 C、审查 D、交接55. 模块内部联系最大的是.A、顺序内聚B、功能内聚C、通信内聚D、时间内聚56. 将以下 3 种耦合性由弱到强的顺序罗列,正确的是.A、控制耦合数据耦合公共耦合B、数据耦合公共耦合控制耦合C、公共耦合数据耦合控制耦合D、数据耦合控制耦合公共耦合57. 对某程序进行测试时,选择足够多的测试用例,使程序的每一个判定中条件的各种可能组合都至少浮现一次,这称为覆盖法.A、判定B、判定/条件C、条件D、条件组合58. 数据字典是对数据流图中浮现的组成元素定义的集合,它不包括条目.A、文件B、数据流C、加工D、I/O 参数59. 软件需求分析的内容是.A、确定开辟的软件应有哪些功能,应达到什么性能B、确定软件的开辟成本C、制定软件开辟的进度表D、确定软件的总体结构60. 在软件的设计阶段应提供的文档是.A、软件需求规格说明书B、概要设计规格说明书和详细设计规格说明书C、数据字典与数据流图D、源程序以与源程序的说明书61. 软件测试时,正确的测试次序是.A、模块测试,组装测试,确认测试B、模块测试,确认测试,组装测试C、组装测试,模块测试,确认测试D、确认测试,模块测试,组装测试62. 在软件维护阶段,若用户要求在程序中增加一个原来没有的联机匡助功能是属于.A、改正维护B、适应性维护C、完善性维护D、改正并适应性维护63. 程序流程图、 N-S 图和 PAD 图是使用的算法表达工具.A、设计阶段的概要设计B、设计阶段的详细设计C、编码阶段D、测试阶段64.软件的可维护性是指.A、软件的可理解程度,修改的难易程度B、软件文档修改的难易程度C、程序修改的难易程度D、使用维护工具进行维护的难易程度65.月收入≤800 元者免税,现用输入数 800 元和 801 元测试程序,则采用的是方法.A、边缘值分析B、条件覆盖C、错误猜测D、等价类66.采用黑盒法测试程序是根据.A、程序的逻辑B、程序的功能说明C、程序中的语句D、程序中的数据67.数据流图的小说明中描述的最基本部份是.A、激发条件B、加工逻辑C、优先级D、执行频率68.系统的茁壮性是指.A、系统能够正确地完成预期的功能B、系统能有效地使用计算机资源C、在有干扰或者输入数据不合理等意外情况下,系统仍能进行适当的工作 D、在任何情况下,系统均具有错误自修复功能69.软件工程学是应用科学理论和工程上的技术指导软件开辟的学科,其目的是.A、引入新技术提高空间利用率B、用较少的投资获得高质量的软件C、缩短研制周期扩大软件功能D、硬软件结合使系统面向应用70.不适于作为数据流图处理〔加工〕框名称的是.A、人工校核工资数据B、工资支票数据C、打印工资支票D、计算职工工资71.如果模块中所有成份引用共同的数据,该模块内的联系类型是.A、顺序内聚B、功能内聚C、通信内聚D、过程内聚72.某模块的功能是打印录取通知书或者不录取通知书,调用模块可通过向此模块传递布尔标志信息决定本次调用执行哪种通知书的打印.这种模块间的耦合称为.A、数据耦合B、混合耦合C、公共耦合D、控制耦合73.适应性维护的含义是所进行的维护.A、为使软件在改变了的环境下仍能使用B、为改正在开辟期产生、测试阶段没有发现、运行时浮现的错误C、为改善系统性能、扩充功能D、为软件的正常执行74.采用白盒法测试模块〔程序〕 ,应根据.A、内部逻辑结构B、算法复杂度C、外部功能特性D、支撑环境75.下列关于软件工程方面的叙述中,正确的说法是.A、软件的质量标准中,某些因素是不可兼得的B、数据词典包括数据流、文件、模块调用关系等三种条目C、测试过程即调试D、白盒法测试用例中,满足条件覆盖的一定满足判定覆盖76.程序编写〔实现〕阶段完成的文档有.A、详细设计说明书、模块开辟宗卷B、详细设计说明书、用户手册C、模块开辟宗卷、操作手册D、用户手册、操作手册77.软件总体结构的内容应在文档中阐明.A、软件需求规格说明书B、概要设计规格说明书C、详细设计规格说明书D、数据要求规格说明书78.使用结构化分析方法时,采用的基本手段是.A、分解和抽象B、分解和综合C、归纳与推导D、试探与回溯79.系统需求分析阶段的任务是分析系统的.A、数据要求B、功能要求C、性能要求D、A,B,C 三方面80.决定软件可维护性的主要因素可概括为.A、可测试性、可理解性、可修改性B、一致性、结构性、自我描述性C、可计测性、可访内性、可通讯性D、可扩充性、简洁性、结构性81.要减少两个模块之间的耦合,则必须.A、两个模块间的调用次数要少B、模块间传递的参数要少C、模块间传递的参数要少且不传递开关型参数D、模块间传递的参数要少且不传递开关型参数以与两模块不引用同样的全局变量82.软件开辟中系统分析阶段产生的文档是.A、数据流图B、系统说明书C、模块结构图和模块说明书D、数据字典83.初始化模块和结束模块从块内联系看,被称为模块.A、过程内聚B、功能内聚C、时间内聚D、逻辑内聚84.系统分析阶段的主要任务是分析系统的综合要求,其中对系统需要的存储量、茁壮性、完全性和联机系统的响应时间等方面的要求属于.A、环境要求B、功能要求C、性能要求D、运行要求85.结构化设计方法采用变换分析和事务分析技术实现.A、从数据结构导出程序结构B、从模块结构导出程序结构C、从模块结构导出数据结构D、从数据流图导出初始结构图86.在软件测试中,确认〔验收〕测试主要用于发现阶段的错误.A、软件计划B、需求分析C、软件设计D、编码87.软件维护阶段是软件生存周期中持续时间最长的阶段,它从时算起.A、产生可执行程序B、组装测试通过C、软件交付使用D、用户提出第一份维护报告88.结构化系统分析主要是通过进行分析的.A、算法分解B、控制结构分解C、数据结构分解D、处理功能分解89.结构化设计方法是面向的设计方法.A、过程B、对象C、数据流D、数据结构90.在结构化系统分析中,判定表和判定树常用于表达数据流图中的.A、加工B、数据流C、数据存储D、外部项91.下列耦合度表示中,最弱的耦合形式是.A、特征耦合B、公共耦合C、数据耦合D、控制耦合92.为软件系统今后的改进和发展打好基础而进行的维护工作称为.A、改正性维护B、适应性维护C、完善性维护D、预防性维护93.系统开辟的需求分析阶段的重要工作之一是.A、数据定义B、数据库设计C、数据维护D、数据结构实现94.一个模块直接控制〔调用〕的下层模块的数目称为模块的.A、扇人数B、扇出数C、宽度D、作用域95.下列所述的测试原则中,错误的是.A、应设计非法输入的测试用例B、测试用例要给出测试的预期结果C、因维护修改程序后需回归测试D、开辟小组应与测试小组合并96.某应用系统为今后的发展将单用户系统改为多用户系统,并形成新的应用软件,由此进行的维护工作称为.A、改正性维护和预防性维护B、适应性维护和完善性维护C、完善性维护和改正性维护D、预防性维护和适应性维护97.需求分析说明书不能作为.A、可行性研究的依据B、用户和开辟人员之间的合同C、系统概要设计的依据D、软件验收测试的依据98.如果,则称该模块具有功能内聚.A、模块包括单一功能B、模块包括若干功能,但所有功能相互密切相关C、每一个模块有单入口、单出口D、模块中每一个处理成份对应一个功能,它们密切结合99.如果一个排序程序所设定的测试用例为〔1〕表空〔2〕表中惟独一个元素〔3〕元素均有相同的关键字值〔4〕元素已排序则此测试方法称为.A、等价分类法B、边缘值分析法C、因果图法D、错误猜测法100.维护机构接受维护申请后,接下来的工作是.A、回归测试B、评价申请C、执行维护D、组织复审101.软件重用概念是指一个程序.A、被多次使用B、被循环使用C、被多个其他软件调用D、在不同环境下的多次重复使用102.面向对象分析时,所标识的对象为是错误的.A、与目标系统有关的物理实体B、与目标系统发生作用的人或者组织的角色 C、目标系统运行中需记忆的事件 D、目标系统中环境场所的状态103.在维护请求后进行的维护过程中,应先,然后对维护要求进行评估并分别处理.A、确定维护类型B、安排维护优先次序C、组织人员维护D、分析软件错误的严重程序104.划分软件生存周期的阶段时所应遵循的基本原则是.A、各阶段的任务尽可能相关B、各阶段的任务尽可能相对独立C、各阶段的任务在时间上连续D、各阶段的任务在时间上相对独立105.OOA模型规定了一组对象如何协同才干完成软件系统所指定的工作.这种协同在模型中是以表明对象通信方式的一组连接来表示的.A、消息B、记录C、数据D、属性106.用黑盒法设计测试用例时采用的方法包括.A、判定覆盖法B、条件覆盖法C、因果图法D、路径分析法107.软件维护过程中,将会引起维护副作用.A、修改代码或者数据后未作测试B、进行改正性维护时错误未全部改正C、进行完善性、适应性或者预防性维护时考虑因素不全面D、维护过程中发生系统运行错误108.Jackson 程序设计方法是一种面向的设计方法.A、数据结构B、数据流图C、IPO 图D、系统流程图109.下面所列的性质中,不属于面向对象程序设计的特性.A、继承性B、重用性C、封装性D、可视化110.普通来说,在管理软件中,软件生存周期各个阶段的工作量以所占的比例最大.A、需求分析与设计阶段B、编码实现阶段C、测试阶段D、维护阶段111.结构化系统分析中,处理逻辑可用描述.A、数据字典B、数据流图C、结构图D、结构化语言112.系统开辟人员使用系统流程图或者其他工具描述系统,估计每种方案的成本和效益的工作是在阶段进行的.A、需求分析B、总体设计C、详细设计D、编码阶段113.结构化设计方法采用变换分析和事务分析技术实现.A、从数据结构导出程序结构B、从数据流图导出初始结构图C、从模块结构导出数据结构D、从模块结构导程序结构114.设一模块内部的处理动作为:成份 A 的输出是成份 B 的输入,则该模块的聚合性称为.A、顺序聚合B、功能聚合C、过程聚合D、通信聚合115.某个模块的作用域是指.A、被该模块调用的所有模块B、调用该模块的所有模块C、与该模块相关联的所有模块D、受该模块内的判定所影响的所有模块116.在软件测试中,确认〔验收〕测试主要用于发现阶段的错误.A、软件计划B、需求分析C、软件设计D、编码117.如果按用户要求增加新功能或者修改已有的功能而进行的维护工作,称为. A、完善性维护 B、适应性维护 C、预防性维护 D、改正性维护118.软件维护阶段是软件生存周期中持续时间最长的阶段,它从时算起.A、产生可执行程序B、组装测试通过C、软件交付使用D、用户提出第一份维护报告119.软件质量因素中,是指软件产品能准确执行需求规格说明中所规定的任务.A、茁壮性B、正确性C、可扩充性D、精确性120.下列是面向对象设计方法中有关对象的叙述,其中是正确的.A、对象在内存中没有它的存储区B、对象的属性集合是它的特征表示C、对象的定义与程序中类型概念相当D、对象之间不能相互通信121.软件生成周期中,开辟期间包括阶段.A、软件计划、结构设计、测试和运行维护B、需求分析、概要设计、详细设计和编码C、结构设计、编码、测试和运行维护D、需求分析、结构设计、编码和测试122.结构化系统分析主要是通过进行分析的.A、算法分解B、控制结构分解C、数据结构分解D、处理功能分解123.下列不是模块化设计的目的.A、可采用结构化设计方法B、降低复杂度C、有利于信息隐蔽D、描述系统的功能与性能124.下面不属于结构化设计需解决的问题 X 围.A、确定系统应由哪些系统和模块组成B、模块以什么方式联结,接口如何C、如何编写结构程序D、如何以恰当方式表达系统的软件结构125.结构化设计方法是面向的设计方法.A、过程B、对象C、数据流D、数据结构126.下列耦合度表示中,最弱的耦合形式是.A、特征耦合B、公共耦合C、数据耦合D、控制耦合127.在结构化系统分析中,判定表和判定树常用于表达数据流图中的.A、加工B、数据流C、数据存储D、外部项128.全局数据结构的错误通常在中检查.A、单元测试B、有效性测试C、集成〔系统〕测试D、确认测试129.为软件系统今后改进和发展打好基础而进行的维护工作称为.A、改正性维护B、适应性维护C、完善性维护D、预防性维护130.下列系统设计工具中,不属于详细设计工具.A、N-S 图B、数据流图C、程序流程图D、PAD131.软件生存周期中,运行期的主要任务是.A、软件开辟B、软件维护C、版本更换D、功能扩充132.系统开辟的需求分析阶段的重要工作之一是.A、数据定义B、数据库设计C、数据维护D、数据结构实现133.下列叙述中,不属于数据字典的作用.A、作为编码阶段的描述工具B、为用户与开辟人员之间统一认识C、作为概要设计的依据D、为需求分析阶段定义各类条目134.一个模块直接控制〔调用〕的下层模块的数目称为模块的.A、扇入数B、扇出数C、宽度D、作用域135.模块内部的算法设计在结构化方法的阶段进行.A、系统分析B、概要设计C、详细设计D、编码〔实现〕136.在面向对象软件方法中,"类〞是.A、具有同类数据的对象的集合B、具有相同操作的对象的集合C、具有同类数据的对象的定义D、具有同类数据和相同操作的对象的定义137.编码〔实现〕阶段得到的程序段应该是.A、编辑完成的源程序B、编译〔或者汇编〕通过的可装配程序C、可交付使用的程序D、可运行程序138.下列所述的测试原则中,错误的是.A、应设计非法输入的测试用例B、测试用例要给出测试的预期结果C、因维护修改程序后需回归测试D、开辟小组与测试小组合并139.某应用系统为今后的发展将单用户系统改为用户系统,并形成新的应用软件,由此进行的维护工作称为.A、改正性维护和预防性维护B、适应性维护和完善性维护C、完善性维护和改正性维护D、预防性维护和适应性维护140.可维护性是软件的重要质量标准.下列措施与提高可维护性无关.A、提高程序效率B、强调程序设计风格化C、采用模块化程序设计方法D、采用结构化程序设计方法或者面向对象方法141.产生软件危机的原因有如下几点,除了.A、软件开辟过程未经审查B、软件开辟不分阶段,开辟人员没有明确的分工C、所开辟的软件,除了程序清单外,没有其他文档D、采用工程设计的方法开辟软件,不符合软件本身的特点142.需求分析说明书不能作为.A、可行性研究的依据B、用户和开辟人员之间的合同C、系统概要设计的依据D、软件验收测试的依据。

《软件工程导论》试题与答案

《软件工程导论》试题与答案

《软件工程导论》试题与答案一、选择题(每题2分,共20分)1. 以下哪个不属于软件工程的三个基本活动?A. 软件规格说明B. 软件设计和实现C. 软件测试和验证D. 软件维护答案:D2. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A3. 软件开发过程中,以下哪个阶段的主要任务是需求分析?A. 需求获取B. 设计C. 编码D. 测试答案:A4. 在软件工程中,以下哪个方法主要用于软件项目管理?A. 水平迭代法B. 垂直迭代法C. 敏捷开发D. 模块化设计答案:C5. 以下哪个工具用于软件需求跟踪?A. 用例图B. 类图C. 时序图D. 状态图答案:A二、填空题(每题2分,共20分)6. 软件工程的基本目标是提高软件的______和降低软件的______。

答案:可维护性,成本7. 软件开发过程主要包括______、______、______、______四个阶段。

答案:需求分析、设计、编码、测试8. 软件设计中,常用的设计模式有______、______、______等。

答案:工厂方法、单例、策略9. 软件测试的目的是______、______和______。

答案:发现错误、验证软件功能、评估软件质量10. 敏捷开发的核心价值观包括______、______、______、______、______。

答案:个体和团队、可工作的软件、客户合作、响应变化、简单性三、判断题(每题2分,共20分)11. 软件工程是计算机科学与工程的一个分支,主要研究软件开发的理论、方法和技术。

(对/错)答案:对12. 软件开发过程中,需求分析阶段的主要任务是获取用户需求。

(对/错)答案:对13. 软件测试的目的是证明软件的正确性。

(对/错)答案:错14. 敏捷开发强调快速迭代、持续交付和客户反馈。

(对/错)答案:对15. 软件工程的基本活动包括软件规格说明、软件设计和实现、软件测试和验证。

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的主要目标是()。

A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 软件工程的三要素包括()。

A. 方法、工具和过程B. 方法、工具和人员C. 方法、过程和人员D. 工具、过程和人员答案:C3. 软件需求分析阶段的主要任务是()。

A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:A4. 软件设计阶段的主要任务是()。

A. 制定软件开发计划B. 确定软件的体系结构C. 编写软件详细设计文档D. 进行软件测试答案:B5. 软件测试的目的是()。

A. 证明软件是正确的B. 发现软件中的错误C. 证明软件是无错误的D. 证明软件是可维护的答案:B6. 软件维护不包括以下哪项活动()。

A. 改正性维护B. 适应性维护C. 完善性维护D. 软件设计答案:D7. 软件项目管理的主要任务不包括()。

A. 进度管理B. 质量管理C. 风险管理D. 软件编码答案:D8. 面向对象方法中,对象的基本特性不包括()。

A. 抽象B. 封装C. 继承D. 多态答案:D9. UML(统一建模语言)是一种()。

A. 程序设计语言B. 数据库查询语言C. 建模语言D. 脚本语言答案:C10. 在软件开发过程中,需求变更是不可避免的,以下哪项不是需求变更的原因()。

A. 客户的需求不明确B. 项目范围的扩大C. 技术实现的困难D. 软件已经完成答案:D二、多项选择题(每题3分,共15分)11. 软件工程的基本原理包括()。

A. 抽象B. 模块化C. 逐步求精D. 迭代开发答案:ABC12. 软件需求分析阶段的输出包括()。

A. 需求规格说明书B. 用户手册C. 系统架构图D. 测试计划答案:A13. 软件设计阶段的主要文档包括()。

A. 架构设计文档B. 详细设计文档C. 用户手册D. 测试计划答案:AB14. 软件测试的类型包括()。

考研软件工程试题及答案

考研软件工程试题及答案

考研软件工程试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的主要目标是()。

A. 提高软件的可靠性B. 提高软件的生产率C. 降低软件的成本D. 以上都是答案:D2. 软件需求分析阶段的主要任务是()。

A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的性能需求答案:A3. 在软件测试中,黑盒测试的主要依据是()。

A. 程序内部逻辑B. 程序外部功能C. 程序设计文档D. 用户操作手册答案:B4. 软件开发过程中,需求变更可能导致()。

A. 项目延期B. 成本增加C. 质量下降D. 以上都是答案:D5. 面向对象分析与设计的主要概念不包括()。

A. 对象B. 类C. 模块D. 继承答案:C二、多项选择题(每题3分,共15分)1. 以下哪些是软件工程的基本原则?()A. 系统性原则B. 可维护性原则C. 可测试性原则D. 可扩展性原则答案:ABCD2. 软件项目管理包括以下哪些方面?()A. 时间管理B. 成本管理C. 风险管理D. 质量管理答案:ABCD3. 软件测试的目的是()。

A. 发现软件中的缺陷B. 验证软件是否满足需求C. 确保软件的可靠性D. 提高软件的性能答案:ABC三、简答题(每题5分,共20分)1. 简述软件生命周期的各个阶段。

答案:软件生命周期包括需求分析、设计、编码、测试、维护等阶段。

2. 什么是软件危机?它主要表现在哪些方面?答案:软件危机是指在软件开发过程中出现的一系列问题,如成本超支、进度延误、质量低下等。

3. 请解释什么是软件重构。

答案:软件重构是指在不改变软件外部行为的前提下,对软件内部结构进行调整,以提高其可理解性和可维护性。

4. 什么是敏捷开发?答案:敏捷开发是一种以人为核心、迭代、循序渐进的软件开发方法,强调团队合作、客户反馈和对变化的响应。

四、计算题(每题10分,共20分)1. 假设一个软件项目的开发周期为18个月,预计成本为1000万元。

软件工程习题解答

软件工程习题解答

第一章软件工程概论一、填空题⑴ 软件是计算机系统中与硬件相互依存的部分,它是包括(A)、(B)、及(C)的完整集合。

其中,(A)是按事先设计的功能和性能要求执行的指令序列,(B)是使程序员能够正确操纵信息的数据结构,(C)是与程序开发、维护和使用有关的图文材料。

①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表⑵ 开发软件时,对于提高软件开发人员工作效率至关重要的是(A)。

软件工程中描述软件生存周期的瀑布类型一般包括计划、(B)、设计、编码、测试、维护等几个阶段。

其中,设计阶段在管理上可以依次分成(C)和(D)两个步骤。

A:① 程序开发环境② 操作系统的资源管理功能③ 开发程序人员数量④ 计算机的并行处理能力B:① 需求分析②需求调查③可行性分析④问题定义C、D:① 方案设计② 代码设计③ 概要设计④ 数据设计⑤ 运行设计⑥ 详细设计⑦ 故障处理设计⑧ 软件体系结构设计⑶ 有人将软件的发展过程划分为四个阶段,第一阶段(20世纪50年代),称为程序设计的“原始时期”。

这时既没有(A),也没有(B),程序员只能用机器指令编写程序。

第二阶段(20世纪60年代),称为“基本软件期”。

出现了(A),并逐渐普及。

随着(B)的发展,编译技术也有较大的发展。

第三阶段(20世纪60年代末至70年代中期)称为“程序设计方法时代”。

这一时期,与硬件价格下降相反,软件开发费用急剧上升。

人们提出了(C)和(D)等程序设计方法,设法降低软件的开发费用。

第四阶段(20世纪70年代中期至今),称为“软件工程”时期。

软件开发技术不再仅仅是程序设计技术,而是包括了软件开发的各个阶段。

如(E)、(F)、编码、单元测试、综合测试、(G)及其整体有关的各种管理技术。

A、B、C、D:① 汇编语言② 操作系统③ 虚拟存储器概念④ 高级语言⑤ 结构化程序设计⑥ 数据库概念⑦ 固件⑧ 模块化程序设计E、F、G:① 使用和维护② 兼容性的确认③ 完整性的确认④ 设计⑤ 需求定义⑥ 图像处理二、简答题⑴ 软件工程过程有哪几种基本活动,试加以说明。

软件工程习题+答案

软件工程习题+答案

一、选择题1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B)A) 可行性研究,问题定义,需求分析。

B) 问题定义,可行性研究,需求分析。

C) 可行性研究,需求分析,问题定义。

D) 以上顺序都不对。

(软件开发时期:概要设计、详细设计、软件实现、软件测试)2.可行性研究主要从以下几个方面进行研究:(A)A)技术可行性,经济可行性,操作可行性。

B)技术可行性,经济可行性,系统可行性。

C)经济可行性,系统可行性,操作可行性。

D)经济可行性,系统可行性,时间可行性。

3.耦合是对软件不同模块之间互连程度的度量。

各种耦合按从强到弱排列如下:(C)A) 内容耦合,控制耦合,数据耦合,公共环境耦合。

B) 内容耦合,控制耦合,公共环境耦合,数据耦合。

C) 内容耦合,公共环境耦合,控制耦合,数据耦合。

(内容耦合、公共耦合、外部耦合、控制耦合、特征耦合、数据耦合)D) 控制耦合,内容耦合,数据耦合,公共环境耦合。

4.在详细设计阶段所使用到的设计工具是:(C)A) 程序流程图,PAD图,N-S图,HIPO图,判定表,判定树.B) 数据流程图,Yourdon 图,程序流程图,PAD图,N-S图,HIPO图。

C) 判定表,判定树,PDL,程序流程图,PAD图,N-S图。

D) 判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。

详细设计阶段工具:判定表、判定树、数据流程图、系统流程图、程序流程图、PAD图、N-S图、PDL在软件详细设计阶段,常用的图形描述工具有程序流程图,盒图(NS 图)和问题分析图(PAD) .常用的语言描述工具为 PDL(程序设计语言) ,常用的表格描述工具有判定表和判定树.DFD数据流图:总体设计阶段5.按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A)A)模块的作用域应在模块的控制域之内。

B)模块的控制域应在模块的作用域之内。

C)模块的控制域与模块的作用域互相独立。

D)以上说法都不对。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

期考试题题型构成:选择题20道40分填空题10道20分应用题5道40分软件工程习题解答一、软件生存周期各阶段的基本任务?ﻫ1. 问题定义:(1)回答要解决的问题是什么。

ﻫ(2)系统分析员应该提出关于问题性质、工程目标和规模的书面报告。

(3)经过和用户讨论,澄清含糊不清的地方,改正理解不正确的地方,得出一份双方都满意的文档。

ﻫ(4)问题定义是软件生命周期中最简短的阶段。

2.可行性研究:ﻫ(1)前一阶段定义的问题有可行的解决办法吗?(2)系统分析员要进行一次大大压缩和简化了的系统分析和设计。

导出高层逻辑模型(用数据流图表示)。

确定工程规模和目标,准确估计系统的成本和效益。

(3)使用部门的负责人根据可行性研究的结果决定是否继续进行该工程的开发工作。

3.需求分析:(1)主要确定目标系统必须具备哪些功能。

ﻫ(2)系统分析员和用户密切配合,充分交流,得出经用户确认的系统逻辑模型(数据流图、数据字典、算法描述)。

4.总体设计: ﻫ(1)回答如何解决问题。

ﻫ(2)系统分析员应使用系统流程图或其他工具描述每种可能系统;ﻫ估计每种方案的成本和效益。

推荐一较好的系统──有其详细计划。

设计软件的结构(用层次图或结构图描述)。

5.详细设计:(1)回答应该怎样具体地实现这个系统。

(2)设计出程序的详细规格说明(用HIPO层次图加输入/处理/输出图)或PDL语言(过程设计语言)。

ﻫ6.编码和单元测试: ﻫ(1)写出正确的容易理解,容易维护的程序模块。

ﻫ(2)程序员:ﻫ选取一种适当的用高级语言书写程序(或汇编语言)。

ﻫ仔细测试编写出的每一个模块。

7.综合测试:(1)通过各种类型的测试,使软件达到预定的要求。

(2)最基本的测试是集成测试和验收测试方法。

ﻫ集成测试是根据设计的软件结构,把经过单元测试检验的模块按某种选定的策略装配起来,在装配的过程中对程序进行必要的测试。

ﻫ验收测试是按照需求规格说明书的规定,由用户对目标系统进行验收。

(3)用正式文档将测试计划、详细测试方案以及实际测试结果保存。

ﻫ(4)以正式或非正式的方式对用户进行培训。

ﻫ8.软件维护:(1)使系统持久地满足用户的需要。

ﻫ(2)四类维护:ﻫ改正性维护:诊断和改正使用过程中发现的软件错误。

适应性维护:修改软件以适应环境变化。

完善性维护:根据用户要求,改进或扩充软件。

预防性维护:修改软件为将来的维护预先准备。

ﻫ第二章可行性研究1.已知某软件包具有三个主要功能:输入数据、更新数据、产生报表。

根据历史资料记载,实现每个功能所需源代码行数估算如下:①输入数据:a=l00 m=200b=300②更新数据:a=200 m=300b=400③产生报表: a=300 m=400b=500三个功能的软件生产率都是200行/人月,每行成本lO元/行,请用LOC技术估算出该软件包的成本和工作量。

解:2.某计算机系统投入使用后、5年内每年可节省人民币 2 O0O元,假设系统的投资额为5000元,年利率为12%。

试计算投资回收期和纯收入。

解:1、投资回收期最初投资额为5000元,经过3年后可以节省4814.28元,比最初投资还少185.72元,第4年一年再次节省1273.89元,则185.72÷1273.89=0.153 +0.15=3.15因此这项工程的投资回收期是3.15年。

2、纯收入7224.53- 5000=2224.53元> 0,值得投资。

第三章需求分析1.什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?数据流图:简称DFD,是SA(结构化分析)方法中用于表示系统逻辑模型的一种工具,是一种功能模型。

作用:它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能.基本符号有四种:→,箭头,表示数据流; ○,圆或椭圆,表示加工;=,双杠,表示数据存储;□,方框,表示数据的源点或终点.2.某银行的计算机储蓄系统功能是:将储户填写的存款单或取款单输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并打印出存款单给储户;如果是取款,系统计算清单储户。

请用DFD和I DEF0描绘该功能的需求,并建立相应的数据字典。

(1)数据流条目:数据流名称:存款单别名:无简述:储户存款时填写的项目来源:储户去向:记帐数据流量:未知组成:姓名+住址+存款类型+存款日期+利率数据流名称:取款单别名:无简述:储户取款时填写的项目来源:储户去向:统计数据流量:未知组成:姓名+住址+取款类型+取款日期+利率数据流名称:清单别名:无简述:储户取款后得到的项目来源:记录去向:储户数据流量:未知组成:姓名+住址+取款类型+取款日期+利率+余额(2)数据存储条目:数据存储名称:账单别名:无简述:存放储户信息及其账目组成:姓名+住址+余额+存款类型+最后修改日期+利率组织方式:未知查询要求:能立即查询(3)数据项条目:未知(4)加工条目:加工名:分类检查编号:无激发条件:接收到存/取款单优先级:优先输入:存/取款单输出:存/取款单加工逻辑:IF存款单THEN把存款单输出到统计ELSE把取款单输出到统计ENDIF加工名:统计编号:无激发条件:取款单优先级:无输入:取款单输出:清单加工逻辑:根据账单检查此储户是否存在,不存在输出错误{IF 取款数<余额THEN 余额=余额-取款数输出清单到储户,输出现金到储户ELSE输出错误清单到储户ENDIF}加工名:记录编号:无激发条件:存款单优先级:无输入:存款单输出:存款单加工逻辑:根据账单检查此储户是否存在,不存在则建立此储户{余额=余额+存款数输出存款单到储户}关于软件工程中的判定树和判定表判定树又称决策树,是一种描述加工的图形工具,适合描述问题处理中具有多个判断,而且每个决策与若干条件有关。

使用判定树进行描述时,应该从问题的文字描述中分清哪些是判定条件,哪些是判定的决策,根据描述材料中的联结词找出判定条件的从属关系、并列关系、选择关系,根据它们构造判定树。

【例4.5】某工厂对工人的超产奖励政策为:该厂生产两种产品A和B。

凡工人每月的实际生产量超过计划指标者均有奖励。

奖励政策为:对于产品A的生产者,超产数N小于或等于100件时,每超产1件奖励2元;N大于100件小于等于150件时,大于100件的部分每件奖励2.5元,其余的每件奖励金额不变;N大于150件时,超过150件的部分每件奖励3元,其余按超产150件以内的方案处理。

对于产品B的生产者,超产数N小于或等于50件时,每超产1件奖励3元;N大于50件小于等于100件时,大于50件的部分每件奖励4元,其余的每件奖励金额不变;N大于100件时,超过100件的部分每件奖励5元,其余按超产100件以内的方案处理。

上述处理功能用判定树描述,如下图所示判定树又称决策树,是一种描述加工的图形工具,适合描述问题处理中具有多个判断,而且每个决策与若干条件有关。

使用判定树进行描述时,应该从问题的文字描述中分清哪些是判定条件,哪些是判定的决策,根据描述材料中的联结词找出判定条件的从属关系、并列关系、选择关系,根据它们构造判定树。

【例4.5】某工厂对工人的超产奖励政策为:该厂生产两种产品A和B。

凡工人每月的实际生产量超过计划指标者均有奖励。

奖励政策为:对于产品A的生产者,超产数N小于或等于100件时,每超产1件奖励2元;N大于100件小于等于150件时,大于100件的部分每件奖励2.5元,其余的每件奖励金额不变;N大于150件时,超过150件的部分每件奖励3元,其余按超产150件以内的方案处理。

对于产品B的生产者,超产数N小于或等于50件时,每超产1件奖励3元;N大于50件小于等于100件时,大于50件的部分每件奖励4元,其余的每件奖励金额不变;N大于100件时,超过100件的部分每件奖励5元,其余按超产100件以内的方案处理。

上述处理功能用判定树描述,如下图所示这一判定树比起文字叙述,使人一目了然,清晰地表达了在什么情况下采取什么策略,不易产生逻辑上的混乱。

因而判定树是描述基本处理逻辑功能的有效工具。

==============================================判定表由四部分组成。

第一部分即①表示的部分,判定标的左上部称为基本条件项,列出各种可能的条件。

第二部分即②表示的部分,判定标的右上部称为条件项,它列出了各种可能的条件组合。

第三部分即③表示的部分,判定标的左下部称为基本动作项,它列出了所有的操作。

第四部分即④表示的部分,判定标的右下部称为动作项,它列出在对条件组合下所选的操作。

【例4.6】以学生的奖学金评定为例,说明判定表的应用。

奖励的目的在于鼓励学生的品学兼优,此处理功能是要合理确定奖学金评定等级。

决定受奖的条件为:成绩优秀占70%或50%以上,成绩为中或中以下占15%或20%以下,团结纪律为优良或一般者。

奖励方案为一等奖、二等奖、三等奖、鼓励奖四种。

因为受奖条件有些是相容的,相互组合的项较多。

描述此学生奖励政策的判定表如下图所示:由上图可见,判定表将比较复杂的决策问题简洁、明确、一目了然地描述出来,它是描述条件比较多的决策问题的有效工具。

判定表或判定树都是以图形形式描述数据流的加工逻辑,它结构简单,易懂易读。

尤其遇到组合条件的判定,利用判定表或判定树可以使问题的描述清晰,而且便于直接映射到程序代码。

在表达一个加工逻辑时,判定数、判定表都是好的描述工具,根据需要可以交叉使用。

4.选择一个系统(例如人事档案管理系统、图书管理系统、医院监护系统、足球俱乐部管理系统、财务管理系统、学生选课系统、飞机订票系统等),用SA方法对它进行分析,画出系统的分层 DFD图。

解:•下面是一个学生选课系统的DFD 。

新补充:1、某图书出版公司希望每月定期向固定客户邮寄最近一个月的图书分类目录。

客户可在其收到的目录上圈定自己要买的书。

出版公司按照客户的反馈信息邮寄图书。

要求为出版公司设计软件,以实现以下功能: (1)自动生成图书分类目录; (2)自动处理客户反馈信息。

试用面向数据流的方法给出系统的数据流图,并设计出软件结构图。

图书出版公司新书 录入修订 书库定书信 息录入读者信 息录入图书目录生成显示器打印书籍信息定书信息读者信息书籍信息书籍信息书籍信息读者信息读者信息读者文件定书信息书库清单书库文件定书信息书籍信息第四章概要设计3.衡量模块独立性的两个标准是什么?它们各表示什么含义?两个定性的度量标准:耦合与内聚性耦合性:也称块间联系。

指软件系统结构中各模块间相互联系紧密程度的一种度量。

模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。

内聚性:也称块内联系。

指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。

相关文档
最新文档