结构化分析方法在软件需求中的应用

需积分: 12 1 下载量 171 浏览量 更新于2024-08-23 收藏 3.53MB PPT 举报
"何谓结构化分析-王福利软件工程课件" 软件工程是一门科学,旨在有效地进行软件开发和评估,要求我们不仅理解怎么做,还要理解为什么要这么做。北京大学软件工程国家工程研究中心的王立福教授在课件中深入探讨了这一主题。结构化分析是软件需求分析的关键部分,它涉及到将现实世界的问题域转化为软件系统的需求模型。 结构化分析的核心是系统化地使用问题域的语言来构建模型,这个模型代表了待开发软件系统的需求规约,也就是软件规格说明书。这个过程可以视为在需求层面上对客观事物系统施加结构,形成一个概念模型,作为开发者和用户之间技术契约的基石,同时也是后续开发活动的重要输入。 在软件开发的过程中,首先需要理解软件开发的本质。这包括认识到问题域,即客观事物系统,以及解决这些问题的不同思维逻辑。不同的问题域对应着不同的计算逻辑和抽象层,比如操作系统、语言处理系统、网络计算机等。映射这些概念和逻辑是软件开发的关键步骤,例如,通过数据抽象将问题空间的概念转化为解空间的模型,或者通过过程抽象将问题空间的处理逻辑转化为可构造的计算逻辑。 结构化方法是实现这种映射的一种策略,它强调在需求分析阶段使用诸如流程图、数据流图等工具,清晰地定义处理逻辑和数据流。另一方面,面向对象方法则更注重数据和操作的封装,通过类和对象来抽象问题域中的实体。此外,还有面向数据结构方法、维也纳开发方法等多种开发方法学,它们提供了不同的实现开发过程的途径。 软件生存周期模型是指导开发过程的框架,它涵盖了从需求获取、设计、实现、测试到维护等一系列活动。CMM(能力成熟度模型)则关注如何确保开发过程的质量和效率,提供了一套评估和改进软件开发过程能力的标准。 在软件工程的基本知识结构中,我们需要理解软件开发的本质,掌握各种软件过程,明确需求及系统/产品规约的重要性,熟悉多种开发方法学,并了解如何通过CMM来提升开发过程的能力。只有这样,我们才能更好地应对软件开发中的挑战,创造出满足用户需求的高质量软件产品。