版权归原作者所有,如有侵权,请联系我们

[科普中国]-扩充程序库

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

简介

扩充程序库简单来说是指对程序库中的函数进行扩充。扩充程序库方法有很多,可以是用户或程序设计人员自定义有关函数或方法加入程序库中;也可以把其他库程序或功能模块中加入到当前程序库。扩充程序库能使软件系统或数据库提供更多的服务以及使用更方便,同时扩充程序库也需要考虑兼容性问题。扩充程序库难易还与系统设计架构(软件架构)有关。

程序库是由一些预先编制好的常用程序组合而成的,这些程序包括: 计算初等函数的标准子程序;数学上常用的计算方法,如解微分方程、偏微分方程、函数求解、数值积分、解代数方程组、求特征值等标准程序;例行程序和计算机系统常用的服务程序、通用程序,还可以根据用户的要求,增减程序库中的程序。对程序库中的程序要求规范化,计算方法好,运行程度快,精度高。规范化的内容主要有: 同一程序库里所有程序的格式是统一的; 对这些程序的调用方法是相同的;每个程序所需参数的数目、顺序和类型都是严格规定好的。

一般不将程序库作为一个单独的程序来使用,而将库中所需的程序作为某程序中的一部分,例如在高级语言中都具有程序库,需要程序库中哪部分程序则调用哪部分。从而节省用户编制这部分程序的工作,提高了用户编程序的速度。

功能模块功能模块是指数据说明、可执行语句等程序元素的集合,它是指单独命名的可通过名字来访问的过程、函数、子程序或宏调用。功能模块化是将程序划分成若干个功能模块,每个功能模块完成了一个子功能,再把这些功能模块总起来组成一个整体。以满足所要求的整个系统的功能。

软件架构软件架构( software architecture )也称之为软件体系结构,它是一系列相关的抽象模式,用于指导软件系统各方面的设计。 它是一个软件系统的草图,描述的对象是直接构成该软件系统的抽象组件1。 各个组件之间的连接则明确和相对细致地描述组件之间的通信。 软件系统架构设计中的非功能需求不仅是架构师知识结构中的重要组成部分之一,也扮演了重要的角色,甚至会直接决定架构的组成。软件体系结构是构建计算机软件实践的基础。与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样,软件架构师或者系统架构师陈述软件架构以作为满足不同客户需求的实际系统设计方案的基础。从和目的、主题、材料和结构的联系上来说,软件架构可以和建筑物的架构相比拟。一个软件架构师需要有广泛的软件理论知识和相应的经验来实施和管理软件产品的高级设计。软件架构师定义和设计软件的模块化,模块之间的交互,用户界面风格,对外接口方法,创新的设计特性,以及高层事物的对象操作、逻辑和流程。软件架构师与客户商谈概念上的事情,与经理商谈广泛的设计问题,与软件工程师商谈创新的结构特性,与程序员商谈实现技巧,外观和风格。软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。

兼容性兼容性(compatibility)是指硬件之间、软件之间或是软硬件组合系统之间的相互协调工作的程度,是评价计算机性能的一个指标。指计算机设备或程序能兼用于多种不同系统的性能。下面分别说明硬件兼容性和软件兼容性。

硬件兼容性指一种机器的目标码可以在另一种机器上执行,所得结果与原机器的执行结果完全相同。实现硬件兼容性有两种途径:一是两种机器采用完全相同的指令系统;二是在第二种机器中设置一些专用指令,遇到该机器所没有的指令时,就将其翻译成对应的指令,使执行结果完全相同.经过少许调整或不需调整就能用于其他系统中的部件、外部设备或其他设备,称为兼容硬件。

软件兼容性指用某种语言编写的源程序可在两种不同的机器上分别进行翻译并加以执行,所得的结果基本相同,但两种机器的指令系统可能有很大差异。

兼容性很少表现为完全互相兼容(完全互相兼容称为双向兼容)。一般为单向兼容,即一台机器的程序可移植到另一台机器上,反之,则不行。单向兼容又可分为向上兼容和向下兼容两种。前者是指老机器的程序一定能移植到新机器上使用;后者则指新机器的程序一定适用于老机器。在同一计算机系列中,通常为向上兼容,即在较低档计算机上编写的程序可在较高档计算机上运行,而在较高档计算机上编写的程序往往不能在较低档计算机上运行。计算机硬设备(如某插件、某外接部件等)与所连用的系统(如不同型号的计算机)之间也有兼容性问题,在概念上和软设备与系统的兼容性类似2。