软件工程:N-S图与开发方法详解——王立福

需积分: 23 15 下载量 164 浏览量 更新于2024-08-15 收藏 3.53MB PPT 举报
在2011年的软件工程自学考试资料中,王立福教授详细讲解了第四种表达——N-S图在软件开发中的应用,这是软件工程基础中的一个重要组成部分。N-S图,全称为流程图或Jackson图,是一种图形化的表示方法,用于描述系统的功能和控制流程,支持逐步求精的设计理念。 N-S图在软件生命周期中的作用主要体现在支持软件过程的建模和管理上。首先,它有助于理解软件开发的本质,即问题域到不同抽象层(如数据和过程)概念及计算逻辑的映射。比如,通过对象的概念(对象=F(张山)),软件工程师可以进行需求分析,并运用面向对象方法进行数据抽象,形成问题解决的具体模型。 其次,N-S图在处理逻辑的抽象方面也发挥关键作用。例如,将问题空间的处理逻辑转换为解空间的逻辑,如计算学生成绩的过程,可能采用结构化方法,将原始的业务逻辑映射成一系列可执行的步骤,实现过程抽象。 在软件开发方法学部分,王立福教授提到了多种方法,如结构化方法、面向对象方法、面向数据结构方法和维也纳开发方法(VDM)。这些方法各有优势,结构化方法注重线性、顺序的逻辑流程,而面向对象方法则强调对象的封装和继承,适用于复杂系统。VDM则提供了一套严谨的开发规范,适合形式化验证。 CMM(能力成熟度模型)是另一个重要的讨论点,它关注的是如何通过标准化过程和管理技术提高软件开发的质量和效率,确保最终产品的正确性和可靠性。通过CMM,开发者可以了解和提升软件开发过程的能力成熟度,从而确保软件工程生存周期的有序进行。 总结来说,王立福教授的讲解涵盖了软件开发的各个方面,从软件过程的理解、需求分析到具体的设计手段和过程管理,都强调了N-S图在支持这些活动中的核心作用。通过学习和实践N-S图,软件工程师能够更好地理解和实施各种软件开发方法,提高软件项目的成功率。