新四季網

在計算機系統上安裝軟體和對其進行測試的方法

2023-05-22 09:15:16 2

專利名稱:在計算機系統上安裝軟體和對其進行測試的方法
技術領域:
本發明揭示在計算機系統製造中使用的設備。
本申請涉及共有未決的中國專利申請序列號98117364.0,在1998年8月21日遞交,名稱為「定製的計算機系統的軟體安裝與測試」,發明人為理察.D.安伯格,羅傑.W.翁,麥可.A.布倫德裡基。
本申請涉及共有未決的中國專利申請序列號98118805.2,在1998年8月28日遞交,名稱為「對定製計算機系統的軟體安裝和測試」。發明人為理察.D.安伯格,羅傑.w.翁,麥可.A.布倫德裡基。
本申請涉及共有未決的中國專利申請序列號98117654.2,在1998年8月28日遞交,名稱為「便於對定製計算機系統的軟體安裝和測試的資料庫」。發明人為理察.D.安伯格,羅傑.w.翁,麥可.A.布倫德裡基。
這些共有未決的申請在此作為一整體參考使用,並被授權給本發明的受讓人。
通用的個人計算機系統和特定的IBM兼容個人計算機系統在向社會的各領域提供計算能力得到了廣泛的使用。個人計算機通常可被定義為桌上型、地上站立型或可移動的微型計算機,包括具有一個系統處理器的系統單元和相關的易失或非易失存儲器,顯示監視器、鍵盤、一個或多個磁碟驅動器,一個硬碟存儲設備和一個可選的印表機。
眾所周知,在將計算機系統發貨給商業或個人客戶之前要對它們安裝軟體和進行測試。進行軟體安裝和測試的目的是能有效地生產出有用的、可靠的、可被運送到商業或個人而又沒有差錯並能隨時運行的計算機系統。一般地,測試要檢測和分析在計算機系統中硬體和軟體部分出現的差錯。計算機系統硬體測試的部分清單包括對硬體組件如處理器、存儲器、磁碟存儲設備、聲音設備、圖形設備、鍵盤、滑鼠和印表機的診斷。軟體安裝通常包括裝載所需的軟體包到計算機系統、為計算機提供各種相應的環境以及為安裝的軟體準備相應的初始化文件。軟體測試包括確保所需的軟體版本已安裝到計算機系統,並且在計算機系統上提供有相應的驅動器程序。
眾所周知,在工業上計算機系統在被送往客戶之前通過執行一固定的過程在製造期間安裝軟體並測試計算機系統。例如,生成針對某一特定類型計算機系統包含某個診斷測試的磁碟。該盤包括很長的、經常複雜的、指導軟體安裝和診斷過程的批處理文件。該盤包括對正購買的計算機系統執行測試的所有可執行文件。
每一個正被組裝的計算機系統都設置有該盤的相應拷貝。根據在批處理文件中的命令,在製造過程和對各自的計算機系統測試期間,這些盤都要伴隨在工廠內正進行組裝的計算系統。如果對該過程需要做出修改,通過增加或刪除部分批處理代碼來相應地改變批處理文件。對批處理文件的改變導致正在被組裝的每一個隨後的計算機系統的測試參數的改變,因為每一個計算機系統共享同一個批處理文件診斷程序。
儘管這種診斷配置在計算機系統被運送前提高其可靠性方面顯示出某種可用性,但還留下有待提高的空間。比如,隨著測試的進行而變得更複雜和精確時,診斷測試的批處理文件和可執行文件經常超過磁碟的存儲容量。而且,很難或不可能為單個定製的計算機系統或某一系列計算機系統定製測試和軟體安裝過程的命令而不必修改對某他系統或系列的測試,而且也不可能也很難針對一單個定製的計算機系統和對某一系列計算機系統修改軟體安裝或測試的指令而不必為其他系統或系列修改該指令。最終,當前批處理文件的結構的非常複雜的本質有時使製造商們很難快而有效地解決或維持測試和軟體安裝。
因此所需要的是提供一種比先有技術有所改善的在計算機系統上安裝軟體和/或對其進行測試的方法。
按照一個實施例,提供了一種在一計算機系統上安裝軟體和對其進行測試的方法,包括從一個計算機可讀的文件中讀取多個組件描述符、其中每一個組件描述符說明一個計算機系統的組件,從一個資料庫中讀取多個步驟、其中每一個步驟與一個組件描述符相關並且包括一個序列號,和按照此序列號以預定的次序排序此多個步驟以提供一個包括用於在計算機系統上安裝軟體和/或對其進行測試的命令的步驟序列。該方法還包括針對從資料庫中讀取的每一步,利用資料庫中與該步驟相關的數據判定該步驟是否與一個組件的計算機系統所提供的組件而不是與對應該步驟的組件不兼容,如果是,放棄該步驟或在資料庫中不再採用與此步驟相關的進一步的數據。
按照另一實施例,提供了一種在一計算機系統上安裝軟體和對其進行測試的方法,包括從一個計算機可讀的文件中讀取多個組件描述符、其中每一個組件描述符分別說明一個計算機系統的組件,從一個資料庫中讀取多個步驟、其中每一個步驟分別與一個組件描述符相關並且包括一個序列號,和按照此序列號以預定的次序排序此多個步驟以提供一個包括用於在計算機系統上安裝軟體和/或對其進行測試的命令的步驟序列。該方法還包括針對從資料庫中讀取的每一步,利用資料庫中與該步驟相關的數據判定此步驟是否要求有參數,如果有則按照此資料庫中與該步驟相關的進一步的數據計算此參數。


圖1是表示軟體安裝和測試的簡略圖;圖2是根據另一實施例的軟體安裝和測試的簡略圖;圖3A是根據本發明把一計算機定單轉換成系統描述符記錄的流程圖;圖3B表示一示例計算機定單的一部分,基本組件記錄(BAR)文件和系統描述符記錄;圖4是用於生成和提供步驟序列的流程圖;圖5A是對圖5B和5C之間關係的簡要說明;圖5B是用於生成步驟序列的更詳細的流程圖的第一部分;圖5C是用於生成步驟序列的更詳細的流程圖的第二部分;圖6表示一個資料庫結構;
圖7是一步驟文件的部分的舉例;圖8-13是用於執行步驟序列的程序的運行的流程圖。
本文的描述是為了說明的目的而不是限制性的,在附圖中相同或相似的元件用同一參考號來表示。在說明中,一模塊被定義為一個命令或命令集。
圖1是在計算機系統製造區軟體安裝和測試系統90的簡要圖。在運行中,設置定單92以購買定製的目標計算機系統160。目標系統160將被製造成包含多個硬體和軟體組件。例如,目標系統160可包括某一品牌的硬驅,某一型號的監視器,某種品牌的處理器和某一版本的作業系統。在目標系統160被送往客戶之前,安裝並測試多個組件。這種安裝和測試確保在該系統被客戶收到並準備運行時是一個可靠的、工作的計算機系統。
由於不同系列的計算機系統和不同的計算機組件要求有不同的軟體安裝和測試步驟,有必要確定需要對目標系統160運行哪些測試並以什麼樣的次序來進行這些測試以便取得一個有效的軟體安裝和測試過程。步驟生成器140是一個配置為排序要在目標系統160上運行的軟體安裝和測試步驟的計算機系統。為了排序軟體安裝和/或測試步驟,步驟生成器140、尤其是駐留在步驟生成器140上的排序程序204首先從描述符文件96讀取多個組件的描述符信息。描述符文件96藉助轉換模塊94通過將對應於具有希望的組件的所需的計算機系統的定單92轉換成計算機可讀的格式。
組件描述符是由定單92所定義的、計算機可讀的目標系統160的組件的描述信息。在優選實施例中,組件描述符包含在稱為系統描述符記錄的描述符文件中,該系統描述符記錄是包含要被安裝到目標系統160上組件、硬體和/或軟體清單的計算機可讀的文件。在讀取多個組件描述符後,排序程序204通過網絡連接110從資料庫100中檢索對應於組件描述符的軟體安裝和測試步驟。網絡連接110可以是任何已知的網絡連接,如本地網、網際網路、包含在資料庫100中的信息可通過以箭頭130指示的修改來更新。
在檢索到與目標系統160相適應的軟體安裝和/或測試步驟後,排序程序204根據對應於每一步的序列號以預定的順序排序這些步驟。在已經排序目標系統160所需要的步驟後,排序程序204寫出一系列輸出文件到步驟盤150。在圖1所說明的實施例中,輸出文件包括文本文件,該文本文件包含用於在目標系統160上執行相應的軟體安裝和/或測試步驟的命令行。根據對應於每一步的序列號以預定的次序來執行。在工廠裡步驟盤150和目標系統160裝在一起,在這裡直接從步驟盤150或從通過網絡連接180連到目標系統160的文件伺服器190上運行該測試。最好網絡連接180是插進目標計算機系統的相應網絡埠的普通網絡設備。隨著軟體安裝和測試步驟的執行,其結果通過網絡連接180被登記到文件伺服器190。
圖2是針對本發明的另一實施例的軟體安裝和測試系統192的簡要圖。一個客戶設置定單92購買定製的目標計算機系統160。目標系統160將被製造成包含多個組件,而組件可包括硬體和/或軟體組件。在目標系統160被送往客戶之前,要安裝多個組件和進行測試。這種安裝和測試優先確保在客戶接到後準備運行時是一個可靠,可工作的計算機系統。
為了排序軟體安裝和測試步驟,排序程序204從描述符文件96讀取多個組件描述信息。定單92通過轉換模塊94被轉換成描述符文件96。組件描述符是目標系統160的組件的計算機可讀的說明。在優選實施例中,組件描述符包括在稱為系統描述符記錄的描述符文件中,包含每一個組件(硬體和軟體)的清單的計算機可讀文件被裝到目標系統160。系統描述符記錄可被直接存儲在文件伺服器202上。排序程序204從資料庫100中檢索對應於組件描述符的多個軟體安裝和/或測試步驟。在檢索到針對目標系統160的相應軟體安裝和測試步驟後,排序程序204根據對應每一步的序列號按照預定的次序排序這些步驟。在排序完目標系統160所需的步驟後,排序程序204通過網絡連接195和180以預定的次序指導在目標系統160上軟體安裝和測試的執行。希望網絡連接200是插進目標系統160的相應部分的本地網絡設備。網絡195可以是大家熟知的任何通信連接。隨著軟體安裝和測試步驟的執行。安裝和測試的結果通過網絡連接200登記到文件伺服器202或存儲在相應的資料庫中。從說明中很明顯看到,並不需要圖1的分離的步驟生成器計算機系統140。另外,步驟盤150也不是必須的。而且,只有配置為引導目標系統160的引導盤220才需要在出廠時與目標系統160裝在一起。
在大致地敘述了軟體安裝和測試系統之後,現在詳細描述圖1和圖2中系統的運行。
圖3A描述了該優選過程,其中對計算機系統的定單被轉換成計算機可讀的系統描述符記錄。該定單可以是任何格式。例如,不同的定單格式也可以有不同的定單傳送機制。例如,針對目標計算機系統的定單可以是通過電話、郵件或計算機網絡(如internet)等發出。不管採取什麼定單格式,該定單包括客戶希望購買的計算機系統的類型、客戶希望目標計算機系統包括的特定組件的清晰清單。在收到定單後,控制進到傳輸模塊310,在該模塊中目標計算機系統的定單通過計算機網絡被傳送到生產該計算機系統的生產系統(未示出)。該定單也被提供給軟體安裝和測試系統,在這裡它被融合進模塊320中的轉換程序。在模塊310中使用的計算機網絡可以是目前已知的任何類型網絡。
該轉換程序把目標計算機系統的定單轉換到用於生產過程的一個記錄。尤其是,該轉換程序把計算機訂貨單首先轉換成在模塊330中稱為BAR文件的記錄。最好,該BAR文件包含能識別正在生產的特定計算機系統的唯一標識符。該BAR文件也包含一份詳細的組件清單,該清單包括包含在該目標系統中硬體和軟體。而且希望該BAR文件包含特定生產商的組件號以及其他針對每一個組件的有用標識符。最後,該BAR文件包含與用戶相關的信息,如姓名、地址和電話號碼等。
在生成模塊330中BAR文件之後,在模塊340中生成系統描述符記錄。在優選實施例中系統描述符記錄描述與該目標計算機系統包含在一起的硬體和軟體組件的計算機可讀文件。在優選實施例中,系統描述符記錄以包含硬體標籤、軟體標籤、信息標籤和註解的形形式包含目標系統的組件清單。硬體標籤標識排序程序204在標籤之後的信息是關於硬體組件的。同樣軟體標籤標識在標籤之後的信息是關於軟體的組件的。信息標籤指示隨後是一般信息。註解允許各種聲明被加進到系統描述符記錄,但它被排序程序204忽略。希望系統描述符記錄是人可讀和易於理解的文本文文件。這種文件有利於軟體安裝和測試過程的疑難解決和維護。應明白,系統描述符記錄可以是對應於唯一一套標誌的唯一標識符清單,例如,舉個簡單例子,系統描述符可以是組件號的清單。
圖3B表示目標計算機系統定單350、一個相應的BAR文件360和一個相應的系統描述符記錄370的一個例子。目標計算機系統定單350包含計算機系列的名稱,在本說明中為系列「X」。在目標計算機系統定單350中包含三個作為示例的硬體組件,包括一個奔騰處理器、一個硬驅和一個顯示器。BAR文件360是通過在圖3A的模塊320中描述的轉換程序運行目標計算機系統定單350而得到的。BAR文件360包含針對在系列X中的特定的目標計算機系統的唯一標識符。BAR文件360還包括在目標計算機系統定單中列出的針對每一個組件的與廠商相關的組件號碼。而且,BAR文件360包含一個標識符,指示所要求的每個組件的質量以及包含在目標計算機系統中每一個組件的文字描述。系統90使用BAR文件360生成系統描述符記錄370。
如所說明的,系統描述符記錄370包括針對系列X中特定的目標計算機系統的唯一標識符。而且,系統描述符記錄370包含相應的標籤,在這裡指示處理器、硬驅和顯示器都是硬體組件而不是軟體組件。系統描述符記錄370以文本的形式描述這些組件。而且,作為舉例的系統描述符記錄370包含一個軟體標籤,指示對屬於系列X的該目標計算機系統要安裝或測試一定的軟體。例如該軟體標籤可以指示適於此奔騰處理器的某作業系統總是被安裝到屬於系列X的目標計算機系統的硬驅上。
在圖4中說明了用於排序軟體安裝和測試步驟的優選的通用方法。在模塊400中為目標計算機系統160生成該目標計算機系統的唯一標識符。在圖1描述的實施例中,位於步驟生成器計算機系統140的一個用戶向步驟生成器140的排序程序204提供該唯一標識符(例如,作為跟蹤碼的BAR文件),相應地,在圖2的實施例中,在收到目標計算機和系統定單後,唯一標識符被自動讀進排序程序。
在模塊410,定位一個對應於BAR文件標識符的系統描述符記錄。在圖1的實施例中,或者網絡連接110或者網絡連接195定位系統描述符記錄。在圖2的實施例中,網絡連接195定位該系統描述符記錄。在模塊420,所定位的系統描述符記錄被提供給排序程序204。在圖1實施例中,排序程序駐留在步驟生成器計算機系統140中而在圖2實施例中排序程序駐留在文件伺服器202中。排序程序204與資料庫100(圖1和2中的)一起排序目標計算機系統160的軟體安裝和測試步驟。一旦排序完適應於該特定目標計算機系統的軟體安裝和測試步驟,排序程序生成如模塊430中描述的輸出文件。
在圖1描述的實施例中,寫到步驟盤150(見圖1)的輸出文件是一個步驟文件和一個Setenv.bat文件。該步驟文件是一個包含用於執行針對所定購的目標計算機系統的軟體安裝和測試步驟的相應命令行的清單的ASCⅡ文本文件。在優選實施例中該步驟文件也包含被循環的命令。尤其是該步驟文件允許命令被重複迭代一預定的次數或一預定的時間長度。這種格式優先地允許以計算的、預定的方式重複軟體安裝和測試步驟。Setenv.bat文件設置在目標計算機系統上的環境變量。此Step文件和Setenv.bat文件是包含用於執行此目標計算機系統的軟體安裝和測試步驟的相應命令行的清單的ASCⅡ文本代碼文件。此步驟文件被分成多個單獨的子文件,每一個子文件具有針對相應的生產階段如目標計算機系統生產中Quick Test(Qt)、Extended Test1(ET1)、Extended Test2(ET2)、Software Install(SI)和Final Test(FT)階段的步驟。
在圖2的實施例中。另一方面,輸出文件不寫到圖1所示的步驟盤。相反,輸出文件駐留在文件伺服器202或文件伺服器190中,在此它們用於指示在目標計算機系統160上軟體安裝和/或測試步驟的運行。
圖5A到5C更詳細地描述了圖1和圖2中排序程序204的運行。
確定模塊500確定一個定單的起始。這時只考慮左側分支。如果需要,模塊502施加一個或多個插入碼到系統描述符記錄。在優選實施例中,該插入碼是標準組件,允許為某一特定的目標計算機系統、某計算機系統系列或為某一組件生成一個插入碼。例如,如果一個生產商在某一天希望把某一個計算機系統系列的一種品牌的硬驅替換成另一個,就可以生成一個插入碼,該插入碼修改包含要被替換的硬驅系統操作符記錄並在模塊502中完成該替換。
然後模塊504把對應於目標計算機系統160的系統操作符記錄(被修補的)輸入到排序程序204。在模塊506,從系統描述符記錄讀取組件描述符。每一個組件描述符描述該目標計算機系統的一個相應的組件,硬體和軟體。
參看圖3B,在模塊370中包含奔騰處理器的系統描述符記錄的行是一個示例組件描述符。在模塊508,排序程序204實例化分別對應此目標計算機系統160的多個組件的多個導出對象。在優選實施例中,這些導出對象用於存儲需要在目標計算機系統160上運行的有關軟體安裝和測試步驟的信息(從資料庫100獲取)。相應地,在模塊510中,每一個導出的對象與目標計算機系統160的各自組件相聯繫。
現在從模塊500參照右側分支。在這種情況下,假設定單被客戶直接以Bill of Material的形式作為記錄存儲在資料庫中,這種記錄包括與目標計算機系統相關的組件描述符。當模塊514從資料庫讀取Bill of Material(存儲在該資料庫以為排序程序204所用)時,模塊512,與模塊502一樣,應用偏差(插入碼)到Bill of Material。
在模塊516,與目標計算機系統160的各自組件相關的軟體安裝和測試步驟被從資料庫100中檢索並存儲在相應的導出對象中。在圖1的實施例中,這些步驟被通過網絡110檢索而在圖2實施例中這些步驟被直接從文件伺服器202中檢索。為了描述在優選實施例中這些步驟是如何從資料庫100中檢索的,需要描述該資料庫的優選建立。
圖6表示資料庫100的設計。資料庫100以預定的次序使軟體安裝和/或測試步驟的序列與計算機系統系列相關。而且,資料庫100被配置為與計算機系統的組件相關。尤其是,資料庫100使軟體安裝和/或測試步驟與計算機系統的組件相關。
資料庫100最好是一個關係資料庫,資料庫100包含幾個表,每一個表包含適用於生成上面提到的關聯的屬性。
資料庫100包含Step表102、Family表104、FamilyStepSeq表106、Component表108、FamilyComponent表112、ComponentStep表114、StepDependency表116、StepParameter表118、ComponentClass表120、ComponentClassAttr表122和OperatorMsg表124。在優選實施例中,每一個表包含屬性列表,被加下劃線的屬性作為主關鍵字。
Step表102包含所有計算機系列的所可能組件的軟體安裝和測試步驟。在優選的結構中,Step表102的屬性包括StepID、Name、Command、CommandType、AfterActionType、MaxInstance、ClassID和DepMask。StepID是每一個軟體安裝或測試步驟的唯一標識號。Name是規定指示該步驟的名稱的一個字符串。Command是指定用於在目標計算機系統160(在圖1和2中所指示的)上執行軟體安裝或測試步驟的可執行命令行的字符串。AfterActionType是確定在軟體安裝或測試步驟完成後是否需要暫停或重啟動的標識符。MaxInstance是指示該步驟所允許執行的最大次數的標識符。ClassID標識與軟體安裝或測試步驟相關的某一類型或類的組件(如硬驅、CD-ROM等)。最後,DepMask記錄有關一特定的步驟是否具有步驟從屬性和/或步驟參數的信息並因此確定是否必須進入StepDependency表116和/或StepParameter表118。
Family表104用一個在屬性FamilyID聲明的標識整數來標識每一系列的計算機系統。而且在Family表中也包括一個標識該系列計算機的名稱的字符串。
FamilyStepSeq表106是一個包含Step表102與Family表104之間的關係的關係表。FamilyStepSeq表106包含一個在屬性FamilyID中聲明的、針對一特定系列計算機系統(從Family表104)的系列標識整數,一個在屬性StepID(從Step表102)中聲明的、標識一套特定與該系列相適應的步驟的步驟標識整數,和一個序列號。該序列號包含在屬性StepSeqNum,該屬性表示一個在其中與一特定系列相關的步驟將要運行的預定的次序。測試工程師分配該序列號,它在每一個生產階段都是唯一的,並以對某一特定目標系統是最有效的順序來選擇。應明白,可以使用其它分配序列號的方式。最後,FamilyStepSeq表106包含PhaseID。PhaseID指定在生產的哪一階段來執行該步驟。例如,PhaseID可以是一個被選擇為對應於前面提到的計算機系統生產的五個階段Quick Test(Qt)、ExtendedTest1(ET1)、Extended Test2(ET2)、Software Install(SI)和Final Test中的一個階段的整數。
Component表108包含包括在正在生產的計算機系統內的所有可能的組件。該表的屬性是指定每一個組件標識符的ComponentID、指定每一個組件的字符串名稱的Description和對每一組件類型(如,硬驅、CD-ROM)進行標註的ClassID。
FamilyComponent表112是一個包含每一系列計算機系統和一套包含在該系列中的組件的關係的關係表,FamilyComponent表112的屬性包括一個在屬性FamilyID(從Family表104)中聲明的計算機系列標識整數和一個在屬性ComponentID(從Component表108)聲明的組件標識整數。
ComponentStep表114是一個包含每個組件和與該組件相適應的一套軟體安裝和測試步驟的關係的關係表。ComponentStep表114的屬性包括一個在屬性ComponentID(從Component表108)中聲明的組件標識整數和一個在屬性StepID(從Step表102)中聲明的步驟標識整數。
StepDependency表116包含有關涉及可能衝突的數據。某些測試可能與某些組件類、或特定組件本身、或來自一些廠商的組件相衝突。要組裝的目標計算機系統可能包括一個品牌A的硬驅和一個品牌B的CD-ROM。品牌A的硬驅通常可能運行測試C,但是可能測試C與品牌B的CD-ROM不兼容;所有這些從屬性都被記錄在StepDependency表116中。在該表中,StepID標識具有從屬性的步驟,TypeID指示該從屬性是否是關於組件類或一特定的組件,根據TypeID的狀態ObjectID或者是一ClassID或者是一ComponentID,和DepTypeID指示是否一個特定的步驟被保持或在發生衝突時被清除。
StepParameter表118標識某些步驟可能所需要的參數;例如,可能要求一個步驟運行一定的時間,或運行一特定的循環數。在表118中,StepID唯一地標識特定的安裝或測試步驟。ParameterID標識與該步驟相關的每一個參數;可能有不只一個與一特定步驟相關的參數並且每一個具有其自己的ParameterID。例如,同樣的測試但具有不同的參數可用於不同品牌的硬驅。DaraType標識要包含在各自參數中的數據類型。在上面的例子中,DataType可聲明該數據是一個百分比或是一個硬驅ID代碼。Content是一個如同在C程式語言所用的與命令如「printf」相關的命令行開關。例如,Content可以是「-%d」以指示一個百分比與此參數相適應。StepSeqNum和ClassID如上所述。
應當注意,StepParmeter表118僅存儲與一特定的步驟相關的參數的類型和數量,並不實際存儲這些參數的值。這樣,在步驟文件創建期間,表118並不把參數值插進該步驟文件的命令行,而是排序程序204在執行期間計算參數值並把該值插入步驟文件命令行。該排序程序根據包含在此描述符記錄中的信息進行計算。
表StepParameter118的優點是通過避免需要具有永久地與步驟相關的參數而允許更大的靈活性。這樣表118允許工程師很容易地修改該參數而無須編輯Step表102。
ComponentClass表120僅是所有組件類型的列表(ClassID),如,硬驅,CD-ROM等,以及這些類型的簡短的描述(ClassName,Description)。
ComponentClassAttr表122列出所有的類以及與每一個類相關的所有屬性。AttrID是分配到每一個不同類型的屬性如內存大小,運行速度、生產商等的代碼,而AttrName是為了方便工程師這些屬性更具描述性的名稱。DataType是用於代表一特定屬性的數據類型的指示,例如,在該屬性是生產商的名稱時它可以是一個字符串,或者如果該屬性是一個內存的尺寸則它是一個整數。
ComponentClass表120和ComponentClassAttr表122並不被排序程序204實際使用,主要由開發工程師使用,這些表並不包含該屬性的行何實際值。
最後,OperatorMsg表124根據所進行的測試和所測試的組件為測試操作者存儲多個信息。例如,在測試磁碟設備驅動器之前發出一個提示符,提醒操作者把磁帶放進磁帶驅動器中。
在圖3B中描述的示例目標計算機系統將用於說明上面勾畫的資料庫設計是如何被用於檢索軟體安裝和測試步驟。在系統描述符記錄中標識系列X的計算機系統標識符與對應於Family表104中的系列X的FamilyID相聯繫。Component表108被用於檢查在目標計算系統定單中列出的目標計算機系統的組件是否是合法的。換句話說,排序程序和資料庫確定包含在圖3B的系統描述符記錄中的處理器、硬驅、顯示器和軟體是否具有相應的入口和由表Component108中的ComponentID所聲明的相應的整數。如果一個組件不是合法的(即,在系統描述符記錄中的組件不包含在Component表108中),就會引起一個錯誤標誌。FamilyComponent表112是一個包含來自Component表108和Family表104的映像的關係表。Family Component表112包含在屬於系列X的目標計算機系統上所包括的所有合法組件。這樣,Family Component表112可被用於檢查是否所有的目標系統的組件是合法的。換句話,排序程序和資料庫確定包含在圖3B的系統描述符記錄中的處理器、硬驅、顯示器和軟體是否具有FamilyComponent表112中的相應關係。如果一個組件是非法的(即,在系統描述符記錄中的組件不被包含在屬於系列X的目標系統),則引起一個錯誤標誌。
在關係表FamilyStetpSeq 106中駐留有來自Step表102和Family表104的映像。FamilyStepSeq表106包含可合法地在屬於系列X的目標計算機系統上運行的所有的軟體安裝和測試步驟。而且,就在此Family Step Seq表106中序列和階段號與每一個軟體安裝和測試步驟相關聯。這些序列和階段號代表針對一特定的系列的計算機系統這些步驟應該運行的正常順序。因此,FamilyStepSeq表106包括要在系列X目標計算機系統上運行的步驟清單和代表步驟被執行的預定次序的序列和階段號。
Component Step表114是一個包含來自Component表108和Step表102的映像的關係表。Component Step表114包含要為目標計算機系統的處理器、硬驅、顯示器和軟體運行的軟體安裝和測試步驟。
為了檢索與包含在目標系統上的各自組件相關的軟體安裝和測試步驟,在FamilyComponet表112和ComponentStep表114上執行一個連接操作以獲得在目標計算機系統160的組件上運行的中間清單步驟。
連接操作導致一個在圖3B描述的系統描述符記錄中列出的處理器、硬驅、顯示器和軟體上運行的步驟清單。FamilyComponent表112和ComponentStep表114的連接結果然後與包含系列X的所有步驟的FamilyStepSeq表106相連接。此連接操作的結果包括以序列號和階段號形式的排序信息,此序列號在一特定的階段內是唯一的。如此,Family Component表112、ComponentStep表114和FamilyStepSeq表106的三表連接就生成了相應的軟體安裝和測試步驟以及以序列和階段號的形式的排序信息以在目標計算機系統上160上安裝和/或測試軟體。
如果第一連接操作的結果(FamilyComponent表112和ComponentStep表114的連接)是一個空集,就會引起一個出錯條件,對一個空集信號,包含在目標系統上的組件不屬於在系統描述符記錄中所列的系列。現在說明一個這樣的例子。考慮到一個系統描述符記錄正確地指示一個目標計算機系統屬於系統Y。但是假定,系統描述符記錄不正確地指示出屬於系列X的目標系統的硬驅(硬驅Z)應當包含在系列Y中的目標系統上。在這種情況下,ComponentStep表114包含與硬驅Z相關連聯的步驟。FamliyComponent表112包含與系列Y相關聯的組件。這樣,連接ComponentStep表114和FamilyComponent表112就會產生一個空集,因為硬驅Z並不是與系列Y相關聯的組件(相反,它反與系列X相關聯)。從上述例子很明顯,該資料庫的優選設計有利地使人確信某一系列的計算機系統僅包含與該系列相適應的組件。
再次參照圖5A和5C,在檢索與包含在目標系統內的組件相關的步驟之後,排序程序204的模塊518通過為該步驟檢查DepMask為每一步驟確定是否有步驟從屬性。如果有,模塊520從StepDependency表116中讀取從屬性並且模塊522根據DepTypeID解決此從屬性。
下一步,模塊524通過再次為該步驟檢查DepMask確定是否此步驟要求參數。如果是,模塊526從StepParameter表108中讀取該參數數據,並且模塊528計算此參數的實際值並把它插進此步驟的命令行。
模塊530通過讀取系統描述符記錄和生成對應於包括在該目標系統上的組件的環境文件來為該目標計算機系統準備環境變量。例如,讀取在圖3B中描述的系統描述符記錄,並且可以準備象對應於系統描述符記錄的處理器硬體組件的「set cpu=pentium」這樣的環境變量。
在模塊532,多個被檢索的軟體安裝和測試步驟(通過上述的三個表的連接檢索的並且解決了從屬性和加上了參數)被以預定的次序排序。這個排序過程是按照相應的序列號和階段號以提供一個步驟序列。該排序本身是通過使用已知的任何一個排序算法來完成的。
在模塊534,排序程序輸出前面參考的步驟文件和Setenv.bat文件。該步驟文件被分成多個子文件,每個子文件包含要在目標計算機系統生產的Quick Test(Qt)、Extended Test1(ET1)、ExtendedTest2(ET2)、Software Install(SI)和Final Test(FT)階段分別執行的步驟。
如所示,對於圖2的實施例,模塊534按原樣存儲該輸出文件或把它存在一個資料庫中或存在文件伺服器202上。寫到文件伺服器202上的輸出文件可用於指導在目標計算機系統160上的軟體安裝和測試步驟的執行。
在模塊536,如果需要,該步驟文件可以利用一步驟序列插入碼來修改。在優選實施例中,該插入碼是一個標準模塊,允許為一特定的目標計算機系統、一特定系列的計算機系統或炒一特定的組件生成一個插入碼。例如,如果一個廠商希望在某一天針對某一特定的組件在另一個測試步驟之前運行一個測試步驟,那麼就可以形成一個插入碼,該插入碼修改包含其順序要修改的步驟的所有步驟序列並且相應地改變在模塊536中的執行順序。在修補之後,模塊538輸出再次按原樣或在資料庫中或在文件伺服器202上進行存儲的修改文件。
最後,模塊540給出寫到磁碟150的選項,圖1。如果要求有磁碟,而不是直接寫到該磁碟上,則模塊542在內存中生成一個「虛擬盤」並且隨後模塊544在一次操作中把整個虛擬盤寫到該物理盤上,這減少了寫到軟碟機的操作次數並由此極大地加快了整個程序的運行速度。
該虛擬盤是由下列程序通過分配一個內存塊陣列而每一塊與該物理盤的物理扇區大小相等來生成與該物理盤相當的內存而生成的。該文件系統是FAT12(由PC-DOS、MS-DOS、Windows95和WindowsNT作業系統使用的)。第一扇區是該磁碟的引導扇區。一個柱面是一組扇區的一個邏輯組成或單元。該數值在該文件系統一旦初始化完成後就是固定的。例如,一個柱面的大小是兩個扇區。文件系統僅允許由柱面而不是由扇區來分配。在這種情況下,最小的文件將最少佔據一個柱面(或2個扇區)。
開始生成一個內存塊陣列。內存塊的數量與給定文件系統的該磁碟上的物理扇區的數量相等。
初始化所有內存塊的內容值為0。
通過只拷貝該引導區的外部映像來初始化引導區,此外部映像是存儲在一個文件裡。
初始化該FAT表(在該磁碟上由該文件系統定義的扇區)。
如果要求文件寫操作讀該文件分配所需的柱面如果有錯誤,因為沒有足夠的空間而退出函數。
更新所分配柱面的的目錄和FAT表。
把所讀的內容寫到該柱面。
如果要求文件刪除操作。
釋放對給定文件所分配的柱面更新所釋放柱面的目錄和FAT表如果要求物理盤寫操作從該盤的引導扇區的第四字節獲取所存儲的磁碟使用數如果該數>=最大數,返回一個錯誤代碼以指示錯誤原因如果該數<最大數,將該數+1把該數寫回到虛擬盤上的引導扇區的第三字節把內存塊從虛擬盤寫回到物理盤,當沒有包含數據的內存塊時停止結束參照圖1和圖2,箭頭130指示可對資料庫100進行修改。例如,如果生成了一個新的系列的計算機系統,就可相應地修改資料庫100。尤其是,在Family表104的FamilyID該新的系列被賦予一個新的系列標識符並且該新系列的名稱被賦予Family表104的Name屬性。軟體安裝和測試步驟的清單被加到FamilyStepSeq表106,這些步驟代表在新的計算機系統系列中哪些步驟需要運行並以什麼樣的預定順序。如果新的系列的計算機系統與已有的系列具有相似性,就有可能修改FamilyStepSeq表106中已有系列的入口以生成新的系列的入口。如果需要為新系列的計算機系統生成任何新的步驟,那麼這些新的步驟要加到Step表102中。相似地,如果新系列的計算機系統配置有任何新的計算機組件,這些組件也要加到Componenet表108中。更新ComponentStep表114以把新系列計算機系統中每一個組件與和其軟體安裝和測試相適當的步驟相關聯。如果該新系列僅使用在資料庫中已提供的組件,該表不需要修改。更新FamilyComponent表112以便包含在新系列中的所允許的組件的清單將位於資料庫中。尤其是,需要把新計算機系統的SysID與每個所允許組件的CompID相關聯。這可以通過拷貝並且隨後修改一個舊系列計算機系統的已有入口來完成。
應明白,在按照該優選實施例創建資料庫中,提供了某些重要的優點。尤其是,資料庫的模塊化設計使得對新系列的計算機系統容易設置軟體安裝和測試步驟。而且,可以獨立於其他的軟體安裝和測試步驟修改針對一特定系列的計算機系統和一特定組件的軟體安裝和測試步驟。
現在注意在目標系統160上執行該步驟序列。使用讀取、解釋和執行對應於該目標計算機系統的步驟序列的程序,在目標計算機系統160上執行軟體安裝和測試步驟。在優選實施例中,該程序被稱為RunStep,位於圖1實施例中的步驟盤150或圖2實施例的文件伺服器202上。
圖7表示在任何軟體安裝和測試步驟已執行之前的包含在一個步驟文件裡的一段步驟序列。如以前提到的,該步驟序列包括用於安裝軟體和/或用於測試定製目標計算機系統的命令。而且,在該步驟文件中的該步驟序列允許命令能執行一規定的迭代數或一規定的時間長度,而且,該步驟文件可以包含被RunStep程序忽略的注釋。在步驟文件中標號800用於分離該步驟序列的欄位,810項是用於測試目標計算機系統160的命令,該命令包括例如用於測試內存和用於測試小型機接口(SCSI)設備的命令。從該圖中可以看到,每個命令可以包括諸如與特定的測試環境相適應的『-o』這樣的開關。820項是一個被RunStep程序所忽略的注釋。810c項是一個以時間循環的命令。在優選結構中,「begin_time_loop」命令指定循環的起始點,『end_time_loop』命令指定循環的終止點。『begin_time_loop』命令與指定通過循環迭代的時間長度的一個欄位組合使用。在這裡,例如,命令810c是運行1小時30分鐘。810d是按照重複迭代的次數循環的命令。在優選實施例中,『begin_iterate_loop』命令指示RunStep程序一個重複迭代就要執行。『ena_iterate_loop』命令指示循環命令的結束。在這裡循環命令810d被運行三次。
圖8-13表示RunStep程序的流程圖。從整體看RunStep一次一行地處理每個步驟子文件而不是把整個步驟子文件讀進內存中。在每一行,RunStep執行多項檢查以評估它是否繼續處理該行。例如,如果RunStep發現由於執行前面的行而註冊有失敗條件時,它就會知道繼續執行程序已沒有意義。相應地,RunStep會查看是否操作員已亂改動了該步驟子文件(例如為了略過不必要的測試),如果是,將不會繼續執行該程序並由此強迫操作員再重新開始一遍。這樣,如果RunStep確定一個步驟子文件中的一特定的行就是下一個要執行的行時,就只讀該行,沒有必要讀取該步驟子文件中的行。很清楚,它具有省時的特點。
圖8是RunStep的頂層流程圖。第一模塊900初始化該系統的狀態,而這在讀取一步驟子文件的任何行之前執行。在這個階段,RunStep讀取可變的環境變量(從文件「progress.bat」,後面將描述)以便它子解該系統的精確狀態,例如,是在執行最後一行時返回的失敗嗎 是必須要重新運行或RunStep可以接著讀取下一行嗎 圖9更詳細地描述了初始化階段。第一模塊902使控制中斷功能無效-這防止操作者中斷退出該程序以忽略一個步驟。在模塊904然後初始化變量,和在模塊906程序從該環境中讀取環境變量。這些環境變量主要存儲在叫作progress.bat的批處理文件中,該批處理文件位於內存中,並且當RunStep執行步驟子文件中靠前的行時將已經寫到此批處理文件。progress.bat包含當前系統的狀態,並且如將要描述的(模塊106.圖3)更新從該步驟子文件中讀取的每一行。progress.bat將包含如最後執行的步驟的行號這樣的信息;標識哪一個實際命令被執行;如果在一個時間循環中一個特定的命令正在被執行,預期要多長時間;要進行哪一個測試或軟體安裝階段。
如果該環境變量被成功地讀取,這是由模塊908所決定的,然後模塊910把在本地驅動器上所有文件的目錄清單讀進RunStep正在運行的計算機160或202的內存中。這樣當RunStep來檢查一個文件是否在本地驅動器(模塊1002,圖13)上時,通過讀取在存儲器上的目錄清單就可以做到這些,並且不必搜索本地驅動器本身,這節省了時間。
如果RunStep成功地讀取了該目錄清單,這是由模塊912所決定的,那麼模塊914獲取當前的過程狀態。在此階段,RunStep按照該系統的狀態設置了很多的標誌,即,失敗、再運行等。就是這些標誌將決定通過序列模塊916、918、920的RunStep流。如所應用的,這些模塊將引導RunStep進入子進程A、B、C,圖10。
參照圖10(a)如果RunStep已經在模塊916建立和該下一個步驟是正常的過程步驟則進入程序A。在程序A中的第一模塊即模塊922校正各種校驗和,這樣做的目的是確保對步驟子文件沒有亂改動,例如,RunStep讀取某校驗和並把它們與存儲在progress.bat中的校驗和進行相關處理-任何差異將表明一個未授權的人過去一直在改動此步驟子文件。如果所有的校驗和是正確的,這是由模塊924所決定的,那麼在模塊926該程序就復位(清除)某些變量並讀取當前的時間。
如果該環境指示最後一步需要被再次執行,這是由模塊918所決定的,就進入程序B,圖10(b)。程序B的目的是如果需要,給一個授權操作者一個中斷進入程序的機會以避免再次執行該最後的一步。因此在模塊928顯示一條信息,即操作者可以在五秒時間內選擇生成工具(MFGTools)或進行此再次運行。生成工具是一個改善的方法,由此,如果需要,一個具有相應密碼的授權的操作者可以中斷進入該步驟子文件。模塊930確定是否該最後的一步要運行,這取決於操作者的響應,並且如果是這樣,模塊932設置進程變量(progress.bat)以運行MFGTools。
圖10(c)在模塊934程序C簡單地設置該進程變量(progress.bat)以運行MFGTools。
回到圖9,模塊936確定是否返回一個失敗,如果不返回,模塊938查看當前的階段是否是合法的。
參照圖8,一旦完成初始化模塊900,並且如果返回「success」,這是由模塊950所決定的,那麼RunStep進到作為「process step file」的模塊952。在RunStep到達此階段時為止,它已經從該環境中讀取了足夠的信息以知道它是否應進到該步驟子文件的下一行、再運行前一行或放棄等。
圖11更詳細地表示模塊952,「process step file」。模塊954確定該生成工具是否已被選擇或是否要求再運行,如果任何一個條件為真,那麼不必做進一步的設置並且這部份程序可以返回成功。如果沒有條件是真的,(即,假定RunStep現在已進行到該步驟子文件的下一行),那麼在模塊956打開相應階段步驟子文件。這意味著RunStep打開與正被引導的測試或軟體安裝(即,快速測試、擴展測試等)的特定階段相關聯的步驟子文件。
模塊958確定是否有倒回階段,倒回階段是再運行的一種特殊情況,這時整個測試階段在出現一個步驟失敗時需要被重複,即,RunStep必須回到針對該階段的步驟子文件的開頭。如果RunStep確定這是一個倒回階段,那麼相應地模塊960設置環境並返回成功。
如果它不是一個倒回階段,那麼模塊962從步驟子文件中讀取下一行號,並通過將該行號與存儲在progress.bat中、在初始化階段由RunStep讀取的行號進行匹配並進一步檢查它剛剛讀取的行號是它所希望讀取的行-這是一個反亂改動設備。尤其是,當RunStep在運行時,progress.bat包含有關被執行的最後步驟的信息,即,諸如在步驟子文件中的行號、被執行的命令的命令ID及其他檢查和相關信息。在模塊962,RunStep讀取包含在內存中的progress.bat文件,並且如由progress.bat中的行號所確定的那樣略過該步驟子文件中的一些行,然後檢查其實際所處的行號是否與它希望所處的行號相一致。它還檢查位於該行的命令是否與被告知剛被執行的那個是同一個,即,RunStep證實它發現自己現在所處的行實際上是被運行的最後一步。
如果它是,這是由模塊964決定的,那麼,在模塊966讀取該步並為運行下一步而設置進程環境。模塊968檢查所讀的該步的有效性,如果是,返回成功。如果沒有讀取一有效步驟,在模塊970,RunStep查看是否它實際上已到達該最後階段的步驟子文件的最後行。如果是這樣,那麼RunStep返回一個「all steps processed」的消息,表示所有的測試都完成。如果不是,則返回失敗。
另一方面,如果RunStep的模塊964顯示它剛剛讀取的行號並不與它所希望的相匹配,那麼RunStep進入圖12中所示的程序。第一模塊972檢查是否RunStep實際上已到達該最後階段的步驟子文件的最後行。如果是,則返回一個消息,指示所有的測試已完成。如果不是,模塊974檢查是否到達一步驟子文件的最後一行。如果是,RunStep退回到模塊956,並為下一階段的測試打開該步驟子文件。
另一方面,如果RunStep確定這不是此步驟子文件的末尾,那麼它在模塊976查看它剛剛讀取的行號是否超過它所希望讀取的行(從內存中讀)。如果該行號被超過,其指示RunStep在步驟子文件中存在手動亂改(例如,一個操作者從此步驟子文件中消除一個步驟)並且RunStep返回失敗。如果該行號沒被超過,那麼RunStep返回到模塊962。
然後RunStep返回到模塊990,圖8,並且如果遇到此步驟子文件的末尾,它就將其報告給該操作者。RunStep進一步查看是否在模塊992返回有失敗。如果是這樣,就做報告並且RunStep退出。
在此階段,RunStep已確定此系統的精確狀態,知道是否將要再運行一步、倒回一個階段或執行此步驟子文件中下一行並且相應地設置內存。在繼續之前,RunStep存儲所有它在前期階段中學習的信息,這在模塊994中進行並在圖13中更詳細地說明。
首先,模塊1000找時機清除不再需要的文件。然後模塊1002確定將要發生的測試或軟體安裝所需的文件是否存儲在本地驅動器上或需要通過網絡獲取,並保存此信息。下一步,模塊1004,1006,RunStep使用它在前期階段中學習的信息來設置環境變量(在progress.bat)以便下次RunStep從開始運行時,所有的環境變量都被更新成代表該系統的當前狀態。
在模塊1008,RunStep檢查此寫操作是成功的之後,它在模塊1010中寫一個日誌文件。如果成功,模塊1012,在模塊1014確定是否有再次運行的需要,如果需要,模塊1016生成一個再次運行文件。
控制然後回到模塊1020,圖8,並且如果沒有返回失敗,該程序被退出,並以一個255錯誤級別指示應該執行從模塊966的步驟子文件讀取的命令行。這發生在模塊1022。然後RunStep返回到開始以處理下一步(在步驟子文件中的行)。
應看出,RunStep程序是一個高安全性的系統,其中包括有各種檢查以防止未授權的用戶亂改此步驟子文件以便去掉多餘的測試或避免再運行。這通過使控制中斷無效;以各種間隔校正此步驟子文件的行號;把校驗和放進系統中來達到。另一個安全的方面是不管何時發生失敗,如在上面流程圖中各點處由RunStep所確定的,RunStep退出,並且此項失敗被寫到一個只讀隱藏文件中;一個業餘操作者不會意識到到此文件並且不能找到它,因此也不能發現出了什麼問題和如何忽略該錯誤,即,他將被迫拒絕該組件或再次運行該測試直到滿意為止。
雖然已說明和描述了說明性的實施例,在前面的揭示中也考慮到更寬範圍的修改、變化和替換。有此實施例的特點可以不必使用其他特點而得到利用。所以,應明白,所列的附屬權利要求應被更廣義地、並以一種與在此揭示的實施例的範圍相一致的方式理解。
權利要求
1.一種在計算機系統上安裝軟體和/或對其進行測試的方法,包括步驟從一計算機可讀的文件中讀取多個組件描述符,每個組件描述符描述該計算機系統的一個組件;從一資料庫中讀取多個步驟,每個步驟與一個組件描述符相關聯並且各自包括一個序列號;按照該序列號以一預定的順序排序此多個步驟以提供一個包括用於在該計算機系統上安裝軟體和/或對其進行測試的命令的步驟序列;對於從該資料庫中讀取的每個步驟,利用在該資料庫中與該步驟相關的數據,判定該步驟是否與該計算機系統所提供的組件不兼容;如果是,放棄該步驟或者不利用資料庫中與該步驟相關的進一步的數據。
2.權利要求1的方法,其特徵是該計算機系統屬於某一系列的計算機系統,並且讀取該多個步驟的該步驟包括把包含所有屬於該系列的組件的第一資料庫表與一包含所有的要在此多個組件上運行的軟體安裝和測試步驟的第二資料庫表相連接,其中該連接產生一個中間集,並且把該中間集與包含所有要在該系列上運行的軟體安裝和/或測試步驟的第三資料庫表相連接,其中該連接產生所述的多個步驟。
3.權利要求2的方法,其特徵是如果該中間集為空則引起出錯條件。
4.權利要求1的方法,其特徵是至少一個組件是一個硬體組件。
5.權利要求1的方法,其特徵是至少一個組件是一個軟體組件。
6.權利要求1的方法,其特徵是還包括生成對應於該多個組件描述符的多個導出對象的步驟。
7.權利要求1的方法,其特徵是還包括準備對應於該多個組件的環境變量的步驟。
8.權利要求1的方法,其特徵是還包括把該步驟序列寫到在生產時就被配置為伴隨該計算機系統的一個非易失性存儲媒介的步驟。
9.權利要求1的方法,其特徵是該步驟序列適於提供可重複一定時間長度的命令。
10.權利要求1的方法,其特徵是該步驟序列適於提供可重複一定的重複迭代次數的命令。
11.一種在計算機系統上安裝軟體和/或對其進行測試的方法,包括步驟從一計算機可讀的文件中讀取多個組件描述符,每個組件描述符描述該計算機系統的一個組件;從一資料庫中讀取多個步驟,每個步驟與一個組件描述符相關聯並且各自包括一個序列號;按照該序列號以一預定的順序排序該多個步驟以提供一個包括用於在該計算機系統上安裝軟體和/或對其進行測試的命令的步驟序列;對於從該資料庫中讀取的每個步驟,利用在該資料庫中與該步驟相關的數據,判定該步驟是否要求一個參數;以及如果是按照資料庫中與該步驟相關的進一步數據計算這種參數。
12.權利要求11的方法,其特徵是該計算機系統屬於某一系列的計算機系統,並且讀取該多個步驟的該步驟包括把包含所有屬於該系列的組件的第一資料庫表與一包含所有的要在該多個組件上運行的軟體安裝和/或測試步驟的第二資料庫表相連接,其中該連接產生一個中間集,並且把該中間集與包含所有要在該系列上運行的軟體安裝和/或測試步驟的第三資料庫表相連接,其中該連接產生所述的多個步驟。
13.權利要求12的方法,其特徵是如果該中間集為空則引起出錯條件。
14.權利要求11的方法,其特徵是至少一個相應的組件是一個硬體組件。
15.權利要求11的方法,其特徵是至少一個組件是一個軟體組件。
16.權利要求11的方法,其特徵是還包括生成對應於該多個組件描述符的多個導出對象的步驟。
17.權利要求11的方法,其特徵是還包括準備對應於該多個組件的環境變量的步驟。
18.權利要求11的方法,其特徵是還包括把該步驟序列寫到在生產時就被配置為伴隨該計算機系統的一個非易失性存儲媒介的步驟。
19.權利要求11的方法,其特徵是該步驟序列適於提供可重複一定時間長度的命令。
20.權利要求11的方法,其特徵是該步驟序列適於提供可重複一定的重複迭代次數的命令。
全文摘要
定製的計算機系統安裝軟體和/或測試軟體的方法包括從一計算機可讀的文件中讀取多個描述該計算機中一個組件的組件描述符。從資料庫中檢索出多個與序列號相關聯的步驟。按照該序列號以預定的次序對該多個步驟進行排序以提供一步驟序列。該序列包括安裝和/或測試軟體的命令。對於每一步,判定其是否與計算機系統所使用的組件不兼容。而且,對於所讀的每一步,判定該步是否需要參數。
文檔編號G06F11/00GK1281181SQ9910961
公開日2001年1月24日 申請日期1999年6月30日 優先權日1999年6月30日
發明者理察·D·安伯格, 羅傑·翁, 麥可·林奇 申請人:戴爾美國公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀