本文是软件工程的课程笔记,基于教材《敏捷软件开发项目管理与实践——以Azure DevOps Server软件开发为例》。内容涵盖了软件工程概述、软件的定义与特性、软件的三个特征、软件失效、软件的四个本质特性、软件质量评估体系CMMI以及常用的软件工程惯用模型如瀑布模型、敏捷模型等。笔记的重点是敏捷软件开发,包括Scrum敏捷模型等。
软件工程是一门研究如何以系统性、规划性、可定量的方法去开发和维护软件的学科。本文介绍了软件的背景、定义与特性,阐述了软件工程的起源与发展。此外,还详细解释了软件的四个本质特性:一致性、复杂性、不可见性和可变性,以及软件的三个特征:只能开发、无磨损、不能组装。这些内容对于理解软件工程的核心理念非常重要。
在软件质量评估方面,CMMI(软件能力成熟度集成模型)是一个重要的国际标准。本文介绍了CMMI的分级体系,从不完整到优化,每一级别都有具体的标准和要求。此外,还介绍了软件工程的惯用模型,包括瀑布模型、敏捷模型等,并对这些模型的优缺点进行了详细分析。
最后,本文强调了敏捷软件开发的重要性,特别是在需求多变、复杂的项目中,敏捷开发的优势更为明显。Scrum敏捷模型是其中一种重要的实践方法,将在后续章节中进行详细介绍。总的来说,本文为理解软件工程和敏捷软件开发提供了基础知识和理论框架。