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

第16单元 传统程序设计方法 计算机软件基础 The software basic of computer 下一页 主讲人:刘志强
下一页 计算机软件基础 The software basic of computer 主讲人:刘志强 第16单元 传统程序设计方法

教学目标 ●了解传统程序设计方法 基本概念 方法及特点 步骤及准则 下一页 第2页
上一页 停止放映 下一页 第 2 页 教学目标 ⚫ 了解传统程序设计方法: –基本概念 –方法及特点 –步骤及准则

本单元涉及内容 ●第十章传统的软件开发方法 10.1结构化开发方法概述 10.2系统分析与定义 10.3系统设计 10.4系统编程 10.5系统测试 10.6系统维护 ●P273P333 下一页 第3页
上一页 停止放映 下一页 第 3 页 本单元涉及内容 ⚫ 第十章 传统的软件开发方法 –10.1 结构化开发方法概述 –10.2 系统分析与定义 –10.3 系统设计 –10.4 系统编程 –10.5 系统测试 –10.6 系统维护 ⚫ P273~P333

、结构化开发方法 结构化开发方法是传统的软件系统开发方法。 ●基本要点是 自顶向下 逐步求精 模块化设计 结构化编码 主程序员组织 结构化设计SD ●SP的基本思想: 把一个复杂问题的求解过程分阶段进行,每个阶段处 理的问题都控制在人们容易理解和处理的范围內。 下一页 第4页
上一页 停止放映 下一页 第 4 页 一 、结构化开发方法 ⚫ 结构化开发方法是传统的软件系统开发方法。 ⚫ 基本要点是: –自顶向下 –逐步求精 –模块化设计 –结构化编码 –主程序员组织 –结构化设计SD ⚫ SP的基本思想: 把一个复杂问题的求解过程分阶段进行,每个阶段处 理的问题都控制在人们容易理解和处理的范围内

“自顶向下 ●是将复杂的大问题,分解为小问题,找出问 题的关键、重点所在,同时找出技术难点来。 然后用精确的思维定性、定量地描述问题 问题的核心是”分解“。如何划分?准则是 什么? ●实现的手段是”子程序“、”函数“,即模 块化。 下一页 第5页
上一页 停止放映 下一页 第 5 页 “自顶向下” ⚫ 是将复杂的大问题,分解为小问题,找出问 题的关键、重点所在,同时找出技术难点来。 然后用精确的思维定性、定量地描述问题。 ⚫ 问题的核心是”分解“ 。如何划分?准则是 什么? ⚫ 实现的手段是”子程序“ 、 ”函数“ ,即模 块化

“逐步求精” ●将现实世界的问题经抽象转化为逻辑空间或求 解空间的问题。复杂问题经抽象化处理变为相 对较简单的问题。经几次抽象(精化)处理, 最后到求解域中只是非常简单的编程问题。求 解(抽象)过程可以划分为若干个阶段,在不 同阶段用不同工具来描述。实现细则在前期阶 段可以不去管它。在每个阶段有不同的规划和 标准,产生出不同阶段的文档资料。 ●求解问题不是一下子就用计算机语言却描述问 题,而是分阶段;先用自然语言、DFD(数据 流程图)等工具一步步地去抽象、描述,最后 用计算机语言却实现。 下一页 第6页
上一页 停止放映 下一页 第 6 页 “逐步求精” ⚫ 将现实世界的问题经抽象转化为逻辑空间或求 解空间的问题。复杂问题经抽象化处理变为相 对较简单的问题。经几次抽象(精化)处理, 最后到求解域中只是非常简单的编程问题。求 解(抽象)过程可以划分为若干个阶段,在不 同阶段用不同工具来描述。实现细则在前期阶 段可以不去管它。在每个阶段有不同的规划和 标准,产生出不同阶段的文档资料。 ⚫ 求解问题不是一下子就用计算机语言却描述问 题,而是分阶段;先用自然语言、DFD(数据 流程图)等工具一步步地去抽象、描述,最后 用计算机语言却实现

模块化处理 ●模块化就是把程序划分为若干个模块,而每 个模块完成一个子功能,把这些模块汇总起 来构成一个有机整体,即可完成指定的功能。 ●模块化的目的是为了降低软件复杂度,使软 件设计,调试和维护等操作变得简易。 下一页 第7页
上一页 停止放映 下一页 第 7 页 模块化处理 ⚫ 模块化就是把程序划分为若干个模块,而每 个模块完成一个子功能,把这些模块汇总起 来构成一个有机整体,即可完成指定的功能。 ⚫ 模块化的目的是为了降低软件复杂度,使软 件设计,调试和维护等操作变得简易

结构化编码 ●SP编码的方法强调清晰简洁,它是一种构造 程序的技术,有利于提高软件生产率及降低 软件维护代价。 ●1966年Bohm和 Jacopin就证明了只要用三 中基本结构,就足以表示所有形式的程序控 制结构 ●1978年 Kernihan和 Plauge对一些编码风格 进行归纳,提出了16种具体方法。 下一页 第8页
上一页 停止放映 下一页 第 8 页 结构化编码 ⚫ SP编码的方法强调清晰简洁,它是一种构造 程序的技术,有利于提高软件生产率及降低 软件维护代价。 ⚫ 1966年Bohm和Jacopin就证明了只要用三 中基本结构,就足以表示所有形式的程序控 制结构。 ⚫ 1978年Kernihan和Plauger对一些编码风格 进行归纳,提出了16种具体方法

结构化编码风格 ●尽量使用标准库函数 使用有意乂的变量名 程序讲究清晰,避免过于精°对输入进行错误判别 注释勿用太滥 ●对重复使用的表达式尽量调◎模块化功能专一,模块间 用公共函数代替 偶合清晰 ●使用括号,以避免二义性·递归定义的DS尽量采用 ●用逻辑表达式代替分支嵌套 递归过程访问 ●使用缩排格式 ●把大程序分成小块去编 ●避免使用 IF THEN和空ELSE 写和测试 ●注意计算机运算特点,如·勿追求不必要的效率,尽 10.0乘0.1很少等于1.0 量采用基本控制结构 ●避免循环多个出囗 下一页 第9页
上一页 停止放映 下一页 第 9 页 结构化编码风格 ⚫ 尽量使用标准库函数 ⚫ 程序讲究清晰,避免过于精 巧 ⚫ 对重复使用的表达式尽量调 用公共函数代替 ⚫ 使用括号,以避免二义性 ⚫ 用逻辑表达式代替分支嵌套 ⚫ 使用缩排格式 ⚫ 避免使用IF THEN 和空ELSE ⚫ 注意计算机运算特点,如 10.0乘0.1很少等于1.0 ⚫ 使用有意义的变量名 ⚫ 对输入进行错误判别 ⚫ 注释勿用太滥 ⚫ 模块化功能专一,模块间 偶合清晰 ⚫ 递归定义的DS尽量采用 递归过程访问 ⚫ 把大程序分成小块去编 写和测试 ⚫ 勿追求不必要的效率,尽 量采用基本控制结构 ⚫ 避免循环多个出口

主程序员组织 ●主程序员组织负责人全权负责包括解决技术难题有 时一些关键性技术问题,主程序员应亲自动手遍程去解 决;他必须是技术高手,是程序生产过程中的总体设计 师 ●程序员按任务书要求编程;是程序生产线上的“工 人 ●测试工程师具有较高遍程水准和经验,负责系统测试; 是程序生产过程中的检验员。 ●文档人员自始至终参加程序生产活动,负责编写一切 有关文档资料。 下一页 第10页
上一页 停止放映 下一页 第 10 页 主程序员组织 ⚫ 主程序员 组织负责人,全权负责,包括解决技术难题,有 时一些关键性技术问题,主程序员应亲自动手遍程去解 决;他必须是技术高手,是程序生产过程中的总体设计 师。 ⚫ 程序员 按任务书要求编程;是程序生产线上的“工 人” 。 ⚫ 测试工程师 具有较高遍程水准和经验,负责系统测试; 是程序生产过程中的检验员。 ⚫ 文档人员 自始至终参加程序生产活动,负责编写一切 有关文档资料
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 西安交通大学:《计算机软件基础》第11单元 数据库_1 数据库概述.ppt
- 西安交通大学:《计算机软件基础》关系型数据库标准语言—SQL.ppt
- 西安交通大学:《计算机软件基础》第13单元 Access入门.ppt
- 西安交通大学:《计算机软件基础》第17单元 面向对象方法.ppt
- 西安交通大学:《计算机软件基础》第14单元 Access提高(刘志强).ppt
- 西安交通大学:《计算机软件基础》第15单元 软件工程概论.ppt
- 西安交通大学:《计算机软件基础》第10单元 典型OS平台下编程模式.ppt
- 西安交通大学:《计算机软件基础》第12单元 关系数据库及数学基础.ppt
- 西安交通大学:《计算机软件基础》第9单元 存储器与设备管理.ppt
- 西安交通大学:《计算机软件基础》第6单元 查找.ppt
- 西安交通大学:《计算机软件基础》第8单元 操作系统基础(刘志强).ppt
- 西安交通大学:《计算机软件基础》第5单元 非线性数据结构图.ppt
- 西安交通大学:《计算机软件基础》第7单元 排序(刘志强).ppt
- 西安交通大学:《计算机软件基础》第4单元 非线性数据结构树、二叉树.ppt
- 西安交通大学:《计算机软件基础》线性数据结构(二)(仇国巍).ppt
- 西安交通大学:《计算机软件基础》第1单元 概述.ppt
- 西安交通大学:《计算机软件基础》第17单元 面向对象方法(赵英良).ppt
- 西安交通大学:《计算机软件基础》第13讲 数据库设计基础和SQL语言.ppt
- 西安交通大学:《计算机软件基础》第16单元 传统程序设计方法.ppt
- 西安交通大学:《计算机软件基础》第15单元 软件工程概论(赵英良).ppt
- 北京大学:《计算机图形学》第三讲 一个简单的二维光栅图形软件包.ppt
- 北京大学:《计算机图形学》第四讲 二维图元生成算法.ppt
- 北京大学:《计算机图形学》第五讲 二维裁剪.ppt
- 北京大学:《计算机图形学》第六讲 图形变换.ppt
- 北京大学:《计算机图形学》第七讲 图形用户界面与人机交互.ppt
- 北京大学:《计算机图形学》第八讲 投影.ppt
- 北京大学:《计算机图形学》第九讲 曲线与曲面.ppt
- 北京大学:《计算机图形学》第十讲 三维形体的表示.ppt
- 北京大学:《计算机图形学》第十一讲 面消隐.ppt
- 北京大学:《计算机图形学》第十二讲 真实感图形绘制.ppt
- 北京大学:《计算机图形学》第十三讲 计算机动画.ppt
- 北京大学:《计算机图形学》第一讲 计算机图形学概述.ppt
- 北京大学:《计算机图形学》第二讲 图形设备与系统.ppt
- 《网页设计》课程教学资源(PPT课件讲稿)第二章 网页的基本结构和段落、文字标记.ppt
- 《网页设计》课程教学资源(PPT课件讲稿)第三章 超级链接和列表.ppt
- 《网页设计》课程教学资源(PPT课件讲稿)第四章 图片和表格.ppt
- 《网页设计》课程教学资源(PPT课件讲稿)第八章 asp介绍(姚屏).ppt
- 《网页设计》课程教学资源(PPT课件讲稿)第五章 表单、框架和多媒体.ppt
- 《网页设计》课程教学资源(PPT课件讲稿)第六章 JavaScript语言概述.ppt
- 《网页设计》课程教学资源(PPT课件讲稿)HTML基础(姚屏).ppt