软件工程基础与开发方法探索-王立福讲座

需积分: 29 20 下载量 32 浏览量 更新于2024-08-20 收藏 3.53MB PPT 举报
"这是一份来自2011年王立福教授的软件工程课程资料,涵盖了软件工程的基础知识,包括软件开发的本质、软件过程、软件需求、开发方法学以及CMM模型。课程强调理解软件开发的核心,并介绍了多种开发方法,如结构化、面向对象等。此外,还提到了软件生存周期模型、过程支持和不同抽象层的概念映射。" 在软件工程领域,了解软件开发的本质至关重要。软件开发不仅仅是编写代码,更是一种将问题域转化为解空间的过程,即从客观事物系统中提取概念,通过抽象和逻辑映射形成计算模型。这个过程包括数据抽象和过程抽象。 数据抽象是指将问题空间中的概念转化为模型化概念,如在例子中,将人"张山"抽象为对象。这是需求分析的一部分,通常使用面向对象的方法来实现,基于数据抽象的原理,目的是构建计算的主体。 另一方面,过程抽象涉及到问题空间的处理逻辑转化为解空间的处理逻辑,如计算学生的平均成绩。结构化方法在这种情况下被使用,基于过程抽象的原理,旨在构造一种可执行的计算逻辑。 课程还涵盖了软件过程,这是软件开发中的关键环节,包括了一系列的活动及这些活动的组织。软件需求是开发的起点,是产品或系统确认(测试)的标准。软件开发方法学则提供了如何进行开发活动的指导,包括结构化方法、面向对象方法、面向数据结构方法以及维也纳开发方法等。 CMM(Capability Maturity Model for software)模型则是为了确保软件过程的能力,以产出正确的产品或系统。它为软件开发提供了成熟度级别的框架,帮助组织提升其软件开发和管理能力。 此外,课程还提到了软件生存周期模型,这是一种描述软件从诞生到消亡各个阶段的模型,包括了软件的规划、需求分析、设计、编码、测试和维护等阶段。软件工程生存周期过程的支持涉及到在这些阶段中使用的工具、方法和技术。 这份资料深入探讨了软件工程的基础知识,提供了对软件开发全面而深入的理解,对于自学软件工程的人来说,是一份宝贵的资源。通过学习,可以掌握软件开发的本质、核心方法和过程管理,为进一步的实践和学习打下坚实的基础。