软件工程:多态操作与开发方法概述

需积分: 37 19 下载量 26 浏览量 更新于2024-08-15 收藏 3.61MB PPT 举报
在"操作的多态性-2011版王立福自学考试的软件工程课件"中,主要探讨了软件工程中的一个重要概念——操作多态性。课程由北京大学软件工程国家工程研究中心的王立福教授讲解,旨在帮助学生理解软件开发的基础理论和实践方法。 操作多态性是面向对象编程的一个核心特性,它允许在不同的类或对象实例中实现相同的操作名称但执行不同的功能。这部分内容涵盖了如何将问题域(客观事物系统的概念)通过抽象映射到不同层次的处理逻辑,包括数据抽象和过程抽象。 首先,数据抽象是通过将问题空间的概念模型化为对象来实现的。例如,将一个人抽象为一个对象,对象的属性和行为(如姓名、年龄等)代表问题空间的特征。在需求分析阶段,采用面向对象方法(如Java或C++),基于数据抽象原则,创建对象并定义它们的行为,从而形成可计算的实体。 其次,过程抽象则是关注问题空间的处理逻辑与解空间逻辑的映射。结构化方法在此过程中发挥作用,通过对处理逻辑进行分解,将其转化为可执行的步骤。比如计算学生成绩的过程,可能包括读取成绩数据、处理数据(如计算平均分)、存储结果等,这些步骤构成了一个抽象的过程。 课件还提及了软件生存周期模型,它是一个描述软件从需求分析、设计、实现、测试到维护全过程的框架。在这个过程中,CMM(能力成熟度模型)提供了一套评估和改进软件开发能力的标准,确保开发过程的质量和效率。 此外,课程还介绍了不同的软件开发方法学,如结构化方法、面向对象方法、面向数据结构方法以及维也纳开发方法(VDM),这些都是实施软件工程的有效途径。每种方法都有其适用场景和优势,结构化方法强调明确的规则和步骤,而面向对象则更注重对象的封装和继承。 王立福教授的课件旨在通过深入剖析操作多态性和软件开发的各个方面,帮助学生建立起坚实的软件工程基础知识,以便在实际项目中灵活运用各种工具和技术,有效开展软件开发和测评工作。