第六章 程序设计 与软件工程基础 個闺大学计算机基础第六章
大学计算机基础—第六章 1 第六章 程序设计 与软件工程基础
本章主要内容 旬程序设计语言 旬计算机程序设计 訇算法和程序的基本结构 訇软件工程概述 旬软件工程工具和环境 旬软件开发方法及开发活动 旬 Visual basic程序设计实例 個闺大学计算机基础第六章 2
大学计算机基础—第六章 2 本章主要内容 程序设计语言 计算机程序设计 算法和程序的基本结构 软件工程概述 软件工程工具和环境 软件开发方法及开发活动 Visual Basic程序设计实例
程序设计语言分类 程序设计语言分为三类 辜想语音算稠稻莪意的工具,人是通 *过瘺指挥砝篑言 享這级表达程符系统,其表达形 式能够同时被计算机和人所理解。 语端潮增海剂哪熊理解 羅铺 性订司彩视题最快 個闺大学计算机基础第六章
大学计算机基础—第六章 3 程序设计语言分类 程序设计语言 是人与计算机之间交换信息的工具,人是通 过它来指挥计算机工作的。 是一套表达计算过程的符号系统,其表达形 式能够同时被计算机和人所理解。 程序设计语言分为三类 机器语言 低级程序设计语言 汇编语言 低级程序设计语言 高级语言 高级程序设计语言 机器语言是用二进制数表示的、计算机唯一能理解 和直接执行的程序语言。机器语言指令都是二进制形 式的指令代码,如:1011000000001000 。机器语言 程序不直观,可移植性差,但执行速度最快。 汇编语言是将机器语言“符号化”的程序语言。如 可用汇编指令MOV AL,8来代替机器指令10110000 00001000。汇编程序可移植性差,但执行速度最快。 高级语言接近于人类的自然语言和数学语言,一般 采用英语单词表达语句,如高级语言语句c=a+b的功 能是将变量a、b的和存放在变量c中。高级语言的可 移植性好。 目前常用的高级语言有: FORTRAN、 BASIC (Visual Basic)、Pascal (Delphi)、 C、 C++、COBOL、PROLOG、Java等
语言处理程序 ◆计算机程序是人们让计算机完成特定任务的一系列命 令的集合。 ◆要把一个用高级语言编好的源程序在计算机上进行运行 并得到结果,需要多种软件的支持。 ◆当翻译程序为编译程序时,一个源程序的运行步骤为: 编辑程序 编译程序 连接程序 源程序 目标程序 可执行程序 结果 编辑 编译 连接 运行 有错 有错 不正确 個闺大学计算机基础第六章 4
大学计算机基础—第六章 4 语言处理程序 语言处理程序 是一种“翻译”程序,它能将高级 语言或汇编语言编写的源程序翻译成目标程序,即机 器语言程序。 汇编程序是把用汇编语言编写的源程序翻译成目标 程序的程序,翻译的过程称“汇编” ,执行的是目标 程序。 编译程序将高级语言源程序整个地翻译为机器指令 表示的目标程序,目标程序和源程序在功能上完全等 价 。编译型语言有FORTRAN、C、C++等 解释程序将高级语言源程序一句一句地翻译为机器 指令,每译完一句就执行一句,当源程序翻译完后, 目标程序也执行完毕。解释型语言有Basic、Java等 ⧫计算机程序是人们让计算机完成特定任务的一系列命 令的集合。 ⧫ 要把一个用高级语言编好的源程序在计算机上进行运行 并得到结果 ,需要多种软件的支持。 ⧫ 当翻译程序为编译程序时,一个源程序的运行步骤为:
程序语言的选择 →为一项工程选择语言时,应该考虑这种编程语言 是否适合于手中的任务,这种语言在其他的应用程 序中是否也经常使用,开发小组成员是否都精通这 门语言等一些问题。如果对这些问题的回答都是肯 定的,那么这门语言对这项工程是一个很好的选择 当今流行的语言8086汇编语言、 FORTRAN BASIC和 Visual basic、C和C++、PROL0G、Java 及脚本语言HTML、 VBScript、 JavaScript等 個闺大学计算机基础第六章
大学计算机基础—第六章 5 程序语言的选择 为一项工程选择语言时,应该考虑这种编程语言 是否适合于手中的任务,这种语言在其他的应用程 序中是否也经常使用,开发小组成员是否都精通这 门语言等一些问题。如果对这些问题的回答都是肯 定的,那么这门语言对这项工程是一个很好的选择 当今流行的语言 8086汇编语言 、FORTRAN 、 BASIC和Visual Basic 、C和C++ 、PROLOG、Java 及脚本语言HTML、VBScript、JavaScript等
计算机程序设计 ⊙頵榭貓鬈嶽舶是櫲鳓檞 齋鶉的恭猥拙纛骱阶进强调懿是檄{处理的将 都要作虐想建靨牌衔是是程 氣象计悬有翻偈施方法 3雉弇们迴貫鹎舞存溎的基本结构组成 →易于软件的维护和功能的增加。 ⊙可重用性好。 ③与可视化技术相结合,改善了工作界面。 個闺大学计算机基础第六章 6
大学计算机基础—第六章 6 计算机程序设计 程序是为了解决某一特定问题而用某一种计算机语 言编写的指令序列 程序设计是用某种计算机语言编写程序的过程, 所以程序是程序设计的结果。 结构化程序设计方法的基本思路是:把一个复 杂问题的求解过程分阶段进行,每个阶段处理的问 题都控制在人们容易理解和处理的范围内。 强调易读性与易维护性 采用“自顶向下、逐步细化”的实施方法 程序由一些具有良好特性的基本结构组成 面向对象程序设计:将问题分解为对象,分解突 出现实世界和抽象的对象,强调的是做什么,它将 大量的工作由相应的对象来完成,程序员在应用程 序中只需说明要求对象完成的任务。 面向对象程序设计具有如下优点 : 符合人们习惯的思维方法。 易于软件的维护和功能的增加。 可重用性好。 与可视化技术相结合,改善了工作界面
算法的概念及描述 入口 输入x、y、z三个数 Y N 2Y Y N N 2Z y/Z matcH massy maiZ 输出max 出口 选出三个数中最大数的算法 個闺大学计算机基础第六章 7
大学计算机基础—第六章 7 算法的概念及描述 算法是对一个问题的解决方法和步骤的描述。计算 机算法分为数值算法和非数值算法两大类。 一个算法应具有以下的特点: 有穷性 确定性 一个算法应该有零个或多个输入。 一个算法应该有一个或多个输出。 有效性。 可用自然语言、流程图、结构化流程图、伪代码等 来描述一个算法。 计算机程序就是用计算机能够理解的信息(计算机 语言)描述的算法。 下面算法的功能是将两个变量a和b的值互换,变量c 是一个工作单元,用于临时存放数据。 第一步:算法开始; 第二步:将a的值送给c; 第三步:将b的值送给a; 第四步:将c的值送给b; 第五步:算法结束
程序的三种基本结构 ◆糖球结构蟀懸鐛伻的董爱頫虧鑲撫抛行篚到条 ◇构瘫过对条件的判断来选择一个分支执行 ◇基本结构有以下特点 ◇只有一个入口 ◇只有一个出口 ◇无死语句(即永远执行不到的语句) ◇无死循环(即无终止的循环) 個闺大学计算机基础第六章
大学计算机基础—第六章 8 程序的三种基本结构 顺序结构 是按照语句的书写顺序依次执行的 选择结构通过对条件的判断来选择一个分支执行 循环结构 在给定条件下重复执行某操作,直到条 件不满足为止。 基本结构有以下特点: 只有一个入口 只有一个出口 无死语句(即永远执行不到的语句) 无死循环(即无终止的循环)
软件工程概述 ◇软件工程研究的内容为: ◇过程和模型 ◇方法和技术 ◇工具和环境 ◇标准和规范 ◇软件工程研究的四个内容构成了以软件质量为核心 的层次结构 工具和环境层 方法和技术层 该层为实现过程和模型提供了具体方式 过程和模型层 该层为方法和技术提供了活动框架 标准和规范层 该层是保证软件质量的关键 质量核心层 個闺大学计算机基础第六章 9
大学计算机基础—第六章 9 软件工程概述 软件包括多个计算机程序、数据结构和文档 软件有以下特征: 软件是一种逻辑产品,与物质产品有很大的区别 软件是开发出来的,一旦开发完成,通过复制就能 产生大量的软件产品 软件产品可能会被废弃,但不会被用坏,它是有生 命周期的 软件的生产主要是脑力劳动,目前还未完全摆脱手 工开发方式 个体化的软件开发方式使得开发成本非常昂贵 软件必须具有可维护性、独立性、效率性和可用性 软件危机 即软件成本高,质量低,不能按期交付 使用,可靠性差,生产效率低以及无法维护的状况 为了解决软件危机,美国和西欧的一些计算机科 学家,于1967年、1968年在欧洲召开了两次软件 可靠性国际会议。 在1968年的会议上第一次提出了“软件工程”这 个词和一些软件工程技术。 国际标准化组织把软件定义为:与计算机系统操 作有关的程序、过程、及任何有关的文档资料。 软件工程 指运用工程学的知识和方法来指导软件 的开发工作,以提高软件质量和降低软件成本。 软件工程的发展 程序设计时期(1946年~1954年),程序由程序 设计人员个体手工编制,软件作为硬件的附属品 软件时期(1955年~1970年),程序生产方式为 互助组式,主要采取由程序员小组进行编程 软件工程时期(1970年以后),软件作为一种社 会产品,批量生产,有标准化的生产过程,出现 了大批软件公司工厂,以软件作为计算机的中心 软件工程研究的内容为: 过程和模型 方法和技术 工具和环境 标准和规范 软件工程研究的四个内容构成了以软件质量为核心 的层次结构 质量核心层 标准和规范层 过程和模型层 方法和技术层 工具和环境层 该层为实现过程和模型提供了具体方式 该层为方法和技术提供了活动框架 该层是保证软件质量的关键
软件工程工具和环境 OCASE (Computer Aided Software Engineering 是将软件工具集成在一起,使得一个工具产生的信 息能够被其他工具所用 ◇数据集成,使工具间可以交换数据 ◇界面集成,使工具有相同的界面风格和交互方式 ◇控制集成,在工具激活后能控制其他工具的操作 ◇过程集成,在系统中嵌入有关软件过程的知识, ◇平台集成,使工具运行在相同的硬件/0S下 個闺大学计算机基础第六章 10
大学计算机基础—第六章 10 软件工程工具和环境 软件工具 指为支持计算机软件的开发、维护及相 关工作而研制的程序系统 软件工具主要有以下几类: 开发工具,主要有:需求分析类工具、设计工具、 编码工具、测试工具等。 维护工具,主要有:版本控制工具、文档分析工 具、逆向工程工具、再工程工具等。 管理和支持工具,主要有:项目管理工具、开发 信息库工具、配置管理工具、软件评价工具等。 CASE (Computer Aided Software Engineering) 是将软件工具集成在一起,使得一个工具产生的信 息能够被其他工具所用 数据集成,使工具间可以交换数据 界面集成,使工具有相同的界面风格和交互方式 控制集成,在工具激活后能控制其他工具的操作 过程集成,在系统中嵌入有关软件过程的知识, 平台集成,使工具运行在相同的硬件/OS下