《大学计算机基础》-罗先文-电子教案 第3章 计算机软件

上传人:E**** 文档编号:89407778 上传时间:2019-05-24 格式:PPT 页数:37 大小:210.50KB
返回 下载 相关 举报
《大学计算机基础》-罗先文-电子教案 第3章  计算机软件_第1页
第1页 / 共37页
《大学计算机基础》-罗先文-电子教案 第3章  计算机软件_第2页
第2页 / 共37页
《大学计算机基础》-罗先文-电子教案 第3章  计算机软件_第3页
第3页 / 共37页
《大学计算机基础》-罗先文-电子教案 第3章  计算机软件_第4页
第4页 / 共37页
《大学计算机基础》-罗先文-电子教案 第3章  计算机软件_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《《大学计算机基础》-罗先文-电子教案 第3章 计算机软件》由会员分享,可在线阅读,更多相关《《大学计算机基础》-罗先文-电子教案 第3章 计算机软件(37页珍藏版)》请在金锄头文库上搜索。

1、第3章 计算机软件,软件则决定了计算机能具有怎样的功能。一台没有软件的计算机仅仅是一台没有任何功能的机器(硬件),计算机利用软件才呈现出强大的多种功能。,3.1 软件概述,3.1.1 软件的定义 IEEE(Institute of Electrical and Electronic Engineers美国电气与电子工程师协会组织)在1983年给软件下了一个明确的定义:软件是计算机程序、方法、规则、相关的文档以及在计算机上运行它时所必需的数据。其中更为重要的是程序,所以在不太严格的情况下,可直接把程序认为是软件。软件和硬件的概念在很多领域都有体现,比如乐器是硬件,乐谱就属于软件;录音机是硬件,录

2、音磁带上的歌曲就是软件。硬件离不开软件,而软件则依赖于硬件作为物质基础。,3.1.2 软件的分类,软件内容丰富、种类繁多,通常根据软件用途可将其分为系统软件和应用软件两大类,如图3.1所示:,1、系统软件,系统软件是指管理、控制和维护计算机系统资源的程序集合,这些资源包括硬件资源与软件资源。 (1)操作系统 (2)语言处理程序 (3)数据库管理系统 (4)网络管理软件,2、应用软件,应用软件,是由计算机生产厂家或软件公司为支持某一应用领域、解决某个实际问题而专门研制的应用程序。例如Office套件、标准函数库、计算机辅助设计软件、图形处理软件、解压缩软件、反病毒软件等。用户通过这些应用程序完成

3、自己的任务。例如,利用Office套件创建文档、利用反病毒软件清理计算机病毒、利用Outlook收发电子邮件、利用图形处理软件绘制图形、利用解压缩软件打包和解压文件、利用计算机辅助设计软件进行工程设计等。,3.2操作系统,计算机中的系统软件和应用软件的关系不是并列的,而是有层次的。系统软件是最基本的软件,而操作系统是最重要的系统软件,是计算机系统不可分割的重要组成部分。 3.2.1 操作系统概述 操作系统是计算机系统资源的管理者,从其自身的功能来讲是用来控制和管理计算机系统的硬件资源和软件资源;从用户使用的角度来说是用户与计算机之间通信的桥梁,为用户提供访问计算机资源的工作环境,用户通过使用操

4、作系统提供的命令和交互功能实现访问计算机的操作。,1、操作系统的定义,为了合理组织计算机工作流程,协调计算机系统各部分之间的关系,必须要有一个程序来实施管理工作,这个程序就是操作系统(Operation System,简称OS)。操作系统是计算机系统的一个系统软件,其定义有很多种,很难精确定义。概括地说,操作系统就上为了实现对计算机系统的硬件资源和软件资源进行控制和有效地管理,合理地组织计算机工作流程,以充分发挥计算机系统的工作效率和方便用户充分而有效地使用计算机资源而配置的一种系统软件。,2、操作系统的发展与分类,(1)人工操作阶段 (2)批处理阶段 (3)单用户单任务的操作系统 (4)多用

5、户多道作业和分时操作系统 (5)实时操作系统 (6)网络操作系统 (7)分布式操作系统,3.2.2 操作系统功能,操作系统的功能可以分别从资源管理和用户使用两个角度进行。从用户使用的角度来看,操作系统对用户提供访问计算机资源的接口。从资源管理的角度看,操作系统对计算机资源进行控制和管理的功能主要分为CPU的控制与管理、内存的分配与管理、外部设备的控制与管理、文件的控制与管理以及作业的控制与管理等5部分。,3.2.3 常见操作系统介绍,1、Windows操作系统 微软公司从1983年开始研制开发Windows。目前Windows已发展成为一个大家族,使用广泛的主要有Windows NT/2000

6、/XP/2003等。 2、UNIX操作系统 UNIX是一个交互式的多用户、多任务的操作系统自1974年问世以来,迅速地在世界范围内推广。 3、Linux操作系统 Linux操作系统是目前全球最大的一个自由软件,它具有完备的网络功能,且具有稳定性、灵活性和易用性等特点。,3.3 程序设计基础,自然语言是人们交流的工具,不同的语言描述的形式各不相同,如汉语、英语等;而程序是人与计算机交流的工具,如果没有程序,计算机什么也不会做。程序是计算机的一组指令,是程序设计的最终结果。程序经过编译和执行才能最终完成程序的动作。,3.3.1 程序的概念,计算机程序是对计算任务的处理对象和处理规则的描述。任何以计

7、算机为处理工具的任务都是计算任务;而处理对象指数据,如数字、文字、图像、声音等多媒体以及如温度、电压等物理状态;处理规则指处理动作和步骤。 计算机程序是计算机为解决某个问题或完成某项任务的一组指令序列,主要由两部分组成: (1)说明部分 说明部分包括程序名、类型、参数及参数类型说明 (2)程序体 程序体为程序的执行部分。在程序执行部分按照事先的设计,由计算机的输入得到预期的结果,并输出给用户。,3.3.2 程序设计方法,对于规模较大的应用开发,需要有工程的思想知道程序设计。由于“软件危机”,计算机程序设计方法的迅速发展,新的程序设计方法也应运而生。程序设计技术主要包括结构化程序设计方法和面向对

8、象程序设计方法。,1、结构化程序设计方法,结构化程序设计方法主要包括三个方面,分别为:自顶向下设计、程序流程图、伪代码: (1)自顶向下设计 按照结构程序设计的思想,一个程序中的每一个程序均服从“一个入口,一个出口”的原则,这是从程序的某一个局部来考虑的。 (2)程序流程图 流程图是一种使用几何图形描述程序逻辑关系的程序设计方法。 (3)伪代码 伪代码是一种描述语言。它只是一种描述程序执行过程的工具,是面向读者的,不能直接用于计算机,实际使用时还需要转换成某种计算机语言来表示。,2、面向对象程序设计方法,(1)对象和类 所谓对象就是现实世界中的客观事物,是实体,是某个抽象数据类型的值。 (2)

9、方法和消息 消息可以激活对象上的方法,对对象的实例变量进行计算、存取,也可以向另外的对象发送消息。 (3)面向对象技术的基本特征 面向对象技术的基本特征主要有:抽象性、封装性、继承性和多态性。 (4)面向对象程序设计方法的思想 面向对象方法是从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。,3.3.3 程序设计语言,目前,常见的程序设计语言是高级程序设计语言,如Pascal、C、VB、VC、C#、java等。与高级程序设计语言相对应的是低级语言,如机器语言和汇编语言。 1、机器语言 2、汇编语言,3、高级语言,1、FORTRAN语言 2、AL

10、GOL语言 3、COBOL语言 4、C 语言 5、PASCAL语言 6、C+语言 7、可视化编程语言 8、LISP语言 9、PROLOG语言,3.4 算法与数据结构,计算机能够为人们服务的前提是要编写程序告知计算机所要做的工作。要编写程序,程序员必须首先找到完成这个任务的步骤,即计算机科学中所谓的“算法”。,3.4.1 算法的概念,一个能在计算机上实现的算法必须同时满足以下5个重要特性: 1、有穷性。 2、确定性。 3、有效性。 4、有输入(有零个或多个输入数据)。 5、有输出(有一个或读个输出数据)。,3.4.2 数据结构的基本知识,1、数据结构的定义 数据结构是相互之间存在一种或多种特定关

11、系的数据元素的集合。 2、数据结构的分类 数据的逻辑结构按数据元素之间的相互关系可以分为4种基本结构。,3、数据的存储结构,数据的存储结构通常分为线性和非线性存储结构,而非线性存储结构主要有树形和图形存储结构。 (1)线性存储结构 线性存储结构有顺序、链接、索引和散列四种。 (2)树形存储结构 树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很像自然界中的树。 (3)图形存储结构 图是比线性和树形更为复杂的一种数据结构,在这种数据结构中,数据元素之间的联系是任意的。,3.4.3 常见的数据结构介绍,1、线性表 2、栈和队列 3、串 4、数组 5、

12、树 6、图,1、线性表,线性表(Linear_List)是最常用且简单的一种数据结构。简言之,一个线性表是n个数据元素的有限序列。 在稍微复杂的线性表中,一个数据元素可以由若干个数据项组成。在这种情况下,常把数据元素称为记录,含有大量记录的线性表又称为文件。 线性表采用线性存储结构,存储方式有:顺序存放和链式存放。,2、栈和队列,(1)栈 对线性表的插入和删除操作仅限于在表的末端进行,则这样的线性表称为栈。通常将这个末端位置称为栈顶,起始位置称为栈底。 栈也有两种存储方式:顺序栈和链栈。 (2)队列 如果只允许从线性表的终端插入数据元素,从始端删除数据元素,则称这样的线性表为队列。在队列中,允

13、许插入的一端叫队尾,允许删除的一端则称为队头。,3.串,3、串 串是由零个或多个字符组成的有限序列,一般记为:S=a1 a2 a3 an(n0),数组、树、图,4、数组 数组是一种常用的数据类型,几乎所有的程序设计语言都设定数组类型为固有的数据类型。 5、树和二叉树 树是n(n0)个结点的有限集。在任意一棵树中:有且仅有一个特定的称为根的结点;当n1时,其余结点可分为m个互不相交的有限集,其中每一集合本身又是一棵树,并且称为根的子树。 二叉树是另一种树型结构,它的特点是每个结点至多只有两棵子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序不能任意颠倒。 6、图 在树型

14、结构中,数据元素之间具有层次关系,即每个结点只能与上层中的一个结点(即其父结点)以及下层的若干结点(即子结点)相关联。而在图型结构中,结点之间的关系可以是任意的,图中任意两个元素之间都可能相关。,3.5 软件设计方法,概括地说,软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。,1、软件工程的定义,人们曾给软件工程下许多定义,下面给出两个典型的定义。 1968年在第一届NATO会议上曾经给出了软件工程的一个早期定义

15、:“软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。”这个定义不仅指出了软件工程的目标是经济地开发出高质量的软件,而且强调了软件工程是一门工程学科,它应该建立并使用完善的工程原理。 1993年IEEE进一步给出了一个更全面更具体的定义:“软件工程是:(1)把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;(2)研究(1)中提到的途径。”,2、软件工程的本质特性,虽然软件工程的不同定义使用了不同词句,强调的重点也有差异,但是,人们普遍认为软件工程具有下述的本质特性: (1)软件工程关注大型程序的构造 (2)软件工程

16、的中心课题是控制复杂性 (3)软件经常变化 (4)开发软件的效率非常重要 (5)和谐地合作是开发软件的关键 (6)软件必须有效地支持它的用户 (7)在软件工程领域中是由具有一种文化背景的人替另一种文化背景的人创造产品,3、软件工程的基本原理,著名的软件工程专家B.W.Boehm于1983年在一篇论文中提出了软件工程的7条基本原理。他认为这7条原理是确保软件产品质量和开发效率的原理的最小集合。这7条原理是互相独立的,其中任意6条原理的组合都不能代替另一条原理,因此,它们是缺一不可的最小集合,然而这7条原理又是相当完备的。 (1)用分阶段的生命周期计划严格管理 (2)坚持进行阶段评审 (3)实行严格的产品控制 (4)采用现代程序设计技术 (5)结果应能清楚地审查 (6)开发小组的人员应该少而精 (7)承认不断改进软件工程实践的必要性,3.5.2 软件开发方法,软件开发是一个把用户需要转化为软件需求,把软件需求转化为软件设计,用软件代码实现软件设计,对软件代码进行测试,并签署确认它可以投入运行使用的过程。从工程的角度出发,软件开发过程包括:计划、分析、设计、编码、测试和维护几个阶

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号