克服软件危机:软件工程基础与复习重点

5星 · 超过95%的资源 需积分: 30 27 下载量 102 浏览量 更新于2024-07-17 6 收藏 191KB DOC 举报
"软件工程复习笔记" 在软件工程领域,"软件危机"是一个核心话题,它指的是在软件开发和维护中出现的诸多挑战,如低质量、低效率和高成本。这些问题导致了软件萧条和软件困扰的现象。软件危机的主要表现包括:开发成本和进度估算的不准确,用户对最终软件系统的满意度低,软件质量问题频发,软件的可维护性差,缺乏足够的文档支持,以及软件成本不断攀升和开发生产力滞后于硬件进步等。 软件危机的产生根源可以归结为两方面:首先,软件本身的特性,如其无形性使得测试和管理困难,且随着规模扩大,复杂性呈指数增长;其次,软件开发和维护的方法不当,例如忽视需求分析,将软件开发简单视为编写代码,轻视维护工作,以及对软件生命周期理解的不足。 软件有其独特的特点,如无形性使得它不同于物理产品,易于复制但难以评估;软件行业高度依赖人力,且新手开发者可能编写出难以理解和维护的代码;软件的可修改性虽然便利,但也增加了出错的风险;此外,软件不会因使用而磨损,但频繁修改可能导致设计退化。 解决软件危机的关键在于正确的认知和方法。这包括认识到软件开发是一项系统性的工程任务,需要团队协作和严格的管理;推广有效的开发技术和方法;使用先进的开发工具;同时,也需要组织和管理层面的支持。 "工程"的概念在软件工程中意味着对复杂问题的系统化处理,包括分析、设计、实现和维护等阶段。软件的经典定义涵盖了程序、文档和数据这三个关键元素,强调软件不仅是可执行的代码,还包括相关的说明文档和处理信息。 软件工程的目标是通过采用系统化、规范化的工程方法,结合技术措施(如方法和工具)和管理措施,来克服软件危机,提升软件的质量、效率和可维护性,以满足用户的需求并确保软件产品的长期稳定和成功。
2020-06-23 上传
软件工程黑书全书知识点详细汇总 考纲目录 第一章 基本概念 2 1、软件的概念和特点 2 2、软件危机的概念和产生的原因 3 3、软件工程的定义、三要素和发展过程 (重点,考过多次问答题) 4 第二章 过程模型 4 1、软件生命周期概念、软件过程概念、能力成熟度模型 CMM 概念 4 2、常见的软件过程模型:瀑布、增量、原型、螺旋、喷泉等,比较各自优缺点 5 1、瀑布模型(经典生命周期模型) 6 2、增量过程模型(增量模型+RAD模型) 6 3、演化过程模型(原型模型+螺旋模型) 7 4、喷泉模型(Water Fountain Model) 9 5、基于构件的模型(Component-baseed Development Model) 10 6、敏捷开发过程(Agile Development) 10 第三章 需求分析 11 1、需求分析的概念 12 2、需求分析的过程:需求确认与需求变更 12 3、需求确认的步骤:需求获取→需求提炼→需求描述→需求验证 13 4、需求分析三类建模:功能模型、数据模型、行为模型。面向过程 和面向对象的需分析过程中,三类模型各包含哪些内容?--------------- 15 5、 掌握数据流图和用例图作法。 31 第四章系统设计 32 1、系统设计分为概要设计和详细设计 32 2、设计相关的8个概念(抽象、体系结构、设计模式、模块化、信息隐藏、功能独立、细化、重构),着重考察体系结构、模块化、信息隐藏、功能独立。 33 3、系统设计从数据、体系结构、接口和组件四方面进行设计。面向过程和面向对象的系统设计,各自包含哪些设计内容? 37 4、掌握流程图和顺序图作法 43 第五章 质量保证 48 1、质量保证的概念 48 2、测试策略 V 模型概念,测试与开发的各阶段对应关系。 48 3、单元测试的内容、集成测试的分类、系统测试的分类、验收测试的分类。 48 4、回归测试的概念 48 5、测试技术常见术语的概念:软件缺陷、验证和确认、测试与质量保证、质量与可靠性、调 试与测试、测试用例 48 6、白盒测试、黑盒测试、静态分析各有哪些方法? 48 7、掌握逻辑覆盖与等价类划分测试方法。 48 第六章 软件维护 49 1、软件维护的基本概念 49 2、理解软件维护的四个基本类型:纠错性、适应性、完善性、预防性维护。哪种占比重最大? 哪种最小? 49 3、可维护性的决定因素 49 4、软件维护过程模型、软件再工程、逆向工程的概念 49 第七章 项目管理 49 1、项目管理四要素:人员、产品、项目、过程(概念) 49 2、软件度量有哪些方法:生产率估计(基于规模(KLOC)、基于功能点(FP))、工作量度 量(算法成本模型、COCOMO 模型)。掌握直接测量(基于规模)方法。 49 3、项目计划与风险管理的概念 49