软件工程基础与王立福2011版课件解析

需积分: 37 22 下载量 114 浏览量 更新于2024-07-20 收藏 3.61MB PPT 举报
"2011版王立福自学考试的软件工程课件,由北京大学软件工程国家工程研究中心的王立福教授讲解,涵盖了软件工程的基础、软件过程、软件需求、开发方法学以及CMM等内容,旨在帮助学习者理解软件开发的本质和方法,提升软件开发过程的能力保障。" 在软件工程领域,王立福教授强调了理解和掌握软件开发的本质至关重要。软件开发的本质是将问题域中的客观事物系统转化为不同抽象层的概念和计算逻辑的映射。这个过程包括数据抽象和过程抽象,通过需求分析、面向对象方法或结构化方法等手段来实现。 1. 数据抽象:这是问题空间中的概念与解空间的模型化概念之间的映射,例如,将现实世界中的个体如“张山”转化为程序中的对象。这个过程通常在需求分析阶段进行,利用面向对象方法来构建计算的客体。 2. 过程抽象:是问题空间的处理逻辑与解空间处理逻辑之间的映射,如计算学生的平均成绩。这涉及到将实际操作转化为结构化的计算逻辑,通常运用结构化方法,基于过程抽象的原理,目的是创建可构造的计算流程。 3. 交互设计:在需求分析和设计阶段,可能还需要通过交互图来表达用户与系统的交互方式,例如,如何使用面向对象方法设计计算学生成绩的界面和流程。 软件过程则是关注开发过程中涉及的各项活动及其组织。这包括从软件需求的获取和定义,到设计、编码、测试、维护等各个阶段。软件需求和系统/产品需求规约是软件开发的起点,它们不仅是开发工作的指南,也是后续产品确认和测试的标准。 软件开发方法学涵盖了各种不同的方法,如结构化方法、面向对象方法、面向数据结构方法和维也纳开发方法等,这些方法提供了实现开发过程的途径。同时,CMM(软件能力成熟度模型)则关注如何确保开发过程的质量和效率,以产出正确的软件产品或系统。 王立福教授的课件详细介绍了软件工程的核心概念和实践,为自学者提供了一套系统性的学习框架,帮助他们建立起对软件开发全面而深入的理解,从而更有效地进行软件开发和测评。