软件工程基础与王立福教授的自考课件解析

需积分: 31 73 下载量 157 浏览量 更新于2024-08-20 收藏 3.53MB PPT 举报
"北大王立福的《软件工程》自考课件,涵盖了软件开发的基础、过程、需求、方法学以及CMM等关键知识点。强调软件开发的本质是问题域到不同抽象层之间的映射,涉及数据抽象和过程抽象。" 在软件工程中,"其中的活动:表决"指的是在软件开发过程中,当所有预定的任务和活动完成后,需要依据合同或组织规程进行的一项重要决策活动。这个阶段主要包括两个主要任务: 1. 确定过程是否完成:在所有软件产品、活动和任务都达到预定标准后,需按照合同中定义的准则来判断整个过程是否达到结束条件。 2. 归档和完整性检查:检查软件产品的成果、活动记录是否完整,并且按照合同规定在合适的环境中妥善归档,确保所有信息可供未来参考和审计。 王立福教授提出的软件工程基础,强调了理解软件开发的本质和基本手段的重要性。他将软件工程分为五个核心部分: 1. 概论:探讨软件开发的本质,即问题域到不同抽象层之间的映射,以及开发的基本手段,如需求分析、抽象过程等。 2. 软件过程:讨论软件开发涉及的各项活动及其组织方式,包括表决在内的决策环节。 3. 软件需求及系统/产品需求规约:软件开发的起点,定义了软件开发的目标和衡量标准,用于产品确认和测试。 4. 软件开发方法学:介绍不同的开发方法,如结构化方法、面向对象方法等,它们提供了实现开发过程的途径。 5. CMM(Capability Maturity Model for software):关注如何确保过程能力,以产出正确的软件产品,通过成熟度模型提升开发过程的质量和效率。 软件开发的本质被解释为问题域到抽象层的概念和计算逻辑映射,涉及数据抽象(如需求分析和面向对象方法的应用)和过程抽象(如结构化方法的运用)。这些抽象过程帮助我们构建计算的客体和可构造的计算逻辑,从而实现软件的功能。 通过王立福教授的讲解,我们可以了解到软件工程不仅仅是编写代码,而是一系列有组织、有计划的活动,涵盖了从需求收集、分析、设计、实现到测试和维护的全过程。软件生存周期过程的建立和有序执行,以及相应的支持管理技术与方法,都是软件工程中不可或缺的部分。