软件工程:从需求到设计的抽象过程-王立福讲解

需积分: 31 73 下载量 66 浏览量 更新于2024-08-20 收藏 3.53MB PPT 举报
"北大王立福的《软件工程》自考课件强调了标识在体系结构方面有意义的设计类,这是从分析类中初步识别出的,例如Invoice设计类源自Invoice实体类。课件涵盖软件工程基础,软件过程,需求及系统/产品规约,开发方法学,以及CMM等内容,探讨了软件开发的本质,如问题域到不同抽象层之间的映射,包括数据抽象和过程抽象。" 在软件工程中,标识在体系结构方面有意义的设计类是一个关键步骤。这通常涉及到从分析阶段的类中提取核心概念,并将其转化为设计类,以便在实现阶段进行更有效的编码。例如,分析类"Invoice"可能在体系结构上有重要的意义,因为它代表了业务流程中的核心元素。因此,可以创建一个对应的设计类"Invoice",这个设计类会包含对原始分析类的详细设计和实现考虑。 课件还涵盖了软件开发的基础知识,强调理解软件开发的本质至关重要。软件开发的本质被描述为问题域到不同抽象层之间概念和计算逻辑的映射。数据抽象是一个重要的概念,它涉及到将现实世界的问题域转化为计算模型,如将"张山"这个人物映射为一个对象。这一过程通常在需求分析阶段进行,使用面向对象的方法来实现。 另一方面,过程抽象则关注问题空间的处理逻辑如何转化为解决方案的处理逻辑,例如计算学生平均成绩。这通常通过结构化方法来实现,旨在构建可构造的计算逻辑。 此外,课件还提到了软件过程,包括一系列的开发活动和它们的组织方式,以及软件需求和系统/产品需求规约,它们是软件开发的起点,也是测试和确认产品的标准。软件开发方法学部分讨论了不同的开发范式,如结构化、面向对象、面向数据结构的方法,以及特定的开发框架和工具。 最后,CMM(能力成熟度模型)的引入是为了确保软件开发过程的能力和质量,保证能产出正确的系统或产品。整个软件生存周期过程的支持和管理技术与方法也是软件工程的重要组成部分,它们支撑着软件工程知识结构的建立和完善。 王立福的《软件工程》课件深入探讨了软件开发的各个方面,从理论到实践,提供了全面的理解软件开发的方法和原理。