对计算机软件及语言了解的总结

  软件是一系列按照特定顺序组织的计算机数据和指令的集合。其中,软件被划分为系统软件、应用软件和介于这两者之间的中间件。软件并不只是包括可以在计算机上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。软件相较于硬件,其着重点更在于它的逻辑、虚拟的特性,是硬件物理性的抽象,正是这种抽象,将用户与物理机联系在一起,充当介质,方便用户操作。在计算机领域,软件实际是一个宽泛的概念,包括了应用软件、系统工具、os等,用户通过软件,达到对计算机硬件的操作。运行时,能够提供所要求功能和性能的指令或计算机程序集合,能够满意地处理信息的数据结构,描述程序功能需求以及程序如何操作和使用所要求的文档。最后以开发语言作为描述语言,可以认为:软件=程序+数据+文档。其中,无形的,没有物理形态,只能通过运行状况来了解功能、特性、和质量等优点,决定了软件的地位,物理空间占地需求小,能实现远距离的资源传输处理,以及人机交互。同样软件渗透了大量的脑力劳动,人的思维活动、智能活动和技术水平是软件产品的关键。人可根据自己的实际需求去设计应用高效的软件,实际上就是解放了肢体,同时又进行极为有效的社会生产。并且不会像硬件一样老化磨损,开发和运行必须依赖于特定的计算机系统环境,对于硬件有依赖性,为了减少依赖,开发中提出了软件的可移植性,具有可复用性,软件开发出来很容易被复制,从而形成多个副本。这些都决定软件在信息世界、计算机世界的重要地位。

  软件的应用很多,在功能上,软件可分为系统软件与应用软件。其中,系统软件又可细分为操作系统软件与支撑其运行的支撑软件。帮助用户与诸多的软件一起,将计算机视为整体,形成一个黑箱,极大的方便了用户。操作系统是一管理计算机硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让使用者与系统交互的操作接口。支撑软件是支撑各种软件的开发与维护的软件,又称为软件开发环境(SDE)。它主要包括环境数据库、各种接口软件和工具组。著名的软件开发环境有IBM公司的Web Sphere,微软的等。应用软件则相反,不同的应用软件根据用户和所服务的领域提供不同的功能。应用软件是为了某种特定的用途而被开发的软件。它可以是一个特定的程序,比如一个图像浏览器。也可以是一组功能联系紧密,可以互相协作的程序的集合,比如微软的Office软件。也可以是一个由众多独立程序组成的庞大的软件系统,比如数据库管理系统。如今智能手机得到了极大的普及,运行在手机上的应用软件简称手机软件。所谓手机软件就是可以安装在手机上的软件,完善原始系统的不足与个性化。随着科技的发展,手机的功能也越来越多,越来越强大。不是像过去的那么简单死板,发展到了可以和掌上电脑相媲美。手机软件与电脑一样,下载手机软件时还要考虑你购买这一款手机所安装的系统来决定要下相对应的软件。同样,又其的工作方式,可分为实时处理软件、分时软件、交互式软件、批处理软件等。总而言之,软件按需进行设计,但同样也有寿命周期:

  软件生命周期是指从软件定义、开发、使用、维护到报废为止的整个过程,一般包括问题定义、可行性分析、需求分析、总体设计、详细设计、编码、测试和维护。
  问题定义就是确定开发任务到底“要解决的问题是什么”,系统分析员通过对用户的访问调查,最后得出一份双方都满意的关于问题性质、工程目标和规模的书面报告。
  可行性分析就是分析上一个阶段所确定的问题到底“可行吗”,系统分析员对系统要进行更进一步的分析,更准确、更具体地确定工程规模与目标,论证在经济上和技术上是否可行,从而在理解工作范围和代价的基础上,做出软件计划。
  需求分析即使对用户要求进行具体分析,明确“目标系统要做什么”,把用户对软件系统的全部要求以需求说明书的形式表达出来。
  总体设计就是把软件的功能转化为所需要的体系结构,也就是决定系统的模块结构,并给出模块的相互调用关系、模块间传达的数据及每个模块的功能说明。
  详细设计就是决定模块内部的算法与数据结构,也是明确“怎么样具体实现这个系统”。
  编码就是选取适合的程序设计语言对每个模板进行编码,并进行模块调试。
  测试就是通过各种类型的测试使软件达到预定的要求。
  维护就是软件交付给用户使用后,对软件不断查错、纠错和修改,使系统持久地满足用户的需求。
  软件的生命周期也可以分为3个大的阶段,分别是计划阶段、开发阶段和维护阶段,
为软件过程模型,反映软件生存周期各个阶段的工作如何组织、衔接,常用的有瀑布模型、原型模型、螺旋模型、增量模型、喷泉模型,还有建造-修补模型、MSF过程模型、快速原型模型等。
  而软件的诞生,也离不开高级语言的诞生。高级语言(High-level programming language)相对于机器语言(machine language)是一种指令集的体系。在这种语言下,其语法和结构更类似汉字或者普通英文,且由于远离对硬件的直接操作,使得一般人更容易学习。高级语言通常按其基本类型、代系、实现方式、应用范围等分类。如java,c,c++,C#,pascal,python,lisp,prolog,FoxPro,易语言等。同样,各种语言各有优点,以满足人在编码设计软件实际需求。

猜你喜欢

转载自www.cnblogs.com/ktdbk/p/12006397.html