面向过程方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向过程方法中的系统分析、 面向过程方法中的系统分析、设计和编程
杨少波
trainict@sohu.com
中科院计算所职业培训中心
面向过程方法中的系统分析、 面向过程方法中的系统分析、设计和编程
希望您重点掌握如下的知识点 面向过程分析 系统分析中常用的技术手段 面向过程设计 设计的主要工具 面向过程编程 编程实现的基本方法
过程式设计对于比较复杂的问题, (6)过程式设计对于比较复杂的问题,或是在开发中需求 变化比较多的时候, 变化比较多的时候,往往显得力不从心
主要的优点是易于理解和掌握, 主要的优点是易于理解和掌握,这种逐步细化问题的设计 方法和大多数人的思维方式比较接近。 方法和大多数人的思维方式比较接近。 然而对于比较复杂的问题, 然而对于比较复杂的问题,或是在开发中需求变化比较多 的时候,往往显得力不从心。 的时候,往往显得力不从心。
本讲的简要回顾
1、子曰:“学而不思则罔,思而不学则殆。” 子曰: 学而不思则罔,思而不学则殆。 学而时习之” “学而时习之” 2、子曰:“知之者不如好之者, 子曰: 知之者不如好之者, 好之者不如乐之者” 好之者不如乐之者” 子曰: 三人行,必有我师焉” 3、子曰:“三人行,必有我师焉” 子曰: 我非生而知之者, 4、子曰:“我非生而知之者, 好古,敏以求之者也” 好古,敏以求之者也”
2、面向过程的系统分析中常常采用的技术手段 (1)使用系统结构图来表达功能间的关系
结构化方法是一种基于功能分解的分析方法, 结构化方法是一种基于功能分解的分析方法,并且自上 向下的分解或分层。 (顶)向下的分解或分层。
使用数据流图表达功能与数据间关系,同时使用ER图表达 使用数据流图表达功能与数据间关系,同时使用ER图表达 ER 数据间关系 它应用诸如实体关系 图 、 数据流图以及 状态转换图, 状态转换图 , 这些 方法试图通过使用 数据为界限来分解 系统。 系统。 设计程序先设计数据, 设计程序先设计数据 , 然后通过分析数据 关系, 关系 , 最后来实现 程序。 程序。
6、编程实现的基本方法 (1)结构化程序设计的特点 程序设计=数据结构+ 程序设计=数据结构+算法 程序内容=过程+ 程序内容=过程+过程调用
结构化方法(分析、设计和编程) 7、结构化方法(分析、设计和编程)所出现的问题 (1)在依赖关系上引发一系列变动
DIP-------Dependency ( 2 ) 违 背 了 “ 依 赖 倒 置 原 则 ” ( DIP----Dependency Principle) Inversion Principle)
注意: 注意:而面向对象
是把构成问题的 各个方面分解成 各个对象, 各个对象 , 并用 代码来实现对象 之间的交互。 之间的交互 。 建 立对象的目的不 是为了完成一个 过程或者流程, 过程或者流程 , 而是为了描述各 个对象在问题空 间中的行为。 间中的行为。
(2)程序的典型结构
具有一个开始和结束的程序或者程序块, 并且程序执行 具有一个开始和结束的程序或者程序块 , 的每一步都由三部分组成:顺序、 选择或者循环结构, 的每一步都由三部分组成 : 顺序 、 选择或者循环结构 , 实现 这种思想的最典型的语言就是C 这种思想的最典型的语言就是C。
面向过程设计 的主要工具 是结构图
这是一种表达程序模块 层次的图形模型。 层次的图形模型。
结构图的进一步细化-------构造出程序的流程图 (2)结构图的进一步细化----构造出程序的流程图
4、面向过程编程 (1)什么是面向过程编程
分析Βιβλιοθήκη Baidu所需要开发的应用的系统在解决某个问题时所需要 的步骤, 然后用代码( 的步骤 , 然后用代码 ( 当然应该把这些代码设计为各个函数 或者过程)来表示这些步骤的具体实现。 或者过程)来表示这些步骤的具体实现。
根据DFD DFD或者 ER图来决定各个模块之间的数据传递 (2)根据DFD或者 ER图来决定各个模块之间的数据传递
通过画数据流图, 通过画数据流图,把模块之间的数据接口和内部处理逻辑 表达出来, 表达出来,并且用模块的功能及其对数据的使用关系的链 来表达对外部请求的响应过程和给外界的反馈信息。 实体关系图则把重点放在对持久数据的存储结构方面, 实体关系图则把重点放在对持久数据的存储结构方面,以 便用关系型数据库保存和查找信息, 便用关系型数据库保存和查找信息,实现功能运行与数据 存储的结构无关性。 存储的结构无关性。
1、面向过程分析 (1)基本的思路是把系统看成一个过程的集合体
结构化方法也称为面向过程方法。 结构化方法也称为面向过程方法。
(2)什么是系统分析
所谓的系统分析是帮助开发人员定义系统需要做什么( 所谓的系统分析是帮助开发人员定义系统需要做什么(功 能需求)、系统需要存储和使用那些数据(数据需求), )、系统需要存储和使用那些数据 ),系统 能需求)、系统需要存储和使用那些数据(数据需求),系统 需要什么样的输入和输出(IO需求 需求) 需要什么样的输入和输出(IO需求)等,以及如何把这些功能 结合在一起来完成特定的任务的过程。 结合在一起来完成特定的任务的过程。
(3)面向过程编程的根本 目标 把复杂的系统分解 成简单模块的层次图。 成简单模块的层次图。
5、面向过程编程在开发中所体现出的特性 自顶向下, (1)自顶向下,逐步分解
由于表达需求的系统结构图会按照业务功能领域逐层 分解,将一个大的业务功能分解为一些小的功能。 最后就 分解 , 将一个大的业务功能分解为一些小的功能。 成了“系统功能模块” 子系统划分”的需求了。 成了“系统功能模块”或“子系统划分”的需求了。
3、面向过程设计 (1)什么是面向过程设计
思维方式决定其解决问题的方式,面向过程设计采用自顶向下 思维方式决定其解决问题的方式, 的思想指导应用系统的设计 即将系统的目标(也就是整个程序)划分为若干个子目标( 即将系统的目标(也就是整个程序)划分为若干个子目标( 也就是函数) 也就是函数 ) , 子目标再进 一步划分下 去 (也就是 子函数) 子函数 ), 直到目标能 被编程实现 为止。 为止。
由于客观世界是由各种“对象”所组成的, 由于客观世界是由各种“对象”所组成的,每个对象都属 于具有相同特征的对象类 因此结构化的方法对客观世界的描述不够准确---------没有 因此结构化的方法对客观世界的描述不够准确-----没有 体现出“类型”的概念以及“类型”之间的相关性。 体现出“类型”的概念以及“类型”之间的相关性。
违背了MVC中的“ 表示” MVC中的 模型” (3)违背了MVC中的“V表示”与“M模型”要求分离的原 则 因为用户交互的程序( 同程序的核心逻辑( 因为用户交互的程序(V)同程序的核心逻辑(M) 混淆在一起。 混淆在一起。
(4)没有体现出数据所表示的业务含义
对象之间的各种关系的示例
(5)结构化的方法对客观世界的描述不够准确
8、适用的应用场合
由于面向过程设计的着力点是在于建立一个稳定的架构, (1)由于面向过程设计的着力点是在于建立一个稳定的架构, 整个构建的体系是自顶向下金字塔结构 所以它的体系更倾向于是一种稳定性, (2)所以它的体系更倾向于是一种稳定性,但灵活性不足的应 用场合-----------比较成熟的业务流程而后业务规则的应用系统 用场合------比较成熟的业务流程而后业务规则的应用系统 的开发中。 的开发中。
杨少波
trainict@sohu.com
中科院计算所职业培训中心
面向过程方法中的系统分析、 面向过程方法中的系统分析、设计和编程
希望您重点掌握如下的知识点 面向过程分析 系统分析中常用的技术手段 面向过程设计 设计的主要工具 面向过程编程 编程实现的基本方法
过程式设计对于比较复杂的问题, (6)过程式设计对于比较复杂的问题,或是在开发中需求 变化比较多的时候, 变化比较多的时候,往往显得力不从心
主要的优点是易于理解和掌握, 主要的优点是易于理解和掌握,这种逐步细化问题的设计 方法和大多数人的思维方式比较接近。 方法和大多数人的思维方式比较接近。 然而对于比较复杂的问题, 然而对于比较复杂的问题,或是在开发中需求变化比较多 的时候,往往显得力不从心。 的时候,往往显得力不从心。
本讲的简要回顾
1、子曰:“学而不思则罔,思而不学则殆。” 子曰: 学而不思则罔,思而不学则殆。 学而时习之” “学而时习之” 2、子曰:“知之者不如好之者, 子曰: 知之者不如好之者, 好之者不如乐之者” 好之者不如乐之者” 子曰: 三人行,必有我师焉” 3、子曰:“三人行,必有我师焉” 子曰: 我非生而知之者, 4、子曰:“我非生而知之者, 好古,敏以求之者也” 好古,敏以求之者也”
2、面向过程的系统分析中常常采用的技术手段 (1)使用系统结构图来表达功能间的关系
结构化方法是一种基于功能分解的分析方法, 结构化方法是一种基于功能分解的分析方法,并且自上 向下的分解或分层。 (顶)向下的分解或分层。
使用数据流图表达功能与数据间关系,同时使用ER图表达 使用数据流图表达功能与数据间关系,同时使用ER图表达 ER 数据间关系 它应用诸如实体关系 图 、 数据流图以及 状态转换图, 状态转换图 , 这些 方法试图通过使用 数据为界限来分解 系统。 系统。 设计程序先设计数据, 设计程序先设计数据 , 然后通过分析数据 关系, 关系 , 最后来实现 程序。 程序。
6、编程实现的基本方法 (1)结构化程序设计的特点 程序设计=数据结构+ 程序设计=数据结构+算法 程序内容=过程+ 程序内容=过程+过程调用
结构化方法(分析、设计和编程) 7、结构化方法(分析、设计和编程)所出现的问题 (1)在依赖关系上引发一系列变动
DIP-------Dependency ( 2 ) 违 背 了 “ 依 赖 倒 置 原 则 ” ( DIP----Dependency Principle) Inversion Principle)
注意: 注意:而面向对象
是把构成问题的 各个方面分解成 各个对象, 各个对象 , 并用 代码来实现对象 之间的交互。 之间的交互 。 建 立对象的目的不 是为了完成一个 过程或者流程, 过程或者流程 , 而是为了描述各 个对象在问题空 间中的行为。 间中的行为。
(2)程序的典型结构
具有一个开始和结束的程序或者程序块, 并且程序执行 具有一个开始和结束的程序或者程序块 , 的每一步都由三部分组成:顺序、 选择或者循环结构, 的每一步都由三部分组成 : 顺序 、 选择或者循环结构 , 实现 这种思想的最典型的语言就是C 这种思想的最典型的语言就是C。
面向过程设计 的主要工具 是结构图
这是一种表达程序模块 层次的图形模型。 层次的图形模型。
结构图的进一步细化-------构造出程序的流程图 (2)结构图的进一步细化----构造出程序的流程图
4、面向过程编程 (1)什么是面向过程编程
分析Βιβλιοθήκη Baidu所需要开发的应用的系统在解决某个问题时所需要 的步骤, 然后用代码( 的步骤 , 然后用代码 ( 当然应该把这些代码设计为各个函数 或者过程)来表示这些步骤的具体实现。 或者过程)来表示这些步骤的具体实现。
根据DFD DFD或者 ER图来决定各个模块之间的数据传递 (2)根据DFD或者 ER图来决定各个模块之间的数据传递
通过画数据流图, 通过画数据流图,把模块之间的数据接口和内部处理逻辑 表达出来, 表达出来,并且用模块的功能及其对数据的使用关系的链 来表达对外部请求的响应过程和给外界的反馈信息。 实体关系图则把重点放在对持久数据的存储结构方面, 实体关系图则把重点放在对持久数据的存储结构方面,以 便用关系型数据库保存和查找信息, 便用关系型数据库保存和查找信息,实现功能运行与数据 存储的结构无关性。 存储的结构无关性。
1、面向过程分析 (1)基本的思路是把系统看成一个过程的集合体
结构化方法也称为面向过程方法。 结构化方法也称为面向过程方法。
(2)什么是系统分析
所谓的系统分析是帮助开发人员定义系统需要做什么( 所谓的系统分析是帮助开发人员定义系统需要做什么(功 能需求)、系统需要存储和使用那些数据(数据需求), )、系统需要存储和使用那些数据 ),系统 能需求)、系统需要存储和使用那些数据(数据需求),系统 需要什么样的输入和输出(IO需求 需求) 需要什么样的输入和输出(IO需求)等,以及如何把这些功能 结合在一起来完成特定的任务的过程。 结合在一起来完成特定的任务的过程。
(3)面向过程编程的根本 目标 把复杂的系统分解 成简单模块的层次图。 成简单模块的层次图。
5、面向过程编程在开发中所体现出的特性 自顶向下, (1)自顶向下,逐步分解
由于表达需求的系统结构图会按照业务功能领域逐层 分解,将一个大的业务功能分解为一些小的功能。 最后就 分解 , 将一个大的业务功能分解为一些小的功能。 成了“系统功能模块” 子系统划分”的需求了。 成了“系统功能模块”或“子系统划分”的需求了。
3、面向过程设计 (1)什么是面向过程设计
思维方式决定其解决问题的方式,面向过程设计采用自顶向下 思维方式决定其解决问题的方式, 的思想指导应用系统的设计 即将系统的目标(也就是整个程序)划分为若干个子目标( 即将系统的目标(也就是整个程序)划分为若干个子目标( 也就是函数) 也就是函数 ) , 子目标再进 一步划分下 去 (也就是 子函数) 子函数 ), 直到目标能 被编程实现 为止。 为止。
由于客观世界是由各种“对象”所组成的, 由于客观世界是由各种“对象”所组成的,每个对象都属 于具有相同特征的对象类 因此结构化的方法对客观世界的描述不够准确---------没有 因此结构化的方法对客观世界的描述不够准确-----没有 体现出“类型”的概念以及“类型”之间的相关性。 体现出“类型”的概念以及“类型”之间的相关性。
违背了MVC中的“ 表示” MVC中的 模型” (3)违背了MVC中的“V表示”与“M模型”要求分离的原 则 因为用户交互的程序( 同程序的核心逻辑( 因为用户交互的程序(V)同程序的核心逻辑(M) 混淆在一起。 混淆在一起。
(4)没有体现出数据所表示的业务含义
对象之间的各种关系的示例
(5)结构化的方法对客观世界的描述不够准确
8、适用的应用场合
由于面向过程设计的着力点是在于建立一个稳定的架构, (1)由于面向过程设计的着力点是在于建立一个稳定的架构, 整个构建的体系是自顶向下金字塔结构 所以它的体系更倾向于是一种稳定性, (2)所以它的体系更倾向于是一种稳定性,但灵活性不足的应 用场合-----------比较成熟的业务流程而后业务规则的应用系统 用场合------比较成熟的业务流程而后业务规则的应用系统 的开发中。 的开发中。