分享
分销 收藏 举报 申诉 / 53

类型第10章程序设计基础.ppt

  • 上传人:天****
  • 文档编号:14679021
  • 上传时间:2026-10-28
  • 格式:PPT
  • 页数:53
  • 大小:348KB
  • 下载积分:10 金币
  • 配套讲稿:

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

    特殊限制:

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

    关 键  词:
    10 章程 设计 基础
    资源描述:
    单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/2/28,*,第10章 程序设计基础,2021/2/28,1,本章教学目的:,了解程序设计的基本概念、思想和方法,为今后更好地学习程序设计语言打好基础。,2021/2/28,2,本章教学内容:,程序设计语言概述,2.,程序:程序的类型及程序的执行方式。,3.,软件工程:目前软件开发和维护的方法。,4.,软件生命周期:软件开发的具体步骤。,2021/2/28,3,10.1 程序设计语言概述,软件是程序、数据及相关文档的集合,是用户与硬件之间的接口。,任何以计算机为处理工具的任务都是对处理对象和处理规则的完整描述,称为程序。,2021/2/28,4,机器语言是计算机硬件系统能唯一识别并执行的语言,计算机指令。,计算机指令是硬件唯一能识别的、实现计算机基本功能的二进制编码,是指挥计算机工作的基本命令。,计算机指令是计算机执行命令的最小功能单位,是软件与硬件的接口。,2021/2/28,5,一般来说,指令由操作码和操作数两部分组成:,操作码用于指明操作,不同指令具有不同的操作码。操作数可以是要操作的数据(称为立即数),也可以是存放操作数的内存单元地址或寄存器地址等。,操作码,操作数,2021/2/28,6,2.指令系统,指令系统:一台计算机中全部指令的集合构成指令系统。,一台计算机的指令系统决定了它的基本性能,现代计算机一般都有几十条到上百条指令。,2021/2/28,7,早期计算机,从简化计算机硬件结构和降低成本考虑,指令系统都比较简单,指令条数少、功能弱。,为增加计算机功能及缩小指令系统与高级程序设计语言之间的差异,人们研制了复杂指令系统计算机(CISC,Complex Instruction Set Computer)。CISC计算机指令条数多达二三百条,能直接处理多种数据类型。,2021/2/28,8,RISC,Reduced Instruction Set Computer,指令系统具有指令少、功能简单、指令执行时间短等特点,RISC成为计算机设计的主流。,2021/2/28,9,10111 00000000,00000101 00000111 00000000,计算A=8+7,机器语言为:,汇编语言为:,MOV AX,8,ADD AX,7,;将8存入累加器A中,;7与累加器A中的内容相加,,;结果仍存放在A中,10.1.2 汇编语言,2021/2/28,10,汇编语言:指令由英文单词或缩写构成,用符号和十进制数代替机器语言中的二进制编码,便于人们记忆和书写。,2021/2/28,11,计算机程序设计语言总体上可以分为低级语言和高级语言两大类,低级语言是指机器语言和汇编语言;,低级语言的低级并不是说语言的功能性差,而是指与计算机硬件密切相关,编写程序难度较大。,机器语言和汇编语言都与计算机类型有关,;,汇编语言一般用于编制系统软件和过程控制软件,2021/2/28,12,10.1.3 结构化程序设计语言,20世纪50年代后期,出现了许多脱离具体计算机硬件结构的程序设计语言,人们称之为高级程序设计语言或结构化程序设计语言。例如Basic、FORTRAN,Pascal等。,例如,计算A=8+7并输出结果的BASIC语言程序段如下:,A=8+7,Print A,2021/2/28,13,结构化程序设计语言:脱离具体计算机硬件结构的程序设计语言。,程序设计的核心是数据结构和算法;,通过数据结构定义数据的存储形式;,通过算法研究如何用快捷、高效的方法来组织解决问题的具体过程。,2021/2/28,14,结构化程序设计语言将注意力从机器转移到问题本身,它致力于用计算机能理解的逻辑来描述解决问题的具体方法和步骤。,2021/2/28,15,1.结构化程序设计语言的基本特征:,程序内部结构化:程序由顺序、选择(分支)和重复(循环)3种结构组成。,程序模块化:一个大程序由若干个功能独立的、相互关联的程序模块(子程序、函数等)组成。程序模块之间通过调用关系完成程序的整体功能。,可移植性好:即为一类计算机设计的程序,经少量改动后可以在另一类计算机上运行。与低级语言相比,结构化程序具有较好的移植性。,2021/2/28,16,具有代表性的结构化程序设计语言:,FORTRAN语言:是Formula Translator的缩写,在工程、数学和科学研究上是使用最广泛的语言,尤其是在科学计算中发挥着极其重要的作用。,Pascal语言:作为一门实用程序设计语言和教学工具,Pascal语言在高校计算机软件教学中一直处于主导地位。,C语言:适合于系统描述,可以用于编写系统和应用软件。,2021/2/28,17,10.1.4 面向对象的程序设计语言,Object Oriented Programming,OOP,早在20世纪60年代在实验室中就提出了面向对象方法,最早的面向对象软件是1966年开发的Simula它首次提出模拟人类思维方式,将数据和相关操作集成在一起。使得数据和处理数据的方法融为一体,更方便处理现实世界中复杂的事物。,2021/2/28,18,面向对象的程序设计语言:,对象:是程序中最基本的运行实体,一个程序由若干个对象组成,各个对象既相互独立,又通过消息相互联系。,类:是具有相同特征对象的抽象,是创建对象的模板,2021/2/28,19,2.可视化程序设计,在可视化程序设计中,属性、事件和方法是用于控制和管理对象的3个要素。,属性:用于描述对象的特征。,事件:是对象响应某种操作时的一种反映机制,是响应某种操作的程序代码入口。,方法:一种子程序,调用时依附于对象,运行时执行相关的操作,也称之为对象函数。,2021/2/28,20,具有代表性的面向对象程序设计语言:,C+语言:在C语言基础上增加了面向对象的支持,基本兼容C语言程序。其特点是既支持结构化程序设计方法,又支持面向对象程序设计方法,因此,也称之为混合型语言。,Delphi语言:是在Pascal基础上开发出来的可视化程序设计语言,是真正的面向对象编程语言,执行效率高,具有强大的数据库管理功能,是开发中小型数据库软件的理想编程工具。,Java语言:Java也是一种跨平台的程序设计语言,适合开发基于网络、多媒体、与平台无关的应用程序,应用程序可以在网络上传输,并可以运行在任何计算机上。,2021/2/28,21,网页设计语言:,通过网络浏览器浏览的网页可分为动态网页、静态网页两种。,标记语言主要用于设计静态网页,利用标记标注信息的类型和位置。,HTML,脚本语言是介于,HTML,和编程语言之间的一种语言,主要用于设计动态网页。,VBScript Java,2021/2/28,22,在计算机中,通常将结构化程序设计语言和面向对象程序设计语言统称为高级程序设计语言,简称高级语言。,2021/2/28,23,10.2 程序,任何以计算机为处理工具的任务都是对处理对象和规则的完整描述,这种描述称为程序。,程序是用计算机语言设计的,为完成某一任务、按一定顺序编排的指令序列。,要使程序起作用,必须将其装入到内存中执行,程序的实际工作过程称为执行或运行。,2021/2/28,24,在屏幕上显示字符串“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,AX,LEA DX,STRING,MOV AH,09H,INT 21H,MOV AH,4CH,INT 21H,CSEG ENDS,END START,2021/2/28,25,【例81】计算阶乘的C语言程序JSJC.C。,Long fun(Int x)/*函数fun,用来计算x的阶乘*/,Long Result=1;/*result是变量,用来保存计算结果*/,Int I;/*i为循环控制变量*/,For(i=2;i 0 Then,Command1.Caption=查找下一个,a=k+Len(Text1),Text2.SetFocus,Text2.SelStart=k-1,Text2.SelLength=Len(Text1),b=b+1,Else,MsgBox 查找完毕!共找到&b&个&Text1,Command1.Caption=查找“,a=1,End If,Print k,End Sub,2021/2/28,27,根据程序所处的开发阶段或运行方式的不同,程序主要有源程序、可执行程序和动态链接库3种类型。,人们将利用程序设计语言设计的内容称为源程序。将保存这些内容的文件称为源程序文件。,2021/2/28,28,可执行程序是由源程序翻译(编译)生成的、真实的机器语言程序。在Windows中,最常用的可执行程序文件扩展名为EXE和COM。,2021/2/28,29,动态链接库是由源程序生成的机器语言程序的另一种形式,主要作为可执行程序的辅助文件,不能独立运行。,主要作用:,(1)提供应用程序接口(API),User32.dll,(2)程序动态加载,2021/2/28,30,5.源程序的翻译方式:,编译方式:通过程序设计语言提供的编译器或生成工具,系统自动对整个源程序逐句进行词法分析、语法分析并翻译成机器语言指令。,解释方式:在程序设计语言环境中直接运行源程序,在执行每条语句前,系统先分析语句的词法和语法,若语句正确,则生成并执行机器语言指令,直到程序运行结束。,2021/2/28,31,10.3 软件工程基础,软件工程是将系统的、规范的、可度量的方法应用于软件开发和维护整体过程的一门科学,用数学、计算机科学和管理科学的原理,借助传统工程科学的原则和方法创建与维护软件,从而达到提高软件质量、降低软件成本的目的。,软件工程学出现的目的是为缓解软件危机。,2021/2/28,32,软件工程的诞生背景,程序设计时代,:用,机器语言和汇编语言进行程序设计的时代。软件开发主要是个体手工劳动,完全依赖程序设计者的个人技能,不重视程序设计方法。,程序系统时代,:,高级程序设计语言出现后,提出了结构化程序设计的方法,并成为软件开发的主要工具,称此阶段为程序系统时代。,2021/2/28,33,供需矛盾,;,开发成本和时间失控;,质量难以保障,;,维护困难,。,主要表现,:,软件危机,是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。,软件发展速度落后于硬件发展水平,人们对软件的需求得不到满足。,管理人员缺少开发软件的经验,需求描述不准确,而开发人员又缺少管理经验,二者之间缺乏交流工具,过分依赖开发人员在软件开发过程中的技巧和创造力,因此,很难开发出高质量的实用软件。,由于缺乏软件开发规范和技术文档,人们很难阅读和修改其他人开发的软件,使软件维护、移植和升级困难,导致软件重复开发问题严重,软件复用性降低。,2021/2/28,34,软件工程主要包括软件开发技术和软件工程管理。,软件工程是一门交叉科学,包含方法、工具和过程3个要素。,2021/2/28,35,软件工程包括三个要素:方法、工具和过程。1.方法:完成软件工程项目的技术手段,如支持项目计划和估算、系统和软件需求分析、软件设计、编码、测试和维护。2.工具:支持软件的开发和管理,支持各种软件文档的生成。人们将用于软件开发的软、硬件工具和软件工程数据库集成在一起,建立了集成软件工程环境;3.过程:支持软件开发各个环节的控制、管理。,2021/2/28,36,软件工程的基本目标是付出较低的开发成本,达到要求的软件功能;,按时完成开发任务,及时交付使用;,开发出来的软件具有良好的稳定性、可靠性、适应性和可操作性,易于移植和维护。,2021/2/28,37,在软件开发过程中,必须遵循,抽象性,、,信息隐藏性,、,模块化,、,局部化,、,一致性,、,完整性,和,可验证性,等原则。,抽取事物最基本的特性和行为,忽略某些无关紧要的细节。,模块化是程序中逻辑上相对独立的成分,是功能相对独立的程序单位(VB语言中的子程序、窗体等),具有良好的接口定义(如子程序的形式参数、对象的事件等)。,隐藏信息模块的实现细节(如子程序实现代码、对象的构造代码等),通过模块接口实现操作,将注意力集中在更高层次的对象上。,一个模块的功能尽量独立和完整,不受其他模块运行的干扰,其他模块只能通过接口与之建立联系。,在一个软件系统的各个模块中,使用规范、统一的符号和术语;模块内外接口一致;系统规格说明书与软件系统的行为一致等。,软件系统不丢失任何重要成分,完全实现系统所需要的功能。,开发大型软件系统需要逐步分解,系统分解应遵循系统容易检查、测试和评审的原则,以保证系统的可验证性。,2021/2/28,38,10.4 软件生命周期,软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件的生命周期。,2021/2/28,39,在“计算机软件开发规范”的国家标准中,将软件生存周期划分为可行性研究、需求分析、概要设计、详细设计、代码实现、软件测试、使用与维护7个阶段,在每个阶段中都明确规定了任务、实施方法、步骤和完成标志等,并要求产生相关的文档。,2021/2/28,40,软件定义阶段:,1.可行性研究:也称软件计划或策划阶段,。,此阶段主要对待开发系统涉及到的经费、软/硬件技术、效益和法律等方面的问题进行可行性论证,制定系统开发任务的实施计划,。,2.需求分析:,需求是用户对目标软件系统在功能、行为、性能和约束等方面的要求或期望。需求分析是对应用问题及其环境的理解与分析,为应用问题涉及的事物、功能及系统行为建立模型,将需求精确化和完整化,最终形成需求规格说明书。,2021/2/28,41,需求分析的主要工作:,获取资料,系统分析员与用户进行业务交流和探讨,理解需求,澄清模糊的概念,对有争议的业务环节达成共识等。,资料分析,系统分析员对收集的资料进行综合分析和总结,确认业务范围和处理细节,规划业务流程,排除不合理的需求,确定应用问题的解决方案、目标系统的功能模块以及数据模型(如,ER,图形),建立各功能模块之间的关联等。,2021/2/28,42,形成需求规格说明书,需求分析的成果是需求规格说明书,通常包括数据描述、功能描述和性能描述等信息。它是待开发软件系统的预期目标,同时作为系统功能测试、评估和验收的依据。,需求评审,对需求规格说明书进行审核,验证文档的一致性、完整性、正确性、可行性和有效性。,2021/2/28,43,软件开发阶段:,3.概要设计:也称结构设计或总体设计,根据需求确定软件和数据的总体框架。,数据结构设计:也称数据对象设计,主要任务是依据需求分析的数据模型,结合程序中涉及的算法,设计数据文件的逻辑结构,。,软件结构设计:按自顶向下、逐步求精和模块化的设计原则,将一个软件分解和规划成若干个模块,确定各模块之间的关联信息。,概要文档:概要设计说明书、数据结构或数据库设计说明书和软件集成调试计划等。,2021/2/28,44,软件开发阶段,3.概要设计:也称结构设计或总体设计,根据需求确定软件和数据的总体框架。,数据结构设计,:也称,数据对象设计,,主要任务是依据需求分析的数据模型,结合程序中涉及的算法,,设计数据文件的逻辑结构,。,软件结构设计,:按自顶向下、逐步求精和模块化的设计原则,将一个,软件分解,和,规划,成,若干个模块,,确定各模块之间的关联信息。,概要文档,:概要设计说明书、数据结构或数据库设计说明书和软件集成调试计划等。,2021/2/28,45,软件开发阶段,4.详细设计:主要任务是设计软件功能结构图中每个最低层模块的局部算法(如数据排序、查找、统计等算法)和数据结构(如需要的变量、数组等),确定每个模块调用和数据传输接口(如参数、函数返回值、存储数据的文件或表名等)。,描述算法的常用工具有伪代码(Procedure Design Language,PDL)、程序流程图和NS图等,设计成果是详细设计说明书。,2021/2/28,46,软件开发阶段,5.编码实现:需要选择一种程序设计语言,进入程序设计阶段。通常利用菜单或窗口结合工具栏设计软件功能结构图的总体框架,依据详细设计中的算法和数据结构设计每个功能模块的程序代码,设计成果是源程序。,2021/2/28,47,软件开发阶段,6.软件测试:是对需求规格说明书、概要设计说明书及程序代码等内容的最后复审。,软件质量保证,贯穿于软件开发的整个过程,其中,关键步骤,是,软件测试,;,软件测试目的,是在软件产品交付使用之前,尽可能发现潜在的错误,;,软件测试主要检测和更正,语义,和,功能错误,。,2021/2/28,48,软件开发阶段,软件测试的方法:,静态测试:,不需要运行软件,由人工直接进行,阅读,和,检查源程序,,包括代码检查、静态结构分析和代码质量度量等。,动态测试:,是基于计算机的测试,通过,运行软件发现错误,。这种方法需要测试人员根据软件开发规格说明和程序内部结构精心地,设计,测试用例,,通过输入数据和预期的输出结果发现软件中的错误。,为测试软件而设计的数据称为测试用例。设计测试用例时,要根据程序的具体功能或运算,综合考虑各种可能情况,构造具有代表性的数据。,2021/2/28,49,软件开发阶段,动态测试的方法:,白盒测试,:也称,结构测试,或,逻辑驱动测试,。需要测试人员先阅读和分析源程序的内部结构,根据程序可能执行的路径(分支或循环)设计测试用例,确保每个分支、每个循环体和循环边界条件至少执行一次,然后,通过测试用例运行软件,验证软件结构的正确性。,黑盒测试,:也称,功能测试,或,数据驱动测试,。黑盒测试主要依据需求规格说明书和概要设计说明书,使用测试用例运行软件,检验软件功能的性能、正确性和遗漏问题,将软件视为黑匣子,不需要了解软件内部代码。,2021/2/28,50,单元测试,:测试的对象是软件设计的最小单位,模块,,是动态测试的第一步。,集成测试,:又称为,组装测试,或,综合测试,。按概要设计的要求,将,所有模块,通过调用连接成程序系统进行测试。,确认测试,:也称,有效性测试,。一般采用黑盒测试方法。,系统测试,:在实际运行环境下对计算机系统进行一系列的,综合测试,。,软件开发阶段,测试步骤:,通常在编码阶段进行测试。其目的在于发现模块内部可能存在的错误,其依据是软件详细设计说明书和源程序。,主要内容包括模块接口测试、全局数据结构测试、边界条件和非正常输入数据的测试等。,根据软件需求规格说明书主要验证软件功能的完整性和正确性、性能的稳定性、可操作性和资料的完备性。,根据软件需求规格说明书主要验证软件功能的完整性和正确性、性能的稳定性、可操作性和资料的完备性。,2021/2/28,51,使用与维护阶段,使用,:也称,运行,或,执行,。一般包括,软件安装,、,使用培训,、,相关事宜咨询,等内容。,维护,:是软件运行过程中,更新,或,升级,等一系列活动。具体任务包括运行过程中的,故障处理,,,修改,逐渐暴露出来的,错误,,,版本升级,,,软件移植,等。,软件一旦交付用户投入运行,便进入软件生命周期的使用与维护阶段,直至退役。,2021/2/28,52,本 章 结 束 谢 谢!,2021/2/28,53,
    展开阅读全文

    开通VIP折扣优惠下载文档

    提示  咨信网声明:本文档由用户上传并分享,仅供学习交流、研究之用,未经授权,严禁复制、发行、汇编、翻译或网络传播等,侵权必究。

    咨信网小贴示:
    1、浏览或下载可查看了解,请点击【咨信网告知】。
    2、下载文件中如有侵权或不适当内容,将立即纠正。
    3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
    4、开具发票登录电脑端申请,请点击【索取发票】。

    咨信网客服组:【微信客服】

    自信AI创作助手
    关于本文
    本文标题:第10章程序设计基础.ppt
    链接地址:https://www.zixin.com.cn/doc/14679021.html

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork