软件工程:模型化单继承与方法学概述

需积分: 37 19 下载量 156 浏览量 更新于2024-08-15 收藏 3.61MB PPT 举报
在"模型化单继承-2011版王立福自学考试的软件工程课件"中,主要内容围绕软件工程的基础理论和实践展开,特别是关于类的设计和继承的概念。该章节首先介绍了软件工程中的关键步骤,如识别和抽象出多个类的共同责任、属性和操作,这是模型化单继承的核心,目的是提高代码的复用性和模块化程度。 第一步,通过对给定类集的深入分析,确定那些可以被所有子类共享的公共部分。这有助于避免重复编写相同的代码,从而减少维护成本。在这个过程中,需要注意的是,尽可能地保持类层次结构的简洁性,避免过多的层次,以防止复杂性和冗余。 第二步,将这些共性的部分定义为一个抽象类或接口,提供了一般的行为规范。非斜体字表示在子类中提供了具体的实现,而斜体字则表示这部分是抽象的,没有具体实现,留给子类去实现或扩展。 举例来说,如果有一组教育类,如课程、教师和学生,它们都涉及到成绩的处理,那么可以创建一个抽象的"教育对象"类,包含计算平均成绩等通用操作,然后让课程、教师和学生类继承这个抽象类。 软件开发方法学部分涵盖了多种方法,如结构化方法、面向对象方法、面向数据结构方法以及维也纳开发方法(VDM),这些方法为开发者提供了不同的实现路径。结构化方法强调功能分解和模块化,而面向对象方法则注重封装和继承,通过对象来组织和表达复杂系统。 软件开发的本质被理解为问题域到不同抽象层之间的概念和计算逻辑映射,比如数据抽象和过程抽象。数据抽象通过对象模型来表示问题空间,如例子中的"对象=F(张山)",体现了对象是问题空间的抽象表示。过程抽象则是将问题空间的处理逻辑转化为计算机可执行的步骤,如计算学生成绩的算法。 CMM(能力成熟度模型)作为软件过程的一种评估框架,它帮助开发者理解如何提升软件开发过程的能力,确保产品质量和稳定性。整个软件生命周期模型的建立和支撑过程,涉及到需求分析、系统规格说明、开发方法选择、以及支持和管理技术的应用,这些都是软件工程的重要组成部分。 王立福的讲解强调了对软件开发本质的理解和正确运用软件工程原则的重要性,这对于从事软件开发的专业人员来说,是进行有效项目管理和技术实现的基础。无论是结构化还是面向对象的方法,都需要开发者根据问题的具体情况灵活选择和应用。