第1章 软件技术基础-基础知识_第1页
第1章 软件技术基础-基础知识_第2页
第1章 软件技术基础-基础知识_第3页
第1章 软件技术基础-基础知识_第4页
第1章 软件技术基础-基础知识_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机软件技术基础基础知识1第1章基础知识

系统组成与应用分类计算机软件软件技术基础2计算机系统组成一个完整的计算机系统由硬件和软件两个部分组成。计算机硬件是组成计算机的物理设备的总称,它们由各种器件和电子线路组成,是计算机系统工作的物质基础。所谓软件是一个程序的集合,这种程序不只是用户为解决某一个具体问题而编制的程序,它还具有支持计算机工作和扩大计算机功能的作用。

3计算机软件是计算机硬件设备上运行的各种程序及其相关资料的总称。软、硬件关系可表述为:没有软件的计算机系统通常称为“裸机”,而“裸机”是无法工作的,只有硬件和软件的相互依存才能构成一个可用的计算机系统。随着计算机硬件技术的不断发展和广泛使用,软件也逐步丰富与完善,而软件的发展又大大促进了硬件的发展。4迄今为止的计算机都是以存储程序原理为基础的冯·诺依曼型计算机,是1946年由冯·诺依曼领导设计的,一般都由5大功能部件组成,它们是:运算器、控制器、存储器、输入设备和输出设备。图1-1给出了计算机各功能部件的关系图,图中双线代表数据传输线路,单线代表控制信号传输线路。5ENIACVS冯·诺依曼6图1-1计算机硬件系统基本组成框图

71、控制器控制器是计算机的控制部件,它控制计算机各部分自动协调地工作,它完成对指令的解释和执行。控制器每次从存储器读取一条指令,经分析译码,产生一串操作命令发向各个部件,控制各部件动作,实现该指令的功能;然后再取下一条指令,继续分析、执行,直至程序结束,从而使整个机器能连续、有序地工作。控制器本身不进行运算,运算是由运算器来完成的。82、运算器运算器是用于对数据进行加工的部件,它可对数据进行算术运算和逻辑运算。在需要进行某项运算时,由控制器发出命令,将存放在存储器中的数据送到运算器。然后由控制器再发出运算的命令(例如使A和B相加),然后将运算结果送回存储器存起来,以便下次运算时使用或将它输出。算术运算包括加、减、乘、除及它们的复合运算。逻辑运算包括一般的逻辑判断和逻辑比较,如比较、移位、逻辑加、逻辑乘、逻辑反等操作。93、存储器存储器是计算机的记忆装置,用来存放程序和数据。程序是计算机操作的依据,数据是计算机操作的对象。计算机中数据的存储和运算是以二进制形式进行的。存储器有一个特点,即从某一存储单元中“取”一个数据后,该存储单元中的数据并不消失。除非向该单元送入一个新的数据后,该单元的内容才改变。因此把数据的“存”和“取”称为“读出”和“写入”更为确切。104、输入设备(人机接口)输入设备是外部向计算机传送信息的装置。其功能是将数据、程序及其它信息,从人们熟悉的形式转换成计算机能接受的信息形式,输入到计算机内部。常见的输入设备有键盘、鼠标、光笔、纸带输入机、模/数转换器、声音识别输入等。115.输出设备输出设备功能是将计算机内部二进制形式的信息转换成人们所需要的或其它设备能接受和识别的信息形式,输出到输出设备上。常见的输出设备有打印机、显示器、绘图仪、数/模转换器、声音合成输出等。12通常把控制器和运算器合起来称为“中央处理机”(CentralProcessorUnit),简称CPU,它是计算机的核心部分;由于运算器,控制器,存储器三个部分是信息加工、处理的主要部件,所以把他们合称为“主机”。输入设备、输出设备和外存储器合称为外部设备;外部设备通过接口线路与主机相连。1314计算机应用可以归纳为5大类:数值计算(又称科学计算)数据和数据处理过程控制(实时控制)辅助设计人工智能计算机的应用分类151、数值计算(又称科学计算)数值计算是指用计算机来处理科学研究和工程技术中所提出的数学问题。其特点是计算量大,而逻辑关系相对简单。例如,导弹飞行轨道计算,宇宙飞船运动轨迹和气动干扰的计算,热核反应控制条件及能量计算,天文测量和天气预报方程计算等。除了国防和尖端科技外,在其它学科和工程设计方面,如数学、力学、化学、物理以及石油勘探、桥梁设计等领域都存在着复杂的数学问题,需要利用计算机进行数值计算。科学计算语言

FORTRAN……162、数据和数据处理数据和数据处理是计算机的重要应用领域。数据是指需用计算机处理的日常生活工作中碰到的大量数据,甚至相当多是需要重复处理的数据。这一类数据的特点是数据量多,要反复处理。当前的数据也已有更广泛的含义,如图、文、声、像等多媒体数据,它们都已成为计算机的处理对象17数据处理是指对数据的收集、存储、加工、分析和传送的全过程。计算机数据处理应用广泛,例如财政、金融系统数据的统计和核算,银行储蓄系统的存款、取款和计息,图书、情报系统的书刊、文献和档案资料的管理及查询,商业系统的计划、销售、市场、采购和库存管理等。而航空订票系统、交通管制系统等又都是实时数据和信息处理系统。计算机在数据处理方面的应用占全部计算机应用的80%。183、过程控制(实时控制)过程控制是生产自动化的重要技术内容和手段,它是由计算机对所采集到的数据按一定方法进行计算,然后再将计算结果输出到指定执行机构去控制生产的过程。计算机的控制对象可以是机床、生产线和车间,甚至是整个工厂。例如,汽车制造企业的全自动生产流水线。194、辅助设计计算机辅助设计是计算机的另一个重要应用领域。它不仅应用于产品和工程辅助设计,而且还包括辅助制造、辅助测试、辅助教学以及其它多方面的内容,这些都称为计算机辅助系统。CADCAMCAECATCAI205、人工智能人工智能主要研究用计算机来模拟人类的某些智力活动,如学习过程、适应能力、推理过程等,它也是计算机的一个重要应用领域。如利用计算机进行数学定理的证明、进行逻辑推理、理解自然语言、辅助疾病诊断、实现人机对弈、密码破译等,这些都是利用人们赋予计算机的智能来完成的。神经网络、专家系统……21计算机语言计算机语言的发展经历了以下几个阶段:第一代计算机语言——机器语言。第二代计算机语言——汇编语言(符号语言)。第三代计算机语言——高级语言(算法语言)。第四代计算机语言——非过程化语言。221、机器语言 人和计算机打交道,必须要解决一个“语言”的沟通问题。计算机并不能理解和执行人们使用的自然语言,而只能接受和执行二进制的指令。计算机能够直接识别和执行的这种指令,称为机器指令。每一种类型的计算机都规定了可以执行的若干种指令,这种指令的集合就是机器语言指令系统,简称为机器语言。232、汇编语言汇编语言是从机器语言发展演变而来的。它用一些“助记忆符号”来代替那些难懂难记的二进制代码,也称为符号语言。通常用有指令功能的英文词的缩写代替操作码,如“传送”指令用助记符MOV(move的缩写)表示,“加法”指令用助记符ADD(Addition的缩写)表示。这样,每条指令就有明显的标识,从而易于理解和记忆,因此,汇编语言程序有较直观易理解等优点。243、高级语言高级语言是一类人工设计的语言,因为它对具体的算法进行描述,所以又称为算法语言。这种语言称为“面向过程的语言”,只需根据所求解的问题的算法,写出处理的过程即可,而不必涉及计算机内部的结构。比如在存取数据时,不必具体指出各存储单元的具体地址,可以用一个符号代表地址。254、非过程化语言20世纪70年代后期,计算机专家研制出了非过程化语言,即关系数据库语言。关系数据库语言是一种高度的非过程化语言,例如指出“将全厂职工中工资高于1500元以上的职工姓名、职务、部门打印出来”,计算机便会自动执行,打印出所需结果。显然,这又是一个飞跃,为更多的人更方便地使用计算机创造了极为有利的条件。261983年,IEEE组织明确地给软件作了定义:软件是计算机程序、方法和规则相关的文档以及在计算机上运行它时所必需的数据。软件≠程序程序≠软件程序和软件是两个不同的概念强调了文档在软件研制中的重要性计算机软件以及分类27软件的分类计算机软件发展非常迅速,其内容又十分丰富,对它进行分类也比较困难,仅从用途来划分,大致分为服务类、维护类和操作管理类。若从计算机系统角度看,软件又分为系统软件和应用软件。28应用系统软件的开发软件产品从定义、开发、使用和维护,直到最终被废弃所经历的周期,称为软件生存周期。在生存周期的各个阶段有其具体的任务。为完成各个阶段的任务,又有各自不同的技术方法和操作步骤。只有科学地按生存周期各个阶段的任务、技术方法和操作步骤去实施,才能保证软件产品的质量。而急于求成,不按科学方法实施,不愿学习和采用新的开发技术和开发工具,则势必"事倍功半",甚至断送它。29初学者在软件开发中,往往存在一些问题,例如,在还没有准确、完整地了解用户的实际需求后就急于编程。重编程,轻需求分析;重开发,轻维护;重程序,轻文档。这样做的后果就是在软件系统中"埋藏"了许多故障隐患,直接危害着系统的可靠性和稳定性。而在软件开发过程中,问题发现得越早,解决它所花费的代价就越小;而问题发现得越晚,解决它所花费的代价就越高。30在进行软件设计时应当注意以下几点:(1)注重分析解决问题。(2)掌握应用系统设计方法。(3)广泛了解当前的最新计算机应用技术。(4)学会建立抽象模型。(5)力求系统结构清晰。(6)注意形式化、一致性和规范化。(7)重视书写程序文档。31软件开发环境学习软件基础知识,主要目的是为了进行软件的开发。搞好软件开发,除要掌握先进的开发技术外,还要有良好的软件开发环境。在软件开发环境中,用户界面占有重要的地位。近十几年来开发的应用软件,多数开发者都十分注意用户界面的设计。其中“多窗口”、“菜单”与“联机帮助”被称为用户界面的三大友好技术。32随着计算机的普及与性能的提高,人们越来越重视用户界面的改善。在20世纪80年代,图形用户界面(GUI,GraphicalUserInterface)取得了重要的进展。美国Microsoft公司的Windows,麻省理工学院DEC公司开发的X-Windows,精彩纷呈。非键盘输入工具鼠标器也随之得到广泛的使用。与此同时,包括文字、图形、声音、图像等多媒体用户界面也应运而生,受到人们的广泛的注意。33面向对象的软件开发方法面向对象(OO,Object-Oriented)方法是当代计算机科学领域,特别是软件领域的发展主流。面向对象方法起源于20世纪70年代,在20世纪80年代出现了一大批面向对象的编程语言,标志着OO方法在编程领域走向成熟和实用。但是OO方法的作用和意义决不只局限于编程技术。OO方法是一种新的程序设计范型,是一种具有深刻哲学内涵的认识方法学和系统构造理论。34

(1)强调从现实世界中客观事物(对象)出发来认识问题域和构造系统,大大减少了系统开发者对问题域的理解难度,使系统能准确的反映问题域。(2)运用人类日常的思维方法和原则(体现于OO方法的抽象、分类、继承、封装、消息通信等基本原则)进行系统开发,有益于发挥人类的思维能力,并有效地控制了系统的复杂性。(3)对象的概念贯穿于软件开发过程的始终,使各个开发阶段成分具有良好的反应,从而显著地提高了系统的开发效率与质量,并大大降低了系统维护的难度。35(4)对象的相对稳定性和对易变因素的隔离,增强了系统的应变能力。(5)对象类之间的继承性关系和对象的独立性,对软件复用提供了强有力的支持。正是由于上述特点,使面向对象方法在计算机领域产生了巨大影响。近十几年来,它的影响渗透到计算机科学技术的几乎每一个分支领域,如编程语言、系统分析与设计、数据库、人机界面、知识工程、操作系统、计算机体系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论