vfp(第3版)课件:公共基础 程序设计与软件工程.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《vfp(第3版)课件:公共基础 程序设计与软件工程.ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vfp第3版课件:公共基础 程序设计与软件工程 vfp 课件 公共 基础 程序设计 软件工程
- 资源描述:
-
1、可视化程序设计可视化程序设计Visual FoxPro 第九章第九章程序设计与软件工程程序设计与软件工程23程序设计方法与风格程序设计方法与风格v 程序设计方法:程序设计方法:p结构化程序设计结构化程序设计p面向对象程序设计面向对象程序设计1程序程序 程序是按某种顺序排列的,能完成某种功能的程序是按某种顺序排列的,能完成某种功能的指令集合指令集合。程序有其特定的算法和完整的数据结构。程序有其特定的算法和完整的数据结构。4 结构化程序设计结构化程序设计一、结构化程序设计的原则一、结构化程序设计的原则1.自顶向下自顶向下:先从最上层总目标开始设计,逐步使问题具体化,先总体,后局部;先从最上层总目标
2、开始设计,逐步使问题具体化,先总体,后局部;2.逐步求精逐步求精:对复杂问题,应设计子目标作过渡,逐步细化;对复杂问题,应设计子目标作过渡,逐步细化;3.模块化模块化:把程序要解决的总目标分解为子目标,把每个子目标称为一个模块;把程序要解决的总目标分解为子目标,把每个子目标称为一个模块;4.限制使用限制使用GOTOGOTO语句语句:滥用导致程序混乱,但不可完全避免。滥用导致程序混乱,但不可完全避免。5二、二、 结构化程序的基本结构结构化程序的基本结构1 1、顺序结构顺序结构:2 2、选择结构选择结构:(也称分支结构):(也称分支结构)3 3、重复结构重复结构:(也称循环结构):(也称循环结构)
3、6面向对象程序设计面向对象程序设计 类是具有相同或相似性质的对象的抽象,也就是说类是具类是具有相同或相似性质的对象的抽象,也就是说类是具有相同属性、共同方法的对象的集合。有相同属性、共同方法的对象的集合。(1)类类是对象模板是对象模板(2)对象对象是类的一个实例是类的一个实例v 类和实例类和实例78软件工程基本概念软件工程基本概念一、软件定义与分类一、软件定义与分类1.1.软件的定义:软件的定义: 软件是程序、数据及其相关文档的完整集合。软件是程序、数据及其相关文档的完整集合。程序是按事先设计的功能和性能要求编写的指令序列;程序是按事先设计的功能和性能要求编写的指令序列;数据是使程序能正常操纵
4、信息的数据结构;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文材料。文档是与程序开发、维护和使用有关的图文材料。程序并不是软件,程序只是软件的组成部分。程序并不是软件,程序只是软件的组成部分。 2.2.软件按功能来分为:软件按功能来分为: 应用软件、系统软件、支撑软件应用软件、系统软件、支撑软件(或工具软件)。(或工具软件)。9软件工程的基本概念软件工程的基本概念v 软件危机软件危机n泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。n软件危机归结为成本、质量、生产率等问题。软件危机归结为成本、质量
5、、生产率等问题。v 软件工程的定义软件工程的定义n软件工程是应用于计算机软件的定义、开发和维护的一整套方法、软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、过程。工具、过程。n软件工程包括软件工程包括3个要素,即方法、工具和过程。个要素,即方法、工具和过程。二、软件工程的基本概念二、软件工程的基本概念10软件工程的基本概念软件工程的基本概念v 软件生命周期软件生命周期软件定义软件定义、软件开发软件开发、软件运行维护软件运行维护3个阶段。个阶段。可行性研究可行性研究初步项目计划初步项目计划需求分析需求分析概要设计概要设计详细设计详细设计软件实现软件实现软件测试软件测试使用使用维护
6、维护退役退役定义阶段定义阶段开发阶段开发阶段维护阶段维护阶段只有软件定义有用户的参与只有软件定义有用户的参与v维护维护是软件生命周期的最后一个阶段,是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个也是持续时间最长,花费代价最大的一个阶段,软件工程学的一个目的就是提高软阶段,软件工程学的一个目的就是提高软件的可维护性,降低维护的代价。件的可维护性,降低维护的代价。11需求分析需求分析结构化分析方法结构化分析方法v结构化分析方法结构化分析方法是一种面向数据流、自顶是一种面向数据流、自顶向下、逐步求精进行需求分析的方法。常向下、逐步求精进行需求分析的方法。常用工具主要包括:用工具主
7、要包括:数据流图数据流图、数据字典数据字典、判定表和判定树。判定表和判定树。 。 12例:借书过程的数据流程图例:借书过程的数据流程图(DFD)。 加工加工 数据流数据流 存储文件存储文件 源,潭源,潭 需求分析需求分析结构化分析方法结构化分析方法132 2)数据字典数据字典(DDDD-Data Dictionary-Data Dictionary) 数据字典是结构化分析方法的核心。数据字典是结构化分析方法的核心。数据字典是数据字典是数据流数据流图图中所有图形元素的定义集合,数据字典的作用是使得每一中所有图形元素的定义集合,数据字典的作用是使得每一个图形元素的名字都有一个确切的解释。个图形元素
8、的名字都有一个确切的解释。 例:学生借阅清单的数据字典例:学生借阅清单的数据字典学生借阅清单学号+姓名+系别+书号+书名+借阅日期+应还日期+日期学号2字母6姓名2字母24系别2字母24书号1字母32+“00001”“99999”书名1字母120借阅日期日期应还日期日期日期年+月+日年“00”“99”月“01”“12”日“01”“31”需求分析需求分析结构化分析方法结构化分析方法14(3 3)判定树判定树 判定树也是用来表达加工逻辑的一种工具。判定树也是用来表达加工逻辑的一种工具。需求分析需求分析结构化分析方法结构化分析方法15(4 4)判定表判定表 如果数据流图的加工需要依赖于多个逻辑条件的
9、取值,如果数据流图的加工需要依赖于多个逻辑条件的取值,使用判定表来描述比较合适使用判定表来描述比较合适 以以“检查发货单检查发货单”为例为例需求分析需求分析结构化分析方法结构化分析方法16 开发阶段开发阶段结构化设计方法结构化设计方法v 软件设计分两步完成软件设计分两步完成 概要设计(结构设计)概要设计(结构设计) 详细设计详细设计v 软件设计的基本原理和方法:软件设计的基本原理和方法: 抽象抽象 模块化模块化 信息隐蔽信息隐蔽 模块独立性模块独立性 内聚、耦合内聚、耦合内聚:一个模块内部各元素结合的紧密程度内聚:一个模块内部各元素结合的紧密程度耦合:模块间互相联系的紧密程度耦合:模块间互相联
10、系的紧密程度 软件设计中,有利于提高模块独立性的一个准则是软件设计中,有利于提高模块独立性的一个准则是高内聚低耦合高内聚低耦合。高内聚高内聚功能内聚功能内聚低内聚偶然内聚高耦合高耦合非直接耦合非直接耦合 耦合内容耦合171.1.程序流程图程序流程图:顺序型、选择型、后判断重复型、先判断重:顺序型、选择型、后判断重复型、先判断重复型、多分支选择型。复型、多分支选择型。123循环体循环条件循环体循环条件2.2.N-SN-S图图:用方框图代替传统的程序流程图。:用方框图代替传统的程序流程图。条件ELSE THEN条件=1=2=NA1A2A3A4注:注:控制流控制流 加工步骤加工步骤 逻辑条件逻辑条件
11、v常见的过程设计工具常见的过程设计工具 开发阶段开发阶段结构化设计方法结构化设计方法183.3.PADPAD图图:问题分析图。:问题分析图。ABAB条件WHILEAUNTILA4.4.PDLPDL:过程设计语言(结构化的英语或伪码):一种混合:过程设计语言(结构化的英语或伪码):一种混合语言,采用英语的词汇和结构程序设计语言的语法。语言,采用英语的词汇和结构程序设计语言的语法。STARTEND输入x,yX0X15公式2计算UNTIL重复3次记帐、输出19常用工具常用工具v结构化分析工具结构化分析工具: 数据流图(数据流图(DFD) 数据字典(数据字典(DD) 判定树判定树 判定表判定表v过程设
12、计工具过程设计工具 程序流程图程序流程图 N-S图图 PAD图:问题分析图。图:问题分析图。 PDL:过程设计语言过程设计语言20 软件测试软件测试一、软件测试的目的:一、软件测试的目的: 软件测试是为了软件测试是为了发现软件错误发现软件错误。二软件测试技术二软件测试技术 从是否需要执行被测软件的角度,可以分为从是否需要执行被测软件的角度,可以分为静态测试静态测试和和动态测试动态测试方法。方法。 按功能划分为按功能划分为白盒测试白盒测试(结构测试结构测试)和)和黑盒测试黑盒测试(功能功能测试测试)方法。)方法。v 静态测试与动态测试静态测试与动态测试 静态测试不实际运行软件,主要通过静态测试不
展开阅读全文