软件工程基础-王立福讲义:泛化与方法规约探索

需积分: 31 73 下载量 196 浏览量 更新于2024-08-20 收藏 3.53MB PPT 举报
"任务标识泛化-北大王立福《软件工程》自考课件" 在软件工程领域,标识泛化是一种重要的设计原则,它主要体现在面向对象的设计中。任务5提到的“标识泛化”是指在分析模型的类之间发现的泛化关系,这种关系在设计模型中得到体现。泛化关系,也就是继承关系,允许一个类(子类)继承另一个类(父类)的属性和行为,使得代码重用得以实现,并且能够更好地描述和组织系统中的各种对象和它们的关系。 任务6则关注“描述方法”,在软件设计过程中,方法的定义可以通过自然语言进行描述,也可以使用伪码来更具体地表达。这种方法规约有助于团队成员理解方法的功能和执行流程,同时在没有实现具体代码的情况下,便于沟通和讨论设计方案。 软件工程是一门学科,旨在系统性地进行软件开发和评估。王立福教授强调了理解软件开发的本质和基本手段的重要性,这包括软件生存周期过程的理解,从需求获取到系统规格说明,再到软件开发方法学的选择和实施。 在软件开发的本质部分,王立福教授指出软件开发实质上是将问题域的概念和逻辑映射到不同抽象层,这个过程涉及数据抽象和过程抽象。数据抽象关注的是将现实世界中的对象转换为模型化的概念,而过程抽象则是关于将问题的处理逻辑转化为可执行的计算逻辑。 在软件过程部分,他提到了软件生存周期模型,这是一个描述软件开发各个阶段及其顺序的框架。此外,他还讨论了软件开发方法学,如结构化方法、面向对象方法、面向数据结构方法以及维也纳开发方法等,这些方法提供了实现软件开发的不同途径。 CMM(Capability Maturity Model for software)是软件开发过程能力成熟度模型,它为确保生产正确产品或系统的流程提供了一套标准和指南。软件工程的基本知识结构涵盖了从概论到具体实施的各个方面,包括需求分析、设计、实现和测试等关键环节。 这个课件涵盖了软件工程的核心概念,强调了泛化和方法描述在软件设计中的角色,以及软件开发的本质和生命周期过程。通过深入理解和应用这些知识,开发者能够更有效地进行软件开发和项目管理。