书签 分享 收藏 举报 版权申诉 / 52
上传文档赚钱

类型程序设计基础教材(-)课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4512092
  • 上传时间:2022-12-15
  • 格式:PPT
  • 页数:52
  • 大小:667.01KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《程序设计基础教材(-)课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    程序设计 基础 教材 课件
    资源描述:

    1、1第第10章章 程序设计基础程序设计基础2本章教学目的本章教学目的:了解程序设计的基本概念、思想和方法,了解程序设计的基本概念、思想和方法,为今后更好地学习程序设计语言打好基础。为今后更好地学习程序设计语言打好基础。3本章教学内容:本章教学内容:程序设计语言概述程序设计语言概述2.2.程序:程序的类型及程序的执行方式。程序:程序的类型及程序的执行方式。3.3.软件工程:目前软件开发和维护的方法。软件工程:目前软件开发和维护的方法。4.4.软件生命周期:软件开发的具体步骤。软件生命周期:软件开发的具体步骤。410.1 程序设计语言概述任何以计算机为处理工具的任务都是对处理对象和处任何以计算机为处

    2、理工具的任务都是对处理对象和处理规则的完整描述,称为程序。理规则的完整描述,称为程序。软件是程序、数据及相关文档的集合,是软件是程序、数据及相关文档的集合,是 用户与硬件用户与硬件之间的接口。之间的接口。5机器语言是计算机硬件系统能唯一识别并执行的语言,机器语言是计算机硬件系统能唯一识别并执行的语言,计算机指令。计算机指令。计算机指令是硬件唯一能识别的、实现计算机基本功计算机指令是硬件唯一能识别的、实现计算机基本功能的二进制编码,是指挥计算机工作的基本命令。能的二进制编码,是指挥计算机工作的基本命令。指令指令:计算机指令是计算机执行命令的最小功能单位计算机指令是计算机执行命令的最小功能单位,是

    3、指挥计算机工作的命令,是软件与硬件的接口。是指挥计算机工作的命令,是软件与硬件的接口。6一般来说,指令由操作码和操作数两部分组成一般来说,指令由操作码和操作数两部分组成:操作码用于指明操作,不同指令具有不同的操作码。操作码用于指明操作,不同指令具有不同的操作码。操作数可以是要操作的数据(称为立即数),也可操作数可以是要操作的数据(称为立即数),也可以是存放操作数的内存单元地址或寄存器地址等以是存放操作数的内存单元地址或寄存器地址等。操作码操作码操作数操作数72.指令系统指令系统指令系统:一台计算机中全部指令的集合构成指令系指令系统:一台计算机中全部指令的集合构成指令系统。统。一台计算机的指令系

    4、统决定了它的基本性能,现代计一台计算机的指令系统决定了它的基本性能,现代计算机一般都有几十条到上百条指令。算机一般都有几十条到上百条指令。8早期计算机,从简化计算机硬件结构和降低成本考虑,早期计算机,从简化计算机硬件结构和降低成本考虑,指令系统都比较简单,指令条数少、功能弱。指令系统都比较简单,指令条数少、功能弱。为增加计算机功能及缩小指令系统与高级程序设计语为增加计算机功能及缩小指令系统与高级程序设计语言之间的差异,人们研制了复杂指令系统计算机言之间的差异,人们研制了复杂指令系统计算机(CISC,Complex Instruction Set Computer)。)。CISC计算机指令条数多

    5、达二三百条,能直接处理多计算机指令条数多达二三百条,能直接处理多种数据类型。种数据类型。9RISC,Reduced Instruction Set Computer,指令系统,指令系统具有指令少、功能简单、指令执行时间短等特点,具有指令少、功能简单、指令执行时间短等特点,RISC成为计算机设计的主流成为计算机设计的主流。1010.1.2 汇编语言汇编语言汇编语言:指令由英文单词或缩写构成,用符号和十汇编语言:指令由英文单词或缩写构成,用符号和十进制数代替机器语言中的二进制编码,便于人们记进制数代替机器语言中的二进制编码,便于人们记忆和书写。忆和书写。1110111000 00001000 00

    6、000000 00000101 00000111 00000000以计算以计算A=8+7为例:为例:l机器语言为:机器语言为:l汇编语言为:汇编语言为:MOV AX,8 ADD AX,7;将;将8存入累加器存入累加器A中中;7与累加器与累加器A中的内容相加,中的内容相加,;结果仍存放在;结果仍存放在A中中12计算机程序设计语言总体上可以分为低级语言和高级语计算机程序设计语言总体上可以分为低级语言和高级语言两大类,低级语言是指机器语言和汇编语言;言两大类,低级语言是指机器语言和汇编语言;低级语言的低级并不是说语言的功能性差,而是指与计低级语言的低级并不是说语言的功能性差,而是指与计算机算机 硬件

    7、硬件 密切相关,编写程序难度较大密切相关,编写程序难度较大。机器语言和汇编语言都与计算机类型有关机器语言和汇编语言都与计算机类型有关;汇编语言一般用于编制系统软件和过程控制软件汇编语言一般用于编制系统软件和过程控制软件1310.1.3 结构化程序设计语言结构化程序设计语言 结构化程序设计语言:脱离具体计算机硬件结构的程结构化程序设计语言:脱离具体计算机硬件结构的程序设计语言。序设计语言。程序设计的核心是数据结构和算法;程序设计的核心是数据结构和算法;通过数据结构定义数据的存储形式;通过数据结构定义数据的存储形式;通过算法研究如何用快捷、高效的方法来组织解决通过算法研究如何用快捷、高效的方法来组

    8、织解决问题的具体过程。问题的具体过程。1420世纪世纪50年代后期,出现了许多脱离具体计算机硬件年代后期,出现了许多脱离具体计算机硬件结构的程序设计语言,人们称之为高级程序设计语结构的程序设计语言,人们称之为高级程序设计语言。例如言。例如Basic、FORTRAN、Pascal等等。例如,计算例如,计算A=8+7并输出结果的并输出结果的BASIC语言程序段如语言程序段如下:下:A=8+7 Print A15结构化程序设计语言将注意力从机器转移到问题本身,结构化程序设计语言将注意力从机器转移到问题本身,它致力于用计算机能理解的逻辑来描述解决问题的它致力于用计算机能理解的逻辑来描述解决问题的具体方

    9、法和步骤。具体方法和步骤。面向过程的程序设计的核心是数据结构和算法。通过面向过程的程序设计的核心是数据结构和算法。通过数据结构定义数据的存储形式;通过算法研究如何数据结构定义数据的存储形式;通过算法研究如何用快捷、高效的方法来组织解决问题的具体过程。用快捷、高效的方法来组织解决问题的具体过程。161.1.结构化程序设计语言的基本特征结构化程序设计语言的基本特征:程序内部结构化:程序由顺序、选择(分支)和重程序内部结构化:程序由顺序、选择(分支)和重复(循环)复(循环)3种结构组成。种结构组成。程序模块化:一个大程序由若干个功能独立的、相程序模块化:一个大程序由若干个功能独立的、相互关联的程序模

    10、块(子程序、函数等)组成。程序互关联的程序模块(子程序、函数等)组成。程序模块之间通过调用模块之间通过调用 关系完成程序的整体功能。关系完成程序的整体功能。可移植性好:即为一类计算机设计的程序,经少量可移植性好:即为一类计算机设计的程序,经少量改动后可以在另一类计算机上运行。与改动后可以在另一类计算机上运行。与 低级语言相低级语言相比,结构化程序具有较好的移植性。比,结构化程序具有较好的移植性。17具有代表性的结构化程序设计语言具有代表性的结构化程序设计语言:FORTRAN语言:是语言:是Formula Translator的缩写,在工的缩写,在工程、数学和科学研究上是使用最广泛的语言,尤其程

    11、、数学和科学研究上是使用最广泛的语言,尤其是在科学计算中发挥着极其重要的作用。是在科学计算中发挥着极其重要的作用。Pascal语言:作为一门实用程序设计语言和教学工具,语言:作为一门实用程序设计语言和教学工具,Pascal语言在高校计算机软件教学中一直处于主导语言在高校计算机软件教学中一直处于主导地位。地位。C语言:适合于系统描述,可以用于编写系统和应用语言:适合于系统描述,可以用于编写系统和应用软件。软件。1810.1.4 面向对象的程序设计语言面向对象的程序设计语言Object Oriented Programming,OOP早在早在20世纪世纪60年代在实验室中就提出了面向对象方法,年代

    12、在实验室中就提出了面向对象方法,最早的面向对象软件是最早的面向对象软件是1966年开发的年开发的Simula它首它首次提出模拟人类思维方式,将数据和相关操作集成次提出模拟人类思维方式,将数据和相关操作集成在一起。使得数据和处理数据的方法融为一体,更在一起。使得数据和处理数据的方法融为一体,更方便处理现实世界中复杂的事物。方便处理现实世界中复杂的事物。19面向对象的程序设计语言:面向对象的程序设计语言:对象:是程序中最基本的运行实体,一个程序由若对象:是程序中最基本的运行实体,一个程序由若干个对象组成,各个对象既相互独立,又通过消息干个对象组成,各个对象既相互独立,又通过消息相互联系。相互联系。

    13、类:是具有相同特征对象的抽象,是创建对象的模板类:是具有相同特征对象的抽象,是创建对象的模板 202.可视化程序设计可视化程序设计在可视化程序设计中,在可视化程序设计中,属性、事件和方法是用于控制属性、事件和方法是用于控制和管理对象的和管理对象的3个要素。个要素。属性:用于描述对象的特征。属性:用于描述对象的特征。事件:是对象响应某种操作时的一种反映机制,是事件:是对象响应某种操作时的一种反映机制,是响应某种操作的程序代码入口。响应某种操作的程序代码入口。方法:一种子程序,调用时依附于对象,运行时执方法:一种子程序,调用时依附于对象,运行时执行相关的操作,也称之为对象函数。行相关的操作,也称之

    14、为对象函数。21具有代表性的面向对象程序设计语言:具有代表性的面向对象程序设计语言:C+语言语言:在:在C语言基础上增加了面向对象的支持,基本兼容语言基础上增加了面向对象的支持,基本兼容C语言程序。其特点是既支持结构化程序设计方法,又支持语言程序。其特点是既支持结构化程序设计方法,又支持面向对象程序设计方法,因此,也称之为混合型语言。面向对象程序设计方法,因此,也称之为混合型语言。Delphi语言语言:是在:是在Pascal基础上开发出来的可视化程序设计语基础上开发出来的可视化程序设计语言,是真正的面向对象编程语言,执行效率高,具有强大的言,是真正的面向对象编程语言,执行效率高,具有强大的数据

    15、库管理功能,是开发中小型数据库软件的理想编程工具。数据库管理功能,是开发中小型数据库软件的理想编程工具。Java语言语言:Java也是一种跨平台的程序设计语言,适合开发基也是一种跨平台的程序设计语言,适合开发基于网络、多媒体、与平台无关的应用程序,应用程序可以在于网络、多媒体、与平台无关的应用程序,应用程序可以在网络上传输,并可以运行在任何计算机上。网络上传输,并可以运行在任何计算机上。22网页设计语言:网页设计语言:通过网络浏览器浏览的网页可分为通过网络浏览器浏览的网页可分为 动态网页、动态网页、静态静态网页两种。网页两种。标记语言主要用于设计静态网页,利用标记标注信标记语言主要用于设计静态

    16、网页,利用标记标注信息的类型和位置。息的类型和位置。1.脚本语言是介于脚本语言是介于HTML和编程语言之间的一种语言,和编程语言之间的一种语言,主要用于设计动态网页。主要用于设计动态网页。23在计算机中,通常将在计算机中,通常将 结构化程序设计语言和面向对象结构化程序设计语言和面向对象程序设计语言统称为高级程序设计语言,简称高级程序设计语言统称为高级程序设计语言,简称高级语言。语言。2410.2 程序程序任何以计算机为处理工具的任务都是对处理对象和规任何以计算机为处理工具的任务都是对处理对象和规则的完整描述,这种描述称为程序。则的完整描述,这种描述称为程序。程序是用计算机语言设计的,为完成某一

    17、任务、按一程序是用计算机语言设计的,为完成某一任务、按一定顺序编排的指令序列。定顺序编排的指令序列。要使程序起作用,必须将其装入到内存中执行,程序要使程序起作用,必须将其装入到内存中执行,程序的实际工作过程称为执行或运行。的实际工作过程称为执行或运行。25 在屏幕上显示字符串在屏幕上显示字符串“Hello World”Hello World”DSEG SEGMENT STRING DB Hello World,0DH,OAH,$;定义缓冲区 DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG START:MOV AX,DSEG MOV DS,AXLEA

    18、DX,STRINGMOV AH,09HINT 21HMOV AH,4CHINT 21HCSEG ENDSEND START26【例例81】计算阶乘的】计算阶乘的C语言程序语言程序JSJC.C。Long fun(Int x)/*函数函数fun,用来计算用来计算x的阶乘的阶乘*/Long Result=1;/*result是变量,用来保存计算结果是变量,用来保存计算结果*/Int I;/*i为循环控制变量为循环控制变量*/For(i=2;i=x;i+)/*循环控制语句,用于实现语句的多次执行循环控制语句,用于实现语句的多次执行*/Result=Result*i;/*循环体,实现计算循环体,实现计算

    19、*/Return result;/*返回语句,将计算结果提交给调用者返回语句,将计算结果提交给调用者*/Main()/*C语言主程序语言主程序*/Int i=1;/*i为循环控制变量为循环控制变量*/Long s;/*s是变量,保存计算结果是变量,保存计算结果*/While(i!=0)/*循环语句,用于实现多次计算循环语句,用于实现多次计算*/Printf(Please Input I(I=0 Over):);/*输入数据提示输入数据提示*/Scanf(“%d”,&i);/*输入数据语句,输入数据保存在变量输入数据语句,输入数据保存在变量i中中*/If(i=0)/*分支语句,用于输入数据判断分

    20、支语句,用于输入数据判断*/Exit(0);/*输入输入i值为值为0,调用函数,调用函数exit结束程序结束程序*/Else /*分支否定条件,当输入分支否定条件,当输入i值不为零时值不为零时*/If(i10)/*判断输入数据范围判断输入数据范围*/Printf(“Data must bewteen 1 and 10.n”);/*数据超界,提示合理范围数据超界,提示合理范围*/Continue;/*回到循环开始位置,继续判断循环条件回到循环开始位置,继续判断循环条件*/s=fun(i);/*调用函数调用函数fun计算计算i阶乘,结果存于变量阶乘,结果存于变量s中中*/Printf(%d!=%l

    21、dn,I,s);/*在屏幕上输出计算结果在屏幕上输出计算结果*/图图8.1.1 程序程序JSJC运行过程运行过程 27Dim a As Integer Dim b As Integer Private Sub Command1_Click()k=InStr(a,Text2,Text1)If k 0 Then Command1.Caption=查找下一个查找下一个 a=k+Len(Text1)Text2.SetFocus Text2.SelStart=k-1 Text2.SelLength=Len(Text1)b=b+1 Else MsgBox 查找完毕!共找到查找完毕!共找到&b&个个&Tex

    22、t1 Command1.Caption=查找查找“a=1 End If Print k End Sub 28根据程序所处软件的开发阶段或运行方式的不同,程根据程序所处软件的开发阶段或运行方式的不同,程序主要有源程序、可执行程序和动态链接库序主要有源程序、可执行程序和动态链接库3种类种类型。型。人们将利用程序设计语言设计的内容称为源程序人们将利用程序设计语言设计的内容称为源程序。将。将保存这些内容的文件称为源程序文件。保存这些内容的文件称为源程序文件。29可执行程序是由源程序翻译(编译)生成的、真实的可执行程序是由源程序翻译(编译)生成的、真实的机器语言程序。机器语言程序。在在Windows中,

    23、最常用的可执行程中,最常用的可执行程序文件扩展名为序文件扩展名为EXE和和COM。30动态链接库动态链接库是由源程序生成的机器语言程序的另一种是由源程序生成的机器语言程序的另一种形式,主要作为可执行程序的辅助文件,不能独立形式,主要作为可执行程序的辅助文件,不能独立运行。运行。主要作用:主要作用:(1)提供应用程序接口()提供应用程序接口(API),),User32.dll(2)程序动态加载)程序动态加载31源程序的翻译方式:源程序的翻译方式:编译方式:编译方式:通过程序设计语言提供的编译或生成工具,通过程序设计语言提供的编译或生成工具,系统自动对整个源程序逐句进行词法分析、语法分系统自动对整

    24、个源程序逐句进行词法分析、语法分析和机器语言指令翻译。析和机器语言指令翻译。解释方式:解释方式:在程序设计语言环境中直接运行源程序,在程序设计语言环境中直接运行源程序,在执行每条语句前,系统先分析语句的词法和语法,在执行每条语句前,系统先分析语句的词法和语法,若语句正确,则生成并执行机器语言指令,直到程若语句正确,则生成并执行机器语言指令,直到程序运行结束。序运行结束。3210.3 软件工程基础软件工程基础软件工程是将系统的、规范的、可度量的方法应用于软件工程是将系统的、规范的、可度量的方法应用于软件开发和维护整体过程的一门科学,用数学、计软件开发和维护整体过程的一门科学,用数学、计算机科学和

    25、管理科学的原理,借助传统工程科学的算机科学和管理科学的原理,借助传统工程科学的原则和方法创建与维护软件,从而达到提高软件质原则和方法创建与维护软件,从而达到提高软件质量、降低软件成本的目的。量、降低软件成本的目的。软件工程学出现的目的是为缓解软件危机。软件工程学出现的目的是为缓解软件危机。33软件工程软件工程的诞生背景的诞生背景程序设计时代程序设计时代:程序设计语言是机器语言:程序设计语言是机器语言和汇编语言,这个阶段被称为程序设计时代。和汇编语言,这个阶段被称为程序设计时代。软件开发主要是个体手工劳动软件开发主要是个体手工劳动,完全依赖程序完全依赖程序设计者的个人技能,不重视程序设计方法。设

    26、计者的个人技能,不重视程序设计方法。程序系统时代程序系统时代:高级程序设计语言出现后,:高级程序设计语言出现后,提出了结构化程序设计的方法,并成为软件提出了结构化程序设计的方法,并成为软件开发的主要工具,称此阶段为程序系统时代。开发的主要工具,称此阶段为程序系统时代。34供需矛盾供需矛盾;开发成本和时间失控;开发成本和时间失控;质量难以保障质量难以保障;维护困难维护困难。主要表现主要表现:软件危机软件危机是泛指在计算机软件的开发和维护是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。过程中所遇到的一系列严重问题。软件发展速度落后于硬件发展水平,人们对软软件发展速度落后于硬件发展水平,

    27、人们对软件的需求得不到满足。件的需求得不到满足。管理人员缺少开发软件的经验,需求描述不准确,管理人员缺少开发软件的经验,需求描述不准确,而开发人员又缺少管理经验,二者之间缺乏交流工而开发人员又缺少管理经验,二者之间缺乏交流工具,过分依赖开发人员在软件开发过程中的技巧和具,过分依赖开发人员在软件开发过程中的技巧和创造力,因此,很难开发出高质量的实用软件。创造力,因此,很难开发出高质量的实用软件。由于缺乏软件开发规范和技术文档,人们很难阅读由于缺乏软件开发规范和技术文档,人们很难阅读和修改其他人开发的软件,使软件维护、移植和升和修改其他人开发的软件,使软件维护、移植和升级困难,导致软件重复开发问题

    28、严重,软件复用性级困难,导致软件重复开发问题严重,软件复用性降低。降低。35软件工程软件工程主要包括软件开发技术和软件工程管主要包括软件开发技术和软件工程管理。理。软件工程软件工程是一门交叉科学,包含方法、工具和是一门交叉科学,包含方法、工具和过程过程3 3个要素。个要素。36软件工程包括三个要素:方法、工具和过程。软件工程包括三个要素:方法、工具和过程。1.方法:完成软件工程项目的技术手段,它支持项目方法:完成软件工程项目的技术手段,它支持项目计划和估算、系统和软件需求分析、软件设计、编码、计划和估算、系统和软件需求分析、软件设计、编码、测试和维护。测试和维护。2.工具:支持软件的开发和管理

    29、,支持各种软件文档的工具:支持软件的开发和管理,支持各种软件文档的生成。人们将用于软件开发的软、硬件工具和软件工生成。人们将用于软件开发的软、硬件工具和软件工程数据库集成在一起,建立了集成软件工程环境;程数据库集成在一起,建立了集成软件工程环境;3.过程:支持软件开发各个环节的控制、管理过程:支持软件开发各个环节的控制、管理。37软件工程的基本目标是付出较低的开发成本,软件工程的基本目标是付出较低的开发成本,达到要求的软件功能;达到要求的软件功能;按时完成开发任务,及时交付使用;按时完成开发任务,及时交付使用;开发出来的软件具有良好的稳定性、可靠性、开发出来的软件具有良好的稳定性、可靠性、适应

    30、性和可操作性,易于移植和维护。适应性和可操作性,易于移植和维护。38 在软件开发过程中,必须遵循在软件开发过程中,必须遵循抽象性抽象性、信息隐藏性信息隐藏性、模块化模块化、局部化局部化、一致性一致性、完整性完整性和和可验证性可验证性等原则。等原则。抽取抽取事物事物最基本最基本的的特性和行为特性和行为,忽略某些无关,忽略某些无关紧要的细节。紧要的细节。模块化模块化是程序中逻辑上相对独立的成分,是是程序中逻辑上相对独立的成分,是功功能相对独立的程序单位能相对独立的程序单位(VB(VB语言中的子程序、语言中的子程序、窗体等窗体等),具有良好的接口定义,具有良好的接口定义(如子程序的形如子程序的形式参

    31、数、对象的事件等式参数、对象的事件等)。隐藏隐藏信息模块的信息模块的实现细节实现细节(如子程序实现代码、(如子程序实现代码、对象的构造代码等),对象的构造代码等),通过通过模块模块接口接口实现实现操作操作,将注意力集中在更高层次的对象上。将注意力集中在更高层次的对象上。一个一个模块模块的的功能尽量独立功能尽量独立和完整,不受其他模和完整,不受其他模块运行(如改变同名变量的值)的干扰,在模块运行(如改变同名变量的值)的干扰,在模块内部有较强的内聚力,其他模块只能通过接块内部有较强的内聚力,其他模块只能通过接口与之建立联系,以便降低求解问题的复杂性。口与之建立联系,以便降低求解问题的复杂性。在一个

    32、软件系统的各个模块中,使用规范、统在一个软件系统的各个模块中,使用规范、统一的符号和术语;一的符号和术语;软件与硬件接口软件与硬件接口一致;一致;模块模块内外接口内外接口一致;一致;系统规格说明书与软件系统的系统规格说明书与软件系统的行为行为一致等。一致等。软件系统不丢失任何重要成分,软件系统不丢失任何重要成分,完全实现完全实现系统系统所需要的功能。所需要的功能。开发大型软件系统需要逐步分解,开发大型软件系统需要逐步分解,系统分解系统分解应应遵循系统容易检查、测试和评审的原则,以保遵循系统容易检查、测试和评审的原则,以保证系统的证系统的可验证性可验证性。3910.4 软件生命周期软件生命周期软

    33、件产品从形成概念开始,经过开发、使用和维护,软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件的生命周期。直到最后退役的全过程称为软件的生命周期。40在在“计算机软件开发规范计算机软件开发规范”的国家标准中,将软件生的国家标准中,将软件生存周期划分为可行性研究、需求分析、概要设计、详存周期划分为可行性研究、需求分析、概要设计、详细设计、代码实现、软件测试、使用与维护细设计、代码实现、软件测试、使用与维护7个阶段,个阶段,在每个阶段中都明确规定了任务、实施方法、步骤和在每个阶段中都明确规定了任务、实施方法、步骤和完成标志等,并要求产生相关的文档。完成标志等,并要求产生相关

    34、的文档。41软件定义阶段:1.可行性研究:也称软件计划或策划阶段可行性研究:也称软件计划或策划阶段。此此阶段主要对待开发系统涉及到的经费、软阶段主要对待开发系统涉及到的经费、软/硬件硬件技术、效益和法律等方面的问题进行可行性论技术、效益和法律等方面的问题进行可行性论证,制定系统开发任务的实施计划证,制定系统开发任务的实施计划。2.需求分析:需求分析:需求是用户对目标软件系统在功需求是用户对目标软件系统在功能、行为、性能和约束等方面的要求或期望。能、行为、性能和约束等方面的要求或期望。需求分析是对应用问题及其环境的理解与分析,需求分析是对应用问题及其环境的理解与分析,为应用问题涉及的事物、功能及

    35、系统行为建立为应用问题涉及的事物、功能及系统行为建立模型,将需求精确化和完整化,最终形成需求模型,将需求精确化和完整化,最终形成需求规格说明书。规格说明书。42需求分析的主要工作:需求分析的主要工作:获取资料获取资料 资料分析资料分析 形成需求规格说明书形成需求规格说明书 需求评审需求评审 系统分析员系统分析员与与用户用户进行业务交流和探讨,不断进行业务交流和探讨,不断收集、积累相关的业务资料(文件或表格等),收集、积累相关的业务资料(文件或表格等),加深理解需求,澄清模糊的概念,对有争议的加深理解需求,澄清模糊的概念,对有争议的业务环节业务环节达成共识达成共识等。等。系统分析员系统分析员对收

    36、集的资料进行综合分析和总结,对收集的资料进行综合分析和总结,确确认业务范围和处理细节认业务范围和处理细节,规划业务流程规划业务流程,排除不合,排除不合理的需求,理的需求,确定应用问题的解决方案确定应用问题的解决方案、目标系统的、目标系统的功能模块功能模块以及以及数据模型数据模型(如(如E ER R图形),图形),建立建立各功能各功能模块之间的模块之间的关联关联等。等。需求分析需求分析的的成果成果是是需求规格说明书需求规格说明书,通常包括,通常包括数据数据描述描述、功能描述功能描述和和性能描述性能描述等信息。它是用户、系等信息。它是用户、系统分析员和软件开发人员进行交流的共识资料,是统分析员和软

    37、件开发人员进行交流的共识资料,是待开发软件系统的预期目标,同时作为控制软件的待开发软件系统的预期目标,同时作为控制软件的开发过程,系统功能测试、评估和验收的依据。开发过程,系统功能测试、评估和验收的依据。对对需求规格说明书需求规格说明书进行进行审核审核,验证文档的一致,验证文档的一致性、完整性、正确性、可行性和有效性。性、完整性、正确性、可行性和有效性。43软件开发阶段:3.概要设计:也称结构设计或总体设计,根据概要设计:也称结构设计或总体设计,根据需求确定软件和数据的总体框架。需求确定软件和数据的总体框架。数据结构设计:也称数据对象设计,主要任务数据结构设计:也称数据对象设计,主要任务是依据

    38、需求分析的数据模型,结合程序中涉及的是依据需求分析的数据模型,结合程序中涉及的算法,设计数据文件的逻辑结构算法,设计数据文件的逻辑结构。软件结构设计:按自顶向下、逐步求精和模块软件结构设计:按自顶向下、逐步求精和模块化的设计原则,将一个软件分解和规划成若干个化的设计原则,将一个软件分解和规划成若干个模块,确定各模块之间的关联信息。模块,确定各模块之间的关联信息。概要文档:概要设计说明书、数据结构或数据概要文档:概要设计说明书、数据结构或数据库设计说明书和软件集成调试计划等。库设计说明书和软件集成调试计划等。444.详细设计:主要任务是设计软件功能结构图详细设计:主要任务是设计软件功能结构图中每

    39、个最低层模块的局部算法和数据结构中每个最低层模块的局部算法和数据结构,确定确定每个模块调用和数据传输接口。每个模块调用和数据传输接口。描述算法的常用工具有伪代码(描述算法的常用工具有伪代码(Procedure Procedure Design LanguageDesign Language,PDLPDL)、程序流程图和)、程序流程图和NNS S图图等,设计成果是详细设计说明书。等,设计成果是详细设计说明书。455.编码实现:需要选择一种程序设计语言,进编码实现:需要选择一种程序设计语言,进入程序设计阶段。通常利用菜单或窗口结合工入程序设计阶段。通常利用菜单或窗口结合工具栏设计软件功能结构图的总

    40、体框架,依据详具栏设计软件功能结构图的总体框架,依据详细设计中的算法和数据结构设计每个功能模块细设计中的算法和数据结构设计每个功能模块的程序代码,设计成果是源程序。的程序代码,设计成果是源程序。466.软件测试:是对需求规格说明书、概要设软件测试:是对需求规格说明书、概要设计说明书及程序代码等内容的最后复审。计说明书及程序代码等内容的最后复审。软件质量保证贯穿于软件开发的整个过程,软件质量保证贯穿于软件开发的整个过程,其中关键步骤是软件测试其中关键步骤是软件测试;软件测试目的是在软件产品交付使用之前尽软件测试目的是在软件产品交付使用之前尽可能发现潜在的错误可能发现潜在的错误;软件测试主要检测和

    41、更正语义和功能错误软件测试主要检测和更正语义和功能错误。47软件测试的方法:软件测试的方法:静态测试静态测试:不需要运行软件,由人工直接进不需要运行软件,由人工直接进行阅读和检查源程序,包括代码检查、静态结行阅读和检查源程序,包括代码检查、静态结构分析和代码质量度量等。构分析和代码质量度量等。动态测试:动态测试:是基于计算机的测试,通过运行是基于计算机的测试,通过运行软件发现错误。这种方法需要测试人员根据软软件发现错误。这种方法需要测试人员根据软件开发规格说明和程序内部结构精心地设计件开发规格说明和程序内部结构精心地设计测测试用例试用例,通过输入数据和预期的输出结果发现,通过输入数据和预期的输

    42、出结果发现软件中的错误。软件中的错误。48为测试软件而设计的数据称为测试用例。设计为测试软件而设计的数据称为测试用例。设计测试用例时,要根据程序的具体功能或运算,测试用例时,要根据程序的具体功能或运算,综合考虑各种可能情况,构造具有代表性的数综合考虑各种可能情况,构造具有代表性的数据。据。49动态测试的方法:动态测试的方法:白盒测试:也称结构测试或逻辑驱动测试。需要测白盒测试:也称结构测试或逻辑驱动测试。需要测试人员先阅读和分析源程序的内部结构,根据程序试人员先阅读和分析源程序的内部结构,根据程序可能执行的路径(分支或循环)设计测试用例,确可能执行的路径(分支或循环)设计测试用例,确保每个分支

    43、、每个循环体和循环边界条件至少执行保每个分支、每个循环体和循环边界条件至少执行一次,然后,通过测试用例运行软件,验证软件结一次,然后,通过测试用例运行软件,验证软件结构的正确性。构的正确性。黑盒测试:也称功能测试或数据驱动测试。黑盒测黑盒测试:也称功能测试或数据驱动测试。黑盒测试主要依据需求规格说明书和概要设计说明书,使试主要依据需求规格说明书和概要设计说明书,使用测试用例运行软件,检验软件功能的性能、正确用测试用例运行软件,检验软件功能的性能、正确性和遗漏问题,将软件视为黑匣子,不需要了解软性和遗漏问题,将软件视为黑匣子,不需要了解软件内部代码。件内部代码。50单元测试单元测试:测试的对象是

    44、软件设计的最小单:测试的对象是软件设计的最小单位位 模块模块,是动态测试的第一步。,是动态测试的第一步。集成测试集成测试:又称为:又称为组装测试组装测试或或综合测试综合测试。按。按概要设计的要求,将概要设计的要求,将所有模块所有模块通过调用连接成通过调用连接成程序系统进行测试。程序系统进行测试。确认测试确认测试:也称:也称有效性测试有效性测试。一般采用黑盒。一般采用黑盒测试方法。测试方法。系统测试系统测试:在实际运行环境下对计算机系统:在实际运行环境下对计算机系统进行一系列的进行一系列的综合测试综合测试。测试测试4步骤:步骤:51使用:也称运行或执行。一般包括软件安装、使用:也称运行或执行。一

    45、般包括软件安装、使用培训、相关事宜咨询等内容。使用培训、相关事宜咨询等内容。维护:是软件运行过程中更新或升级等一系维护:是软件运行过程中更新或升级等一系列活动。具体任务包括运行过程中的故障处理,列活动。具体任务包括运行过程中的故障处理,修改逐渐暴露出来的错误,版本升级,软件移修改逐渐暴露出来的错误,版本升级,软件移植等。植等。软件一旦交付用户投入运行,便进入软件生软件一旦交付用户投入运行,便进入软件生命周期的使用与维护阶段,直至退役。命周期的使用与维护阶段,直至退役。、书籍是全世界的营养品。生活里没有书籍,就好像没有阳光;智慧里没有书籍,就好像鸟儿没有翅膀莎士比亚2、书籍使人变得思想奔放。革拉

    46、特珂夫3、书籍是造就灵魂的工具雨果4、经验丰富的人读书用两只眼睛,一只眼睛看到纸面上的话,另一只眼睛看到纸的背面。歌德5、我扑在书籍上,就好像饥饿的人扑在面包上。高尔基6、书籍是巨大的力量。列宁7、书人类发出的最美妙的声音。莱文8、生活在我们这个世界里,不读书就完全不可能了解人。高尔基9、黑发不知勤学早,白首方悔读书迟。颜真卿10、书是良药,善读之可以医愚。刘向11、读书破万卷,下笔如有神。杜甫12、在你渴望时,它前来给予详细指教,但是从不纠缠不休。比切13、书籍是少年的食物,它使老年人快乐,也是繁荣的装饰和危难的避难所,慰人心灵。在家庭成为快乐的种子,在外也不致成为障碍物,但在旅行之际,却是

    47、夜间的伴侣西塞罗14、过去一切时代的精华尽在书中。卡莱尔15、书籍并不是没有生命的东西,它包藏着一种生命的潜力,与作者同样地活跃。不仅如此,它还像一个宝瓶,把作者生机勃勃的智慧中最纯净的精华保存起来弥尔顿16、每一本书都是一个用黑字印在白纸上的灵魂,只要我的眼睛、我的理智接触了它,它就活起来了。高尔基17、读一本好书,就是和许多高尚的人谈话。笛卡尔18、读书之于头脑,好比运动之于身体。爱迪生19、书籍乃世人积累智慧之长明灯寇第斯20、光阴给我们经验,读书给我们知识。奥斯特洛夫斯基21、读书有三到,谓心到,眼到,口到。朱熹22、书籍是青年人不可分离的生命伴侣和导师。高尔基23、和书籍生活在一起,

    48、永远不会叹气。罗曼罗兰24、书籍是最好的朋友。当生活中遇到任何困难的时候,你都可以向它求助,它永远不会背弃你都德25、书籍通过心灵观察世界的窗口。住宅里没有书,犹如房间没有窗户。威尔逊26、读一本好书,象交了一个益友。臧克家27、读万卷书,行万里路。刘彝15)时间一天天过去,有时觉得它漫长难熬,有时却又感到那么短促;有时愉快幸福,有时又悲伤惆怅。一天与一天不同,一日和一日有别,仿佛一昼夜之间也有春夏秋冬之分。;阿;巴巴耶娃16)世界上最快而又最慢,最长而又最短,最平凡而又最珍贵,最容易被人忽视,而又最令人后悔的就是时间。;高尔基17)在人类生活中,时间刹那而过,它的本体是处于一个流动状态中,知

    49、觉是昏钝的,整个肉体的构成是易腐朽的,灵魂是一个疾转之物,运气是很难预料的,名望是缺乏见识的东西。;马尔库;奥勒留18)时间就是金钱,而且对用它来计算利益的人来说,是一笔巨大的金额。;狄更斯19)时间会刺破青春表面的彩饰,会在美人的额上掘深沟浅槽;会吃掉稀世之珍!天生丽质,什么都逃不过他那横扫的镰刀。;莎士比亚20)浪费别人的时间等于是谋财害命,浪费自己的时间等于是慢性自杀。;列宁关于描写时间的名人名言1)时间是衡量事业的标准。;培根2)生命是短促的,然而尽管如此,人们还是有时间讲究礼仪。;爱献生3)历史孕育了真理,它能和时间抗衡,把遗闻旧事保藏下来。它是往昔的迹象,当代的鉴戒,后世的教训。;

    50、塞万提斯4)时间是由分秒积成的,善于利用零星时间的人,才会做出更大的成绩来。;华罗庚5)时间是人类发展的空间。;马克思6)在无限的时间的河流里,人生仅仅是微小又微小的波浪。;郭小川7)重复言说多半是一种时间上的损失。;培根8)开诚布公与否和友情的深浅,不应该用时间的长短来衡量。;巴尔扎克9)真正的敏捷是一件很有价值的事。因为时间是衡量事业的标准,如金钱是衡量货物的标准。;弗;培根10)正当利用时间!你要理解什么,不要舍近求远。;歌德11)人的全部本领无非是耐心和时间的混合物。;巴尔扎克12)生命的长短以时间来计算,生命的价值以贡献来计算。;裴多菲13)敢于浪费哪怕一个钟头时间的人,说明他还不懂

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:程序设计基础教材(-)课件.ppt
    链接地址:https://www.163wenku.com/p-4512092.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库