经典题目: 第3章 软件工程基础
第3章 软件工程基础(习题答案)
需求分析的方法很多,如功能分析法、结构化分析法、信息建模法以及面向对象分析法等。最常用的是基于功能分析的结构化分析法。
结构化分析法常用工具有数据流图、数据字典、结构化英语、判定表和判定树等工具。
3.19什么是快速原型开发方法?它与传统的瀑布模型比较有什么优点?
解答:
快速原型法鼓励用户和软件开发人员紧密合作,共同工作,用户参与软件开发的每一个阶段的工作。这样,在软件开发的全过程中,都能及时反映用户的要求,不断缩小开发人员与用户之间对问题理解的差距,以提高最终软件产品的质量。
原型法是对瀑布模型的改进。在瀑布模型中,将软件的生命周期划分成3个时期8个阶段,用户仅参与起始的软件定义阶段和最后的软件测试阶段,而实际的软件开发过程比较漫长,是由开发人员独立完成的,用户不参与。但在开发过程中,用户的实际需求可能发生变化,却得不到反映,因此当开发人员把系统交付给用户时,用户对产品不满意的现象经常发生,对软件的修改又导致维护工作量和开发费用的增加。
3.18什么是软件维护?有几种维护?每种维护完成的任务是什么?
解答:
软件维护是对已交付使用的软件进行排错、修改和扩充的工作。维护工作类型包括:纠错性维护、完善性维护、适应性维护和预防性维护。
纠错性维护,对程序中出现的错误进行查找、定位、修改和重新测试。
完善性维护,对原有系统进行修改和扩充,如扩充新功能、完善操作方式。
黑盒测试也称为功能测试或数据驱动测试,是针对软件已经实现的功能是否满足需求进行的测试和验证。黑盒测试不考虑程序内部的结构和内部特性,只依据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明。所以,黑盒测试是在软件接口处进行,完成功能验证的。
第3章_公共基础软件工程基础
• 软件需求规格说明书是需求分析阶段的最后成果, 通过建立完整的信息描述、详细的功能和行为描述、 性能需求和设计约束的说明、合适的验收标准,给 出对目标软件的各种需求。
PPT文档演模板
第3章_公共基础软件工程基础
•例题
3.3 结构化设计方法
• 1、软件设计的基础 • 从技术观点来看,软件设计包括软件结构设计、
完善求精。
PPT文档演模板
第3章_公共基础软件工程基础
• 数据字典:对所有与系统相关的数据元素的一个有 组织的列表,以及精确的、严格的定义,使得用户 和系统分析员对于输入、输出、存储成分和中间计 算结果有共同的理解。
• *:数据字典的作用是对数据流图中出现的被命名 的图形元素的确切解释。 *:数据字典是结构化分析方法的核心。
• 软件测试方法:静态测试和动态测试。
• 静态测试:包括代码检查、静态结构分析、 代码质量度量。不实际运行软件,主要通 过人工进行。
• 动态测试:是基于计算机的测试,主要包 括白盒测试方法和黑盒测试方法。
PPT文档演模板
第3章_公共基础软件工程基础
• 3 白盒测试
•例题
– 结构测试
– 将软件看成透明的白盒,根据程序的内部结构和逻辑结 构来设计测试例子,对程序的路径和过程进行测试,检
第3章_公共基础软件工程基础
• 7. 软件工具和软件开发环境
– 软件工具(CASE):用来辅助软件开、运行、 维护、管理、支持等过程中的活动的软件
– 软件开发环境:支持软件产品开发的软件系统, 它由软件工具集和环境集成机制构成
PPT文档演模板
第3章_公共基础软件工程基础
3.2 结构化分析方法
软件工程基础考试
软件工程基础考试(答案见尾页)一、选择题1. 软件工程的基础是什么?A. 程序设计B. 数据结构C. 计算机科学D. 需求分析2. 软件开发过程中,需求分析和系统设计的关系是什么?A. 需求分析是系统设计的依据B. 需求分析和系统设计同时进行C. 需求分析在系统设计之后进行D. 需求分析和系统设计没有必然联系3. 软件工程的三个层次及其在软件开发过程中的作用是什么?A. 应用层、系统层、理论层B. 物理层、数据层、逻辑层C. 需求层、设计层、实施层D. 开发层、测试层、维护层4. 软件开发生命周期(SDLC)的概念是什么?它包括哪几个阶段?A. 软件开发生命周期是指软件的开发过程B. SDLC包括需求分析、设计、编码、测试和维护C. SDLC是一个线性的过程D. SDLC各阶段按顺序进行,不具备迭代性5. 什么是敏捷开发方法?它与其他开发方法的区别是什么?A. 敏捷开发是一种快速开发的软件开发方法B. 敏捷开发强调团队合作和客户参与C. 敏捷开发适合大规模软件项目D. 敏捷开发与其他开发方法的区别在于流程管理6. 什么是面向对象编程(OOP)?请列举OOP的三个基本特征。
A. 封装、继承、多态B. 封装、继承、抽象C. 封装、多态、接口D. 继承、多态、接口7. 数据库管理系统(DBMS)在软件开发中的作用是什么?A. 存储和管理数据B. 提供数据查询和修改功能C. 数据库管理员(DBA)负责DBMS的管理和维护D. 所有选项都正确8. 什么是版本控制?请简述版本控制的两种主要策略。
A. 版本控制是一种软件配置管理技术B. 版本控制可以跟踪软件项目的变更C. 版本控制的主要策略有Git和SVND. 版本控制确保软件代码的安全性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. ISO 9000B. CMMIC. PMBOKD.软件开发生命周期(SDLC)15. 在软件工程中,测试的目的是什么?A. 证明软件的正确性B. 找出软件中的错误C. 提高软件的质量D. 规范软件的开发过程16. 软件工程中的“软件生命周期”通常包括哪几个阶段?A. 开发B. 运行C. 维护17. 软件工程中,版本控制的主要作用是什么?A. 监控软件的修改历史B. 管理软件的版本C. 确保软件的一致性D. 保证软件的可靠性18. 软件工程中,敏捷开发方法是一种以人为核心、迭代、循序渐进的开发方法,它的核心价值包括:A. 个体和互动跨功能团队B. 可用的软件客户合作C. 响应变化随时间进化D. 面向结果19. 在软件工程中,UML(统一建模语言)是一种用于描述、构造和编写软件系统的图形化语言,它通常用于以下哪个阶段?A. 需求分析B. 设计C. 编码D. 测试20. 软件工程的定义是什么?A. 软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。
3章软件工程基础
(1) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。
(B)A. 可行性分析B. 需求分析C. 详细设计D. 程序编码(2) 在软件开发中,下面任务不属于设计阶段的是______。
(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型(3) 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶______。
(D)A. 概要设计B. 详细设计C. 可行性分析D. 需求分析(4) 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是______。
(A)A. 控制流B. 加工C. 数据存储D. 源和潭(5) 软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及______。
(B)A. 阶段性报告B. 需求评审C. 总结D. 都不正确(6) 下面不属于软件工程的3个要素的是______。
(D)A. 工具B. 过程C. 方法D. 环境(7) 程序流程图(PFD)中的箭头代表的是______。
(B)A. 数据流B. 控制流C. 调用关系D. 组成关系(8) 检查软件产品是否符合需求定义的过程称为______。
(A)A. 确认测试B. 集成测试C. 验证测试D. 验收测试(9) 下列工具中属于需求分析常用工具的是______。
(D)A. PADB. PFDC. N-SD. DFD(10) 下面不属于软件设计原则的是______。
(C)A. 抽象B. 模块化C. 自底向上D. 信息隐蔽软件工程研究的内容主要包括:【4】技术和软件工程管理。
【参考答案】软件开发(40)检查软件产品是否符合需求定义的过程称为A)确认测试B)集成测试C)验证测试D)验收测试【参考答案】 A(41)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
软件工程基础知识
软件工程基础知识考点指导考点 1 :软件工程和项目管理基础★★★考点点拨:本考点考查软件工程和软件生成周期的概念,常用的软件开发模型,以及软件开发项目管理基础知识。
【试题1】软件工程三要素是____________ 。
A)技术、方法和工具B)方法、工具和过程C)方法、对象和类D)过程、模型、方法答案:B 分析:软件工程三要素:方法、工具和过程。
软件工程方法为软件开发提供了“如何做” 的技术。
软件工具为软件工程方法提供了自动的或半自动的软件支撑环境。
软件工程过程定义了:方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理以及软件开发各个阶段完成的工作。
理论链接:软件工程概述1.软件危机软件危机是指计算机软件开发和维护过程中所遇到的一系列严重问题。
概括的说即为:能否满足对软件日益增长的需求?能否维护数量日益增长的现有软件?2.软件工程软件工程是一类求解软件的工程,它应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量、降低成本的目的。
其中,计算机科学、数学用于构造模型与算法,工程科学用于制定规、设计型、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。
软件工程是一门指导计算机软件开发和维护的工程学科。
软件工程准则可以概括为六条基本原理:(1 )用分阶段的生存周期计划严格管理;(2)坚持进行阶段评审;(3 )实行严格的产品控制;(4 )采用现代程序设计技术;(5)应能清楚地审查结果;(6 )合理安排软件开发小组的人员。
【试题2】软件开发的结构化生命周期方法将软件生命周期划分成__________________ 。
A )计划阶段、开发阶段、运行阶段B )计划阶段、编程阶段、测试阶段C)总体设计、详细设计、编程调试 D )需求分析、功能定义、系统设计答案:A【试题3】软件生命周期的最后的一个阶段是______________ 。
A)书写软件文档 B )软件维护C)稳定性测试D)书写详细用户说明答案:B理论链接:软件生存(生命)周期软件生存周期:软件的产生直到报废的生命周期。
3软件工程基础
第3章软件工程基础3.1软件工程基本概念计算机软件(software)是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。
国标(GB)中对计算机软件的定义为:与计算机系统的有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。
一软件是程序、数据和文档的集合。
27.1.79_1软件是指A程序B程序和文档C算法加数据结构D程序、数据与相关文档的完整集合软件的特点:1、软件是一种逻辑实体,具有抽象性;2、软件没有明显的制作过程,一旦研制开发成功,可以大量拷贝;3、软件在开发和运行、使用期间不存在磨损、老化问题4、软件的开发、运行对计算机系统具有依赖性,并受计算机系统的限制;5、软件复杂性高,成本昂贵;6、软件开发涉及到诸多的社会因素。
27.4.54_8下列描述中正确的是A) 程序就是软件B) 软件开发不受计算机系统的限制C) 软件既是逻辑实体,又是物理实体D) 软件是程序、数据与相关文档的集合软件按功能可以分为:应用软件、系统软件、支撑软件(工具软件)。
软件工程的概念的出现源自软件危机。
所谓软件危机是泛指计算机软件的开发和维护过程中所遇到的一系列严重问题。
主要表现在:(1)软件需求的增长得不到满足。
用户对系统不满意的情况经常发生。
(2)软件开发成本和进度无法控制。
开发成本超出预算,开发周期大大超过规定日期的情况经常发生。
(3)软件质量难以保证。
(4)软件不可维护或维护程序非常低。
(5)软件的成本不断提高。
(6)软件开发生产率的提高赶不上硬件的发展和应用需求的增长。
总之,可以将软件危机归结为成本、质量、生产率等问题。
软件工程就是试图用工程、科学和数学的原理和方法研制、维护计算机软件的有关技术及管理方法。
国标(GB)中对软件工程的定义为:软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。
软件工程3个要素:方法、工具和过程。
方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。
软件工程基础考试题目和答案
软件工程基础考试题目和答案一、选择题(每题5分,共25分)1. 软件工程的主要目标是什么?A. 提高软件开发效率B. 确保软件质量C. 降低软件开发成本D. 提高软件的可维护性答案:B2. 下列哪个阶段不属于软件开发生命周期?A. 需求分析B. 设计C. 测试D. 需求变更答案:D3. 下列哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 面向过程编程答案:A4. 下列哪个工具主要用于软件项目进度监控?A. Gantt图B. 思维导图C. 帕累托图D. 直方图答案:A5. 下列哪种方法主要用于风险管理?A. 风险识别B. 风险评估C. 风险应对D. 风险监控答案:A二、填空题(每题5分,共25分)1. 软件工程的核心思想是______,通过规范的开发过程和严格的质量控制,提高软件的质量和可靠性。
答案:工程化2. 软件需求分析的主要目的是______,明确软件的功能和性能要求。
答案:理解用户需求3. 结构化分析方法主要包括______、数据流图、实体关系图等。
答案:数据字典4. 软件测试的主要目的是______,发现并修复软件中的缺陷。
答案:保证软件质量5. 敏捷开发方法的核心价值观是______,强调快速响应变化和客户合作。
答案:个体和互动三、简答题(每题10分,共30分)1. 请简要描述软件开发生命周期的主要阶段及其作用。
答案:软件开发生命周期主要包括需求分析、设计、编码、测试和维护等阶段。
需求分析阶段用于理解用户需求,设计阶段用于制定软件架构和详细设计,编码阶段用于实现软件功能,测试阶段用于发现并修复软件缺陷,维护阶段用于提供软件支持和更新。
2. 请简要介绍敏捷开发方法的主要特点和实践原则。
答案:敏捷开发方法主要包括个体和互动、工作软件、客户合作、响应变化等价值观。
实践原则包括短迭代周期、持续反馈、自我组织和协作等。
敏捷开发方法强调快速响应变化,提高软件质量和开发效率。
软件工程第3章 习题
第3章习题一、选择题1)下列哪个选项不是需求分析的特点A)问题确定难C)交流共识难B)需求稳定性D)完备一致难2)软件质量必须从需求分析开始,在()加以保证。
A)开发之前B)开发之后C)可行性研究过程中D)整个开发过程3)SA 方法的基本思想是A)自底向上逐步抽象B)自底向上逐步分解C)自顶向下逐步分解D)自顶向下逐步抽象4)DFD 是常用的进行软件需求分析的图形工具,其基本符号是A)输入、输出、外部实体和加工B)变换、加工、数据流和存储C)加工、数据流和数据存储和外部实体D)变换、数据存储、加工和数据流5)判定表和判定树是DFD 中用以描述加工的工具,他通常描述的对象是A)逻辑判断B)层次分解C)操作条目D)组合组件6)系统流程图用于可行性分析中的( ) 的描述A)当前运行系统B)当前逻辑模型C)目标系统D)新系统7)在程序的描述和分析中,用于指明数据来源、流向和处理的辅助图形是A)数据结构图B)DFD C)业务结构图D)其他图8)U/C 矩阵是用来进行()的方法A)系统开发B)系统分析C)子系统划分D)系统规划9)需求规格说明书的作用不应该包括BA)软件设计的依据B)用户与开发人员对软件要做什么的共同理解C)软件验收的依据D)软件可行性研究的依据10)业务流程图是描述( ) 的工具A)逻辑系统的处理过程C)某个软件运行过程B)程序系统的处理过程D)某个具体业务的处理过程11)下面关于需求分析目的叙述,哪个选项是错误A)逐一细化软件的设计步骤B)面向用户获取并分析需求C)检查和解决不同需求间的矛盾,尽量达到均衡和优化D)确定软件的边界,以及软件与环境的相互作用方式12)下列哪个选项不是结构化分析具体步骤A)构建原系统物理模型C)建立新系统物理模型B)抽象原系统逻辑模型D)进一步补充和优化13)下面关于需求报告和需求规格说明书两者之间区别的叙述,哪个选项是错误的A)用户需求报告对外,需求规格说明书对内使用B)用户需求报告是合同的产物,需求规格说明书是立项建议书的产物C)通过用户需求报告可产生需求规格说明书D)需求规格说明书从业务领域的角度定义高层的需求14)下列哪个选项不属于需求分析的任务A.确定总体目标及组织结构1附件3:阶段测试题排版格式B.深入领域分析,画出业务流程图C.确定系统逻辑模型D.确定功能需求,完成功能结构图及点列表15)下列哪个选项不属于需求分析的任务A.获取性能需求,列出性能点列表B.明确系统规模和目标C.确定系统运行环境及界面D.修正开发计划和新系统方案16)下面是关于开展需求分析工作技巧的叙述,哪个选项是错误的A) 需求分析是分析师与设计师双方进行配合的项目,需要密切交流合作。
二级-公共基础知识-第3章-软件工程基础ppt课件
本章考纲中要求的考试内容
1. 软件工程基本概念,软件生命周期概念,软件 工具与软件开发环境。
2. 结构化分析方法,数据流图,数据字典,软件 需求规格说明书。
3. 结构化设计方法,总体设计与详细设计。 4. 软件测试的方法,白盒测试与黑盒测试,测试 用例设计,软件测试的实施,单元测试、集成测试和 系统测试。 5. 程序的调试,静态调试与动态调试。
3
软件指的是计算机系统中与硬件相互依 存的另一部分,包括程序、数据和相关文档 的完整集合。
程序是软件开发人员根据用户需求开发 的、用程序设计语言描述的、适合计算机执 行的指令序列。数据是使程序能正常操纵信 息的数据结构。文档是与程序的开发、维护 和使用有关的图文资料。
4
可见,软件由两部分组成: 机器可执行的程序和数据; 机器不可执行的,与软件开发、运行、
8
1.3.2 软件危机与软件工程 软件危机:是泛指在计算机软件的开发和
维护过程中所遇到的一系列严重问题。 可以将软件危机归结为成本、质量、生产
率等问题。 软件工程概念的出现源自软件危机。 软件工程:就是试图用工程、科学和数学
的原理与方法研制、维护计算机软件的有关技 术及管理方法。
9
软件工程的主要思想就是强调在软件开发过 程中需要应用工程化原则。 软件工程包括3个要素,即方法、工具和过程。
19
定义阶段(或称分析阶段)是保证软件质量 的第一步,它的任务是复杂的,如何分析用户 要求,软件需求规格说明书用什么形式表示等 都需要有一定的技术来指导。由于在分析阶段 软件人员需要同用户进行讨论,这个阶段的方 法、模型、语言和工具都必须考虑到用户的特 点,既能完整精确地描述用户要求,又简单易 懂可以被广大用户接受。
软件工程基础知识考试
软件工程基础知识考试(答案见尾页)一、选择题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. 1周B. 2周C. 3周D. 4周9. 在软件工程中,什么是配置管理?A. 管理软件配置项的过程B. 软件开发过程中的一个活动C. 与软件开发和维护相关的所有活动的集合D. 软件开发完成后进行的活动10. 软件工程的定义是什么?A. 软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。
B. 软件工程关注软件的开发、测试、维护和项目管理。
C. 软件工程的目标是实现软件的自动化开发。
D. 软件工程是一种实践性知识,不依赖于特定的工具或技术。
11. 软件开发过程中通常使用的模型有哪些?A. 瀑布模型B. 迭代模型C. 螺旋模型D. 面向服务的模型12. 什么是需求分析?它在软件开发过程中的作用是什么?A. 需求分析是识别和分析软件系统需要满足的条件或功能的过程。
B. 需求分析在软件开发过程中确保最终产品满足用户需求。
软件工程基础第3章
第2章 需求分析
2.判定表 在某些数据处理中,某数据流图的加工需要依 赖于多个逻辑条件的取值,就是说完成这一加工 的一组动作是由于某一组条件取值的组合而引发 的。这时使用判定表来描述比较合适。 一张判定表通常由四部分组成,左上部列出的 是所有的条件,左下部为所有可能的操作,右上 部分表示各种条件组合的一个矩阵,右下部分是 对应于每种条件组合应有的操作。
(7)原型细部的说明 对于所有那些不能通过原型说明的项目,仍 需通过文件加以说明。严格说明的成份要作为原 型化方法的模型编入字典,以得到—个统一、连 贯的规格说明。
第2章 需求分析
(8)判定原型效果 考察用户新加入的需求信息和细部说明信息, 看其对模型效果有什么影响?是否会影响模块的 有效性?如果使模型效果受到影响,甚至导致模 型失效,则要进行修正和改进。 (9)整理原型和提供文档 整理原型的目的是为进一步开发提供依据。 原型的初期需求模型是一个自动的文档。
第2章 需求分析
(3) 书写需求分析的文档
把分析的结果用正式的文档记录下来,作 为最终软件配置的一个组成成分。应该完成下 述四份文档资料:系统规格说明 、数据需求 、 用户系统描述 、修正的开发计划 。 (4) 需求分析评审 作为需求分析阶段的复查手段,在需求分析 的最后一步,应该对功能的正确性、完整性和 清晰性,以及其他需求给予评价。
(5)判定原型完成 经过修改或改进的原型,如果获得参与者一 致认可,则原型开发的迭代过程可以结束。为此, 应判断有关应用的实质是否已经掌握,迭代周期 是否可以结束等。
第2章 需求分析
(6)判断原型细部是否说明
判断组成原型的细部是否需要严格地加以说 明。原型化方法允许对系统必要成份进行严格的 详细的说明,例如将需求转化为报表、给出统计 数字等。对于这些不能通过模型进行说明的成份, 如果必要,需提供说明,并利用屏幕等工具进行 讨论和确定。
考点3:软件工程基础
1.下面描述不属于软件特点的是()。
答案:DA)软件是一种逻辑实体,具有抽象性B)软件在使用中不存在磨损、老化问题C)软件复杂性高D)软件使用不涉及知识产权题目解析:软件是不像硬件一样具有实物的特性,而是一种逻辑实体,具有抽象性;开发复杂性高,成本昂贵并且在运行、使用期间不存在磨损、老化问题;故A、B和C选项正确。
由于软件是一种知识产品,受知识产权法的保护,所以D选项不正确。
2.程序测试的目的是()。
答案:CA)为被测程序设计正确的测试用例B)发现并改正程序中的错误C)发现程序中的错误D)改正程序中的错误题目解析:程序测试是使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别,即为发现错误而执行程序的过程,而不是改正错误。
故正确答案为C。
3.下面不属于软件需求分析阶段工作的是()。
答案:BA)需求获取B)需求计划C)需求分析D)需求评审题目解析:软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素,可分为需求获取、需求分析及需求评审三个阶段。
故B选项不属于软件需求分析阶段工作。
4.软件设计中模块划分应遵循的准则是()。
答案:CA)高耦合低内聚B)高耦合高内聚C)低耦合高内聚D)低耦合低内聚题目解析:在程序结构中各模块的内聚性越强,则耦合性越弱。
优秀软件应高内聚,低耦合,有利于提高模块的独立性。
故正确选项为C。
5.下面不属于黑盒测试方法的是()。
答案:BA)边界值分析法B)基本路径测试C)等价类划分法D)错误推测法题目解析:黑盒测试也称功能测试或数据驱动测试。
是在软件接口处进行,完成功能验证。
黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求和功能规格说明,检查程序的功能是否符合它的设计要求。
主要诊断功能不对或遗漏、界面错误、数据结构或外部数据库访问错误、性能错误、初始化和终止条件错,用于软件确认测试。
第3章软件工程基础
第3章软件工程基础【考点精讲】1.软件定义与软件特点软件指的是计算机系统中与硬件相互依存的另一部分,包含程序、数据与有关文档的完整集合。
程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令序列。
数据是使程序能正常操纵信息的数据结构。
文档是与程序的开发、保护与使用有关的图文资料。
可见,软件由两部分构成:(1)机器可执行的程序与数据;(2)机器不可执行的,与软件开发、运行、保护、使用等有关的文档。
根据应用目标的不一致,软件可分应用软件、系统软件与支撑软件(或者工具软件)。
名称描述应用软件为解决特定领域的应用而开发的软件系统软件计算机管理自身资源,提高计算机使用效率并为计算机用户提供各类服务的软件支撑软件(或者工具软件)支撑软件是介于两者之间,协助用户开发软件的工具性软件2.软件工程为了摆脱软件危机,提出了软件工程的概念。
软件工程学是研究软件开发与保护的普遍原理与技术的一门工程学科。
所谓软件工程是指,使用工程的概念、原理、技术与方法指导软件的开发与保护。
软件工程学的要紧研究对象包含软件开发与保护的技术、方法、工具与管理等方面。
软件工程包含3个要素:方法、工具与过程。
名称描述方法方法是完成软件工程项目的技术手段工具工具支持软件的开发、管理、文档生成过程过程支持软件开发的各个环节的操纵、管理考点2 软件生命周期【考点精讲】1.软件生命周期概念软件产品从提出、实现、使用保护到停止使用退役的过程称之软件生命周期。
通常包含可行性分析研究与需求分析、设计、实现、测试、交付使用与保护等活动,如图3-1所示。
软件生命周期分为3个时期共8个阶段,(1)软件定义期:包含问题定义、可行性研究与需求分析3个阶段;(2)软件开发期:包含概要设计、全面设计、实现与测试4个阶段;(3)运行保护期:即运行保护阶段。
软件生命周期各个阶段的活动能够有重复,执行时也能够有迭代,如图3-1所示。
2.软件生命周期各阶段的要紧任务图3-1 软件生命周期在图3-1中的软件生命周期各阶段的要紧任务是:考点3 软件设计基本概念【考点精讲】从技术观点上看,软件设计包含软件结构设计、数据设计、接口设计、过程设计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章软件工程基础经典题(8%-10%)一、选择题1、下列叙述中正确的是______。
(2005,9)A)程序设计就是编制程序B)程序的测试必须由程序员自己去完成C)程序经调试改错后还应进行再测试D)程序经调试改错后不必进行再测试2、下列叙述中正确的是______。
(2005,9)A)软件工程只是解决软件项目的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D)软件工程只是解决软件开发中的技术问题3、在软件设计中,不属于过程设计工具的是___。
(2005,9)A)PDL(过程设计语言)B)PAD图C)N-S图D)DFD图4、下列叙述中正确的是______。
(2005,9)A)软件交付使用后需要进行维护B)软件一旦交付使用就不需要再进行维护C)软件交付使用后其生命周期就结束D)软件维护是指修复程序中被破坏的指令5、两个或两个以上模块之间关联的紧密程度称为___。
(2006,4)A)耦合度B)内聚度C)复杂度D)数据传输特性6、下列叙述中正确的是______。
(2006,4)A)软件测试应该由程序开发者来完成B)程序经调试后一般不需要再测试C)软件维护只包括对程序代码的维护D)以上3种说法都不对7、从工程管理角度,软件设计一般分为两步完成,分别是______。
(2006,9)A)概要设计和详细设计B)数据设计与接口设计----------专业最好文档,专业为你服务,急你所急,供你所需-------------C)软件结构设计与数据设计D)过程设计与数据设计8、下列选项中不属于软件生命周期开发阶段任务的是______。
(2006,9)A)软件测试B)概要设计C)软件维护D)详细设计9、下列叙述中正确的是______。
A)软件测试的主要目的是发现程序中的错误B)软件测试的主要目的是确定程序中错误的位置C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D)软件测试是证明软件没有错10、软件是指______。
A)程序B)程序和文档C)算法加数据结构D)程序、数据与相关文档11、软件调试的目的是______。
A)发现错误B)更正错误C)改善软件性能D)验证软件的正确性12、下列描述中正确的是______。
(2005,4)A)程序就是软件B)软件开发不受计算机系统的限制C)软件既是逻辑实体,又是物理实体D)软件是程序、数据与相关文档的集合13、软件生命周期是指______。
A)软件系统投入运行到软件系统被淘汰B)软件系统开始研制到软件系统投入试运行C)软件系统投入试运行到软件系统被淘汰D)软件系统开始研制到软件系统被淘汰14、软件工程与计算机科学性质不同,软件工程着重于______。
A)理论研究B)建造软件系统C)原理和理论D)原理探寻15、软件系统生命周期的第一个阶段是______。
A)软件分析阶段B)软件设计阶段C)软件运行阶段D)软件维护阶段----------专业最好文档,专业为你服务,急你所急,供你所需-------------16、软件工程方法的产生源于软件危机,下列______是产生软件危机的内在原因。
I. 软件的复杂性II. 软件维护困难III.软件成本太高IV.软件质量难保证A)I B)III C)I和IV D)III和IV 17、软件生命周期包括软件定义期、软件开发期和软件运行期。
下述不属于软件开发期所包含内容的是______。
A)需求分析B)结构设计C)程序编制D)性能优化18、开发软件时对提高开发人员的工作效率至关重要的是______。
A)计算机的并行处理能力B)领导的关心C)程序人员的数量D)软件开发环境19、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为______。
A)层次模型B)螺旋模型C)瀑布模型D)对象模型20、软件工程管理包括______、软件工程经济学、软件心理学等内容。
A)软件规划学B)软件管理学C)软件设计学D)软件分析学21、包括程序、数据和文档的整个软件系统的各模块应使用已知的概念、符号和术语;程序内外部接口应保持一致,系统规格说明与系统行为应保持一致。
这一原则是软件开发的______ 原则。
A)一至性B)模块化C)局部化D)完备性22、文字处理软件属于______。
A)系统软件B)应用软件C)家用软件D)支撑软件23、产生满足规格说明的软件是指的是______。
A)软件演进B)软件确认C)软件开发D)软件规格说明24、软件工程是一种______分阶段实现的软件程序开发方法。
A)自底向上B)自顶向下C)逐步求精D)面向数据流25、在软件生命周期法中,用户的参与主要在______。
----------专业最好文档,专业为你服务,急你所急,供你所需-------------A)软件定义期B)软件开发期C)软件维护期D)整个软件生命周期过程中26、计算机软件______。
A)是计算机系统的组成部分B)不能作为商品参与交易C)是在计算机硬件设备生产过程中生产出来的D)只存在于计算机系统工作时27、软件开发的可行性研究,一般涉及经济、技术各操作的可行性,而进行可行性研究的基本依据则是用户提出的软件______。
A)系统质量B)系统目标C)系统功能D)系统性能28、软件可行性分析着重确定系统的目标和规模,对功能、性能以及约束条件的分析应属于下列中的______。
A)经济可行性B)技术可行性C)操作可行性D)开发可行性29、数据流图和______共同组成系统逻辑模型。
A)HIPO B)PDL 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)PAD B)PFD C)N-S D)DFD37、软件工程的结构化分析方法强调的是分析开发对象的______。
A)数据流B)控制流C)时间限制D)进程通信38、瀑布模型将软件生命周期归纳为3个时期,即计划期、开发期和运行期。
下列______不属于开发期内的工作。
A)总体设计B)详细设计C)程序设计D)维护39、______是程序中一个能逻辑分开的部分,即离散的程序单位。
A)模块B)复合语句C)循环结构D)数据块40、判定树和判定表是用于描述结构化分析方法中的______。
A)功能说明B)数据加工C)流程描述D)性能说明41、模块本身的内聚是模块独立性的重要性度量因素之一。
在7类内聚中,具有最强内聚的一类是______。
A)顺序性内聚B)过程性内聚C)逻辑性内聚D)功能性内聚42、数据字典是对数据定义信息的集合,它所定义的对象都包含在______。
A)数据流图B)程序框图C)软件结构D)方框图43、程序流程图是一种传统的程序设计表示工具,有其优点和缺点,使用该工具时应注意______。
A)支持逐步求精B)考虑控制流程C)遵守结构化设计原则D)数据结构表示44、软件开发的结构化分析方法常用的描述软件功能需求的工具是______。
A)业务流程图、处理说明B)软件流程图、模块说明C)数据流程图、数据字典D)系统流程图、程序编码45、软件开的结构化方法中常用数据字典技术,其中数据加工是其组成内容之一,下述方法是常采用编写加工说明的方法----------专业最好文档,专业为你服务,急你所急,供你所需-------------______。
I. 结构化语言II. 判定树III. 判定表A)只有I B)只有II C)II和III D)都是46、在结构化方法的软件需求定义中、可采用分析工具来辅助完成。
下列工具中,______是常用的工具。
I. 数据流图II. 结构图III. 数据字典IV. 判定表A)I和III B)II和IIIC)I、III和IV D)I、III和IV47、软件开发的结构化设计方法,全面指导模块划分的最重要的原则应该是______。
A)模块高内聚B)模块低耦合C)模块独立性D)程序模块化48、结构化软件开发期将软件的开发划分为3个阶段,其中关键是______。
A)编码的正确性B)需求的准确性C)测试的严格性D)设计的科学性49、面向数据流的设计方法把______映射成软件结构。
A)数据流B)系统结构C)控制结构D)信息流50、在软件结构化设计中,好的软件结构设计应该力求做到______。
A)顶层扇出较少,中间扇出较高,底层模块低扇入B)顶层扇出较高,中间扇出较少,底层模块高扇入C)顶层扇入较少,中间扇出较高,底层模块高扇入D)顶层扇入较少,中间扇入较高,底层模块低扇入51、面向数据流的软件设计方法,一般是把数据流图中的数据流划分为______两种流,再将数据流图映射为软件结构。
A)数据流与事务流B)变换流与事务流C)信息流与控制流D)变换流与数据流52、在软件设计中,可应用于详细设计的工具有______。
A)程序流程图、PAD、方框和伪码B)数据流程图、PAD、结构图和伪码C)业务流程图、N-S图和伪码D)数据流程图、PAD、N-S图和伪码53、详细设计是软件总体设计之后的工作。
下列可选内容中,----------专业最好文档,专业为你服务,急你所急,供你所需-------------______不属于详细设计内容。
A)算法设计B)模块设计C)屏幕设计D)功能设计54、软件详细设计主要采用的方法是______。
A)结构化程序设计B)模型设计C)结构化设计D)流程图设计55、______复审应该把重点放在系统的总体结构、模块划分和内外接口等方面。
A)详细设计B)系统设计C)正式D)非正式56、概要设计的结构是提供一份______。
A)模块说明书B)框图C)程序D)数据流图57、在软件开发过程中,软件结构设计是描述______的。