软件工程考研重点:考题与质量标准解析

需积分: 5 0 下载量 134 浏览量 更新于2024-06-16 收藏 55KB DOCX 举报
该资源是一份关于软件工程的考研真题和参考答案,涵盖了软件工程的基础概念、软件生命周期、过程模型、质量管理和软件成熟度模型等多个方面。 1. 软件危机:软件危机指的是在软件开发和维护过程中遇到的一系列问题,如开发成本过高、进度延误、软件质量差、难以维护等,这些问题导致了软件项目的成功率下降。 2. 软件生命周期:软件生命周期是指从软件的概念形成到最终废弃的整个过程,包括需求分析、设计、编码、测试、运行和维护等阶段。 3. 软件过程模型:常见的软件过程模型有瀑布模型、原型模型、螺旋模型、敏捷开发等。瀑布模型是一种线性的、顺序的开发方式;原型模型允许快速创建初步的软件版本以获取用户反馈;螺旋模型结合了瀑布模型和原型模型,强调风险管理;敏捷开发则强调迭代和灵活应对变化。 4. CMMI(能力成熟度模型集成):CMMI提供了两种表示方式,连续式模型和阶段式模型,前者关注单个过程域的改进程度,后者将过程域分组到不同成熟度级别。 5. 耦合:耦合度是衡量软件模块间相互依赖程度的指标,常见的耦合类型有内容耦合、公共耦合、外部耦合、控制耦合、标记耦合等,较低的耦合度有利于提高软件的可维护性和可扩展性。 6. 开闭原则:这是面向对象设计的基本原则之一,指的是软件实体(类、模块、函数等)应对外部扩展开放,对内部修改关闭。 7. 回归测试:当软件经过修改或新增功能后,为了确保原有功能的正确性而进行的测试,以验证改动未引入新的错误或破坏原有的行为。 8. 面向过程方法:面向过程方法是以过程为中心的软件开发方法,强调对业务流程的建模和分解,通过函数或过程来实现功能。 9. RUP(统一软件开发过程):RUP是一种迭代和基于架构的软件开发方法,强调业务建模、需求、分析、设计、实现、测试和部署等各个阶段的协同工作。 10. 软件质量因素:软件质量通常由可维护性、可靠性、可理解性、效率等因素评估。例如,可维护性指软件在生命周期内进行修改的难易程度;可靠性则是软件在规定条件下持续运行的能力;可理解性涉及代码的易读性和可维护性;效率则关注软件运行时的资源利用率。 11. 软件工程管理:软件工程管理涵盖了软件生命期的所有活动,包括需求管理、项目计划、进度控制、质量保证、人员配置、成本估算等,旨在确保软件项目按照预定目标顺利进行。 12. McCall软件质量度量模型:这个模型分为三个维度,分别是产品修改(如适应性、可修改性)、产品运行(如效率、可靠性)和产品转移(如可移植性、可重用性)。 13. 瀑布模型的问题:瀑布模型的缺点在于其严格的线性顺序,一旦进入下一阶段,就难以回溯,缺乏灵活性以应对需求变化。 14. 快速原型模型:该模型强调尽早提供工作软件,以便快速获取用户反馈,适合需求不明确或易变的情况。 15. 能力成熟度模型:CMMI旨在帮助软件组织建立成熟的软件过程,但并不能确保软件无错误或防止开发人员离职。 16. 数据字典:它是对数据流图中所有数据元素的定义和描述的集合,用于提供数据源、数据流、数据存储等详细信息。 17. 软件质量度量:软件度量是评估软件质量的重要手段,包括测试、评审、性能指标等,以量化软件的特性和属性。 18. 软件危机的表现:除了成本高、生产率低、质量得不到保证外,还包括软件开发时间长、维护困难等问题。 19. 软件项目计划:通常包括人员安排、进度安排、培训计划等内容,但不包括软件开发标准的选择和制定,后者属于软件开发规范或标准的范畴。 20. 瀑布模型的特性:瀑布模型是一种整体开发模型,每个阶段依次进行,前一阶段的结果是后一阶段的输入,不适合需求频繁变动的项目。 21. 软件发展的阶段:软件经历了从早期的简单编程、结构化编程、面向对象编程到现代的敏捷开发等多个发展阶段,反映了技术的进步和方法论的演变。