第16单元 传统程序设计方法 计算机软件基础 The software basic of computer 一页 主讲:赵英良
下一页 计算机软件基础 The software basic of computer 主讲:赵英良 第16单元 传统程序设计方法
本讲内容 结构化开发方法 ●二、软件需求定义 ●三、系统设计(软件的设计) ●四、程序编码 ●五、系统测试 ●六、软件维护 第2页
上一页 停止放映 下一页 第 2 页 本讲内容 ⚫ 一 、结构化开发方法 ⚫ 二、软件需求定义 ⚫ 三、系统设计(软件的设计) ⚫ 四、程序编码 ⚫ 五、系统测试 ⚫ 六、软件维护
教学目标 了解传统程序设计方法 基本概念 方法及特点 步骤及准则 第3页
上一页 停止放映 下一页 第 3 页 教学目标 ⚫ 了解传统程序设计方法: –基本概念 –方法及特点 –步骤及准则
本单元涉及内容 第10章传统的软件开发方法 10.1结构化开发方法概述 10.2系统分析与定义 10.3系统设计 10.4系统编程 10.5系统测试 10.6系统维护 ●P273P333 第4页
上一页 停止放映 下一页 第 4 页 本单元涉及内容 ⚫ 第10章 传统的软件开发方法 –10.1 结构化开发方法概述 –10.2 系统分析与定义 –10.3 系统设计 –10.4 系统编程 –10.5 系统测试 –10.6 系统维护 ⚫ P273~P333
、结构化开发方法 ●结构化开发方法是传统的软件系统开发方法。 ★·结构化开发方法的基本思想: 把一个复杂问题的求解过程分阶段进行,每个阶 段处理的问题都控制在人们容易理解和处理的范 围内。 ★。基本要点是: 自顶向下 逐步求精 模块化设计 结构化编码 主程序员组织 结构化设计SD 第5页
上一页 停止放映 下一页 第 5 页 一 、结构化开发方法 ⚫ 结构化开发方法是传统的软件系统开发方法。 ⚫ 结构化开发方法的基本思想: 把一个复杂问题的求解过程分阶段进行,每个阶 段处理的问题都控制在人们容易理解和处理的范 围内。 ⚫ 基本要点是: –自顶向下 –逐步求精 –模块化设计 –结构化编码 –主程序员组织 –结构化设计SD
“自顶向下” ●将复杂的大问题分解为小问题,找出问题的关 键、重点所在,同时找出技术难点来。然后用 精确的思维定性、定量地描述问题。 ●问题的核心是”分解“。如何划分?准则是什 么? ●实现的手段是”子程序“、”函数“,即模块 化 o要点:将大间题化为小间题 找出关键、难点,定量描述 核心是:分解 手段是:模块化(函数、子程序) 第6页
上一页 停止放映 下一页 第 6 页 “自顶向下” ⚫ 将复杂的大问题分解为小问题,找出问题的关 键、重点所在,同时找出技术难点来。然后用 精确的思维定性、定量地描述问题。 ⚫ 问题的核心是”分解“ 。如何划分?准则是什 么? ⚫ 实现的手段是”子程序“ 、 ”函数“ ,即模块 化。 要 点:将大问题化为小问题, 找出关键、难点,定量描述 核心是:分解 手段是:模块化(函数、子程序)
“逐步求精” ●将现实世界的问题经抽象转化为逻辑空间或求 解空间的问题。复杂问题经抽象化处理变为相 对较简单的问题。经几次抽象(精化)处理, 最后到求解域中只是非常简单的编程问题。 求解(抽象)过程可以划分为若干个阶段,在 不同阶段用不同工具来描述。实现细则在前期 阶段可以不去管它。在每个阶段有不同的规划 和标准,产生出不同阶段的文档资料。 将现实问题抽象为逻辑空间问题, 几经抽象化为简单的编程问题。 第7页
上一页 停止放映 下一页 第 7 页 “逐步求精” ⚫ 将现实世界的问题经抽象转化为逻辑空间或求 解空间的问题。复杂问题经抽象化处理变为相 对较简单的问题。经几次抽象(精化)处理, 最后到求解域中只是非常简单的编程问题。 ⚫ 求解(抽象)过程可以划分为若干个阶段,在 不同阶段用不同工具来描述。实现细则在前期 阶段可以不去管它。在每个阶段有不同的规划 和标准,产生出不同阶段的文档资料。 将现实问题抽象为逻辑空间问题, 几经抽象化为简单的编程问题
模块化处理 ●模块化就是把程序划分为若干个模块,而每个 模块完成一个子功能,把这些模块汇总起来构 成一个有机整体,即可完成指定的功能。 ●模块化的目的是为了降低软件复杂度,使软件 设计,调试和维护等操作变得简易。 第8页
上一页 停止放映 下一页 第 8 页 模块化处理 ⚫ 模块化就是把程序划分为若干个模块,而每个 模块完成一个子功能,把这些模块汇总起来构 成一个有机整体,即可完成指定的功能。 ⚫ 模块化的目的是为了降低软件复杂度,使软件 设计,调试和维护等操作变得简易
结构化编码 ●SP编码的方法强调清晰简洁,它是一种构造 程序的技术,有利于提高软件生产率及降低 软件维护代价。 ●1966年Bohm和 Jacopini就证明了只要用三 中基本结构,就足以表示所有形式的程序控 制结构。 ●1978年 Kernihan和 Plauger对一些编码风 格进行归纳,提出了16种具体方法。 第9页
上一页 停止放映 下一页 第 9 页 结构化编码 ⚫ SP编码的方法强调清晰简洁,它是一种构造 程序的技术,有利于提高软件生产率及降低 软件维护代价。 ⚫ 1966年Bohm和Jacopin就证明了只要用三 中基本结构,就足以表示所有形式的程序控 制结构。 ⚫ 1978年Kernihan和Plauger对一些编码风 格进行归纳,提出了16种具体方法
结构化编码风格 口尽量使用标准库函数 口使用有意义的变量名 口程序讲究清晰,避免过于精对输入进行错误判别 巧 口注释勿用太滥 口对重复使用的表达式尽量调口模块化功能专一,模块间 用公共函数代替 偶合清晰 口使用括号,以避免二义性 口递归定义的DS尽量采用 口用逻辑表达式代替分支嵌套 递归过程访问 口使用缩排格式 口把大程序分成小块去编 口避免使用 IF THEN和空ELSE 写和测试 口注意计算机运算特点,如口勿追求不必要的效率,尽 10.0乘0.1很少等于1.0 量采用基本控制结构 避免循环多个出囗 第10页
上一页 停止放映 下一页 第 10 页 结构化编码风格 ❑ 尽量使用标准库函数 ❑ 程序讲究清晰,避免过于精 巧 ❑ 对重复使用的表达式尽量调 用公共函数代替 ❑ 使用括号,以避免二义性 ❑ 用逻辑表达式代替分支嵌套 ❑ 使用缩排格式 ❑ 避免使用IF THEN 和空ELSE ❑ 注意计算机运算特点,如 10.0乘0.1很少等于1.0 ❑ 使用有意义的变量名 ❑ 对输入进行错误判别 ❑ 注释勿用太滥 ❑ 模块化功能专一,模块间 偶合清晰 ❑ 递归定义的DS尽量采用 递归过程访问 ❑ 把大程序分成小块去编 写和测试 ❑ 勿追求不必要的效率,尽 量采用基本控制结构 ❑ 避免循环多个出口