
第三章传统软件工程Software Engineering第三章传统软件工程
第三章传统软件工程 第三章 传统软件工程 ■Software Engineering

第三章传统软件工程主要内容及重点结构化方法概述结构化需求方法结构化设计方法重点:1需求分析模块及模块独立性自顶向下,逐步求精分解与抽象,信息隐藏
第三章传统软件工程 主要内容及重点 ◼ 结构化方法概述 ◼ 结构化需求方法 ◼ 结构化设计方法 重点: ◼ 需求分析 ◼ 模块及模块独立性 ◼ 自顶向下,逐步求精 ◼ 分解与抽象,信息隐藏

第三章传统软件工程3.1结构化方法概述结构是指系统内各个组成要素之间的相互联系、相互作用的框架。结构化开发方法提出了一组提高软件结构合理性的准则。如:分解与抽象、模块独立性、信息隐蔽等结构化方法起源于结构化程序设计语言1966年,C.BOhm和G.Jacopini提出了关于程序结构的理论。并证明了任何程序的逻辑结构都可以用顺序结构、选择结构和循环结构来表示
第三章传统软件工程 3.1结构化方法概述 ◼ 结构是指系统内各个组成要素之间的相 互联系、相互作用的框架。结构化开发 方法提出了一组提高软件结构合理性的 准则,如:分解与抽象、模块独立性、 信息隐蔽等 ◼ 结构化方法起源于结构化程序设计语言 ◼ 1966年,C.BÖ hm和G.Jacopini提出了 关于程序结构的理论,并证明了任何程 序的逻辑结构都可以用顺序结构、选择 结构和循环结构来表示

第三章传统软件工程(续)结构化方法概述结构化分析方法强调开发方法的结构合理性以及所开发软件的结构合理性。给出了一组帮助系统分析人员产生功能规约的原理与技术使用的工具主要有:数据流图、数据字典、结构化语言、判定表以及判定树等以数据流图、数据字典为主要工具表达需求。在此基础上得到软件的模块结构图。用来表述程序模块之间的关系
第三章传统软件工程 结构化方法概述(续) ◼ 结构化分析方法强调开发方法的结构合 理性以及所开发软件的结构合理性,给 出了一组帮助系统分析人员产生功能规 约的原理与技术 ◼ 使用的工具主要有:数据流图、数据字 典、结构化语言、判定表以及判定树等 ◼ 以数据流图、数据字典为主要工具表达 需求,在此基础上得到软件的模块结构 图,用来表述程序模块之间的关系

第三章传统软件工程结构化设计方法的设计原则每个模块只执行一个功能。坚持功能性内聚每个模块用函数方式调用其他模块,不允许在模块间直接跳转模块间传送的参数只能是模块所便用的数据,不能是控制信息应(如全局变量等)模块间共用的信息尽量少。坚持局部化原则
第三章传统软件工程 结构化设计方法的设计原则 ◼ 每个模块只执行一个功能,坚持功能性 内聚 ◼ 每个模块用函数方式调用其他模块,不 允许在模块间直接跳转 ◼ 模块间传送的参数只能是模块所使用的 数据,不能是控制信息 ◼ 模块间共用的信息(如全局变量等)应 尽量少,坚持局部化原则

第三章传统软件工程3.2结构化需求分析方法需求分析是指在新开发一个系统或维护一个现有的软件时通过与客户的交流沟通后确定新系统的功能、性能、界面及操作方式等需求分析是软件定义的一个阶段。也是整个软件开发的基础。但往往也是最困难的部分需求分析不是为了知道客户想要什么系统,而是确定客户真正需要什么样的系统
第三章传统软件工程 3.2 结构化需求分析方法 ◼ 需求分析是指在新开发一个系统或维护 一个现有的软件时通过与客户的交流沟 通后确定新系统的功能、性能、界面及 操作方式等 ◼ 需求分析是软件定义的一个阶段,也是 整个软件开发的基础,但往往也是最困 难的部分 ◼ 需求分析不是为了知道客户想要什么系 统,而是确定客户真正需要什么样的系 统

第三章传统软件工程需求分析的重要性需求分析对系统开发有决定性的影响需求分析的错误将引起扩散性传播。即水波效应需求分析生成的文档是后继工作的基础需求分析的工作量占整个系统开发工作量的30%
第三章传统软件工程 需求分析的重要性 ◼ 需求分析对系统开发有决定性的影响 ◼ 需求分析的错误将引起扩散性传播,即 水波效应 ◼ 需求分析生成的文档是后继工作的基础 ◼ 需求分析的工作量占整个系统开发工作 量的30%

第三章传统软件工程需求分析的困雍需求人员不仅仅需要技术能力。也需要与客户有良好的沟通和互动能力,即便如此,需求分析的结果往往也是不如人意的,主要原因是:客户需求的动态性客户需求的模糊性
第三章传统软件工程 需求分析的困难 ◼ 需求人员不仅仅需要技术能力,也需要 与客户有良好的沟通和互动能力,即便 如此,需求分析的结果往往也是不如人 意的,主要原因是: ◼ 客户需求的动态性 ◼ 客户需求的模糊性

开发人员客户解释他客户经理通过系绕分析师销间咨询设计的设计的们想要的产品客户描述想象的人员描述的客户为项目其实客户项目的文档后期的系统维护后期的技术开发时投资真正想要的
第三章传统软件工程

第三章传统软件工程需求分析的困难(续)问题的复杂性和对问题空间理解的不完备性与不一致性1需求人员如何完全理解客户的业务?需求人员编写的需求分析文档如何让客户能完全理解?
第三章传统软件工程 需求分析的困难(续) ◼ 问题的复杂性和对问题空间理解的不完 备性与不一致性 ◼ 需求人员如何完全理解客户的业务? ◼ 需求人员编写的需求分析文档如何让客户能 完全理解?