第4章计算机软件4.14.24.34.4软件的概念、特点和分类软件的发展从机器语言到高级语言操作系统4.5应用软件2Contents目录本章首先介绍了计算机软件的概念、特点与分类,接着根据硬件发展的历程阐述了同时代软件的发展各个阶段的特点。根据软件的分类,在系统软件中着重介绍了计算机程序设计语言的分类、特点和操作系统的概念、功能;而在应用软件中则主要讲解了典型的办公自动化软件、图像处理软件和视频处理软件。本章要点34.1软件的概念、特点和分类软件的概念:计算机系统中与硬件相互依存的另一个重要组成部分,与计算机硬件、人、数据库、过程等共同构成计算机系统。组成:计算机程序、数据、文档和售后服务。软件=程序+数据+文档+服务软件三层含义:①个体含义,指计算机系统中的某个程序、数据、文档以及修改服务;②整体含义,指在特定计算机系统中所有个体含义的软件的总体;③学科含义,指在开发、使用和维护前述含义下的软件所涉及的理论、原则、方法、技术所构成的学科。5软件的概念⑴软件是一种逻辑实体,具有抽象性。⑵软件是开发出来的,而不是制造出来的。⑶软件可能被废弃,但不会被用坏。⑷软件大多是定制的,而不是装配的。⑸软件的开发和运行常常受到计算机系统的限制。⑹软件产品生产主要是脑力劳动。⑺软件是复杂的。⑻软件费用不断增加,软件成本相当昂贵。⑼相当多的软件工作涉及到社会因素。6软件的特点按照软件的作用,一般分为⑴系统软件:包括有操作系统、程序语言处理系统、数据库系统、诊断和控制系统、网络系统、系统实用程序(服务)等。⑵支撑软件(工具软件):分为纵向支撑软件(分析、设计、编码、测试、维护)和横向支撑软件(项目管理、配置管理)。⑶应用软件:在特定领域内开发,为特定目的服务的一类软件,如商业数据处理、工程与科学计算。⑷可复用软件:初期各种标准函数库,现在从代码复用发展到体系结构的复用、开发过程的复用。7软件的分类4.2软件的发展9软件的发展阶段特点程序设计程序系统软件工程软件内容程序程序及说明书程序、文档、数据主要程序设计语言汇编及机器语言高级语言软件语言*软件工作范围程序编写包括设计和测试软件生存周期需求者程序设计本人少数用户市场用户开发软件的组织个人开发小组开发小组及大中型软件开发机构软件规模小型中小型大中小型决定质量的因素个人编程技术小组技术水平技术水平和管理水平开发技术和手段子程序和程序库结构化程序设计数据库、开发工具、开发环境、工程化开发方法、标准和规范、网络和分布式开发、面向对象技术及软件复用维护责任者程序设计者开发小组专职维护人员硬件特征价格高,存储容量小,工作可靠性差降价;速度、容量及工作可靠性有明显提高向超高速、大容量、微型化及网络化方向发展软件特征完全不受重视软件技术的发展不能满足需要,出现软件危机开发技术有进步,但未获突破性进展,价高,未完全摆脱软件危机*这里软件语言包括需求定义语言、软件功能语言、软件设计语言、程序设计语言4.3从机器语言到高级语言计算机语言是人与计算机之间通讯的语言,是传递信息的媒介。根据程序设计语言与计算机硬件的联系程度,可以分为三类:机器语言、汇编语言和高级语言。11从机器语言到高级语言计算7+10并存储的程序机器语言:用二进制和编码方式提供的指令系统所编写程序的语言被称为机器语言10000110000001111000101000001010100101110000011011110100所有程序都需转换成机器语言程序,计算机才能执行指令系统:CPU用二进制和编码提供的可以解释并执行的命令的集合。10000110000001111000101100001010操作码地址码问:用机器语言编写程序存在什么问题呢?计算机语言---机器语言机器级程序832+23+6;ax2+bx+c。计算7+10并存储的程序汇编语言:是用助记符号编写程序的语言。汇编语言源程序:是用汇编语言编出的程序。汇编程序:是将汇编语言源程序翻译成机器语言程序的程序。MOVA,7ADDA,10MOV(6),AHLT人们提供了用助记符编写程序的规范/标准。同时开发了一个翻译程序,实现了将符号程序自动转换成机器语言程序的功能。1000011000000111MOVA,7操作码地址码计算机语言---汇编语言汇编语言程序处理过程计算机语言---汇编语言---汇编程序(编译器)MOVA,7ADDA,10MOV(6),AHLT汇编程序汇编语言源程序助记符号机器语言程序二进制和编码10000110000001111000101100001010100101110000011011110100由汇编程序自动转换转换执行汇编语言转换规则{助记符号,机器指令}用助记符号书写程序的规范、语法规则、标准的集合是人和计算机都能理解的语言机器指令的集合是计算机能够理解并执行,但人理解困难的语言机器语言编制完成7+10并存储的汇编语言程序完成7+10并存储的机器语言程序执行计算7+10并存储的程序Result=7+10;Return人们提供了类似于自然语言方式、以语句为单位书写程序的规范/标准。并开发了一个翻译程序,实现了将语句程序自动翻译成机器语言程序的功能。高级语言:是用类似自然语言的语句编写程序的语言。高级语言源程序:是用高级语言编出的程序。编译程序:是将高级语言源程序翻译成机器语言程序的程序。为什么还要提出高级语言?计算机语言---高级语言高级语言程序的示例计算ax2+bx+c其中a,x,b,c是变量。变量的地址是由编译程序在编译过程中自动分配的,也即是说编译器根据当时编译的情况,分配a,x,b,c为8号,9号,10号,11号存储单元,并产生上述的机器指令程序编译程序源程序语句机器语言程序二进制和编码Result=7+10Return10000110000001111000101100001010100101110000011111110100MOVA,7ADDA,10MOV(6),AHLT高级语言程序处理过程示意高级语言:机器无关性;一条高级语言语句往往可由若干条机器语言语句实现且不具有对应性汇编语言:机器相关性;汇编语言语句和机器语言语句有对应性高级语言编译器汇编程序汇编语言源程序助记符号转换执行转换规则{助记符号,机器指令}编译程序高级语言源程序变量/表达式/语句机器语言程序二进制和编码10000110000001111000101100001010100101110000011011110100转换执行高级语言编译规则机器语言编制Result=7+10ReturnMOVA,7ADDA,10MOV(6),AHLT自动转换自动转换执行转换汇编器编译器转换1)名字说明2)类型说明3)初始化4)程序对象的局限性5)程序模块6)循环控制结构7)分支控制结构8)异常处理9)独立编译20高级语言的特点1.结构化程序设计:基本思想是采用自顶向下、逐步求精的设计方法和单入口单出口的控制结构。顺序-循环-选择21高级语言程序设计类型顺序结构G5=1;G6=2;G7=3;G8=4;G9=5;G9=G9+G8;G9=G9+G7;G9=G9+G6;G9=G9+G5;语句与程序控制G5=1;G6=2;G7=3;G8=4;G9=5;G9=G9+G8;G9=G9+G7;G9=G9+G6;G9=G9+G5;G5G6G7G8G9程序执行示例123459121415分支结构IF条件表达式{(条件为真时运行的)程序语句序列1}ELSE{(条件为假时运行的)程序语句序列2}IfD1D2{D1=D1-5;}Else{D1=D1+10;}Y=50;Z=80;X=30;X=Z+Y;IfYZ{X=X-Y;}Else{X=X-Z;}X=X+Y;IfXZ{X=Y;}X=X-Z;IfXY{X=X-Y;}语句与程序控制循环结构(条件循环结构)While(条件表达式)Do{循环体的程序语句序列}X=1;Y=2;Sum=0;While(Sum0)Do{Sum=X+Y;X=X+1;Y=Y+1;}其他语句语句与程序控制XYSum1202.面向对象程序设计:认为现实世界是由一系列彼此相关并且能够相互通信的实体,即对象组成,每个对象都有自己的自然属性和行为特征,而一些对象的共性的抽象描述,就是面向对象方法中的核心——类。基本特点:抽象、封装、继承、多态。25高级语言程序设计类型----像堆积木一样构造程序面向对象的程序设计语言与可视化构造语言Command1ClickPrivateSubCommand1_Click(){//此处放置单击按钮Command1时要执行的程序语句;}Text2TextChangedPrivateSubText2_TextChanged(){//此处放置文本框Text2中内容发生变化时将要执行的程序语句;}TextTextChangedPrivateSubText_TextChanged(){//此处放置文本框Text中内容发生变化时将要执行的程序语句;}Text1TextChangedPrivateSubText1_TextChanged(){//此处放置文本框Text1中内容发生变化时将要执行的程序语句;}Text1GetFocusPrivateSubText1_GetFocus(){//此处放置文本框Text1中内容发生变化时将要执行的程序语句;}BASIC语言FORTRAN语言(IBM科学计算)COBOL语言(Business)PASCAL语言C语言C++语言(面向对象)Java语言C#语言Python语言27常用程序设计语言4.4操作系统操作系统是系统软件中一个最基本的大型软件,是全面地管理计算机软件和硬件的系统程序,是用户与计算机之间的接口。操作系统的概念操作系统是用户与计算机系统之间的接口,任何用户都必须通过它才能操作和使用计算机系统的各种资源。操作系统的作用:提高系统资源的利用、提供方便友好用户界面、提供软件开发的运行环境。操作系统的功能:作业管理、文件管理、处理机管理、存储管理和设备管理。29操作系统30操作系统的层次结构内核:管理各种资源:文件管理、设备驱动程序、内存管理;调度和控制。Shell:会话式,命令文件(DosWindows)①机器加电;②CPU自动运行BIOS的自检程序,测试系统各部件的工作状态是否正常;③CPU自动运行BIOS的自举程序,从外部存储设备的引导扇区读出引导程序装入内存;④CPU运行引导程序,从外部存储设备读出操作系统装入内存;⑤CPU运行操作系统。31操作系统的启动①单用户操作系统(MS-Dos,win98)②批处理操作系统(管理多个用户的程序)③分时操作系统(多终端用户同时使用)④实时操作系统(控制领域)⑤网络操作系统(借助网络共同工作,各自有系统)⑥分布式操作系统(协同工作)32操作系统的分类文件按一定格式存储在外存储器上的信息集合称为文件,如程序、数据、文字、图形、图像、动画或声音等,是操作系统管理信息和能独立进行存取的最小单位。磁盘为存储文件所分配空间的基本单位是“簇”,文件系统负责为用户建立文件,存取、修改和转储文件,控制文件的存取,对文件实现“按名存取”。文件的命名[盘符:][路径]文件名[.扩展名]文件全名总长度可达255个字符(若使用全路径,则可达260个字符),禁用\|/?*:〃等9个字符。汉字也可用作文件名。33文件与文件系统文件名中的扩展名用于指定文件的类型。34文件类型.COM可自定位的执行文件.DBF数据库文件.EXE可执行程序文件.PRG数据库源程序文件.OBJ系统编译后的目标文件.DAT数据文件.LIB系统编译时的库文件.$$$临时文件.SYS系统配置和设备驱动文件.DOCWord文档文件.HLP帮助文件.TXT文本文件.BASBASIC语言程序的源文件.BAK备份文件.CC语言程序的源文件.BAT批处理文件.WAV声音文件.JPG图形文件标准文件夹的树结构及路径为了将相同文件名的文件保存在同一台计算机中,不同类别不同用户的文件常保存