软件工程部分习题.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
1. 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是( D) A概要设计 B详细设计 C可行性分析 D需求分析 2. 下面不属于软件工程的3个要素的是( D ) A工具 B过程 C方法 D环境 3. 程序流图(PFD)中箭头代表的是( B ) A数据流 B控制流 C调用关系 D组成关系 4. 在结构化方法中,软件功能分解属于下列软件开发中的阶段是( C ) A详细设计 B需求分析 C总体设计 D编程调试 5. 模块( C ),则说明模块的独立性越强。 A.耦合越强 B.扇入数越高 C.耦合越弱 D.扇入数越低 6. 软件结构图中,模块框之间若有直线连接,表示它们之间存在(A ) A、调用关系 B、组成关系 C、链接关系 D、顺序执行关系 7. 需求分析最终结果是产生( B ) A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告 8. 软件详细设计主要采用的方法是( D ) A. 模块设计 B、结构化设计 C、PDL语言 D、结构化程序设计 9. 按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作(C) A需求分析 B、 软件工程是计算机科学的重要分支,它关注于软件的开发、维护和管理,旨在确保软件项目的高效、可靠和可维护性。以下是对题目中涉及的知识点的详细解释: 1. **需求分析**:需求分析是软件生命周期中的关键阶段,它旨在明确软件系统的目标,确定其必须具备的功能和行为。这一阶段通过与用户交流,收集并分析需求,形成需求规格说明书。 2. **软件工程的三个要素**:工具、过程和方法是软件工程的三大要素。工具支持软件开发过程中的自动化和效率提升;过程定义了开发活动的顺序和方法;方法是指用于解决特定问题的策略和技巧。 3. **程序流图(PFD)**:PFD中的箭头代表控制流,即程序执行的顺序或条件分支。 4. **软件功能分解**:在结构化方法中,此步骤属于总体设计阶段,将高级需求转化为可实现的模块结构。 5. **模块独立性**:模块的独立性由耦合度和内聚度衡量。耦合越弱,扇入数越高,模块的独立性越强,意味着模块间的依赖性更小,更利于维护和复用。 6. **软件结构图**:模块框之间的直线连接表示调用关系,即一个模块调用另一个模块来完成特定任务。 7. **需求分析的最终结果**:需求分析完成后,应产生需求规格说明书,这是后续设计和开发的基础文档。 8. **软件详细设计**:主要采用结构化程序设计方法,设计每个模块的具体算法和数据结构。 9. **画数据流图**:数据流图是需求分析阶段的工作,用于描绘信息在系统中的流动和处理过程。 10. **程序流程图(框图)**:箭头代表控制流,表示程序执行的路径。 11. **结构化程序设计**:强调程序的易读性,通常遵循自顶向下、逐步求精的原则。 12. **软件文档的重要性**:良好的软件文档能减少返工,提高开发效率。 13. **模块独立性**:模块独立性是结构化设计的核心原则,目标是高内聚、低耦合。 14. **软件详细设计的主要任务**:确定每个模块的算法和数据结构,确保模块的功能实现。 15. **模块内聚**:功能内聚被认为是最高级别的内聚,表示模块内所有元素紧密相关,共同完成单一功能。 16. **可行性研究**:经济可行性研究关注项目成本和预期收益。 17. **详细设计阶段的工具**:PAD(Problem Analysis Diagram)常用于详细设计,帮助设计者可视化程序结构。 18. **需求分析阶段的任务**:确定软件系统应具备的功能。 19. **程序的三种基本控制结构**:顺序、选择(条件分支)和重复(循环)。 20. **软件的本质**:软件是一种逻辑产品,不具有物理形态。 21. **螺旋模型**:带有风险分析的软件开发模型,强调迭代和风险管理。 22. **软件需求分析的主要任务**:明确软件系统做什么,而非如何做。 23. **结构化分析方法**:面向数据流的分析方法,用于理解系统输入、处理和输出数据的过程。 24. **逐步求精法**:结构化程序设计的一种方法,通过逐步细化将复杂问题转化为简单可处理的部分。 25. **软件详细设计**:主要采用结构化程序设计方法,将设计概念转化为具体实现的步骤。 26. **内聚性**:功能内聚是最理想的内聚类型,意味着模块只执行单一、明确的功能。 27. **可行性研究**:经济可行性研究评估项目的成本效益。 28. **软件危机**:指软件开发过程中面临的高成本、低质量和难以维护的问题。 29. **需求分析阶段的任务**:确定软件系统的功能需求。 30. **可行性分析**:是在项目开始前进行的,以评估项目的技术、经济、法律和社会可行性。 以上知识点涵盖了软件工程的多个核心概念,包括需求分析、设计、开发方法、模块化、文档、软件质量等方面,这些都是软件工程师在实际工作中需掌握的基本技能。
- 粉丝: 192
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助