软件是用户和硬件系统之间的界面。计算机软件包括机器运行所需要的各种程序及其相关资料。从狭义的角度上讲,软件是计算机运行所需要的各种程序。从广义上讲,软件还包括手册、说明书和有关资料。没有任何软件支持的计算机称为裸机,裸机本身不能完成任何功能,只有配备一定的软件,才能发挥其功用。硬件和软件是相辅相成的,实际呈现在用户面前的计算机系统是若干层软件改造的计算机,而其功能的强弱也与所配备的软件的丰富程度有关。
1.计算机软件的分类
根据所起的作用不同,计算机软件可分为系统软件和应用软件。
系统软件具有计算机各种应用所需的通用功能,是支持应用软件的平台。它通常负责管理、控制和维护计算机的各种软硬件资源,并为用户提供友好的操作界面。它包括操作系统、程序语言处理系统、编译和解释系统、诊断和控制系统等。系统软件一般采用用户机的指令系统编写,需要了解机器的硬件细节。
应用软件是用户为解决实际问题开发的专门程序。由于这些程序是在系统软件支持的环境下(采用机器语言、汇编语言、或C、Pascal等高级语言)编写的,因此不必要了解机器的硬件细节。文字处理软件、大规模的科学计算软件等都属于应用软件的范畴。信息学奥林匹克联赛要求选手编写的程序虽然一般不具备推广价值,但亦属于应用软件。
2.操作系统
操作系统(Operating System)是现代计算机系统中不可缺少的基本系统软件。操作系统管理和控制计算机系统中的所有软硬件资源,是计算机系统的灵魂和核心。除此之外,它还为用户使用计算机提供了一个方便灵活、安全可靠的工作环境,使用户无需了解许多有关硬件和系统软件的细节,就能方便灵活地使用计算机。常见的操作系统软件有微软公司的DOS、OS/2、Windows系列;LINUX(UNIX演变而来);Macintosh OS。
操作系统从无到有、从小到大,功能不断增强。它是随着计算机硬件和软件的发展而发展的。操作系统的发展阶段经历了单道批处理系统→多道批处理系统→分时操作系统→实时操作系统→网络操作系统的发展过程。
Windows是微软公司开发的具有图形用户界面(Graphical User Interface,GUI)的操作系统。在Windows下可以同时运行多个应用程序。例如,在使用Word字处理软件编写一篇文章时,如果想在其中插入一幅图画,可以不退出Word而启动Windows中附带的应用软件“画图”来画,然后插入正在用Word编写的文章中去。这时,两个应用程序实际上都已调入主存储器中,都处于工作状态。Windows操作系统迄今为止的发展历程主要由Windows 3.1、Windows 95、Windows 98、Windows NT、Windows 2000、Windows XP、Windows Vista、Windows 7。
3.常用应用软件
常用的应用软件如表2.1所示。
表2.1 常用的应用软件
4.程序设计语言
(1)程序设计语言的分类。
程序设计语言一般分为机器语言、汇编语言和高级语言三大类。
由“0”和“1”的不同组合所形成的可为计算机直接识别的二进制指令代码的集合称为机器语言,它能被计算机硬件直接识别和执行,是“面向机器”的程序设计语言。
使用助记符和有关符号编写的程序称为汇编语言程序,比机器语言更加直观,但对于计算机CPU及其外围硬件设备具有很大的依赖性,所以汇编语言仍然属于“面向机器”的语言。
机器语言和汇编语言都是“低级语言”,高级语言又称算法语言。它是一种“面向问题”的程序设计语言,其各种命令的形式接近于自然语言(英语)和数学算式的格式表示,它不涉及硬件知识,便于普及,程序的通用性好,但经过翻译转换后生成的目标程序冗余大,运行时占用内存多,速度较慢。常用的高级语言有:Fortran,Algol,Cobol,Pascal,C、C++,Prolog及Lisp语言等。
(2)高级语言的执行。
对高级语言源程序进行翻译的方式有两种,编译执行方式和解释执行方式。编译执行方式是将源程序一次性翻译成目标程序,可以多次运行而无需再进行翻译。解释执行方式是直接运行源程序的,运行时逐句将源程序翻译成机器语言调入内存,再加以运行,由于每次执行都要逐句解释,因此运行速度比较慢。大多数高级语言都采用编译执行方式,早期的BASIC和现在比较流行的网页编程语言HTML、ASP等都是采用解释执行方式。
(3)面向对象程序设计。
世界上所有的事物都可以抽象为“对象”,因此世界是由对象组成的。每一个对象都具有其自身的属性、特征及行为方式,区别在于属性和特征的不同,以及一些对象的行为较之另一些对象更为活跃,所以可以将不同的对象划分成各种“类”来描述。例如,CASIO手表是一个属于手表类中的一个对象。手表的材料及外观等构成了它的属性(特征),手表指针的走动则解释为该对象的行为方式。对于编程人员而言,数据则是对象的特征(属性)或特性,而方法(函数)或过程则是对象的行为。
面向对象程序设计(Object Oriented Programming,OOP)是指,把一个对象的特征和它的行为封装到单独的源代码中,于是特征和行为在物理上(在同一个代码块中)和概念上(在一个对象中)都集中到一个地方,这样比把方法或过程与数据分散开来更为方便和安全。
OOP中的概念主要包括:对象、类、数据抽象、数据封装、继承、多态性、动态绑定、消息传递、方法。通过这些概念面向对象的思想得到了具体的体现。
①对象是运行期的基本实体,它是一个封装了数据和操作这些数据的代码的逻辑实体。
②类是具有相同类型的对象的抽象。一个对象所包含的所有数据和代码可以通过类来构造。
③封装是将数据和代码捆绑到一起,避免了外界的干扰和不确定性。对象的某些数据和代码可以是私有的,不能被外界访问,以此实现对数据和代码不同级别的访问权限。
④继承是让某个类型的对象获得另一个类型对象的特征。通过继承可以实现代码的重用,从已存在的类派生出的一个新类将自动具有原来那个类的特性,同时,它还可以拥有自己的新特性。
⑤多态是指不同事物具有不同表现形式的能力。多态机制使具有不同内部结构的对象可以共享相同的外部接口,通过这种方式减少代码的复杂度。
⑥绑定指的是将一个过程调用与相应代码链接起来的行为。动态绑定是指与给定的过程调用相关联的代码只有在运行期才可知的一种绑定,它是多态实现的具体形式。
⑦对象之间需要相互沟通,沟通的途径就是对象之间收发信息。消息内容包括接收消息的对象的标识,需要调用的函数的标识,以及必要的信息。消息传递的概念使得对现实世界的描述更容易。
⑧方法是定义一个类可以做的,但不一定会去做的事。
(4)面向对象语言的发展。
支持部分或绝大部分面向对象特性的语言即可称为基于对象的或面向对象的语言。早期,完全面向对象的语言主要包括Smalltalk等语言,目前较为流行的语言中有Java、C#、Eiffel等。随着软件工业的发展,比较早的面向过程的语言在近些年的发展中也纷纷吸收了许多面向对象的概念,如C→C++,C→Objective-C,Basic→Visual Basic→Visual Basic.NET,Pascal→Object Pascal,Ada→Ada95。
(5)软件工程理论。
软件工程是指以工程化方法开发软件系统。软件系统(特别是应用软件系统)开发是一个庞大的系统工程,它涉及计算机科学、管理科学、决策科学、系统科学、人工智能等学科。
软件工程是指导计算机软件开发和维护的工程学科。它采用工程的概念、原理、技术和方法来开发、维护软件。软件工程学的最终目的是以较少的投资获得易维护、可靠、高效率和易理解的软件产品。
任何一个软件产品都有它的生命期。开发一个软件产品要经历制订计划、需求分析、设计、程序编程、测试以及运行维护过程。
5.数据库
(1)数据库的由来。
数据库是数据管理的最新技术,是计算机科学的重要分支,是现代计算机信息系统和计算机应用系统的基础和核心。在科学技术高速发展的今天,信息资源已经成为各个部门的重要财富,建立一个满足各级组织信息处理要求的行之有效的管理信息系统已成为一个企业或组织生存和发展的重要条件。从小型事务处理系统到大型信息共享系统,越来越多的新应用领域采用数据库技术对资源进行存储和处理。可以说,如果没有数据库技术的发展,没有优秀的数据库产品的推出和应用,社会信息化的进程将是难以实现的,因此,在衡量一个国家信息化的程度时,其数据库的建设规模、数据库信息量的大小和使用程度成为重要的标志之一。
(2)数据管理。
数据处理的首要问题是数据管理。数据管理是指如何分类、组织、存储、检索及维护数据。
(3)数据库、数据库管理系统、数据库系统。
数据库(DataBase,DB)是长期存储在计算机内,有组织、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户所共享。
数据库管理系统(DataBase Management System,DBMS)是位于用户和操作系统之间的一层数据管理软件,它是由系统运行控制程序、语言翻译程序和一组公用程序组成的数据库系统(DataBase System,DBS),通常指带有数据库的计算机系统。广义地讲,它包括数据库相应的硬件、软件和各类相关人员。
(4)数据库模型。
在数据库系统中,通常按照数据结构的类型来命名数据模型,如层次结构、网状结构和关系结构的模型分别命名为层次模型、网状模型和关系模型。
(5)数据库语言——SQL语言。
关系数据库使用的语言是标准数据库语言的结构化查询语言(Structured Query Language,SQL)。关系数据库的重要功能是通过SQL语言来实现的。
SQL语言不仅具有丰富的数据操作功能,而且具有数据定义、数据控制功能,是集数据操作、数据定义、数据控制功能于一体的关系数据库语言。众多的数据库厂家推出了各自支持的SQL语言及其接口软件,为不同的关系数据库系统之间相互操作打下了基础。
SQL语言的核心是查询语句SELECT。
(6)DBMS的最新发展和功能分类。
目前,世界上比较流行的数据库管理系统如下。
①高档数据库产品,如Informix、Oracle、Sybase、Progress、Unify等,其特点是产品系列齐全,功能先进,有良好的扩展能力。
②中、低档数据库产品,如DBASE、Paradox、Super-Base、Foxpro、Clipper、SQLBase、Focus等,其特点是数据界面及数据操作都由单个产品完成,主要基于DOS或windows提供的基本数据库管理系统功能,支持部门一级的应用等。
③数据库开发工具,如Access、Visual Basic、Uniface、PowerBuilder等,主要作为Client/Server(客户机/服务器)环境中的数据库开发工具,可以和多种数据库服务器相连接,有良好的开发界面,适用于原型开发等。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。