结构化分析与设计:需求理解与系统分解

需积分: 32 3 下载量 200 浏览量 更新于2024-07-11 收藏 2.92MB PPT 举报
本文主要探讨了系统分析与设计中的一个重要概念——实体之间的关联,并结合了刘博文关于系统分析的理论与实践,强调了需求分析在软件开发中的关键作用。同时,文章介绍了结构化分析方法的发展历程,核心思想及常用工具如数据流图、上下文图等。 在系统分析中,实体之间的关联描述了不同实体间的关系,如“一个X与一个Y相关联”表明每个X对应一个Y;“一个X与多个Y相关联”则表示一个X可以与多个Y相关;“零个或一个X与零个或一个Y相关联”意味着两者之间存在可选关系,可能都不存在,也可能只存在一个。这些关系的定义有助于构建清晰的实体关系模型,便于理解和设计系统。 需求分析在软件开发中扮演着举足轻重的角色,它是项目的基础,对项目的成功率有着直接影响。不明确的需求可能导致80%的项目失败。需求分析包括功能性、可用性、可靠性、性能、可支持性等多个方面,统称为FURPS+。需求分析的挑战在于软件项目的复杂性、广泛性和高风险性。 结构化分析(Structured Analysis, SA)是一种经典的需求分析方法,最初由Douglas Ross提出,后由DeMarco推广。它主要针对数据流进行分析,适用于数据处理类型的软件。随着时间的推移,结构化分析不断演化,增加了对实时工程问题的考虑。其基本思想是通过“分解”和“抽象”将复杂系统简化,例如使用数据流图(DFD)进行自顶向下的逐层分解,以及上下文图(Context Diagram)来描绘系统的整体边界。 结构化分析方法的工具包括分层结构图、Warnier图等,它们帮助分析员将大问题分解成可管理的小部分,以便于理解和解决。此外,20世纪80年代中期,实时“扩展”被引入,增强了结构化分析在处理控制和行为方面的能力。 系统分析与设计涉及的实体关系、需求分析方法和结构化分析策略是软件开发中的核心元素。理解并熟练运用这些概念和工具,对于创建高效、可靠的软件系统至关重要。