计算机程序设计 ⊙頵榭貓鬈嶽舶是櫲鳓檞 齋鶉的恭猥拙纛骱阶进强调懿是檄{处理的将 都要作虐想建靨牌衔是是程 氣象计悬有翻偈施方法 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下