计算机软件技术基础第1章概述.ppt

上传人:max****ui 文档编号:2874205 上传时间:2019-12-03 格式:PPT 页数:46 大小:288.16KB
返回 下载 相关 举报
计算机软件技术基础第1章概述.ppt_第1页
第1页 / 共46页
计算机软件技术基础第1章概述.ppt_第2页
第2页 / 共46页
计算机软件技术基础第1章概述.ppt_第3页
第3页 / 共46页
点击查看更多>>
资源描述
计算机软件技术基础,第1章 概述,本章简介,计算机软件技术是计算机技术的一个重要组成部分,是计算机技术领域中最为活跃的领域之一,是衡量计算机技术发展阶段的重要标志。 计算机软件技术与计算机技术的应用密切相关。目前,在我们的日常生活、工作、学习、娱乐等领域中,处处都可以看到计算机软件技术的应用。 登录网站、浏览各种信息,网站就是一种计算机软件技术的应用;去银行办理业务,离不开计算机程序的支持;写年终工作报告、给客户发送电子邮件,同样离不开计算机软件工具。 本章将对计算机软件技术的概念、类型、体系架构等内容进行概述。,本章提要,1.1 什么是计算机软件技术? 1.2 软件的分类 1.3 软件架构,1.1 什么是计算机软件技术?,1.1 什么是计算机软件技术?,为了理解什么是计算机软件技术,给出计算机软件技术的定义,本节将研究以下几个问题: 什么是计算机软件, 什么是计算机程序, 计算机软件和计算机程序的关系, 计算机软件和计算机硬件的关系。,软件的一般定义,由商务印书馆出版的现代汉语词典中,对软件的解释如下: 计算机系统的组成部分,是指挥计算机进行计算、判断、处理信息的程序系统或设备。包括汇编程序、操作系统、编译程序、诊断程序、控制程序、数据管理系统等。 借指生产、科研、经营等过程中的人员素质、管理水平、服务质量等。 在这个定义中,软件不仅仅是指计算机软件,还包括其他广义上的含义。,计算机软件,在计算机领域中,计算机软件(computer software),简称为软件,是指在计算机系统中执行特定任务的计算机程序、算法和文档的集合。 本书中的软件,如果没有特别强调,均指计算机软件。,程序,软件包含了程序。 计算机程序(computer programs),简称程序,是指计算机的指令序列。 计算机工作时离不开程序,当计算机的中央处理器执行计算机指令时,就是程序在运行。 程序通常分为源代码和可执行程序两大类。 源代码是指以程序设计语言编写的、可读的语句和声明的集合,程序设计人员的工作就是使用程序设计语言编写源代码,源代码经过编译后转变为计算机可以执行的程序; 可执行程序是指包含了计算机可以直接执行的指令的文件。为了与源代码相区别,可执行程序又被称为二进制代码。,算法,软件也离不开算法。 算法(algorithm)是数学、计算机等学科领域中的一个重要概念,是指一种有限指令的序列,是解决特定问题的明确的详细步骤,通常用于计算和数据处理。 软件的目的就是完成特定的任务,由程序和算法具体来承担。,软件文档,文档也是软件的重要内容。 软件文档是指伴随软件存在的文本文档,用于解释软件的工作原理、使用方法、技术特点等内容。 在软件的设计、开发和使用过程中,常见的文档包括需求分析、系统设计、算法描述、用户手册、技术服务、市场推广计划等。,软件和硬件,计算机软件与计算机硬件是相互协同工作的。 计算机硬件指计算机系统的物理部分,包括主板、显视器、CPU、RAM内存、硬盘、键盘、鼠标、电源等,用于存储和运行计算机软件。 如果缺少了计算机软件,计算机硬件是毫无用途的。 从计算视角来看,计算机软件的有序指令可以按照某种顺序改变计算机硬件的状态,实现用户的需要。 从形状上来看,计算机硬件是指有形的、可触摸的实际物体,而计算机软件则是无形的、不可触摸的抽象实体。,计算机软件技术,软件是一种产品,涉及到像操作系统、程序设计语言、算法等许多不同的技术。 计算机软件技术是与软件的设计、实施和使用相关的多种技术的统称。 软件的设计与实施涉及到程序设计语言、算法和数据结构、数据库系统、多媒体、软件工程等技术 软件的使用涉及到质量、可靠性、专利、知识产权、道德、法律等管理和技术。,1.2 软件的分类,1.2 软件的分类,对软件进行分类是深入认识和理解软件的一种方式。 软件的分类方式有很多种,例如,可以根据软件的功能进行分类,也可以根据软件的不同开发方式进行划分,还可以从软件的使用方式进行分类。 根据软件的功能来划分是一种主要的分类方式,可以把软件分为系统软件、编程软件和应用软件3大类型。 下面,我们将详细分析这些软件类型的特点,最后再讨论一下其他分类方式的软件类型的特点。,1.2.1 系统软件,系统软件(system software)指管理和控制计算机硬件、使计算机工作的软件。 系统软件是一种非常重要的软件类型,它为用户提供了一种操作计算机硬件的便捷方法,为其他程序提供了运行的基础。 对应用程序编程人员来讲,系统软件可以屏蔽计算机硬件例如打印机、显示器、键盘的访问细节,减轻编程人员的工作负担。 另外,系统软件还可以增强计算机内存管理、处理器管理的安全性和稳定性等。 根据系统软件的功能特点,可以继续划分为操作系统、设备驱动程序、实用工具以及其他系统软件。,操作系统,操作系统(operating system,OS)是位于计算机系统中的硬件和软件之间的接口,负责管理和协调计算机硬件的操作和计算机有限资源的共享。 各种应用程序都是通过宿主在操作系统中在计算机上运行。,操作系统的主要功能,操作系统可以完成程序的执行,其主要功能包括 进程管理、内存管理 设备管理、文件管理 网络支持、安全管理等。,主要的操作系统,当前,主要的操作系统包括 微软公司的Windows系列操作系统 Unix和类Unix操作系统 苹果公司的Mac OS X操作系统 Linux操作系统等。,Unix操作系统,Unix最早是由AT&T贝尔实验室于1969年开发出来的,主要开发人员包括Ken Thompson、Dennis Ritchie、Douglas McIlroy等人。 Unix最初是用汇编语言编写的。 1973年,Ken Thompson等人用C语言重新编写了Unix,使得Unix的可移植性大大增强。 Unix是一个可移植的、多任务、多用户的操作系统。Unix操作系统有许多特点,例如采用纯文本存储数据、层次性文件系统、把设备看作是文件、包含了许多软件工具等。 目前,Unix操作系统有许多不同的系列,主要包括Free BSD、Net BSD、Sun OS、AIX、OpenServer、Solaris、HP/UX等。,设备驱动程序,设备驱动程序(device driver)是一个允许高级计算机软件与硬件进行交互的程序。 高级计算机软件一般独立于特定的计算机硬件,只是具备与硬件交互的功能框架。 每种特定的设备例如打印机、网卡,都有具备功能框架要求的操作该设备的具体命令,这些具体的命令称为设备驱动程序。 设备驱动程序从高级计算机软件处接受一般的命令,然后把这些命令分解成一系列低级的、与特定设备相关的命令,从而驱动该设备的运行。,实用工具,实用工具(utility software)是一种计算机系统软件,其作用是在执行计算任务的过程中有助于管理和优化计算机硬件、操作系统或应用软件。 目前,许多实用工具都已经被整合到操作系统中了。 典型的实用工具包括磁盘存储管理工具、系统配置和诊断工具、反病毒软件、文本编辑器、加密和解密工具、应用程式启动器、注册表优化工具、网络管理程序等。,其他工具,除了操作系统、设备驱动程序和实用工具之外,系统软件还包括服务器、窗口化系统等。 服务器(server)是指向客户端提供服务的计算机硬件或服务器软件或是他们的组合。有时,服务器是指运行了服务器操作系统的计算机硬件;有时,服务器是指能够提供服务的软件程序。 窗口化系统(windowing system)是图形化用户界面(graphical user interface,GUI)的组成部分,支持窗口管理器,并且为图形化硬件、定位设备(例如鼠标)、键盘提供基本的支持。,1.2.2 编程软件,编程软件(programming software)又称为编程工具(programming tool)或软件开发工具(software development tool),是一种软件开发人员用于创建、调试、维护其他程序和应用软件的软件工具。 一般地,这些软件工具包括程序设计语言以及编译程序、调试程序、解释程序、链接程序、文本编辑程序等。 这些软件工具的集合称为集成开发环境(integrated development environment,IDE),编译程序,编译程序(compiler)是一种把用某种计算机语言编写的源代码程序转变成另一种计算机语言(目标语言,通常是二进制形式,被称为目标代码)的计算机程序。 这种编译的目的是使得源代码成为一种可执行的程序。,调试程序,调试程序(debugger)是一种测试和诊断其他程序的计算机程序。 在集成开发环境中,当发现了程序的错误时,对于源代码级的错误,调试程序将显示出错误在源代码中的位置。 如果是针对低级语言或机器语言的调试,则错误位置会以反汇编的形式显示出来。 另外,调试程序还有其他一些功能,例如逐步运行程序、在设置的断点处中止程序的执行、跟踪特定变量的值等。,解释程序,一般地,解释程序(interpreter)是指执行某种编程语言编写的指令的计算机程序。 解释和编译是程序设计语言实现计算的两种主要方式。 但是,这两种计算方式并非是绝对不同的,原因是大多数的解释程序也像编译程序一样执行一些翻译工作。,链接程序,链接程序(linker)是指把一个或多个由编译程序生成的对象合并成为一个可执行程序的计算机程序。 计算机程序通常由多个部分或模块组成。这些并不包含在一个对象文件中的部分或模块也被称为符号。 一般地,对象文件包含3种符号:已定义的符号、未定义的符号和本地符号。已定义的符号允许其他模块调用,未定义的符号可以调用其他已定义的符号,本地符号则是指对象文件内部使用的重定位符号。 当程序由多个对象文件组成时,链接程序把这些文件合并成一个统一的可执行程序,实现符号之间的调用。,文本编辑程序,文本编辑程序(text editor)也称为文本编辑器,是用于编辑纯文本文件的计算机程序。 很多情况下,文本编辑程序由操作系统或软件开发环境提供,用于对配置文件、源代码进行编辑和修改。 例如,Unix操作系统中的vi就是一个文本编辑器,微软的Windows系列操作系统中的记事本也是文本编辑器。 文本编辑程序的一般功能包括:搜索、替换功能;剪切、复制、粘贴功能;文本格式化功能;撤销、重做功能;导入其他功能;过滤等。,IDE,IDE是一种为计算机编程人员提供的、具备软件开发需要的编辑、编译、调试、链接以及自动化工具的多种功能的计算机软件。 IDE也被称为集成设计环境、集成调试环境等。有时,版本控制系统和工具也被集成到IDE中。 目前,许多IDE还有类浏览器、对象审查器、类图等面向对象软件开发功能。,1.2.3 应用软件,应用软件(application software)是指在计算机上运行的、支持或改进软件用户工作的计算机程序。 或者说,应用软件可以直接完成终端用户的工作。 从某种意义上来讲,系统软件和编程软件都是为应用软件服务的,应用软件才是真正直接提高用户工作的。 从目前的计算机应用现状来看,有各种各样的应用软件,许多专家也从不同的角度提出了多种不同的应用软件分类方式。 一般地,常见的应用软件类型包括:工业自动化软件、业务软件、内容访问软件、教育软件、仿真软件、多媒体开发软件、产品工程软件等。,工业自动化软件,工业自动化(industrial automation)是指对工业生产线、工艺过程、机器进行控制以便减少人工干预的控制系统。 工业自动化软件是指用于工业控制系统的应用软件,包括数字化控制、可编程逻辑控制器以及其他工业控制系统等。,业务软件,业务软件(business software)是有助于提高业务生产效率或者度量业务生产效率的应用软件。 业务软件又可以细分成多种类型,包括企业软件、企业基础设施软件、信息工作者软件等。 需要指出的是,各种类型的软件之间的界限并不是很清晰,有时某种业务软件可能同时属于多种不同的类型。,企业软件,企业软件(enterprise software)是指解决分布式环境中企业级管理流程和数据流程需求的软件。 常见的企业软件包括财务管理软件(financial management,FM)、企业资源计划(enterprise resource planning,ERP)、客户关系管理(customer relationship management,CRM)、供应链管理(supply chain management,SCM)、执行信息系统(executive information system,EIS)、管理驾驶舱(dashboard)等。 与此相对的是部门软件。部门软件是企业软件的子类,主要用于解决小型组织或大型组织的业务部门的业务管理需求,例如差旅费管理、呼叫中心管理等。,企业基础设施软件,企业基础设施软件(enterprise infrastructure software)是指具有支持企业软件运行的通用功能的应用软件。 常见的企业基础设施软件包括 业务流程软件(business workflow software)、 数据库管理系统(database management system,DBMS)、 数字资产管理(digital asset management,DAM)、 内容管理系统(content management system,CMS)、 文档管理系统(document management system)、 地理信息系统(geographic information system,GIS)等。,信息工作者软件,信息工作者软件(information worker software)是一种满足部门内单个人创建和管理信息需要的应用软件。 这些软件又可以分为时间管理、资源管理、数据管理、文档、分析、协同工作软件、预订系统、金融软件等。,内容访问软件,内容访问软件(content access software)是一种用于访问内容而不是编辑内容的计算机软件。 但是,也有些内容访问软件允许用户对内容进行编辑。这种软件主要是满足对数字化娱乐、出版产品的消费需求。 例如,Web浏览器、媒体播放器、数字宠物、屏幕保护程序、视频游戏等都是典型的内容访问软件。,教育软件,教育软件(educational software)是一种用于教学或自学的计算机软件 主要包括儿童学习软件、居家学习软件、教学课件、教学管理软件、娱乐教育软件、教育参考软件、教育软件定制平台、公司培训软件以及特殊教育软件等。,仿真软件,仿真软件(simulation software)是一种以研究分析、操作培训、娱乐等为目的,模仿真实情景的物理仿真系统或数据仿真系统的计算机软件。 仿真软件又可以分为科学仿真、社会仿真、战场仿真、应急响应仿真、飞行驾驶仿真、汽车驾驶仿真、仿真游戏等。,多媒体开发软件,多媒体开发软件(media development software)是指用于图形、图像、音频、视频等多媒体开发的计算机软件。 多媒体开发软件又可以分为三维计算机图像软件、计算机动画、图形艺术软件、光栅图形编辑软件、矢量图型编辑软件、视频编辑软件、音频编辑软件、音乐生成器、Web超媒体开发软件等。,产品工程软件,产品工程软件(product engineering software)是指辅助相关制造产品的设计、研发、装配的计算机软件。 产品工程的主要活动包括成本活动、生产能力、产品质量、产品性能、可靠性、可服务性、用户特征等。 产品工程软件主要包括计算机辅助设计(computer-aided design,CAD)、计算机辅助工程(computer-aided engineering,CAE)、测试工具、游戏创建软件、许可管理程序等。,1.3 软件架构,1.3 软件架构,软件架构(software architecture)有时也称为软件体系结构,是对软件系统总体结构的抽象表示,主要描述软件系统的组件、组件的接口特征以及这些组件之间的关系。 软件架构的研究内容主要包括软件架构设计模式、软件架构描述语言、软件架构文档以及形式化方法。 ANSI/IEEE 1471-2000是描述软件架构的第一个标准,2007年该标准被ISO采纳为ISO/IEC 42010:2007标准。 下面介绍ANSI/IEEE 1471-2000标准的主要内容。,ANSI/IEEE 1471-2000标准,本章提要,1.1 什么是计算机软件技术? 1.2 软件的分类 1.3 软件架构,思考题,1. 收集微软公司的资料,讨论微软公司提供了哪些类型的软件产品。 2. 分组讨论,你每天接触到哪些计算机软件? 3. 收集资料,讨论Unix和类Unix操作系统的特点。 4. 收集资料,研讨Linux操作系统的主要应用领域有哪些? 5. 收集资料,讨论企业软件的主要类型和典型产品的特点。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!