西安交通大学:《计算机软件基础》第16单元 传统程序设计方法

第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尽量采用 递归过程访问 ❑ 把大程序分成小块去编 写和测试 ❑ 勿追求不必要的效率,尽 量采用基本控制结构 ❑ 避免循环多个出口
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 西安交通大学:《计算机软件基础》第15单元 软件工程概论(赵英良).ppt
- 西安交通大学:《计算机软件基础》第11单元 数据库——数据库概述.ppt
- 西安交通大学:《计算机软件基础》第12单元 关系数据库及数学基础.ppt
- 西安交通大学:《计算机软件基础》第5单元 非线性数据结构.ppt
- 西安交通大学:《计算机软件基础》第7单元 排序.ppt
- 西安交通大学:《计算机软件基础》第9单元 操作系统的存储器管理和设备管理.ppt
- 西安交通大学:《计算机软件基础》第8单元 操作系统基础(赵英良).ppt
- 西安交通大学:《计算机软件基础》第6单元 查找.ppt
- 西安交通大学:《计算机软件基础》第4单元 非线性数据结构——树、二叉树(递归结构).ppt
- 西安交通大学:《计算机软件基础》第3单元 线性数据结构 (二).ppt
- 西安交通大学:《计算机软件基础》第1单元 软件概述.ppt
- 西南交通大学:《数据库原理与技术》第三章 关系数据库系统RDBS.ppt
- 西南交通大学:《数据库原理与技术》第一章 数据库系统概述.ppt
- 西南交通大学:《数据库原理与技术》第五章 数据库安全性.ppt
- 西南交通大学:《数据库原理与技术》第四章 SQL结构化查询语言.ppt
- 福州大学:《数据结构》课程教学资源(试卷习题)硕数2001.doc
- 福州大学:《数据结构》课程教学资源(试卷习题)复习.doc
- 福州大学:《数据结构》课程教学资源(试卷习题)试题(C 卷).doc
- 福州大学:《数据结构》课程教学资源(试卷习题)试题(B 卷).doc
- 福州大学:《数据结构》课程教学资源(试卷习题)试题(A 卷).doc
- 西安交通大学:《计算机软件基础》第13讲 数据库设计基础和SQL语言.ppt
- 西安交通大学:《计算机软件基础》第17单元 面向对象方法(赵英良).ppt
- 西安交通大学:《计算机软件基础》第1单元 概述.ppt
- 西安交通大学:《计算机软件基础》线性数据结构(二)(仇国巍).ppt
- 西安交通大学:《计算机软件基础》第4单元 非线性数据结构树、二叉树.ppt
- 西安交通大学:《计算机软件基础》第7单元 排序(刘志强).ppt
- 西安交通大学:《计算机软件基础》第5单元 非线性数据结构图.ppt
- 西安交通大学:《计算机软件基础》第8单元 操作系统基础(刘志强).ppt
- 西安交通大学:《计算机软件基础》第6单元 查找.ppt
- 西安交通大学:《计算机软件基础》第9单元 存储器与设备管理.ppt
- 西安交通大学:《计算机软件基础》第12单元 关系数据库及数学基础.ppt
- 西安交通大学:《计算机软件基础》第10单元 典型OS平台下编程模式.ppt
- 西安交通大学:《计算机软件基础》第15单元 软件工程概论.ppt
- 西安交通大学:《计算机软件基础》第14单元 Access提高(刘志强).ppt
- 西安交通大学:《计算机软件基础》第17单元 面向对象方法.ppt
- 西安交通大学:《计算机软件基础》第13单元 Access入门.ppt
- 西安交通大学:《计算机软件基础》关系型数据库标准语言—SQL.ppt
- 西安交通大学:《计算机软件基础》第11单元 数据库_1 数据库概述.ppt
- 西安交通大学:《计算机软件基础》第16单元 传统程序设计方法.ppt
- 北京大学:《计算机图形学》第三讲 一个简单的二维光栅图形软件包.ppt