软件工程导论选择题题库
- 格式:docx
- 大小:14.67 KB
- 文档页数:14
软件工程导论(第六版)部分课后习题-答案软件工程导论(第六版)部分课后习题-答案一、选择题1. 答案:B解析:选择题解析2. 答案:A解析:选择题解析二、判断题1. 答案:对解析:判断题解析2. 答案:错解析:判断题解析三、填空题1. 答案:软件工程解析:填空题解析2. 答案:开发、维护解析:填空题解析四、简答题1. 答案:软件需求分析是软件工程的第一步,它主要是通过对用户需求的调查和分析,确定软件系统需要具备的功能和性能以及相关约束条件。
解析:简答题解析2. 答案:软件开发过程中的质量保证主要包括软件测试和代码评审两个方面。
软件测试是通过运行和验证软件系统的过程,以确定其是否满足预期的需求和标准。
代码评审则是对软件代码进行审查和评估,在开发过程中发现和修复潜在的问题和错误。
解析:简答题解析五、计算题1. 答案:20解析:计算题解析2. 答案:1000解析:计算题解析六、案例分析题1. 答案:软件项目管理是指对软件项目进行规划、组织、分配和控制的过程。
它包括项目范围管理、时间管理、成本管理、质量管理、风险管理等方面。
在一个项目中,软件项目经理负责整体的项目管理工作,包括资源的分配、进度的控制、风险的管理等。
解析:案例分析题解析2. 答案:敏捷开发是一种迭代、逐步增量的软件开发方法。
它强调快速、灵活地响应用户需求的变化,通过频繁的迭代和持续的反馈来逐步完善软件系统。
敏捷开发方法注重团队合作、交流和高效的沟通,通过直接面对面的沟通取代冗长的文档和繁琐的流程,提高软件开发的效率和质量。
解析:案例分析题解析总结:本文主要针对《软件工程导论(第六版)》部分课后习题提供了答案和解析。
其中包括选择题、判断题、填空题、简答题、计算题和案例分析题等多个题型。
通过解答这些习题,读者可以进一步加深对软件工程的理解和掌握。
希望本文对读者有所帮助,谢谢阅读。
参考答案(范村长下载的)第1章一、选择题1. D2. C3. B4. D5. B6. A7. D二、填空题1. 程序文档数据2. 抽象模块化信息隐蔽局部化一致性完备性可验证性3. 问题定义可行性研究需求分析4. 软件生命周期模型顺序性依赖性5. 制定计划风险分析实施工程客户评价6. 结构化分析结构化设计结构化程序设计数据流自顶向下,逐步求精功能的分解与抽象三、思考题1. 答:软件产品是一种无形的逻辑产品,是人们脑力劳动的结晶。
软件产品只能以程序、数据和文档的形式出现。
其存储介质是磁盘、磁带或光盘。
通过计算机的执行才能体现出来。
与硬件产品的制造不同,软件产品的成本主要花在研制上,而产品的制造实质上是所开发产品的拷贝。
软件产品不会像硬件产品一样磨损,但仍然需要维护,而且维护的成本很高。
软件产品的开发主要靠脑力劳动,所以产品研制的成本很高,很难像硬件产品那样实现工业化生产。
2. 答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件的日益增长的需求;如何维护数量不断膨胀的软件。
具体来说,软件危机主要有以下一些典型表现。
对软件开发成本和进度的估计常常很不准确。
用户对所交付的软件系统不满意的现象时有发生。
软件产品的质量往往靠不住。
软件常常是不可维护的。
软件文档资料通常不完整、不合格。
软件的价格昂贵,软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上日益增长的软件需求。
3. 答:软件工程的基本目标是在给定的成本、进度等条件下,开发出满足用户需求的软件产品。
简单来说,也就是要成功地建造一个大型软件系统。
软件项目的成功主要是要达到以下几个目标:付出较低的软件开发成本;达到用户所要求的软件功能;取得较好的软件性能;所开发的软件易于移植、可重用性好;需要较低的软件维护费用;能按时完成开发任务,及时交付使用;软件工程面临的主要问题是:软件费用、软件可靠性、软件维护、软件生产率和软件重用等。
软件工程导论期末考试试题1.选择题1.瀑布模型将软件生命周期划分为八个阶段,包括问题定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
这八个阶段可以归纳为三个大的阶段,即计划阶段、开发阶段和运行阶段。
选项中正确的是C,即运行阶段。
2.在结构化的瀑布模型中,如果哪个环节出错,对软件的影响最大,选项中正确的是C,即测试和运行阶段。
3.在结构化的瀑布模型中,系统测试阶段的目标是由哪个阶段定义的标准决定的,选项中正确的是A,即需求分析阶段。
4.软件工程的出现主要是由于软件危机的出现,选项中正确的是C。
5.软件工程方法学的目的是使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是软件开发工具和软件开发的环境,选项中正确的是C。
6.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为相互补充,选项中正确的是B。
7.UML主要应用于基于对象的面向对象的方法,选项中正确的是C。
8.在下面的软件开发方法中,要求软件设计和开发人员的开发要求最高的是原型化方法,选项中正确的是B。
9.结构化分析方法强调分析对象的数据流,选项中正确的是B。
10.软件开发的结构化生命周期方法将软件生命周期划分成计划阶段、开发阶段和运行阶段,选项中正确的是A。
11.软件开发中常采用的结构化生命周期方法一般称其为瀑布模型,选项中正确的是A。
12.软件开发的瀑布模型中,可能占用人员最多的阶段是编码阶段,选项中正确的是C。
2.改写1.瀑布模型将软件生命周期划分为八个阶段,包括问题定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
这八个阶段可以归纳为三个大的阶段,即计划阶段、开发阶段和运行阶段。
其中,运行阶段是指软件开发完成后,软件被交付给用户并开始使用的阶段。
2.在结构化的瀑布模型中,如果哪个环节出错,对软件的影响最大。
在这八个阶段中,测试和运行阶段是最后一个阶段,也是软件交付给用户前的最后一个阶段,如果在这个阶段出现问题,将会对软件的使用造成很大的影响。
软工导论期末试题及答案一、选择题(每题2分,共40分)1. 软件工程的定义是()A. 解决计算机软件危机的一门技术科学B. 设计软件系统的过程C. 软件产品开发的过程D. 通过分析、设计、实现以及对软件开发过程和工具的管理来提高软件的质量和生产效率2. 软件工程的基本活动包括()A. 需求分析、设计、编码、测试、维护B. 需求分析、设计、实现、测试C. 需求分析、设计、编码、测试D. 需求分析、设计、实现、维护3. 软件过程模型是()A. 实现软件开发的步骤和活动的抽象描述B. 一种特定的软件开发方法或技术C. 一种具体的软件开发流程图D. 一种软件管理工具4. 下面不属于敏捷开发方法的是()A. ScrumB. XP (Extreme Programming)C. RUP (Rational Unified Process)D. Lean5. 软件测试的目的是()A. 证明软件是正确的B. 证明软件是错误的C. 提高软件质量D. 排除软件缺陷6. 静态测试是指()A. 在运行时进行的测试B. 对程序进行动态分析C. 对程序进行代码检查和审查D. 对软件进行压力测试7. 需求变更的原因包括()A. 用户需求不明确B. 代码出现错误C. 项目进度延迟D. 客户意见变化8. 软件质量模型ISO/IEC 9126共包括___个特性()A. 4B. 5C. 6D. 79. 下面哪个不是软件工程中的“四悖”之一?()A. 时间悖论B. 范围悖论C. 成本悖论D. 计划悖论10. 软件项目管理中,衡量项目进展的主要指标是()A. 代码行数B. 开发人员数量C. 已完成的任务数量D. 完成的工作量二、简答题(每题10分,共30分)1. 请简要说明软件工程的三个基本活动是什么,并说明各个活动的主要任务。
答:软件工程的三个基本活动包括需求分析、设计和编码,以及测试和维护。
- 需求分析活动的主要任务是通过与用户和相关方沟通,理解和明确软件系统的需求,确定软件的功能、性能要求和约束条件。
一、选择题1、软件是一种( B )性工业产品。
(1)理论(2)知识(或逻辑)(3)消耗(4)体力2、需求分析是在( B )进行的。
(1)用户(2)用户和分析人员之间(3)开发人员内部(4)使用和维护人员之间3、在软件的可行性研究中经常从不同角度对系统进行可行性研究,其中从功能角度对系统进行研究属于( B )的研究。
(1)经济可行性(2)技术可行性(3)操作可行性(4)法律可行性4、在软件工程项目中,不随参与人员的增加而使软件的生产率增加的主要问题是( D )。
(1)工作阶段的等待时间(2)生产原型的复杂性(3)参与人员所需的工作站数(4)参与人员之间的沟通困难5、需求分析阶段的研究对象是( A )。
(1)用户需求(2)分析员要求(3)系统需求(4)软硬件需求6、对某公司进行调查分析,确定是否值得开发一个新系统的工作是进行( D )。
(1)系统设计(2)系统分析(3)系统详细调查(4)系统初步调查7、系统分析员应当( D )。
(1)善于使用户接受自已的观点(2)善于使自已获得成就(3)是用户与计算机技术人员的有效协调与组织者(4)满足上述所有条件8、数据流图的绘制过程,是对新系统的需求进行综合分析和形成新系统( A )的过程。
(1)逻辑模型(2)物理模型(3)总体方案(4)可行性报告9、系统测试的目的是( D )。
(1)找出编码错误(2)找出数据错误(3)要证明程序无错(4)发现软件错误10、一个模块内部各程序段都在同一张表上操作,这个操作的内聚性称为( B )。
(1)时间内聚(2)功能内聚(3)通信内聚(4)顺序内聚11、对象是面向对象开发的基本成分,每个对象可用它的一组()和它可以执行的一组操作来定义。
(1)服务(2)参数(3)属性(4)调用12、最高程度也是最差的耦合是()。
(1)公共耦合(2)内容耦合(3)控制耦合(4)数据耦合13、概要设计阶段产生的文档不包括()。
(1)概要设计说明书(2)数据库设计说明书(3)用户手册(4)开发进度报告14、汽车有一个发动机,汽车和发动机之间的关系是()。
2023软件工程导论期末考试题库及参考答案一、选择题(每题2分,共20分)1. 以下哪个不是软件工程的三个基本目标?A. 可维护性B. 可用性C. 可靠性D. 高效性参考答案:D2. 软件生命周期中,以下哪个阶段是软件开发过程的核心阶段?A. 需求分析B. 设计C. 编码D. 测试参考答案:C3. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程参考答案:A4. 在软件工程中,以下哪个方法用于估算软件项目的成本和进度?A. COCOMOB. WBSC. SDLCD. CASE参考答案:A5. 以下哪个是软件工程中的一个重要原则?A. 分而治之B. 一次性编写C. 重用D. 模块化参考答案:D6. 以下哪个不是软件工程的基本活动?A. 软件规格B. 软件开发C. 软件验证D. 软件测试参考答案:C7. 以下哪个是软件工程中用于提高软件质量的技术?A. 设计模式B. 重构C. 代码审查D. 单元测试参考答案:C8. 以下哪个不是软件工程的五大基本过程?A. 软件规格B. 软件开发C. 软件维护D. 软件项目管理参考答案:D9. 以下哪个是软件工程中的一个重要概念,用于描述软件系统中的各个组件之间的关系?A. 耦合B. 内聚C. 模块化D. 重用参考答案:A10. 以下哪个是软件工程中的一个重要原则,用于指导软件开发过程?A. 迭代B. 增量C.螺旋D. 模型驱动参考答案:A二、填空题(每题2分,共20分)11. 软件工程的三要素是:方法、工具和______。
参考答案:过程12. 软件生命周期包括:需求分析、设计、编码、______和软件维护。
参考答案:测试13. 软件工程中的面向对象方法包括:封装、继承和______。
参考答案:多态14. 软件工程中的 CASE 工具主要用于支持______。
参考答案:软件设计和开发15. 软件工程中的敏捷开发方法强调______、可维护性和可扩展性。
①软件生命周期中所花费用最多的阶段是(D)A.详细设计B.软件编码C.软件测试D.软件维护②可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出(B)的回答。
A.确定B.行或不行C.正确D.无二义③下列关于瀑布模型的描述正确的是(C)。
A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。
B. 瀑布模型具由于良好的灵活性。
C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。
D. 利用瀑布模型,如果发现问题则修改的代价很低。
④详细设计的结果基本决定了最终程序的(C)A.代码的规模B.运行速度C.质量D.可维护性⑤结构化程序设计主要强调的是(D)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性⑥程序的三种基本控制结构是(B)A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移⑦确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于(C)A、集成测试B、恢复测试C、验收测试D、单元测试⑧面向对象技术中,对象是类的实例。
对象有三种成份:(A)、属性和方法(或操作)。
A. 标识B. 规则C. 封装D. 消息⑨下面关于面向对象方法中消息的叙述,不正确的是(B)。
A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同⑩面向对象程序设计中的数据隐藏指的是(D)。
A.输入数据必须输入保密口令B.数据经过加密处理C. 对象内部数据结构上建有防火墙D.对象内部数据结构的不可访问性1.程序设计属于软件开发过程( C )阶段。
A、设计B、编程C、实现D、编码2.结构设计是一种应用最广泛的系统设计方法,是以( A )为基础、自顶向下、逐步求精和模块化的过程。
《软件工程导论》试题及答案软件工程导论试题及答案一、选择题1. 软件工程是一门多学科交叉的学科,其中包括以下哪些学科?A. 计算机科学B. 电子工程C. 数学D. 管理学E. 心理学答案:A、B、C、D2. 软件工程的目标是什么?A. 提高软件开发效率B. 提高软件质量C. 提高软件可靠性D. 提高软件维护性E. 提高软件安全性答案:A、B、C、D、E3. 软件过程模型是指软件开发过程中的一种抽象表示方法,常用的软件过程模型有哪些?A. 瀑布模型B. 增量模型C. 螺旋模型D. 敏捷模型E. 喷泉模型答案:A、B、C、D4. 以下哪个开发方式可以在软件开发过程中提供更多的灵活性和快速反馈?A. 瀑布模型B. 增量模型C. 螺旋模型D. 敏捷模型答案:D5. 软件需求分析的主要任务是什么?A. 确定软件的功能和性能需求B. 定义软件系统的架构C. 设计软件的用户界面D. 实施软件测试答案:A二、填空题1. 软件工程的核心目标是提高软件的 ______ 和 ______ 。
答案:质量、可靠性2. 软件工程中的四个基本活动是需求分析、设计、 ______ 和______ 。
答案:实现、维护3. 瀑布模型的五个阶段依次是:需求分析、设计、编码、 ______ 和 ______ 。
答案:测试、维护4. “快速原型”开发模型注重 ______ 。
答案:用户参与5. 敏捷开发模型的核心原则是 ______ 。
答案:迭代开发三、简答题1. 请简要说明为什么软件工程是一门多学科交叉的学科?答:软件工程在开发软件的过程中需要结合计算机科学的知识来实现软件的功能,同时也需要借鉴电子工程的设计思想来构建软件系统的架构。
此外,软件工程还应用了数学方法来进行软件需求分析和软件质量保证,同时也需要管理学的知识来进行项目管理和团队协作。
2. 请简述螺旋模型在软件开发过程中的应用场景。
答:螺旋模型适用于大型复杂项目或对安全性要求较高的项目。
一、单项选择题1.适合于面向对象方法学的软件生存周期模型是( B )A.瀑布模型B.喷泉模型C.螺旋模型D.增量模型2.从实用角度看,数据规范化程度在大多数场合选用第( C )范式。
A. 1B.2C.3D.53. 可行性分析研究的目的是( A )。
A. 项目值得开发否B.争取项目C.开发项目D.规划项目4. 模块的内聚性最高的是( D )A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( B )A.软件工程B. 软件危机C. 软件周期D.软件产生6. 需求分析阶段的任务是确定( D )A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能7. 完整的软件结构通常用( B )图来表示。
A. IPO图B. HIPO图C.PAD图D.DFD图8. 在白盒法技术测试用例的设计中( A )是最弱的覆盖标准。
A.语句B.路径C.条件组合D.判定9.对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。
A.结合B.隐藏C.封装D.抽象10.在数据流图中,圆代表(C)。
A.源点B.终点C.加工D.模块11.模块内聚度越高,说明模块内各成分彼此结合的程度越( B )。
A.松散B.紧密C.无法判断D.相等12.软件测试方法中,黑盒、白盒测试法是常用的方法,其中黑盒测试主要用于测试( B )。
A.结构合理性B.软件外部功能C.程序正确性D.程序内部逻辑13.面向对象开发方法中,( C )是占主导地位的标准建模语言。
A.Booch方法B.Coad方法C.UML语言D.OMT方法14.软件需求分析的主要任务是准确地定义出要开发的软件系统是(C )A.如何做B.怎么做C.做什么D.对谁做15.结构化程序设计的一种基本方法是( C )A.筛选法B.迭代法C.逐步求精法D.递归法二、填空题1.目前使用最广泛的软件工程学方法分别是传统方法学和(面向对象方法学)。
一、填空题(20分,每个空1分)1、软件生命周期可划分为、软件维护三个时期。
把这三个时期再细分为八个阶段,它们是、、需求分析、、、编码与单元测试、综合测试和运行维护。
2、一般而言,可行性研究主要从、、操作、法律与社会效益等五个方面研究软件项目的可行性问题。
3、应该从一致性、、现实性和等4个方面验证软件需求的正确性。
4、软件的总体设计过程通常由两个主要的阶段组成:阶段,确定软件系统的具体实现方案;阶段,确定软件结构。
5、通常把软件测试的方法分为和两大类。
6、软件投入运行后进入维护阶段。
其中,改正程序中的错误称为维护,增加或完善软件功能是维护,为满足新的运行环境或平台的要求而进行的是维护,为未来修改程序的维护是预防性维护。
7、软件项目的规模度量技术主要有两种,分别是技术和技术。
软件项目工作量是软件规模的函数,其计算单位通常是。
二、判断题(20分,每小题1分)请先阅读试题,然后在正确的结论后划√、错误的结论后划×。
1、软件开发过程中的错误暴露越迟,修复和改正错误的代价就越大。
()2、可行性分析后的需求分析就是解决目标系统的设计方案。
()3、软件生命周期的各个阶段中,开发阶段所花费的时间和代价是最大的。
()4、需求规格说明书在软件开发中具有重要作用,可以作为软件测试与维护的依据。
()5、文档是软件产品的一部分,没有文档的软件就不称其为软件产品。
()6、软件的可维护性就是指软件是可以修改的——可修改性。
()7、系统流程图描述的是系统的物理模型,数据流程图描述的是系统的逻辑模型。
()8、数据字典定义数据流程图中的数据流及数据流分量(数据元素)。
()9、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。
()10、信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R 图。
( )11、结构化分析法是面向数据流、建立在数据封闭原则上的需求分析方法。
()12、根据软件规模估算模型计算出的工作量,就是项目实际开发进度时的实际时间。
软件工程导论试题(老师给的)一.选择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、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法()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、测试阶段二.填空21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( )情况。
一、单项选择题(每小题3分,共10题)1、需求分析的任务不包括(B)。
A.问题分析B.系统设计C.需求描述D.需求评审。
2、当模块中包含复杂的条件组合,只有(A)能够清晰地表达出各种动作之间的对应关系。
A.判定表和判定树B.盒图C.流程图D.关系图3、为适应软件运行环境的变化而修改软件的活动称为(B)。
A.纠错性维护B.适应性维护C.改善性维护D.预防性维护4、下列不属于软件工程方法3要素的是(D)。
A)方法B)工具C)过程D)人员5、软件的发展经历了(D)个发展阶段。
A.一B.二C.三D.四6、下列不属于UML中的动态图的是(B)。
A)状态图B)对象图C)协作图D)活动图7、一个模块的(B)是指能直接调用(控制)该模块的模块数。
A.扇出数B.扇入数C.宽度D.深度8、下列耦合中,模块独立性最好的是(A)。
A)非直接耦合B)数据耦合C)外部耦合D)内容耦合9、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。
除第1级外,每一级都包含了实现这一级目标的若干关键过程域,每一个关键过程域又包含若干(A)。
A 关键实践B 软件过程性能C 软件过程能力D 软件过程10、UML的扩展机制不包括(C)。
A)构造型B)标记值C)注解D)约束二、填空题(每题2分,共5题)1、任何复杂的程序流程图都只应该由5种基本控制结构组合或嵌套而成,这5中基本结构分别是顺序型、选择型、先判定型循环、后判定型循环、多情况型选择。
2、在进行结构化分析时,对数据流图进行分层应注意父图和子图平衡。
3、UML的基本构造块包含:视图、图和模型元素。
4、自行车类与自行车车轮类之间是聚集关系。
5、在进行软件规模估算时,与代码行度量方式相比,功能点度量的估算结果更客观和合理。
三、判断题(每题2分,共10题)1、目前,软件项目的进度安排比较常用的方法包括程序评估与审查技术(PERT)和关键路径法(CPM)。
(对)2、缺乏处理大型软件项目的经验。
一、单向选择题(四选一、每小题3分,共18分)1、软件的发展经历了(D)个发展阶段。
0102A.一B.二C.三D.四2、需求分析的任务不包括(B)。
0401A.问题分析B.系统设计C.需求描述D.需求评审。
3、一个软件的宽度是指其控制的(C)。
0801A.模块数B.层数C.跨度D.厚度4、当模块中包含复杂的条件组合,只有(A)能够清晰地表达出各种动作之间的对应关系。
0802A.判定表和判定树B.盒图C.流程图D.关系图5、以下不属于逻辑覆盖的是(D)。
1402A.语句覆盖B.判定覆盖C.条件覆盖D.基本路径6、为适应软件运行环境的变化而修改软件的活动称为(B)。
1501A.纠错性维护B.适应性维护C.改善性维护D.预防性维护二、填空题(每空2分,共18分)1.软件可靠性是指在给定的时间间隔内,程序成功运行的(概率)。
01012.高级语言:独立于机器,面向过程或面向(对象)01013.软件项目管理的范围主要集中于3个P上,即:People人员、Problem问题和(过程)。
02014.人机界面的风格第一代界面是命令和(询问)方式。
12025.由于维护或在维护过程中其他一些不期望的行为引入的错误称为维护的(副作用)。
15046.在公式V(G)= E –N + 2中:E为程序图G中边的总数;N 为程序图中结点的总数。
V(G)又称为图G的环形(复杂度)0204。
7.任何一个基于计算机系统都可以用输入-处理-输出(IPO)图来描述,它将该系统转换成一个信息变换模型。
03038.为提高可交互性一般对所有可能造成损害的用户操作动作,应坚持要求用户(确认),例如,提问“你确实要删除…?”。
12049.文档是一种数据媒体和其上所记录的(数据)。
0101三、判断题(每小题2分,共24分,错误打X、正确打√)1.用户对软件需求的描述不精确,往往是产生软件危机的原因之一。
(√)01022.目前,软件项目的进度安排的两种比较常用的方法是程序评估与审查技术(PERT)和关键路径法(CPM)。
软件工程习题集第1章概述(一)单项选择题1.“软件危机”产生的主要原因是( A )。
A.软件日益庞大B.开发方法不当C.开发人员编写程序能力差D.没有维护好软件2. 软件是一种( B )性工业产品。
A. 理论B. 知识(或逻辑)C. 消耗D. 体力3. 需求分析是在( B )进行的。
A. 用户B. 用户和分析设计人员之间C. 开发人员内部D. 使用和维护人员间4. 软件的主要结构和功能是在( A )阶段决定的。
A. 分析设计B. 编程C. 测试D. 维护5.软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是( D )。
A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档6.在软件工程时期,决定软件质量的主要因素是( A )A.管理水平 B.个人程序技术 C.小组技术水平 D.硬件的发展7. 在软件开发模型中,提出最早、应用最广泛的模型是( A )。
A. 瀑布模型B. 喷泉模型C. 增量模型D. 螺旋模型8.瀑布模型把软件生存周期划分为软件定义、软件开发与( C )三个阶段,而每一阶段又可分为若干更小的阶段。
A. 详细设计B. 可行性分析C. 运行及维护D. 测试与排错9. 计算机辅助软件工程,简称( D )。
A. SAB. SDC. SCD. CASE10. 软件危机是软件产业化过程中出现的一种现象,下述现象中:( C )是其主要表现。
①软件需要增长难以满足。
②软件开发成本提高。
③软件开发进度难以控制。
④软件质量不易保证。
A. ③和④B. ③和④C. 全部D. ①、②和③11 软件工程的出现主要是由于( C )。
A. 程序设计方法学的影响B. 其他工程科学影响C. 软件危机的出现D. 计算机的发展12、软件生成周期模型有多种,下列选项中,( C )不是软件生存周期模型。
A.螺旋模型B.增量模型C.功能模型D.瀑布模型(二)简答题1. 软件产品的特点是什么?2. 软件生产的发展经历了哪几个时代?各有何特征?3. 软件危机的概念、表现形式、产生原因、解决途径4. 简述主要的软件生存期模型(或软件开发模型)。
1. 软件工程的概念是哪年提出的( B)。
A. 1988B. 1968C. 1948D. 19282. 瀑布模型的关键不足在于( D)。
A. 过于简单B. 各个阶段需要进行评审C. 过于灵活D. 不能适应需求的动态变更3. 以下哪一项不是软件危机的表现形式(C )。
A. 开发的软件不满足用户需要B. 开发的软件可维护性差C. 开发的软件价格便宜D. 开发的软件可靠性差4. 软件可行性研究实质上是要进行一次( A)需求分析、设计过程。
A. 简化、压缩的B. 详细的C. 彻底的D. 深入的5. 结构化设计是一种面向(A )的设计方法。
A. 数据流B. 模块C. 数据结构D. 程序6. 与确认测试阶段有关的文档是( A)。
A. 需求规格说明书B. 概要设计说明书C. 详细设计说明书D. 源程序7. 软件开发的需求活动,其主要任务是(D )。
A. 给出软件解决方案B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型8. 以下说法错误的是( A)。
A. 文档仅仅描述和规定了软件的使用范围及相关的操作命令B. 文档也是软件产品的一部分,没有文档的软件就不成软件C. 软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量D. 高质量文档对于发挥软件产品的效益有着重要的意义9. 一个项目是否开发,从经济上来说是否可行,归根结底是取决于(A )。
A. 成本估算B. 项目计划C. 工程管理D. 工程网络图10. 在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有(B )。
A. 隐藏复杂性B. 信息隐蔽C. 经常类的复用D. 类的开发11. 面向对象的主要特征除对象惟一性、封装、继承外,还有( A)。
A. 多态性B. 完整性C. 可移植性D. 兼容性12. 在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。
动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是(B )。
A、PBB、VBC、UMLD、SQL Server 2000中的SQL语言14、与设计测试数据无关的文档是()A、需求分析说明书B、概要设计说明书C、源程序D、项目开发计划15、软件测试中的测试实例主要由输入数据和()组成A、测试规则B、测试计划C、预期输出结果D、以往测试记录分析三、简答题(共20分)1.项目A是为银行开发ATM(自动取款机)软件,项目B是为网络公司开发网络数据流分析软件,请问按照面向数据流设计方法(SD法),两个项目应分别采用何种方法将需求分析的功能模型转换成软件结构,为什么?(6分)2.某保险公司对投保人的汽车保费计算方法如下:单身男,年龄30岁以下(含30岁),计保费标准A,30岁以上计保费标准B;已婚男30岁以下(含30岁),计保费标准C,30岁以上计保费标准D,单身女,年龄25岁以下(含25岁),计保费标准E,25岁以上计保费标准F;已婚女25岁以下(含25岁),计保费标准G,25岁以上计保费标准H,请画出对应的判定树。
(8分)9、√ 10、√ 11、√ 12、× 13、× 14、× 15、√二、项选择题:每题1分,共15分1、C2、B3、B4、A5、B6、D7、B8、B9、A 10、A 11、A 12、A 13、D 14、D 15、C三、简答题(总共20分)1、总共6分,项目A 用事务流(2分),项目B 用变换流(2分),项目A 回答原因(1分),项目B 回答原因(1分)2、总共8分,画对每个条件1分3、每写出一种语言或工具1分,写出应用领域1分,如C#(C/B/S 结构软件),JA V A (B/S 结构软件),C++(系统软件),DEPHI (开发C/S 结构软件)、PB (开发C/S 结构下基于数据库的软件)。
四、综合题(总共25分)1、共10分每对一个对象类1分,写出一个对象类的关系0.5分2、测试题共15分五、分析设计题(总共25分)对象类图10分,每写对1个对象类1分,1个联系和多重性1分*功能模型:用例图7分,每写对1个用例1分,1个行为者1分动态模型:顺序图8分,每写对1个对象类和生命线0.5分,1个事件1分一、判断题:每小题1分,共15分,在正确的打上√,错误的打上X()2.数据字典是对数据流图中的数据流,处理过程、数据存储、数据的源和终点进行详细定义。
一.选择题1。
软件需求分析阶段的工作,可以分为4个方面:需求获取,需求分析,编写需求规格说明书以及(B)A).用户B).需求审评C).总结D).都不正确2。
在原型法中称(A)为用户/设计者,开发人员根据用户需求不断修改原型,直到满足用户要求为止。
A).用户B).开发人员C).系统分析员D).程序员3。
下面不属于软件工程的3个要素是(D)A).工具B).过程C).方法D).环境4检查软件产品是否符合需求定义的过程称为(A)A).确认测试B).集成测试C).验证测试D).验收测试5.数据存储和数据流都是(D),仅仅是所处的状态不同。
A).分析结果B).事件C).动作D).数据6。
数据流图和(C)共同组成系统的逻辑模型。
A).HIPO图B).PD)LC).数据字典D).层次图7。
数据元素组成数据的方式的基本类型(D)A).顺序B).选择C).循环D).以上全部8。
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是(A)。
A).控制流B).加工C).数据存储D).源和潭9。
结构化分析方法就是面向(B)的自顶向下逐步求精进行需求分析的方法。
A).目标B).数据流C).功能D).对象10。
通过(B)可以完成数据流图的细化。
A).结构分解B).功能分解C).数据分解D).系统分解11。
下面不属于软件工程原则的是(C)A).抽象B).模块化C).自底向上D).信息隐蔽12。
(D)是数据说明、可执行语句等程序对象的集合,它是单独命名的而且可以通过名字来访问。
A).模块化B).抽象C).精化D).模块13。
(C)是指让一些关系密切的软件元素在物理上彼此靠近。
A).信息隐蔽B).内聚C).局部化D).模块独立14。
面向数据流的设计方法把(D)映射成软件结构。
A).数据流B).系统结构C).控制结构D).信息流15。
程序流程图(PDF)中的箭头代表的是(B)。
一, 判断题(正确的在括号内打上"√",错误的打上"×".每题1.5分,共15分)Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.(×)PAD图在设置了五种基本控制结构后,还允许递归调用. (×)为了加快软件维护作业的进度,应尽可能增加维护人员的数目.(×)当验收测试通过,软件开发就完成了.(×)完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×)在进行总体设计时应加强模块间的联系.(×)系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用.(×)用黑盒法测试时,测试用例是根据程序内部逻辑设计的.(×)在程序调试时,找出错误的位置和性质比改正该错误更难.(√)以对象,类,继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一.(√)二,单项选择题(每小题2分,共10分)试判断下列叙述中,哪个(些)是正确的(D)a,软件系统中所有的信息流都可以认为是事务流b,软件系统中所有的信息流都可以认为是变换流c,事务分析和变换分析的设计步骤是基本相似的A,a B,b C,c D,b和c进行需求分析可使用多种工具,但(B)是不适用的.A,数据流图B,PAD图C,判定表D,数据词典在详细设计阶段,经常采用的工具有(A).A,PAD B,SA C,SC D,DFD详细设计的结果基本决定了最终程序的(C)A,代码的规模B,运行速度C,质量D,可维护性使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准.A,程序的内部逻辑B,程序的复杂程度C,该软件的编辑人员D,程序的功能三,多项选择题(每题2分,共10分.注:正确得2分,漏选得1分,多选,错选不得分.) (ABCD)可以作为模块.A,子程序B,函数C,过程D,编译文件下面哪些测试属于黑盒测试(BCD).A,路径测试B,等价类划分C,边界值分析D,错误推测E,循环测试下列属于度量效益方法的是(ABCD).A,货币的时间价值B,投资回收期C,收入D,投资回报率软件维护的策略包括(BCD).A,定期检测维护B,改正性维护C,适应性维护D,完善性维护下列属于软件测试过程的是(ABE).A,单元测试B,组装测试C,内核测试D,法律验证E,确认测试四,简答题(每题6分,共24分)耦合性和内聚性有几种类型其耦合度,内聚强度的顺序如何答案:低:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合:高强:功能内聚,信息内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,偶然内聚:弱请举例说明什么是多态,什么是重载答案:多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象.也就是说,在类等级的不同层次中可以共享(公用)一个行为(方法)的名字,然而不同层次中的每个类却各自按自己的需要来实现这个行为.当对象接收到发送给它的消息时,根据该对象所属于的类动态选用在该类中定义的实现算法.重载是指一个类中有多个同名的方法,但在操作数个数或类型上有区别.例: public class A{int age;String name;public void setValue(int i) {age=i; }public void setValue(String s) {name=s; }什么是数据字典简述数据字典与数据流图的关系.答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分)简述编码风格的重要性.答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量. 面向对象的测试和传统开发方法的测试有什么不同答案:(1)二者都可以分成四个阶段进行.但传统测试最小单元是模块,而在面向对象环境下,最小的可测试的单元是封装了的类或对象,而不是程序模块.(2)因为面向对象软件没有一个层次的控制结构,所以传统的自顶向下和自底向上的组装策略意义不大. 每次将一个操作组装到类中(像传统的增殖式组装那样)常常行不通,因为在构成类的各个部件之间存在各种直接的和非直接的交互.对于面向对象系统的组装测试,存在两种不同的测试策略.五,分析应用题(20分)求一组数组中的最大数, 数组表示为A(n) ,n=1,2……n的自然数.(10分)请画出程序流程图(4分)请画出该算法的N-S图(3分)请用PAD图来表示该算法(3分)答案:2. 下面是某程序的流程图:(10分)计算它的环路复杂性.(3分) 答案:7为了完成基本路径测试,求它的一组独立的路径.(7分)答案:路径1: (0)—①—(13)—(19)路径2: (0)—②—③—(14)—(19)路径3: (0)—②—④—⑤—(15)—(19)路径4: (0)—②—④—⑥—⑦—(16)—(19)路径5: (0)—②—④—⑥—⑧—⑨—(17)—(19)路径6: (0)—②—④—⑥—⑧—⑩—(11)—(18)—(19)路径7: (0)—②—④—⑥—⑧—⑩—(12)—(19)六,阅读下列说明和数据流图,回答问题1至问题4,将解答填入答题纸的对应栏内.(12分) [说明]某基于微处理器的住宅安全系统,使用传感器(如红外探头,摄像头等)来检测各种意外情况,如非法进入, 火警,水灾等.房主可以在安装该系统时配置安全监控设备(如传感器,显示器,报警器等),也可以在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互.在安装过程中,系统给每个传感器赋予一个编号(即id)和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应自动拨出的电话号码.当系统检测到一个传感器事件时,就激活警报,拨出预置的电话号码,并报告关于位置和检测到的事件的性质等信息.加工4的细化图[问题1](3分)数据流图1(住宅安全系统顶层图)中的A和B分别是什么答案:A:传感器: B:报警器[问题2](3分)数据流图2(住宅安全系统第0层DFD图)中的数据存储"配置信息"会影响图中的哪些加工答案:监控传感器,显示信息和状态[问题3](6分)将数据流图3(加工4的细化图)中的数据流补充完整,并指明加工名称,数据流的方向(输入/输出)和数据流名称.答案: 4.4"读传感器"添加输入数据流"传感器状态"4.1"显示格式"添加输出数据流"传感器数据"4.5"拨号"添加输出数据流"电话拨号"七,请以自己的实际体会说明项目管理的意义和作用.(8分)答案:(要点)软件项目管理就是对软件工程项目开发过程的管理.具体地说,就是对整个软件生存期的一切活动进行管理,以达到提高生产率,改善产品质量的目的.软件项目管理的职能:(1)制定计划:规定待完成的任务,要求,资源,人力和进度等.(2)建立项目组织:为实施计划,保证任务的完成,需要建立分工明确的责任机构.(3)配备人员:任用各种层次的技术人员和管理人员.(4)指导:鼓励和动员软件人员完成所分配的任务.(5)检验:对照计划或标准监督检查实施的情况.。
选择题1、以下哪个不是详细设计中常用的图形描述工具 A 。
A、数据流图B、程序流图C、盒图(N-S图)D、问题分析图(PAD)2、耦合是对软件结构中各个不同模块之间互相关联程度的度量。
一个模块直接访问另一个模块的内部信息应属于 B 方式。
A、控制耦合B、内容耦合C、数据耦合D、外部耦合3、在七种内聚中属于最强的是功能内聚,最弱的是偶然内聚4、软件工程的原则包括:模块化、抽象与逐步求精、信息隐藏与局部化、模块独立。
模块 D ,则说明模块的独立性越强。
A.耦合越强B、扇入数越高C、扇入数越低D、耦合越弱5、软件设计包括 D 两个阶段。
A、接口设计和结构设计B、数据设计和概要设计C、结构设计和过程设计D、概要设计和详细设计6、现有一个计算类型的程序,它的输入只有一个Y,其范围是—50≤Y≤50。
现从输入的角度考虑设计了一组测试用例:—100,100,0。
设计这组测试用例的方法是 D 173页A、条件覆盖法B、边缘值分析法C、错误推测法 D 、等价划分法7、系统设计分为两个阶段分别为设计方案与选择方案 92页。
8、对于变换型的数据流图,按照软件设计思想,要将一个大型复杂的软件进行分解,要确定数据流图的输入边界,输出边界和变换中心。
9、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和宽度优先的策略157页。
10、在用面向对象观点建立起的3种模型中, B 231页基本、最重要、最核心的。
A、动态模型B、对象模型C、功能模型D、状态模型11、在软件结构图的有关术语中,用于表示软件结构中控制的层数的是 C 。
A、扇出B、扇入C、深度D、宽度12、指出PDL是哪种语言过程设计语言128页13、在进行软件测试时,首先应当进行单元测试,然后再进行组装测试,最后再进行有效性测试。
14、结构化设计方法是面向 B 的设计。
A.数据编码 B.数据流 C.数据库 D.数据结构15、软件工程的过程模型中,瀑布模型是经典的传统模型。
《软件工程概论》题集一、选择题(每题2分,共20分)1.软件工程的目标是提高软件的( )。
A. 开发效率B. 维护效率C. 质量和生产率D. 可靠性和复用性答案:C2.在软件开发的生命周期中,需求分析阶段的主要任务是( )。
A. 确定软件开发方法B. 编写程序代码C. 确定软件系统的功能需求D.进行系统测试答案:C3.下列选项中,不属于软件设计原则的是( )。
A. 开闭原则B. 依赖倒转原则C. 迪米特法则D. 尽早编码原则答案:D4.在结构化分析方法中,数据流图(DFD)用于描述( )。
A. 数据在系统中的流动和处理过程B. 软件的模块结构C. 软件的层次结构D. 软件的控制流程答案:A5.白盒测试和黑盒测试的主要区别在于( )。
A. 测试者是否知道程序的内部结构B. 测试是否使用测试用例C. 测试是否在系统开发完成后进行D. 测试是否关注性能答案:A6.敏捷开发方法强调( )。
A. 严格遵循预先定义的计划B. 快速响应变化,交付可用的软件C. 详细的文档和过程控制D. 尽量避免与客户沟通答案:B7.下列哪项不是软件配置管理(SCM)的目标( )。
A. 标识变更B. 控制变更C. 确保变更的正确实施D. 消除所有错误答案:D8.在软件项目中,风险管理的目的是( )。
A. 消除所有风险B. 最小化风险对项目的影响C. 将风险转移给第三方D. 仅关注技术风险答案:B9.面向对象编程(OOP)的三大特征是( )。
A. 封装、继承、多态B. 数据抽象、过程控制、模块化C. 模块化、结构化、封装D. 过程控制、继承、多态答案:A10.软件复用是通过( )来提高软件开发效率的。
A. 使用已有的软件组件B. 增加开发人员数量C. 延长开发时间D. 采用新的开发工具答案:A继续二、填空题(每题2分,共14分)1.软件工程是一种(应用计算机科学、经济学、管理学和其他工程学科的知识和实践,以系统化、规范化、量化的方法开发、运行和维护软件的过程)。
软件工程导论选择题题库1.下列叙述中,不符合良好程序设计风格要求的是()。
[单选题]A 程序的效率第一,清晰第二(正确答案)B 程序的可读性好C 程序中要有必要的注释D 输入数据前要有提示信息2.结构化程序所要求的基本结构不包括()。
[单选题]A 顺序结构B GOTO 跳转(正确答案)C 选择分支结构D 重复循环结构3.下列选项中不属于结构化程序设计原则的是()。
[单选题]A 可封装(正确答案)B 自顶向下C 模块化D 逐步求精4.下列程序设计语言中不属于高级语言的是()。
[单选题]A CB BASICC 汇编语言(正确答案)D J AVA5.下列属于面向对象设计方法主要特征的是()。
[单选题]A 继承(正确答案)B 自顶向下C 模块化D 逐步求精6.面向对象方法中,继承是指()。
[单选题]A 一组对象所具有的相似性质B 一个对象具有另一个对象的性质C 各对象之间的共同性质D 类之间共享属性和操作的机制(正确答案)7.在面向对象方法中,实现信息隐蔽是依靠()。
[单选题]A 对象的继承B 对象的多态C 对象的封装(正确答案)D 对象的分类8.面向对象程序设计中,实现父类和子类之间共享数据的方法的机制是()。
[单选题]A 对象的继承(正确答案)B 对象的多态C 对象的封装D 对象的分类9.定义无符号整数类为 Uint,下面可以作为 Uint 实例化值的是()。
[单选题]A -369B 369(正确答案)C 0.369D 整数集合{1 ,2 ,3 ,4 ,5}10.结构化程序设计中,下面对 goto 语句使用描述正确的是() [单选题]A 禁止使用 goto 语句B 使用 goto 语句程序效率高C 应避免滥用 goto 语句(正确答案)D goto 语句确实一无是处11.下列选项中不符合良好程序设计风格的是() [单选题]A 源程序要文档化B 数据说明的次序要规范化C 避免滥用 goto 语句D 模块设计要保证高耦合、高内聚(正确答案)12.在面向对象方法中,不属于“对象”基本特点的是() [单选题]A 一致性(正确答案)B 分类性C 多态性D 标识唯一性13.下面对对象概念描述正确的是() [单选题]A 对象间的通信靠消息传递(正确答案)B 对象是名字和方法的封装体C 任何对象必须有继承性D 对象的多态性是指一个对象有多个操作第三章软件工程基础知识配套习题一、软件工程基本概念习题1.软件是指()。
[单选题]A 程序B 程序和文档C 算法加数据结构D 程序、数据与相关文档的完整集合(正确答案)2.下面描述中,不属于软件危机表现的是()。
[单选题]A 软件过程不规范(正确答案)B 软件开发生成率低C 软件质量难以控制D 软件成本不断提高3.软件按功能可以分为应用软件、系统软件和支撑软件或工具软件。
下面属于应用软件的是()。
[单选题]A 学生成绩管理系统(正确答案)B C 语言编译程序C UNIX 操作系统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 软件可行性研究的依据(正确答案)二、结构化分析、设计方法习题1.从工程管理角度,软件设计一般分为两步完成,是()。
[单选题]A 概要设计与详细设计(正确答案)B 数据设计与接口设计C 软件结构设计与数据设计D 过程设计与数据设计2.在软件设计中不使用的工具是()。
[单选题]A 数据流图DFD 图(正确答案)B PAD 图C 系统结构图D 程序流程图3.软件详细设计产生的图如下,该图是()。
[单选题]A N-S 图B PAD 图C 程序流程图(正确答案)D E-R 图4.数据流程图DFD 图是()。
[单选题]A 软件概要设计的工具B 软件详细设计的工具C 结构化方法的需求分析工具(正确答案)D 面向对象法的需求分析工具5.数据字典DD所定义的对象都包含于()。
[单选题] A 数据流图DFD 图(正确答案)C 软件结构图D 方框图6.下面描述中错误的是()。
[单选题]A 系统总体结构图支持软件系统的详细设计(正确答案)B 软件设计是将软件需求转换为软件表示的过程C 数据结构与数据库设计是软件设计的任务之一D PAD 图是软件详细设计的表示工具7.在结构化程序设计中,模块划分的原则是()。
[单选题]A 各模块应包括尽量多的功能B 各模块的规模应尽量大C 各模块之间的联系应尽量紧密D 模块内具有高内聚度、模块间具有低耦合度(正确答案)8.某系统总体结构图如下图所示,该系统总体结构图的深度是()。
[单选题]A 7B 6C 3(正确答案)D 2三、软件测试、调试习题1.在黑盒测试方法中,设计测试用例的主要根据是()。
[单选题]A 程序内部逻辑C 程序数据结构D 程序外部功能(正确答案)2.下面属于黑盒测试方法的是()。
[单选题]A 语句覆盖B 逻辑覆盖C 边界值分析(正确答案)D 路径覆盖3.软件测试的目的是()。
[单选题]A 评估软件可靠性B 发现并改正程序中的错误C 改正程序中的错误D 发现程序中的错误(正确答案)4.对软件设计的最小单位进行的测试通常称为()。
[单选题]A 单元测试(正确答案)B 集成测试C 确认测试验收测试D 系统测试5.软件程序调试的任务是()。
[单选题]A 诊断和改正程序中的错误(正确答案)B 尽可能多地发现程序中的错误C 发现并改正程序中的所有错误D 确定程序中错误的性质四、软件工程基础综合习题1.下列描述中正确的是()。
[单选题]A 程序就是软件B 软件开发不受计算机系统的限制C 软件既是逻辑实体,又是物理实体D 软件是程序、数据与相关文档的集合(正确答案)2.软件按功能可以分为:应用软件、系统软件和支撑软件或工具软件。
下面属于应用软件的是()。
[单选题]A 编译程序B 操作系统C 教务管理系统(正确答案)D 汇编程序3.下列关于软件工程的描述中正确的是()。
[单选题]A 软件工程只是解决软件项目的管理问题B 软件工程主要解决软件产品的生产率问题C 软件工程的主要思想是强调在软件开发过程中需要应用工程化原则(正确答案)D 软件工程只是解决软件开发中的技术问题4.下面不属于软件工程的 3 个要素是()。
[单选题]A 工具B 过程C 方法D 环境(正确答案)5.下面不属于软件工程过程的 4 种基本活动()。
[单选题]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 数据字典(DD)C 数据流程图(DFD 图)D 判定表12.程序流程图中带有箭头的线段表示的是()。
[单选题]A 图元关系B 数据流C 控制流(正确答案)D 调用关系13.下面叙述中错误的是()。
[单选题] *A 软件测试的目的是发现错误并改正错误(正确答案)B 对被调试的程序进行“错误定位”是程序调试的必要步骤C 程序调试通常也称为 DebugD 软件测试应严格执行测试计划,排除测试的随意性14.检查软件产品是否符合需求定义的过程称为()。
[单选题]A 确认测试(正确答案)B 集成测试C 验证测试D 验收测试15.下列描述中正确的是()。
[单选题]A 软件测试应该由程序开发者来完成B 程序经调试后一般不需要再测试C 软件维护只包括对程序代码的维护D 以上三种说法都不对(正确答案)16.在黑盒测试方法中,设计测试用例的主要根据是()。
[单选题] * A 程序内部逻辑B 程序外部功能(正确答案)C 程序数据结构D 程序流程图17.下面属于白盒测试方法的是()。
[单选题]A 等价类划分法B 逻辑覆盖(正确答案)C 边界值分析法D 错误推测法18.下面不属于软件测试实施步骤的是()。
[单选题]A 集成测试B 回归测试(正确答案)C 确认测试D 单元测试。