定義
軟體相對於具體計算機的獨立性,從狹義上講,是指可移植軟體應獨立於計算機的硬體環境;從廣義上講,可移植軟體還應獨立於計算機的軟體,即高級的標準化的軟體,它的功能與機器系統結構無關,可跨越很多機器界限。從一種計算機向另一種計算機移植軟體時,首先要考慮所移植的軟體對宿主機硬體及作業系統的接口,然後設法用對目標機的接口代換之。因此,接口的改造容易與否,是衡量一個軟體可移植性高低的主要標誌之一。
可移植性是軟體質量之一,良好的可移植性可以提高軟體的生命周期。代碼的可移植性主題是軟體;可移植性是軟體產品的一種能力屬性,其行為表現為一種程度,而表現出來的程度與環境1密切相關。(注1:環境包括
軟體環境,硬體環境和系統的
組織環境)。軟體可移植性指與軟體從某一環境轉移到另一環境下的難易程度。為獲得較高的可移植性,在設計過程中常採用通用的
程式設計語言和
運行支撐環境。儘量不用與系統的底層相關性強的語言。
性質
在
軟體工程中,
可移植性(英語:Portability),又譯為
移植性、
可攜性,是指使用高階語言寫成的
軟體,在不同環境下,是否具備可以被重複使用的性質。一般來說,軟體是否具備可移植性的衡量標準,在於進行軟體
移植時,需要付出多少工時為代價。具備高可移植性的軟體,在移植到不同
系統平台時,並不需要做太多事情,因此能夠減少軟體開發及布署時的成本。為了使軟體具備高度可移植性,程式設計師需要使應用程式
界面抽象化以及模組化。
以低階語言,例如
彙編語言,寫成的軟體,一般來說,其可移植性都較低。
特性
其質量子特性有:適應性、易安裝性、共存性、易替換性和依從性。
可移植性並不是指所寫的程式不作修改就可以在任何計算機上運行,而是指當條件有變化時,程式無需作很多修改就可運行。
移植 (軟體)
是當你進行軟體移植時,需要重新改寫的原始碼越少,需要做的工時越少,這個軟體的
可移植性就越高。
系統平台
系統平台(英語:computing platform)是指在
計算機里讓
軟體運行的系統環境,包括
硬體環境和
軟體環境。典型的系統平台包括一台計算機的硬體體系結構(computer architecture)、
作業系統、
運行時庫等。
系統平台可能包括:
硬體本身,如一些嵌入式系統,不需要作業系統,直接訪問硬體。
基於Web的軟體使用的瀏覽器。瀏覽器本身也是在一個系統平台上運行的,但是瀏覽器里的套用並不關心。
應用程式,應用程式中可以支持一些腳本語言,比如Excel中的宏。
提供一些功能的軟體框架。
作為服務的雲集算平台。社交網路 Twitter和facebook等也可以看作一個開發平台。
虛擬機(VM)如 Java 虛擬機。套用被編譯成和機器碼類似的位元組碼,可以被虛擬機執行。
完整系統的虛擬化版本。包括虛擬硬體、作業系統、軟體和存儲。