软件工程基础:王立福讲解软件开发本质与方法

需积分: 37 19 下载量 70 浏览量 更新于2024-08-15 收藏 3.61MB PPT 举报
"王立福教授的2011版软件工程自学考试课件,主要讲解了软件开发的基础知识,包括软件开发的本质、软件过程、软件需求、开发方法学以及CMM模型等内容,旨在帮助学习者理解软件生命周期的各个阶段及其相互关系。课件中提到了多个抽象层次的概念映射,如数据抽象和过程抽象,并举例说明了需求分析在软件开发中的重要作用。" 在"软件工程"这一学科中,核心目标是有效地进行软件开发和评估。王立福教授的讲解中,他强调了“知其然,知其所以然”的重要性,即不仅要理解软件开发的表面操作,还要深入理解背后的原理和机制。软件生存周期过程是从问题域到不同抽象层的映射,这个过程涵盖了需求分析、设计、实现、测试和维护等多个阶段。 在“一、概论”部分,王立福教授探讨了软件开发的本质,指出问题域和解决方案之间的差异,以及如何通过不同的开发方法将问题转化为计算逻辑。例如,数据抽象是将问题空间的概念转化为模型化概念,而过程抽象则是将问题的处理逻辑转化为可执行的代码。 在“二、软件过程”中,他提到了软件开发涉及的活动和组织,强调了软件生命周期中的活动顺序和相互关系,这是软件工程过程支持的基础。 “三、软件需求及系统/产品(需求)规约”部分,他指出需求是软件开发的起点,也是测试和验证产品的标准。需求规格说明书清晰地定义了系统的行为和性能预期。 在“四、软件开发方法学”中,教授列举了多种方法,如结构化方法、面向对象方法等,这些方法提供了从需求到实现的不同路径。 最后,“五、CMM(Capability Maturity Model for software)”部分,他讨论了如何通过CMM模型提升软件开发过程的能力,确保软件产品的质量和可靠性。 这份课件详尽地阐述了软件工程的基本知识结构,为自学者提供了全面的理论指导和实践案例,有助于深化对软件开发的理解。