软件开发的本质与方法学-王立福软件工程解析

需积分: 23 15 下载量 32 浏览量 更新于2024-08-15 收藏 3.53MB PPT 举报
"对以后开发活动的影响-2011 王立福 软件工程自考" 本文主要探讨了软件工程的基础知识,强调了软件开发的本质、过程、需求以及开发方法学等方面,旨在为软件开发提供指导。王立福在2009年的演讲中提出,软件开发不仅需要掌握技术,更需要理解其背后的原理。 一、软件开发的本质 软件开发的本质是将问题域中的客观事物系统转化为不同抽象层的概念和计算逻辑。这一过程包括数据抽象和过程抽象。例如,通过需求分析,我们可以将问题空间的概念映射到解空间的模型化概念(如对象),以及将问题空间的处理逻辑映射到解空间的处理逻辑(如结构化的算法)。这种映射过程是软件开发的核心,它涉及到不同的方法学,如面向对象方法和结构化方法。 二、软件过程 软件过程是指软件开发所涉及的一系列活动及其组织方式。这一过程通常从软件需求分析开始,进而制定开发计划、测试计划,并设计测试用例。Use Case在此过程中起到关键作用,它能划定系统与外部实体的边界,是整个开发活动的起点。 三、软件需求及系统/产品规约 软件需求是软件开发的启始点,它们定义了产品的功能和性能要求,同时也是评估和测试软件产品的标准。需求规约是需求的书面表达,是产品确认和测试的重要依据。 四、软件开发方法学 软件开发方法学涵盖了多种开发策略,如结构化方法、面向对象方法、面向数据结构方法以及维也纳开发方法等。这些方法学为实现开发过程提供了路径,帮助开发者根据项目特性和需求选择合适的开发策略。 五、CMM(Capability Maturity Model for software) CMM是一种评估和改进软件开发过程成熟度的框架,确保软件开发过程能够产出正确的产品。它关注过程能力的提升,为软件开发的质量保障提供了体系化的支持。 软件工程是一个系统性的学科,涵盖了从需求获取到产品交付的全过程,涉及到各种方法和技术。理解软件开发的本质,掌握有效的开发方法,以及遵循成熟的软件过程模型,都是确保软件项目成功的关键因素。而Use Case的使用则能帮助我们明确系统的边界,为后续的开发活动奠定基础。