專利名稱:在計(jì)算機(jī)系統(tǒng)制造中使用的設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明揭示在計(jì)算機(jī)系統(tǒng)制造中使用的設(shè)備。
本申請(qǐng)涉及共有未決的中國專利申請(qǐng)序列號(hào)98117364.0,在1998年8月21日遞交,名稱為“定制的計(jì)算機(jī)系統(tǒng)的軟件安裝與測(cè)試”,發(fā)明人為理查德.D.安伯格,羅杰.W.翁,邁克爾.A.布倫德里基。
本申請(qǐng)涉及共有未決的中國專利申請(qǐng)序列號(hào)98118805.2,在1998年8月28日遞交,名稱為“對(duì)定制計(jì)算機(jī)系統(tǒng)的軟件安裝和測(cè)試”。發(fā)明人為理查德.D.安伯格,羅杰.W.翁,邁克爾.A.布倫德里基。
本申請(qǐng)涉及共有未決的中國專利申請(qǐng)序列號(hào)98117654.2,在1998年8月28日遞交,名稱為“便于對(duì)定制計(jì)算機(jī)系統(tǒng)的軟件安裝和測(cè)試的數(shù)據(jù)庫”。發(fā)明人為理查德.D.安伯格,羅杰.W.翁,邁克爾.A.布倫德里基。
這些共有未決的申請(qǐng)?jiān)诖俗鳛橐徽w參考使用,并被授權(quán)給本發(fā)明的受讓人。
通用的個(gè)人計(jì)算機(jī)系統(tǒng)和特定的IBM兼容個(gè)人計(jì)算機(jī)系統(tǒng)在向社會(huì)的各領(lǐng)域提供計(jì)算能力得到了廣泛的使用。個(gè)人計(jì)算機(jī)通??杀欢x為桌上型、地上站立型或可移動(dòng)的微型計(jì)算機(jī),包括具有一個(gè)系統(tǒng)處理器的系統(tǒng)單元和相關(guān)的易失或非易失存儲(chǔ)器,顯示監(jiān)視器、鍵盤、一個(gè)或多個(gè)磁盤驅(qū)動(dòng)器,一個(gè)硬盤存儲(chǔ)設(shè)備和一個(gè)可選的打印機(jī)。
眾所周知,在將計(jì)算機(jī)系統(tǒng)發(fā)貨給商業(yè)或個(gè)人客戶之前要對(duì)它們安裝軟件和進(jìn)行測(cè)試。進(jìn)行軟件安裝和測(cè)試的目的是能有效地生產(chǎn)出有用的、可靠的、可被運(yùn)送到商業(yè)或個(gè)人而又沒有差錯(cuò)并能隨時(shí)運(yùn)行的計(jì)算機(jī)系統(tǒng)。一般地,測(cè)試要檢測(cè)和分析在計(jì)算機(jī)系統(tǒng)中硬件和軟件部分出現(xiàn)的差錯(cuò)。計(jì)算機(jī)系統(tǒng)硬件測(cè)試的部分清單包括對(duì)硬件組件如處理器、存儲(chǔ)器、磁盤存儲(chǔ)設(shè)備、聲音設(shè)備、圖形設(shè)備、鍵盤、鼠標(biāo)和打印機(jī)的診斷。軟件安裝通常包括裝載所需的軟件包到計(jì)算機(jī)系統(tǒng)、為計(jì)算機(jī)提供各種相應(yīng)的環(huán)境以及為安裝的軟件準(zhǔn)備相應(yīng)的初始化文件。軟件測(cè)試包括確保所需的軟件版本已安裝到計(jì)算機(jī)系統(tǒng),并且在計(jì)算機(jī)系統(tǒng)上提供有相應(yīng)的驅(qū)動(dòng)器程序。
眾所周知,在工業(yè)上計(jì)算機(jī)系統(tǒng)在被送往客戶之前通過執(zhí)行一固定的過程在制造期間安裝軟件并測(cè)試計(jì)算機(jī)系統(tǒng)。例如,生成針對(duì)某一特定類型計(jì)算機(jī)系統(tǒng)包含某個(gè)診斷測(cè)試的磁盤。該盤包括很長的、經(jīng)常復(fù)雜的、指導(dǎo)軟件安裝和診斷過程的批處理文件。該盤包括對(duì)正購買的計(jì)算機(jī)系統(tǒng)執(zhí)行測(cè)試的所有可執(zhí)行文件。
每一個(gè)正被組裝的計(jì)算機(jī)系統(tǒng)都設(shè)置有該盤的相應(yīng)拷貝。根據(jù)在批處理文件中的命令,在制造過程和對(duì)各自的計(jì)算機(jī)系統(tǒng)測(cè)試期間,這些盤都要伴隨在工廠內(nèi)正進(jìn)行組裝的計(jì)算系統(tǒng)。如果對(duì)該過程需要做出修改,通過增加或刪除部分批處理代碼來相應(yīng)地改變批處理文件。對(duì)批處理文件的改變導(dǎo)致正在被組裝的每一個(gè)隨后的計(jì)算機(jī)系統(tǒng)的測(cè)試參數(shù)的改變,因?yàn)槊恳粋€(gè)計(jì)算機(jī)系統(tǒng)共享同一個(gè)批處理文件診斷程序。
盡管這種診斷配置在計(jì)算機(jī)系統(tǒng)被運(yùn)送前提高其可靠性方面顯示出某種可用性,但還留下有待提高的空間。比如,隨著測(cè)試的進(jìn)行而變得更復(fù)雜和精確時(shí),診斷測(cè)試的批處理文件和可執(zhí)行文件經(jīng)常超過磁盤的存儲(chǔ)容量。而且,很難或不可能為單個(gè)定制的計(jì)算機(jī)系統(tǒng)或某一系列計(jì)算機(jī)系統(tǒng)定制測(cè)試和軟件安裝過程的命令而不必修改對(duì)某他系統(tǒng)或系列的測(cè)試,而且也不可能也很難針對(duì)一單個(gè)定制的計(jì)算機(jī)系統(tǒng)和對(duì)某一系列計(jì)算機(jī)系統(tǒng)修改軟件安裝或測(cè)試的指令而不必為其他系統(tǒng)或系列修改該指令。最終,當(dāng)前批處理文件的結(jié)構(gòu)的非常復(fù)雜的本質(zhì)有時(shí)使制造商們很難快而有效地解決或維持測(cè)試和軟件安裝。
因此,所需要的是提供一種比先有技術(shù)先進(jìn)的、在計(jì)算機(jī)系統(tǒng)制造中使用的設(shè)備。
相應(yīng)地在一個(gè)實(shí)施例中,提供了一種在計(jì)算機(jī)系統(tǒng)制造中使用的設(shè)備,該設(shè)備包括一個(gè)包含在一指定區(qū)域針對(duì)正被組裝的所有計(jì)算機(jī)系統(tǒng)的所有組件的基本的軟件安裝和/或測(cè)試步驟的步驟表。一個(gè)基本包含在該區(qū)域正被組裝的所有計(jì)算機(jī)系統(tǒng)內(nèi)所包括的基本的所有組件的組件表,和一個(gè)標(biāo)識(shí)與一個(gè)組件的計(jì)算機(jī)系統(tǒng)所提供的組件而不是與對(duì)應(yīng)該步驟的組件不兼容的該步驟表中的步驟的步驟從屬性表。
在另一個(gè)實(shí)施例中,提供了一種在計(jì)算機(jī)系統(tǒng)制造中使用的設(shè)備,該設(shè)備包括一個(gè)包含在一指定區(qū)域針對(duì)正被組裝的所有計(jì)算機(jī)系統(tǒng)的所有組件的基本的軟件安裝和/或測(cè)試步驟的步驟表。一個(gè)基本包含在該區(qū)域正被組裝的所有計(jì)算機(jī)系統(tǒng)內(nèi)所包括的所有組件的組件表,和一個(gè)標(biāo)識(shí)在要求參數(shù)的步驟表中的步驟的步驟參數(shù)表。
在一優(yōu)選實(shí)施例中,該計(jì)算機(jī)系統(tǒng)對(duì)應(yīng)于一系列計(jì)算機(jī)系統(tǒng)中的一個(gè),并且該設(shè)備還包括一個(gè)系列-步驟關(guān)系表,系列-組件關(guān)系表和一個(gè)組件-步驟關(guān)系表。該系列-步驟關(guān)系表標(biāo)識(shí)一套軟件安裝步驟和每一系列正被組裝的計(jì)算機(jī)系統(tǒng)之間的關(guān)系。該系列-組件關(guān)系表標(biāo)識(shí)該系列計(jì)算機(jī)系統(tǒng)和該套組件之間的關(guān)系。該組件-步驟關(guān)系表標(biāo)識(shí)一個(gè)組件和針對(duì)該相應(yīng)組件的一套軟件安裝步驟之間的關(guān)系。按照一個(gè)實(shí)施例的該設(shè)備提供了有效的軟件安裝和計(jì)算機(jī)測(cè)試,允許對(duì)定制的計(jì)算機(jī)系統(tǒng)直接的疑難解答和定制。該設(shè)備的模塊化設(shè)計(jì)有利地保證了測(cè)試系統(tǒng)的主要維修和針對(duì)新的計(jì)算機(jī)系統(tǒng)和系列的步驟的快速生成。
圖1是表示軟件安裝和測(cè)試的簡要圖;圖2是根據(jù)另一實(shí)施例的軟件安裝和測(cè)試的簡要圖;圖3A是根據(jù)本發(fā)明把一計(jì)算機(jī)定單轉(zhuǎn)換成系統(tǒng)描述符記錄的流程圖;圖3B表示一示例計(jì)算機(jī)定單的一部分,基本組件記錄(BAR)文件和系統(tǒng)描述符記錄;圖4是用于生成和提供步驟序列的流程圖;圖5A是對(duì)圖5B和5C之間關(guān)系的概要說明;圖5B是用于生成步驟序列的更詳細(xì)的流程圖的第一部分;
圖5C是用于生成步驟序列的更詳細(xì)的流程圖的第二部分;圖6表示一個(gè)數(shù)據(jù)庫結(jié)構(gòu);圖7是一步驟文件的部分的舉例;圖8-13是用于執(zhí)行步驟序列的程序的運(yùn)行的流程圖。
本文的描述是為了說明的目的而不是限制性的,在附圖中相同或相似的元件用同一參考號(hào)來表示。在說明中,一模塊被定義為一個(gè)命令或命令集。
圖1是在計(jì)算機(jī)系統(tǒng)制造區(qū)軟件安裝和測(cè)試系統(tǒng)90的簡要圖。在運(yùn)行中,設(shè)置定單92以購買定制的目標(biāo)計(jì)算機(jī)系統(tǒng)160。目標(biāo)系統(tǒng)160將被制造成包含多個(gè)硬件和軟件組件。例如,目標(biāo)系統(tǒng)160可包括某一品牌的硬驅(qū),某一型號(hào)的監(jiān)視器,某種品牌的處理器和某一版本的操作系統(tǒng)。在目標(biāo)系統(tǒng)160被送往客戶之前,安裝并測(cè)試多個(gè)組件。這種安裝和測(cè)試確保在該系統(tǒng)被客戶收到并準(zhǔn)備運(yùn)行時(shí)是一個(gè)可靠的、工作的計(jì)算機(jī)系統(tǒng)。
由于不同系列的計(jì)算機(jī)系統(tǒng)和不同的計(jì)算機(jī)組件要求有不同的軟件安裝和測(cè)試步驟,有必要確定需要對(duì)目標(biāo)系統(tǒng)160運(yùn)行哪些測(cè)試并以什么樣的次序來進(jìn)行這些測(cè)試以便取得一個(gè)有效的軟件安裝和測(cè)試過程。步驟生成器140是一個(gè)配置為排序要在目標(biāo)系統(tǒng)160上運(yùn)行的軟件安裝和測(cè)試步驟的計(jì)算機(jī)系統(tǒng)。為了排序軟件安裝和/或測(cè)試步驟,步驟生成器140、尤其是駐留在步驟生成器140上的排序程序204首先從描述符文件96讀取多個(gè)組件的描述符信息。描述符文件96借助轉(zhuǎn)換模塊94通過將對(duì)應(yīng)于具有希望的組件的所需的計(jì)算機(jī)系統(tǒng)的定單92轉(zhuǎn)換成計(jì)算機(jī)可讀的格式。
組件描述符是由定單92所定義的、計(jì)算機(jī)可讀的目標(biāo)系統(tǒng)160的組件的描述信息。在優(yōu)選實(shí)施例中,組件描述符包含在稱為系統(tǒng)描述符記錄的描述符文件中,該系統(tǒng)描述符記錄是包含要被安裝到目標(biāo)系統(tǒng)160上組件、硬件和/或軟件清單的計(jì)算機(jī)可讀的文件。在讀取多個(gè)組件描述符后,排序程序204通過網(wǎng)絡(luò)連接110從數(shù)據(jù)庫100中檢索對(duì)應(yīng)于組件描述符的軟件安裝和測(cè)試步驟。網(wǎng)絡(luò)連接110可以是任何已知的網(wǎng)絡(luò)連接,如本地網(wǎng)、因特網(wǎng)、包含在數(shù)據(jù)庫100中的信息可通過以箭頭130指示的修改來更新。
在檢索到與目標(biāo)系統(tǒng)160相適應(yīng)的軟件安裝和/或測(cè)試步驟后,排序程序204根據(jù)對(duì)應(yīng)于每一步的序列號(hào)以預(yù)定的順序排序這些步驟。在已經(jīng)排序目標(biāo)系統(tǒng)160所需要的步驟后,排序程序204寫出一系列輸出文件到步驟盤150。在圖1所說明的實(shí)施例中,輸出文件包括文本文件,該文本文件包含用于在目標(biāo)系統(tǒng)160上執(zhí)行相應(yīng)的軟件安裝和/或測(cè)試步驟的命令行。根據(jù)對(duì)應(yīng)于每一步的序列號(hào)以預(yù)定的次序來執(zhí)行。在工廠里步驟盤150和目標(biāo)系統(tǒng)160裝在一起,在這里直接從步驟盤150或從通過網(wǎng)絡(luò)連接180連到目標(biāo)系統(tǒng)160的文件服務(wù)器190上運(yùn)行該測(cè)試。最好網(wǎng)絡(luò)連接180是插進(jìn)目標(biāo)計(jì)算機(jī)系統(tǒng)的相應(yīng)網(wǎng)絡(luò)端口的普通網(wǎng)絡(luò)設(shè)備。隨著軟件安裝和測(cè)試步驟的執(zhí)行,其結(jié)果通過網(wǎng)絡(luò)連接180被登記到文件服務(wù)器190。
圖2是針對(duì)本發(fā)明的另一實(shí)施例的軟件安裝和測(cè)試系統(tǒng)192的簡要圖。一個(gè)客戶設(shè)置定單92購買定制的目標(biāo)計(jì)算機(jī)系統(tǒng)160。目標(biāo)系統(tǒng)160將被制造成包含多個(gè)組件,而組件可包括硬件和/或軟件組件。在目標(biāo)系統(tǒng)160被送往客戶之前,要安裝多個(gè)組件和進(jìn)行測(cè)試。這種安裝和測(cè)試優(yōu)先確保在客戶接到后準(zhǔn)備運(yùn)行時(shí)是一個(gè)可靠,可工作的計(jì)算機(jī)系統(tǒng)。
為了排序軟件安裝和測(cè)試步驟,排序程序204從描述符文件96讀取多個(gè)組件描述信息。定單92通過轉(zhuǎn)換模塊94被轉(zhuǎn)換成描述符文件96。組件描述符是目標(biāo)系統(tǒng)160的組件的計(jì)算機(jī)可讀的說明。在優(yōu)選實(shí)施例中,組件描述符包括在稱為系統(tǒng)描述符記錄的描述符文件中,包含每一個(gè)組件(硬件和軟件)的清單的計(jì)算機(jī)可讀文件被裝到目標(biāo)系統(tǒng)160。系統(tǒng)描述符記錄可被直接存儲(chǔ)在文件服務(wù)器202上。排序程序204從數(shù)據(jù)庫100中檢索對(duì)應(yīng)于組件描述符的多個(gè)軟件安裝和/或測(cè)試步驟。在檢索到針對(duì)目標(biāo)系統(tǒng)160的相應(yīng)軟件安裝和測(cè)試步驟后,排序程序204根據(jù)對(duì)應(yīng)每一步的序列號(hào)按照預(yù)定的次序排序這些步驟。在排序完目標(biāo)系統(tǒng)160所需的步驟后,排序程序204通過網(wǎng)絡(luò)連接195和180以預(yù)定的次序指導(dǎo)在目標(biāo)系統(tǒng)160上軟件安裝和測(cè)試的執(zhí)行。希望網(wǎng)絡(luò)連接200是插進(jìn)目標(biāo)系統(tǒng)160的相應(yīng)部分的本地網(wǎng)絡(luò)設(shè)備。網(wǎng)絡(luò)195可以是大家熟知的任何通信連接。隨著軟件安裝和測(cè)試步驟的執(zhí)行。安裝和測(cè)試的結(jié)果通過網(wǎng)絡(luò)連接200登記到文件服務(wù)器202或存儲(chǔ)在相應(yīng)的數(shù)據(jù)庫中。從說明中很明顯看到,并不需要圖1的分離的步驟生成器計(jì)算機(jī)系統(tǒng)140。另外,步驟盤150也不是必須的。而且,只有配置為引導(dǎo)目標(biāo)系統(tǒng)160的引導(dǎo)盤220才需要在出廠時(shí)與目標(biāo)系統(tǒng)160裝在一起。
在大致地?cái)⑹隽塑浖惭b和測(cè)試系統(tǒng)之后,現(xiàn)在詳細(xì)描述圖1和圖2中系統(tǒng)的運(yùn)行。
圖3A描述了該優(yōu)選過程,其中對(duì)計(jì)算機(jī)系統(tǒng)的定單被轉(zhuǎn)換成計(jì)算機(jī)可讀的系統(tǒng)描述符記錄。該定單可以是任何格式。例如,不同的定單格式也可以有不同的定單傳送機(jī)制。例如,針對(duì)目標(biāo)計(jì)算機(jī)系統(tǒng)的定單可以是通過電話、郵件或計(jì)算機(jī)網(wǎng)絡(luò)(如internet)等發(fā)出。不管采取什么定單格式,該定單包括客戶希望購買的計(jì)算機(jī)系統(tǒng)的類型、客戶希望目標(biāo)計(jì)算機(jī)系統(tǒng)包括的特定組件的清晰清單。在收到定單后,控制進(jìn)到傳輸模塊310,在該模塊中目標(biāo)計(jì)算機(jī)系統(tǒng)的定單通過計(jì)算機(jī)網(wǎng)絡(luò)被傳送到生產(chǎn)該計(jì)算機(jī)系統(tǒng)的生產(chǎn)系統(tǒng)(未示出)。該定單也被提供給軟件安裝和測(cè)試系統(tǒng),在這里它被融合進(jìn)模塊320中的轉(zhuǎn)換程序。在模塊310中使用的計(jì)算機(jī)網(wǎng)絡(luò)可以是目前已知的任何類型網(wǎng)絡(luò)。
該轉(zhuǎn)換程序把目標(biāo)計(jì)算機(jī)系統(tǒng)的定單轉(zhuǎn)換到用于生產(chǎn)過程的一個(gè)記錄。尤其是,該轉(zhuǎn)換程序把計(jì)算機(jī)訂貨單首先轉(zhuǎn)換成在模塊330中稱為BAR文件的記錄。最好,該BAR文件包含能識(shí)別正在生產(chǎn)的特定計(jì)算機(jī)系統(tǒng)的唯一標(biāo)識(shí)符。該BAR文件也包含一份詳細(xì)的組件清單,該清單包括包含在該目標(biāo)系統(tǒng)中硬件和軟件。而且希望該BAR文件包含特定生產(chǎn)商的組件號(hào)以及其他針對(duì)每一個(gè)組件的有用標(biāo)識(shí)符。最后,該BAR文件包含與用戶相關(guān)的信息,如姓名、地址和電話號(hào)碼等。
在生成模塊330中BAR文件之后,在模塊340中生成系統(tǒng)描述符記錄。在優(yōu)選實(shí)施例中系統(tǒng)描述符記錄描述與該目標(biāo)計(jì)算機(jī)系統(tǒng)包含在一起的硬件和軟件組件的計(jì)算機(jī)可讀文件。在優(yōu)選實(shí)施例中,系統(tǒng)描述符記錄以包含硬件標(biāo)簽、軟件標(biāo)簽、信息標(biāo)簽和注解的形形式包含目標(biāo)系統(tǒng)的組件清單。硬件標(biāo)簽標(biāo)識(shí)排序程序204在標(biāo)簽之后的信息是關(guān)于硬件組件的。同樣軟件標(biāo)簽標(biāo)識(shí)在標(biāo)簽之后的信息是關(guān)于軟件的組件的。信息標(biāo)簽指示隨后是一般信息。注解允許各種聲明被加進(jìn)到系統(tǒng)描述符記錄,但它被排序程序204忽略。希望系統(tǒng)描述符記錄是人可讀和易于理解的文本文文件。這種文件有利于軟件安裝和測(cè)試過程的疑難解決和維護(hù)。應(yīng)明白,系統(tǒng)描述符記錄可以是對(duì)應(yīng)于唯一一套標(biāo)志的唯一標(biāo)識(shí)符清單,例如,舉個(gè)簡單例子,系統(tǒng)描述符可以是組件號(hào)的清單。
圖3B表示目標(biāo)計(jì)算機(jī)系統(tǒng)定單350、一個(gè)相應(yīng)的BAR文件360和一個(gè)相應(yīng)的系統(tǒng)描述符記錄370的一個(gè)例子。目標(biāo)計(jì)算機(jī)系統(tǒng)定單350包含計(jì)算機(jī)系列的名稱,在本說明中為系列“X”。在目標(biāo)計(jì)算機(jī)系統(tǒng)定單350中包含三個(gè)作為示例的硬件組件,包括一個(gè)奔騰處理器、一個(gè)硬驅(qū)和一個(gè)顯示器。BAR文件360是通過在圖3A的模塊320中描述的轉(zhuǎn)換程序運(yùn)行目標(biāo)計(jì)算機(jī)系統(tǒng)定單350而得到的。BAR文件360包含針對(duì)在系列X中的特定的目標(biāo)計(jì)算機(jī)系統(tǒng)的唯一標(biāo)識(shí)符。BAR文件360還包括在目標(biāo)計(jì)算機(jī)系統(tǒng)定單中列出的針對(duì)每一個(gè)組件的與廠商相關(guān)的組件號(hào)碼。而且,BAR文件360包含一個(gè)標(biāo)識(shí)符,指示所要求的每個(gè)組件的質(zhì)量以及包含在目標(biāo)計(jì)算機(jī)系統(tǒng)中每一個(gè)組件的文字描述。系統(tǒng)90使用BAR文件360生成系統(tǒng)描述符記錄370。
如所說明的,系統(tǒng)描述符記錄370包括針對(duì)系列X中特定的目標(biāo)計(jì)算機(jī)系統(tǒng)的唯一標(biāo)識(shí)符。而且,系統(tǒng)描述符記錄370包含相應(yīng)的標(biāo)簽,在這里指示處理器、硬驅(qū)和顯示器都是硬件組件而不是軟件組件。系統(tǒng)描述符記錄370以文本的形式描述這些組件。而且,作為舉例的系統(tǒng)描述符記錄370包含一個(gè)軟件標(biāo)簽,指示對(duì)屬于系列X的該目標(biāo)計(jì)算機(jī)系統(tǒng)要安裝或測(cè)試一定的軟件。例如該軟件標(biāo)簽可以指示適于此奔騰處理器的某操作系統(tǒng)總是被安裝到屬于系列X的目標(biāo)計(jì)算機(jī)系統(tǒng)的硬驅(qū)上。
在圖4中說明了用于排序軟件安裝和測(cè)試步驟的優(yōu)選的通用方法。在模塊400中為目標(biāo)計(jì)算機(jī)系統(tǒng)160生成該目標(biāo)計(jì)算機(jī)系統(tǒng)的唯一標(biāo)識(shí)符。在圖1描述的實(shí)施例中,位于步驟生成器計(jì)算機(jī)系統(tǒng)140的一個(gè)用戶向步驟生成器140的排序程序204提供該唯一標(biāo)識(shí)符(例如,作為跟蹤碼的BAR文件),相應(yīng)地,在圖2的實(shí)施例中,在收到目標(biāo)計(jì)算機(jī)和系統(tǒng)定單后,唯一標(biāo)識(shí)符被自動(dòng)讀進(jìn)排序程序。
在模塊410,定位一個(gè)對(duì)應(yīng)于BAR文件標(biāo)識(shí)符的系統(tǒng)描述符記錄。在圖1的實(shí)施例中,或者網(wǎng)絡(luò)連接110或者網(wǎng)絡(luò)連接195定位系統(tǒng)描述符記錄。在圖2的實(shí)施例中,網(wǎng)絡(luò)連接195定位該系統(tǒng)描述符記錄。在模塊420,所定位的系統(tǒng)描述符記錄被提供給排序程序204。在圖1實(shí)施例中,排序程序駐留在步驟生成器計(jì)算機(jī)系統(tǒng)140中而在圖2實(shí)施例中排序程序駐留在文件服務(wù)器202中。排序程序204與數(shù)據(jù)庫100(圖1和2中的)一起排序目標(biāo)計(jì)算機(jī)系統(tǒng)160的軟件安裝和測(cè)試步驟。一旦排序完適應(yīng)于該特定目標(biāo)計(jì)算機(jī)系統(tǒng)的軟件安裝和測(cè)試步驟,排序程序生成如模塊430中描述的輸出文件。
在圖1描述的實(shí)施例中,寫到步驟盤150(見圖1)的輸出文件是一個(gè)步驟文件和一個(gè)Setenv.bat文件。該步驟文件是一個(gè)包含用于執(zhí)行針對(duì)所定購的目標(biāo)計(jì)算機(jī)系統(tǒng)的軟件安裝和測(cè)試步驟的相應(yīng)命令行的清單的ASCⅡ文本文件。在優(yōu)選實(shí)施例中該步驟文件也包含被循環(huán)的命令。尤其是該步驟文件允許命令被重復(fù)迭代一預(yù)定的次數(shù)或一預(yù)定的時(shí)間長度。這種格式優(yōu)先地允許以計(jì)算的、預(yù)定的方式重復(fù)軟件安裝和測(cè)試步驟。Setenv.bat文件設(shè)置在目標(biāo)計(jì)算機(jī)系統(tǒng)上的環(huán)境變量。此Step文件和Setenv.bat文件是包含用于執(zhí)行此目標(biāo)計(jì)算機(jī)系統(tǒng)的軟件安裝和測(cè)試步驟的相應(yīng)命令行的清單的ASCⅡ文本代碼文件。此步驟文件被分成多個(gè)單獨(dú)的子文件,每一個(gè)子文件具有針對(duì)相應(yīng)的生產(chǎn)階段如目標(biāo)計(jì)算機(jī)系統(tǒng)生產(chǎn)中Quick Test(Qt)、Extended Testl(ET1)、Extended Test2(ET2)、Software Install(SI)和Final Test(FT)階段的步驟。
在圖2的實(shí)施例中。另一方面,輸出文件不寫到圖1所示的步驟盤。相反,輸出文件駐留在文件服務(wù)器202或文件服務(wù)器190中,在此它們用于指示在目標(biāo)計(jì)算機(jī)系統(tǒng)160上軟件安裝和/或測(cè)試步驟的運(yùn)行。
圖5A到5C更詳細(xì)地描述了圖1和圖2中排序程序204的運(yùn)行。
確定模塊500確定一個(gè)定單的起始。這時(shí)只考慮左側(cè)分支。如果需要,模塊502施加一個(gè)或多個(gè)插入碼到系統(tǒng)描述符記錄。在優(yōu)選實(shí)施例中,該插入碼是標(biāo)準(zhǔn)組件,允許為某一特定的目標(biāo)計(jì)算機(jī)系統(tǒng)、某計(jì)算機(jī)系統(tǒng)系列或?yàn)槟骋唤M件生成一個(gè)插入碼。例如,如果一個(gè)生產(chǎn)商在某一天希望把某一個(gè)計(jì)算機(jī)系統(tǒng)系列的一種品牌的硬驅(qū)替換成另一個(gè),就可以生成一個(gè)插入碼,該插入碼修改包含要被替換的硬驅(qū)系統(tǒng)操作符記錄并在模塊502中完成該替換。
然后模塊504把對(duì)應(yīng)于目標(biāo)計(jì)算機(jī)系統(tǒng)160的系統(tǒng)操作符記錄(被修補(bǔ)的)輸入到排序程序204。在模塊506,從系統(tǒng)描述符記錄讀取組件描述符。每一個(gè)組件描述符描述該目標(biāo)計(jì)算機(jī)系統(tǒng)的一個(gè)相應(yīng)的組件,硬件和軟件。
參看圖3B,在模塊370中包含奔騰處理器的系統(tǒng)描述符記錄的行是一個(gè)示例組件描述符。在模塊508,排序程序204實(shí)例化分別對(duì)應(yīng)此目標(biāo)計(jì)算機(jī)系統(tǒng)160的多個(gè)組件的多個(gè)導(dǎo)出對(duì)象。在優(yōu)選實(shí)施例中,這些導(dǎo)出對(duì)象用于存儲(chǔ)需要在目標(biāo)計(jì)算機(jī)系統(tǒng)160上運(yùn)行的有關(guān)軟件安裝和測(cè)試步驟的信息(從數(shù)據(jù)庫100獲取)。相應(yīng)地,在模塊510中,每一個(gè)導(dǎo)出的對(duì)象與目標(biāo)計(jì)算機(jī)系統(tǒng)160的各自組件相聯(lián)系。
現(xiàn)在從模塊500參照右側(cè)分支。在這種情況下,假設(shè)定單被客戶直接以Bill of Material的形式作為記錄存儲(chǔ)在數(shù)據(jù)庫中,這種記錄包括與目標(biāo)計(jì)算機(jī)系統(tǒng)相關(guān)的組件描述符。當(dāng)模塊514從數(shù)據(jù)庫讀取Bill of Material(存儲(chǔ)在該數(shù)據(jù)庫以為排序程序204所用)時(shí),模塊512,與模塊502一樣,應(yīng)用偏差(插入碼)到Bill of Material。
在模塊516,與目標(biāo)計(jì)算機(jī)系統(tǒng)160的各自組件相關(guān)的軟件安裝和測(cè)試步驟被從數(shù)據(jù)庫100中檢索并存儲(chǔ)在相應(yīng)的導(dǎo)出對(duì)象中。在圖1的實(shí)施例中,這些步驟被通過網(wǎng)絡(luò)110檢索而在圖2實(shí)施例中這些步驟被直接從文件服務(wù)器202中檢索。為了描述在優(yōu)選實(shí)施例中這些步驟是如何從數(shù)據(jù)庫100中檢索的,需要描述該數(shù)據(jù)庫的優(yōu)選建立。
圖6表示數(shù)據(jù)庫100的設(shè)計(jì)。數(shù)據(jù)庫100以預(yù)定的次序使軟件安裝和/或測(cè)試步驟的序列與計(jì)算機(jī)系統(tǒng)系列相關(guān)。而且,數(shù)據(jù)庫100被配置為與計(jì)算機(jī)系統(tǒng)的組件相關(guān)。尤其是,數(shù)據(jù)庫100使軟件安裝和/或測(cè)試步驟與計(jì)算機(jī)系統(tǒng)的組件相關(guān)。
數(shù)據(jù)庫100最好是一個(gè)關(guān)系數(shù)據(jù)庫,數(shù)據(jù)庫100包含幾個(gè)表,每一個(gè)表包含適用于生成上面提到的關(guān)聯(lián)的屬性。
數(shù)據(jù)庫100包含Step表102、Family表104、FamilyStepSeq表106、Component表108、FamilyComponent表112、ComponentStep表114、StepDependency表116、StepParameter表118、ComponentClass表120、ComponentClassAttr表122和OperatorMsg表124。在優(yōu)選實(shí)施例中,每一個(gè)表包含屬性列表,被加下劃線的屬性作為主關(guān)鍵字。
Step表102包含所有計(jì)算機(jī)系列的所可能組件的軟件安裝和測(cè)試步驟。在優(yōu)選的結(jié)構(gòu)中,Step表102的屬性包括StepID、Name、Command、CommandType、AfterActionType、MaxInstance、ClassID和DepMask。StepID是每一個(gè)軟件安裝或測(cè)試步驟的唯一標(biāo)識(shí)號(hào)。Name是規(guī)定指示該步驟的名稱的一個(gè)字符串。Command是指定用于在目標(biāo)計(jì)算機(jī)系統(tǒng)160(在圖1和2中所指示的)上執(zhí)行軟件安裝或測(cè)試步驟的可執(zhí)行命令行的字符串。AfterActionType是確定在軟件安裝或測(cè)試步驟完成后是否需要暫?;蛑貑?dòng)的標(biāo)識(shí)符。MaxInstance是指示該步驟所允許執(zhí)行的最大次數(shù)的標(biāo)識(shí)符。ClassID標(biāo)識(shí)與軟件安裝或測(cè)試步驟相關(guān)的某一類型或類的組件(如硬驅(qū)、CD-ROM等)。最后,DepMask記錄有關(guān)一特定的步驟是否具有步驟從屬性和/或步驟參數(shù)的信息并因此確定是否必須進(jìn)入StepDependency表116和/或StepParameter表118。
Family表104用一個(gè)在屬性FamilyID聲明的標(biāo)識(shí)整數(shù)來標(biāo)識(shí)每一系列的計(jì)算機(jī)系統(tǒng)。而且在Family表中也包括一個(gè)標(biāo)識(shí)該系列計(jì)算機(jī)的名稱的字符串。
FamilyStepSeq表106是一個(gè)包含Step表102與Family表104之間的關(guān)系的關(guān)系表。FamilyStepSeq表106包含一個(gè)在屬性FamilyID中聲明的、針對(duì)一特定系列計(jì)算機(jī)系統(tǒng)(從Family表104)的系列標(biāo)識(shí)整數(shù),一個(gè)在屬性StepID(從Step表102)中聲明的、標(biāo)識(shí)一套特定與該系列相適應(yīng)的步驟的步驟標(biāo)識(shí)整數(shù),和一個(gè)序列號(hào)。該序列號(hào)包含在屬性StepSeqNum,該屬性表示一個(gè)在其中與一特定系列相關(guān)的步驟將要運(yùn)行的預(yù)定的次序。測(cè)試工程師分配該序列號(hào),它在每一個(gè)生產(chǎn)階段都是唯一的,并以對(duì)某一特定目標(biāo)系統(tǒng)是最有效的順序來選擇。應(yīng)明白,可以使用其它分配序列號(hào)的方式。最后,F(xiàn)amilyStepSeq表106包含PhaseID。PhaseID指定在生產(chǎn)的哪一階段來執(zhí)行該步驟。例如,PhaseID可以是一個(gè)被選擇為對(duì)應(yīng)于前面提到的計(jì)算機(jī)系統(tǒng)生產(chǎn)的五個(gè)階段Quick Test(Qt)、ExtendedTest1(ET1)、Extended Test2(ET2)、Software Install(SI)和Final Test中的一個(gè)階段的整數(shù)。
Component表108包含包括在正在生產(chǎn)的計(jì)算機(jī)系統(tǒng)內(nèi)的所有可能的組件。該表的屬性是指定每一個(gè)組件標(biāo)識(shí)符的ComponentID、指定每一個(gè)組件的字符串名稱的Description和對(duì)每一組件類型(如,硬驅(qū)、CD-ROM)進(jìn)行標(biāo)注的ClassID。
FamilyComponent表112是一個(gè)包含每一系列計(jì)算機(jī)系統(tǒng)和一套包含在該系列中的組件的關(guān)系的關(guān)系表,F(xiàn)amilyComponent表112的屬性包括一個(gè)在屬性FamilyID(從Family表104)中聲明的計(jì)算機(jī)系列標(biāo)識(shí)整數(shù)和一個(gè)在屬性ComponentID(從Component表108)聲明的組件標(biāo)識(shí)整數(shù)。
ComponentStep表114是一個(gè)包含每個(gè)組件和與該組件相適應(yīng)的一套軟件安裝和測(cè)試步驟的關(guān)系的關(guān)系表。ComponentStep表114的屬性包括一個(gè)在屬性ComponentID(從Component表108)中聲明的組件標(biāo)識(shí)整數(shù)和一個(gè)在屬性StepID(從Step表102)中聲明的步驟標(biāo)識(shí)整數(shù)。
StepDependency表116包含有關(guān)涉及可能沖突的數(shù)據(jù)。某些測(cè)試可能與某些組件類、或特定組件本身、或來自一些廠商的組件相沖突。要組裝的目標(biāo)計(jì)算機(jī)系統(tǒng)可能包括一個(gè)品牌A的硬驅(qū)和一個(gè)品牌B的CD-ROM。品牌A的硬驅(qū)通??赡苓\(yùn)行測(cè)試C,但是可能測(cè)試C與品牌B的CD-ROM不兼容;所有這些從屬性都被記錄在StepDependency表116中。在該表中,StepID標(biāo)識(shí)具有從屬性的步驟,TypeID指示該從屬性是否是關(guān)于組件類或一特定的組件,根據(jù)TypeID的狀態(tài)ObjectID或者是一ClassID或者是一ComponentID,和DepTypeID指示是否一個(gè)特定的步驟被保持或在發(fā)生沖突時(shí)被清除。
StepParameter表118標(biāo)識(shí)某些步驟可能所需要的參數(shù);例如,可能要求一個(gè)步驟運(yùn)行一定的時(shí)間,或運(yùn)行一特定的循環(huán)數(shù)。在表118中,StepID唯一地標(biāo)識(shí)特定的安裝或測(cè)試步驟。ParameterID標(biāo)識(shí)與該步驟相關(guān)的每一個(gè)參數(shù);可能有不只一個(gè)與一特定步驟相關(guān)的參數(shù)并且每一個(gè)具有其自己的ParameterID。例如,同樣的測(cè)試但具有不同的參數(shù)可用于不同品牌的硬驅(qū)。DataType標(biāo)識(shí)要包含在各自參數(shù)中的數(shù)據(jù)類型。在上面的例子中,DataType可聲明該數(shù)據(jù)是一個(gè)百分比或是一個(gè)硬驅(qū)ID代碼。Content是一個(gè)如同在C編程語言所用的與命令如“printf”相關(guān)的命令行開關(guān)。例如,Content可以是“-%d”以指示一個(gè)百分比與此參數(shù)相適應(yīng)。StepSeqNum和ClassID如上所述。
應(yīng)當(dāng)注意,StepParmeter表118僅存儲(chǔ)與一特定的步驟相關(guān)的參數(shù)的類型和數(shù)量,并不實(shí)際存儲(chǔ)這些參數(shù)的值。這樣,在步驟文件創(chuàng)建期間,表118并不把參數(shù)值插進(jìn)該步驟文件的命令行,而是排序程序204在執(zhí)行期間計(jì)算參數(shù)值并把該值插入步驟文件命令行。該排序程序根據(jù)包含在此描述符記錄中的信息進(jìn)行計(jì)算。
表StepParameter118的優(yōu)點(diǎn)是通過避免需要具有永久地與步驟相關(guān)的參數(shù)而允許更大的靈活性。這樣表118允許工程師很容易地修改該參數(shù)而無須編輯Step表102。
ComponentClass表120僅是所有組件類型的列表(ClassID),如,硬驅(qū),CD-ROM等,以及這些類型的簡短的描述(ClassName,Description)。
ComponentClassAttr表122列出所有的類以及與每一個(gè)類相關(guān)的所有屬性。AttrID是分配到每一個(gè)不同類型的屬性如內(nèi)存大小,運(yùn)行速度、生產(chǎn)商等的代碼,而AttrName是為了方便工程師這些屬性更具描述性的名稱。DataType是用于代表一特定屬性的數(shù)據(jù)類型的指示,例如,在該屬性是生產(chǎn)商的名稱時(shí)它可以是一個(gè)字符串,或者如果該屬性是一個(gè)內(nèi)存的尺寸則它是一個(gè)整數(shù)。
ComponentClass表120和ComponentClassAttr表122并不被排序程序204實(shí)際使用,主要由開發(fā)工程師使用,這些表并不包含該屬性的行何實(shí)際值。
最后,OperatorMsg表124根據(jù)所進(jìn)行的測(cè)試和所測(cè)試的組件為測(cè)試操作者存儲(chǔ)多個(gè)信息。例如,在測(cè)試磁盤設(shè)備驅(qū)動(dòng)器之前發(fā)出一個(gè)提示符,提醒操作者把磁帶放進(jìn)磁帶驅(qū)動(dòng)器中。
在圖3B中描述的示例目標(biāo)計(jì)算機(jī)系統(tǒng)將用于說明上面勾畫的數(shù)據(jù)庫設(shè)計(jì)是如何被用于檢索軟件安裝和測(cè)試步驟。在系統(tǒng)描述符記錄中標(biāo)識(shí)系列X的計(jì)算機(jī)系統(tǒng)標(biāo)識(shí)符與對(duì)應(yīng)于Family表104中的系列X的FamilyID相聯(lián)系。Component表108被用于檢查在目標(biāo)計(jì)算系統(tǒng)定單中列出的目標(biāo)計(jì)算機(jī)系統(tǒng)的組件是否是合法的。換句話說,排序程序和數(shù)據(jù)庫確定包含在圖3B的系統(tǒng)描述符記錄中的處理器、硬驅(qū)、顯示器和軟件是否具有相應(yīng)的入口和由表Component108中的ComponentID所聲明的相應(yīng)的整數(shù)。如果一個(gè)組件不是合法的(即,在系統(tǒng)描述符記錄中的組件不包含在Component表108中),就會(huì)引起一個(gè)錯(cuò)誤標(biāo)志。FamilyComponent表112是一個(gè)包含來自Component表108和Family表104的映像的關(guān)系表。Family Component表112包含在屬于系列X的目標(biāo)計(jì)算機(jī)系統(tǒng)上所包括的所有合法組件。這樣,F(xiàn)amily Component表112可被用于檢查是否所有的目標(biāo)系統(tǒng)的組件是合法的。換句話,排序程序和數(shù)據(jù)庫確定包含在圖3B的系統(tǒng)描述符記錄中的處理器、硬驅(qū)、顯示器和軟件是否具有FamilyComponent表112中的相應(yīng)關(guān)系。如果一個(gè)組件是非法的(即,在系統(tǒng)描述符記錄中的組件不被包含在屬于系列X的目標(biāo)系統(tǒng)),則引起一個(gè)錯(cuò)誤標(biāo)志。
在關(guān)系表FamilyStetpSeq 106中駐留有來自Step表102和Family表104的映像。FamilyStepSeq表106包含可合法地在屬于系列X的目標(biāo)計(jì)算機(jī)系統(tǒng)上運(yùn)行的所有的軟件安裝和測(cè)試步驟。而且,就在此Family Step Seq表106中序列和階段號(hào)與每一個(gè)軟件安裝和測(cè)試步驟相關(guān)聯(lián)。這些序列和階段號(hào)代表針對(duì)一特定的系列的計(jì)算機(jī)系統(tǒng)這些步驟應(yīng)該運(yùn)行的正常順序。因此,F(xiàn)amilyStepSeq表106包括要在系列X目標(biāo)計(jì)算機(jī)系統(tǒng)上運(yùn)行的步驟清單和代表步驟被執(zhí)行的預(yù)定次序的序列和階段號(hào)。
Component Step表114是一個(gè)包含來自Component表108和Step表102的映像的關(guān)系表。Component Step表114包含要為目標(biāo)計(jì)算機(jī)系統(tǒng)的處理器、硬驅(qū)、顯示器和軟件運(yùn)行的軟件安裝和測(cè)試步驟。
為了檢索與包含在目標(biāo)系統(tǒng)上的各自組件相關(guān)的軟件安裝和測(cè)試步驟,在FamilyComponet表112和ComponentStep表114上執(zhí)行一個(gè)連接操作以獲得在目標(biāo)計(jì)算機(jī)系統(tǒng)160的組件上運(yùn)行的中間清單步驟。
連接操作導(dǎo)致一個(gè)在圖3B描述的系統(tǒng)描述符記錄中列出的處理器、硬驅(qū)、顯示器和軟件上運(yùn)行的步驟清單。FamilyComponent表112和ComponentStep表114的連接結(jié)果然后與包含系列X的所有步驟的FamilyStepSeq表106相連接。此連接操作的結(jié)果包括以序列號(hào)和階段號(hào)形式的排序信息,此序列號(hào)在一特定的階段內(nèi)是唯一的。如此,F(xiàn)amily Component表112、ComponentStep表114和FamilyStepSeq表106的三表連接就生成了相應(yīng)的軟件安裝和測(cè)試步驟以及以序列和階段號(hào)的形式的排序信息以在目標(biāo)計(jì)算機(jī)系統(tǒng)上160上安裝和/或測(cè)試軟件。
如果第一連接操作的結(jié)果(FamilyComponent表112和ComponentStep表114的連接)是一個(gè)空集,就會(huì)引起一個(gè)出錯(cuò)條件,對(duì)一個(gè)空集信號(hào),包含在目標(biāo)系統(tǒng)上的組件不屬于在系統(tǒng)描述符記錄中所列的系列?,F(xiàn)在說明一個(gè)這樣的例子??紤]到一個(gè)系統(tǒng)描述符記錄正確地指示一個(gè)目標(biāo)計(jì)算機(jī)系統(tǒng)屬于系統(tǒng)Y。但是假定,系統(tǒng)描述符記錄不正確地指示出屬于系列X的目標(biāo)系統(tǒng)的硬驅(qū)(硬驅(qū)Z)應(yīng)當(dāng)包含在系列Y中的目標(biāo)系統(tǒng)上。在這種情況下,ComponentStep表114包含與硬驅(qū)Z相關(guān)連聯(lián)的步驟。FamliyComponent表112包含與系列Y相關(guān)聯(lián)的組件。這樣,連接ComponentStep表114和FamilyComponent表112就會(huì)產(chǎn)生一個(gè)空集,因?yàn)橛豺?qū)Z并不是與系列Y相關(guān)聯(lián)的組件(相反,它反與系列X相關(guān)聯(lián))。從上述例子很明顯,該數(shù)據(jù)庫的優(yōu)選設(shè)計(jì)有利地使人確信某一系列的計(jì)算機(jī)系統(tǒng)僅包含與該系列相適應(yīng)的組件。
再次參照?qǐng)D5A和5C,在檢索與包含在目標(biāo)系統(tǒng)內(nèi)的組件相關(guān)的步驟之后,排序程序204的模塊518通過為該步驟檢查DepMask為每一步驟確定是否有步驟從屬性。如果有,模塊520從StepDependency表116中讀取從屬性并且模塊522根據(jù)DepTypeID解決此從屬性。
下一步,模塊524通過再次為該步驟檢查DepMask確定是否此步驟要求參數(shù)。如果是,模塊526從StepParameter表108中讀取該參數(shù)數(shù)據(jù),并且模塊528計(jì)算此參數(shù)的實(shí)際值并把它插進(jìn)此步驟的命令行。
模塊530通過讀取系統(tǒng)描述符記錄和生成對(duì)應(yīng)于包括在該目標(biāo)系統(tǒng)上的組件的環(huán)境文件來為該目標(biāo)計(jì)算機(jī)系統(tǒng)準(zhǔn)備環(huán)境變量。例如,讀取在圖3B中描述的系統(tǒng)描述符記錄,并且可以準(zhǔn)備象對(duì)應(yīng)于系統(tǒng)描述符記錄的處理器硬件組件的“set cpu=pentium”這樣的環(huán)境變量。
在模塊532,多個(gè)被檢索的軟件安裝和測(cè)試步驟(通過上述的三個(gè)表的連接檢索的并且解決了從屬性和加上了參數(shù))被以預(yù)定的次序排序。這個(gè)排序過程是按照相應(yīng)的序列號(hào)和階段號(hào)以提供一個(gè)步驟序列。該排序本身是通過使用已知的任何一個(gè)排序算法來完成的。
在模塊534,排序程序輸出前面參考的步驟文件和Setenv.bat文件。該步驟文件被分成多個(gè)子文件,每個(gè)子文件包含要在目標(biāo)計(jì)算機(jī)系統(tǒng)生產(chǎn)的Quick Test(Qt)、Extended Test1(ET1)、ExtendedTest2(ET2)、Software Install(SI)和Final Test(FT)階段分別執(zhí)行的步驟。
如所示,對(duì)于圖2的實(shí)施例,模塊534按原樣存儲(chǔ)該輸出文件或把它存在一個(gè)數(shù)據(jù)庫中或存在文件服務(wù)器202上。寫到文件服務(wù)器202上的輸出文件可用于指導(dǎo)在目標(biāo)計(jì)算機(jī)系統(tǒng)160上的軟件安裝和測(cè)試步驟的執(zhí)行。
在模塊536,如果需要,該步驟文件可以利用一步驟序列插入碼來修改。在優(yōu)選實(shí)施例中,該插入碼是一個(gè)標(biāo)準(zhǔn)模塊,允許為一特定的目標(biāo)計(jì)算機(jī)系統(tǒng)、一特定系列的計(jì)算機(jī)系統(tǒng)或炒一特定的組件生成一個(gè)插入碼。例如,如果一個(gè)廠商希望在某一天針對(duì)某一特定的組件在另一個(gè)測(cè)試步驟之前運(yùn)行一個(gè)測(cè)試步驟,那么就可以形成一個(gè)插入碼,該插入碼修改包含其順序要修改的步驟的所有步驟序列并且相應(yīng)地改變?cè)谀K536中的執(zhí)行順序。在修補(bǔ)之后,模塊538輸出再次按原樣或在數(shù)據(jù)庫中或在文件服務(wù)器202上進(jìn)行存儲(chǔ)的修改文件。
最后,模塊540給出寫到磁盤150的選項(xiàng),圖1。如果要求有磁盤,而不是直接寫到該磁盤上,則模塊542在內(nèi)存中生成一個(gè)“虛擬盤”并且隨后模塊544在一次操作中把整個(gè)虛擬盤寫到該物理盤上,這減少了寫到軟驅(qū)的操作次數(shù)并由此極大地加快了整個(gè)程序的運(yùn)行速度。
該虛擬盤是由下列程序通過分配一個(gè)內(nèi)存塊陣列而每一塊與該物理盤的物理扇區(qū)大小相等來生成與該物理盤相當(dāng)?shù)膬?nèi)存而生成的。該文件系統(tǒng)是FAT12(由PC-DOS、MS-DOS、Windows95和WindowsNT操作系統(tǒng)使用的)。第一扇區(qū)是該磁盤的引導(dǎo)扇區(qū)。一個(gè)柱面是一組扇區(qū)的一個(gè)邏輯組成或單元。該數(shù)值在該文件系統(tǒng)一旦初始化完成后就是固定的。例如,一個(gè)柱面的大小是兩個(gè)扇區(qū)。文件系統(tǒng)僅允許由柱面而不是由扇區(qū)來分配。在這種情況下,最小的文件將最少占據(jù)一個(gè)柱面(或2個(gè)扇區(qū))。
開始生成一個(gè)內(nèi)存塊陣列。內(nèi)存塊的數(shù)量與給定文件系統(tǒng)的該磁盤上的物理扇區(qū)的數(shù)量相等。
初始化所有內(nèi)存塊的內(nèi)容值為0。
通過只拷貝該引導(dǎo)區(qū)的外部映像來初始化引導(dǎo)區(qū),此外部映像是存儲(chǔ)在一個(gè)文件里。
初始化該FAT表(在該磁盤上由該文件系統(tǒng)定義的扇區(qū))。
如果要求文件寫操作讀該文件分配所需的柱面如果有錯(cuò)誤,因?yàn)闆]有足夠的空間而退出函數(shù)。
更新所分配柱面的的目錄和FAT表把所讀的內(nèi)容寫到該柱面。
如果要求文件刪除操作。
釋放對(duì)給定文件所分配的柱面更新所釋放柱面的目錄和FAT表如果要求物理盤寫操作從該盤的引導(dǎo)扇區(qū)的第四字節(jié)獲取所存儲(chǔ)的磁盤使用數(shù)如果該數(shù)>=最大數(shù),返回一個(gè)錯(cuò)誤代碼以指示錯(cuò)誤原因如果該數(shù)<最大數(shù),將該數(shù)+1把該數(shù)寫回到虛擬盤上的引導(dǎo)扇區(qū)的第三字節(jié)把內(nèi)存塊從虛擬盤寫回到物理盤,當(dāng)沒有包含數(shù)據(jù)的內(nèi)存塊時(shí)停止結(jié)束參照?qǐng)D1和圖2,箭頭130指示可對(duì)數(shù)據(jù)庫100進(jìn)行修改。例如,如果生成了一個(gè)新的系列的計(jì)算機(jī)系統(tǒng),就可相應(yīng)地修改數(shù)據(jù)庫100。尤其是,在Family表104的FamilyID該新的系列被賦予一個(gè)新的系列標(biāo)識(shí)符并且該新系列的名稱被賦予Family表104的Name屬性。軟件安裝和測(cè)試步驟的清單被加到FamilyStepSeq表106,這些步驟代表在新的計(jì)算機(jī)系統(tǒng)系列中哪些步驟需要運(yùn)行并以什么樣的預(yù)定順序。如果新的系列的計(jì)算機(jī)系統(tǒng)與已有的系列具有相似性,就有可能修改FamilyStepSeq表106中已有系列的入口以生成新的系列的入口。如果需要為新系列的計(jì)算機(jī)系統(tǒng)生成任何新的步驟,那么這些新的步驟要加到Step表102中。相似地,如果新系列的計(jì)算機(jī)系統(tǒng)配置有任何新的計(jì)算機(jī)組件,這些組件也要加到Componenet表108中。更新ComponentStep表114以把新系列計(jì)算機(jī)系統(tǒng)中每一個(gè)組件與和其軟件安裝和測(cè)試相適當(dāng)?shù)牟襟E相關(guān)聯(lián)。如果該新系列僅使用在數(shù)據(jù)庫中已提供的組件,該表不需要修改。更新FamilyComponent表112以便包含在新系列中的所允許的組件的清單將位于數(shù)據(jù)庫中。尤其是,需要把新計(jì)算機(jī)系統(tǒng)的SysID與每個(gè)所允許組件的CompID相關(guān)聯(lián)。這可以通過拷貝并且隨后修改一個(gè)舊系列計(jì)算機(jī)系統(tǒng)的已有入口來完成。
應(yīng)明白,在按照該優(yōu)選實(shí)施例創(chuàng)建數(shù)據(jù)庫中,提供了某些重要的優(yōu)點(diǎn)。尤其是,數(shù)據(jù)庫的模塊化設(shè)計(jì)使得對(duì)新系列的計(jì)算機(jī)系統(tǒng)容易設(shè)置軟件安裝和測(cè)試步驟。而且,可以獨(dú)立于其他的軟件安裝和測(cè)試步驟修改針對(duì)一特定系列的計(jì)算機(jī)系統(tǒng)和一特定組件的軟件安裝和測(cè)試步驟。
現(xiàn)在注意在目標(biāo)系統(tǒng)160上執(zhí)行該步驟序列。使用讀取、解釋和執(zhí)行對(duì)應(yīng)于該目標(biāo)計(jì)算機(jī)系統(tǒng)的步驟序列的程序,在目標(biāo)計(jì)算機(jī)系統(tǒng)160上執(zhí)行軟件安裝和測(cè)試步驟。在優(yōu)選實(shí)施例中,該程序被稱為RunStep,位于圖1實(shí)施例中的步驟盤150或圖2實(shí)施例的文件服務(wù)器202上。
圖7表示在任何軟件安裝和測(cè)試步驟已執(zhí)行之前的包含在一個(gè)步驟文件里的一段步驟序列。如以前提到的,該步驟序列包括用于安裝軟件和/或用于測(cè)試定制目標(biāo)計(jì)算機(jī)系統(tǒng)的命令。而且,在該步驟文件中的該步驟序列允許命令能執(zhí)行一規(guī)定的迭代數(shù)或一規(guī)定的時(shí)間長度,而且,該步驟文件可以包含被RunStep程序忽略的注釋。在步驟文件中標(biāo)號(hào)800用于分離該步驟序列的字段,810項(xiàng)是用于測(cè)試目標(biāo)計(jì)算機(jī)系統(tǒng)160的命令,該命令包括例如用于測(cè)試內(nèi)存和用于測(cè)試小型機(jī)接口(SCSI)設(shè)備的命令。從該圖中可以看到,每個(gè)命令可以包括諸如與特定的測(cè)試環(huán)境相適應(yīng)的‘-o’這樣的開關(guān)。820項(xiàng)是一個(gè)被RunStep程序所忽略的注釋。810c項(xiàng)是一個(gè)以時(shí)間循環(huán)的命令。在優(yōu)選結(jié)構(gòu)中,“begin_time_loop”命令指定循環(huán)的起始點(diǎn),‘end_time_loop’命令指定循環(huán)的終止點(diǎn)?!産egin_time_loop’命令與指定通過循環(huán)迭代的時(shí)間長度的一個(gè)字段組合使用。在這里,例如,命令810c是運(yùn)行1小時(shí)30分鐘。810d是按照重復(fù)迭代的次數(shù)循環(huán)的命令。在優(yōu)選實(shí)施例中,‘begin_iterate_loop’命令指示RunStep程序一個(gè)重復(fù)迭代就要執(zhí)行?!甧nd_iterate_loop’命令指示循環(huán)命令的結(jié)束。在這里循環(huán)命令810d被運(yùn)行三次。
圖8-13表示RunStep程序的流程圖。從整體看RunStep一次一行地處理每個(gè)步驟子文件而不是把整個(gè)步驟子文件讀進(jìn)內(nèi)存中。在每一行,RunStep執(zhí)行多項(xiàng)檢查以評(píng)估它是否繼續(xù)處理該行。例如,如果RunStep發(fā)現(xiàn)由于執(zhí)行前面的行而注冊(cè)有失敗條件時(shí),它就會(huì)知道繼續(xù)執(zhí)行程序已沒有意義。相應(yīng)地,RunStep會(huì)查看是否操作員已亂改動(dòng)了該步驟子文件(例如為了略過不必要的測(cè)試),如果是,將不會(huì)繼續(xù)執(zhí)行該程序并由此強(qiáng)迫操作員再重新開始一遍。這樣,如果RunStep確定一個(gè)步驟子文件中的一特定的行就是下一個(gè)要執(zhí)行的行時(shí),就只讀該行,沒有必要讀取該步驟子文件中的行。很清楚,它具有省時(shí)的特點(diǎn)。
圖8是RunStep的頂層流程圖。第一模塊900初始化該系統(tǒng)的狀態(tài),而這在讀取一步驟子文件的任何行之前執(zhí)行。在這個(gè)階段,RunStep讀取可變的環(huán)境變量(從文件“progress.bat”,后面將描述)以便它子解該系統(tǒng)的精確狀態(tài),例如,是在執(zhí)行最后一行時(shí)返回的失敗嗎 是必須要重新運(yùn)行或RunStep可以接著讀取下一行嗎 圖9更詳細(xì)地描述了初始化階段。第一模塊902使控制中斷功能無效-這防止操作者中斷退出該程序以忽略一個(gè)步驟。在模塊904然后初始化變量,和在模塊906程序從該環(huán)境中讀取環(huán)境變量。這些環(huán)境變量主要存儲(chǔ)在叫作progress.bat的批處理文件中,該批處理文件位于內(nèi)存中,并且當(dāng)RunStep執(zhí)行步驟子文件中靠前的行時(shí)將已經(jīng)寫到此批處理文件。progress.bat包含當(dāng)前系統(tǒng)的狀態(tài),并且如將要描述的(模塊106.圖3)更新從該步驟子文件中讀取的每一行。progress.bat將包含如最后執(zhí)行的步驟的行號(hào)這樣的信息;標(biāo)識(shí)哪一個(gè)實(shí)際命令被執(zhí)行;如果在一個(gè)時(shí)間循環(huán)中一個(gè)特定的命令正在被執(zhí)行,預(yù)期要多長時(shí)間;要進(jìn)行哪一個(gè)測(cè)試或軟件安裝階段。
如果該環(huán)境變量被成功地讀取,這是由模塊908所決定的,然后模塊910把在本地驅(qū)動(dòng)器上所有文件的目錄清單讀進(jìn)RunStep正在運(yùn)行的計(jì)算機(jī)160或202的內(nèi)存中。這樣當(dāng)RunStep來檢查一個(gè)文件是否在本地驅(qū)動(dòng)器(模塊1002,圖13)上時(shí),通過讀取在存儲(chǔ)器上的目錄清單就可以做到這些,并且不必搜索本地驅(qū)動(dòng)器本身,這節(jié)省了時(shí)間。如果RunStep成功地讀取了該目錄清單,這是由模塊912所決定的,那么模塊914獲取當(dāng)前的過程狀態(tài)。在此階段,RunStep按照該系統(tǒng)的狀態(tài)設(shè)置了很多的標(biāo)志,即,失敗、再運(yùn)行等。就是這些標(biāo)志將決定通過序列模塊916、918、920的RunStep流。如所應(yīng)用的,這些模塊將引導(dǎo)RunStep進(jìn)入子進(jìn)程A、B、C,圖10。
參照?qǐng)D10(a)如果RunStep已經(jīng)在模塊916建立和該下一個(gè)步驟是正常的過程步驟則進(jìn)入程序A。在程序A中的第一模塊即模塊922校正各種校驗(yàn)和,這樣做的目的是確保對(duì)步驟子文件沒有亂改動(dòng),例如,RunStep讀取某校驗(yàn)和并把它們與存儲(chǔ)在progress.bat中的校驗(yàn)和進(jìn)行相關(guān)處理-任何差異將表明一個(gè)未授權(quán)的人過去一直在改動(dòng)此步驟子文件。如果所有的校驗(yàn)和是正確的,這是由模塊924所決定的,那么在模塊926該程序就復(fù)位(清除)某些變量并讀取當(dāng)前的時(shí)間。
如果該環(huán)境指示最后一步需要被再次執(zhí)行,這是由模塊918所決定的,就進(jìn)入程序B,圖10(b)。程序B的目的是如果需要,給一個(gè)授權(quán)操作者一個(gè)中斷進(jìn)入程序的機(jī)會(huì)以避免再次執(zhí)行該最后的一步。因此在模塊928顯示一條信息,即操作者可以在五秒時(shí)間內(nèi)選擇生成工具(MFGTools)或進(jìn)行此再次運(yùn)行。生成工具是一個(gè)改善的方法,由此,如果需要,一個(gè)具有相應(yīng)密碼的授權(quán)的操作者可以中斷進(jìn)入該步驟子文件。模塊930確定是否該最后的一步要運(yùn)行,這取決于操作者的響應(yīng),并且如果是這樣,模塊932設(shè)置進(jìn)程變量(progress.bat)以運(yùn)行MFGTools。
圖10(c)在模塊934程序C簡單地設(shè)置該進(jìn)程變量(progress.bat)以運(yùn)行MFGTools。
回到圖9,模塊936確定是否返回一個(gè)失敗,如果不返回,模塊938查看當(dāng)前的階段是否是合法的。
參照?qǐng)D8,一旦完成初始化模塊900,并且如果返回“success”,這是由模塊950所決定的,那么RunStep進(jìn)到作為“process step file”的模塊952。在RunStep到達(dá)此階段時(shí)為止,它已經(jīng)從該環(huán)境中讀取了足夠的信息以知道它是否應(yīng)進(jìn)到該步驟子文件的下一行、再運(yùn)行前一行或放棄等。
圖11更詳細(xì)地表示模塊952,“process step file”。模塊954確定該生成工具是否已被選擇或是否要求再運(yùn)行,如果任何一個(gè)條件為真,那么不必做進(jìn)一步的設(shè)置并且這部份程序可以返回成功。如果沒有條件是真的,(即,假定RunStep現(xiàn)在已進(jìn)行到該步驟子文件的下一行),那么在模塊956打開相應(yīng)階段步驟子文件。這意味著RunStep打開與正被引導(dǎo)的測(cè)試或軟件安裝(即,快速測(cè)試、擴(kuò)展測(cè)試等)的特定階段相關(guān)聯(lián)的步驟子文件。
模塊958確定是否有倒回階段,倒回階段是再運(yùn)行的一種特殊情況,這時(shí)整個(gè)測(cè)試階段在出現(xiàn)一個(gè)步驟失敗時(shí)需要被重復(fù),即,RunStep必須回到針對(duì)該階段的步驟子文件的開頭。如果RunStep確定這是一個(gè)倒回階段,那么相應(yīng)地模塊960設(shè)置環(huán)境并返回成功。
如果它不是一個(gè)倒回階段,那么模塊962從步驟子文件中讀取下一行號(hào),并通過將該行號(hào)與存儲(chǔ)在progress.bat中、在初始化階段由RunStep讀取的行號(hào)進(jìn)行匹配并進(jìn)一步檢查它剛剛讀取的行號(hào)是它所希望讀取的行-這是一個(gè)反亂改動(dòng)設(shè)備。尤其是,當(dāng)RunStep在運(yùn)行時(shí),progress.bat包含有關(guān)被執(zhí)行的最后步驟的信息,即,諸如在步驟子文件中的行號(hào)、被執(zhí)行的命令的命令I(lǐng)D及其他檢查和相關(guān)信息。在模塊962,RunStep讀取包含在內(nèi)存中的progress.bat文件,并且如由progress.bat中的行號(hào)所確定的那樣略過該步驟子文件中的一些行,然后檢查其實(shí)際所處的行號(hào)是否與它希望所處的行號(hào)相一致。它還檢查位于該行的命令是否與被告知?jiǎng)偙粓?zhí)行的那個(gè)是同一個(gè),即,RunStep證實(shí)它發(fā)現(xiàn)自己現(xiàn)在所處的行實(shí)際上是被運(yùn)行的最后一步。
如果它是,這是由模塊964決定的,那么,在模塊966讀取該步并為運(yùn)行下一步而設(shè)置進(jìn)程環(huán)境。模塊968檢查所讀的該步的有效性,如果是,返回成功。如果沒有讀取一有效步驟,在模塊970,RunStep查看是否它實(shí)際上已到達(dá)該最后階段的步驟子文件的最后行。如果是這樣,那么RunStep返回一個(gè)“all steps processed”的消息,表示所有的測(cè)試都完成。如果不是,則返回失敗。
另一方面,如果RunStep的模塊964顯示它剛剛讀取的行號(hào)并不與它所希望的相匹配,那么RunStep進(jìn)入圖12中所示的程序。第一模塊972檢查是否RunStep實(shí)際上已到達(dá)該最后階段的步驟子文件的最后行。如果是,則返回一個(gè)消息,指示所有的測(cè)試已完成。如果不是,模塊974檢查是否到達(dá)一步驟子文件的最后一行。如果是,RunStep退回到模塊956,并為下一階段的測(cè)試打開該步驟子文件。
另一方面,如果RunStep確定這不是此步驟子文件的末尾,那么它在模塊976查看它剛剛讀取的行號(hào)是否超過它所希望讀取的行(從內(nèi)存中讀)。如果該行號(hào)被超過,其指示RunStep在步驟子文件中存在手動(dòng)亂改(例如,一個(gè)操作者從此步驟子文件中消除一個(gè)步驟)并且RunStep返回失敗。如果該行號(hào)沒被超過,那么RunStep返回到模塊962。
然后RunStep返回到模塊990,圖8,并且如果遇到此步驟子文件的末尾,它就將其報(bào)告給該操作者。RunStep進(jìn)一步查看是否在模塊992返回有失敗。如果是這樣,就做報(bào)告并且RunStep退出。
在此階段,RunStep已確定此系統(tǒng)的精確狀態(tài),知道是否將要再運(yùn)行一步、倒回一個(gè)階段或執(zhí)行此步驟子文件中下一行并且相應(yīng)地設(shè)置內(nèi)存。在繼續(xù)之前,RunStep存儲(chǔ)所有它在前期階段中學(xué)習(xí)的信息,這在模塊994中進(jìn)行并在圖13中更詳細(xì)地說明。
首先,模塊1000找時(shí)機(jī)清除不再需要的文件。然后模塊1002確定將要發(fā)生的測(cè)試或軟件安裝所需的文件是否存儲(chǔ)在本地驅(qū)動(dòng)器上或需要通過網(wǎng)絡(luò)獲取,并保存此信息。下一步,模塊1004,1006,RunStep使用它在前期階段中學(xué)習(xí)的信息來設(shè)置環(huán)境變量(在progress.bat)以便下次RunStep從開始運(yùn)行時(shí),所有的環(huán)境變量都被更新成代表該系統(tǒng)的當(dāng)前狀態(tài)。
在模塊1008,RunStep檢查此寫操作是成功的之后,它在模塊1010中寫一個(gè)日志文件。如果成功,模塊1012,在模塊1014確定是否有再次運(yùn)行的需要,如果需要,模塊1016生成一個(gè)再次運(yùn)行文件??刂迫缓蠡氐侥K1020,圖8,并且如果沒有返回失敗,該程序被退出,并以一個(gè)255錯(cuò)誤級(jí)別指示應(yīng)該執(zhí)行從模塊966的步驟子文件讀取的命令行。這發(fā)生在模塊1022。然后RunStep返回到開始以處理下一步(在步驟子文件中的行)。
應(yīng)看出,RunStep程序是一個(gè)高安全性的系統(tǒng),其中包括有各種檢查以防止未授權(quán)的用戶亂改此步驟子文件以便去掉多余的測(cè)試或避免再運(yùn)行。這通過使控制中斷無效;以各種間隔校正此步驟子文件的行號(hào);把校驗(yàn)和放進(jìn)系統(tǒng)中來達(dá)到。另一個(gè)安全的方面是不管何時(shí)發(fā)生失敗,如在上面流程圖中各點(diǎn)處由RunStep所確定的,RunStep退出,并且此項(xiàng)失敗被寫到一個(gè)只讀隱藏文件中;一個(gè)業(yè)余操作者不會(huì)意識(shí)到到此文件并且不能找到它,因此也不能發(fā)現(xiàn)出了什么問題和如何忽略該錯(cuò)誤,即,他將被迫拒絕該組件或再次運(yùn)行該測(cè)試直到滿意為止。
雖然已說明和描述了說明性的實(shí)施例,在前面的揭示中也考慮到更寬范圍的修改、變化和替換。有此實(shí)施例的特點(diǎn)可以不必使用其他特點(diǎn)而得到利用。所以,應(yīng)明白,所列的附屬權(quán)利要求應(yīng)被更廣義地、并以一種與在此揭示的實(shí)施例的范圍相一致的方式理解。
權(quán)利要求
1.一種在計(jì)算機(jī)系統(tǒng)制造中使用的設(shè)備,該設(shè)備包括步驟表,基本上包括在給定地區(qū)正在制造的所有計(jì)算機(jī)系統(tǒng)的所有組件的所有的軟件安裝和/或測(cè)試步驟;組件表,基本上包含在給定地區(qū)正在制造的所有的計(jì)算機(jī)系統(tǒng)所包括的所有組件;以及步驟從屬性表,標(biāo)識(shí)該步驟表中與該計(jì)算機(jī)系統(tǒng)所使用的組件不兼容的步驟。
2.如權(quán)利要求1的設(shè)備,其特征還包括一個(gè)標(biāo)識(shí)步驟表中要求有參數(shù)的步驟步驟參數(shù)表。
3.如權(quán)利要求1的設(shè)備,其特征是該步驟表包括一個(gè)指示一個(gè)步驟在步驟從屬性表中有一個(gè)相應(yīng)入口的屬性。
4.如權(quán)利要求2的設(shè)備,其特征是該步驟表包括一個(gè)指示一個(gè)步驟在此步驟參數(shù)表中有一個(gè)相應(yīng)入口的屬性。
5.如權(quán)利要求1的設(shè)備,其特征是該步驟表包括一個(gè)作為每個(gè)軟件安裝或測(cè)試步驟的唯一標(biāo)識(shí)的屬性。
6.如權(quán)利要求1的設(shè)備,其特征是該步驟表包括一個(gè)對(duì)應(yīng)于用于執(zhí)行一個(gè)軟件安裝步驟的可執(zhí)行命令行的屬性。
7.如權(quán)利要求1的設(shè)備,其特征是該步驟表包括一個(gè)標(biāo)識(shí)在一個(gè)相應(yīng)的步驟被執(zhí)行后是否需要一個(gè)暫?;蛑匦乱龑?dǎo)的屬性。
8.如權(quán)利要求1的設(shè)備,其特征是該步驟表包括一個(gè)指示一個(gè)相應(yīng)的步驟可執(zhí)行的最大次數(shù)的屬性。
9.如權(quán)利要求1的設(shè)備,其特征是該步驟表包括一個(gè)標(biāo)識(shí)一個(gè)與一軟件安裝或測(cè)試步驟相關(guān)的組件類的屬性。
10.如權(quán)利要求1的設(shè)備,其特征是該組件表包括一個(gè)標(biāo)識(shí)該組件表內(nèi)的所有組件的屬性。
11.如權(quán)利要求1的設(shè)備,其特征是該組件表包括一個(gè)標(biāo)識(shí)一個(gè)組件類的屬性。
12.如權(quán)利要求1的設(shè)備,其特征是此計(jì)算機(jī)系統(tǒng)對(duì)應(yīng)于一系列計(jì)算機(jī)系統(tǒng)中的一個(gè),并且該設(shè)備還包括一個(gè)系列表、一個(gè)系列-步驟關(guān)系表、一個(gè)系列-組件關(guān)系表和一個(gè)組件-步驟關(guān)系表,此系列表標(biāo)識(shí)正在制造的計(jì)算機(jī)系統(tǒng)的系列,此系列-步驟關(guān)系表標(biāo)識(shí)一套軟件安裝和/或測(cè)試步驟與每一系列的計(jì)算機(jī)系統(tǒng)間的關(guān)系,此系列-組件關(guān)系表標(biāo)識(shí)該系列計(jì)算機(jī)系統(tǒng)與該套組件間的關(guān)系,此組件-步驟關(guān)系表標(biāo)識(shí)一個(gè)組件與一套和該相應(yīng)組件相適應(yīng)的軟件安裝和/或測(cè)試步驟間的關(guān)系。
13.如權(quán)利要求12的設(shè)備,其特征是該系列-步驟關(guān)系表包括一個(gè)表示一個(gè)預(yù)定順序、與一個(gè)系列相關(guān)的步驟將以此順序被執(zhí)行的屬性。
14.一種在計(jì)算機(jī)系統(tǒng)的制造中使用的設(shè)備,該設(shè)備包括步驟表,基本上包括在給定地區(qū)正在制造的所有計(jì)算機(jī)系統(tǒng)的所有組件的所有的軟件安裝和/或測(cè)試步驟;組件表,基本上包含在給定地區(qū)正在制造的所有的計(jì)算機(jī)系統(tǒng)所包括的所有組件;以及步驟參數(shù)表,標(biāo)識(shí)在步驟表中要求一個(gè)參數(shù)的步驟。
15.如權(quán)利要求14的設(shè)備,其特征是該步驟表包括一個(gè)指示一步驟在此步驟參數(shù)表中有一個(gè)相應(yīng)的入口的屬性。
16.如權(quán)利要求14的設(shè)備,其特征是該步驟表包括一個(gè)對(duì)每一個(gè)軟件安裝或測(cè)試步驟作為一個(gè)唯一標(biāo)識(shí)的屬性。
17.如權(quán)利要求14的設(shè)備,其特征是該步驟表包括一個(gè)指定在哪一個(gè)生產(chǎn)階段執(zhí)行一個(gè)步驟的屬性。
18.如權(quán)利要求14的設(shè)備,其特征是該步驟表包括一個(gè)對(duì)應(yīng)于用于執(zhí)行一個(gè)軟件安裝步驟的可執(zhí)行命令行的屬性。
19.如權(quán)利要求14的設(shè)備,其特征是該步驟表包括一個(gè)標(biāo)識(shí)在一個(gè)相應(yīng)的步驟被執(zhí)行后是否需要一個(gè)暫?;蛑匦乱龑?dǎo)的屬性。
20.如權(quán)利要求14的設(shè)備,其特征是該步驟表包括一個(gè)指示一個(gè)相應(yīng)的步驟可執(zhí)行的最大次數(shù)的屬性。
21.如權(quán)利要求14的設(shè)備,其特征是該步驟表包括一個(gè)標(biāo)識(shí)一個(gè)與一軟件安裝或測(cè)試步驟相關(guān)的組件類的屬性。
22.如權(quán)利要求14的設(shè)備,其特征是該組件表包括一個(gè)標(biāo)識(shí)該組件表內(nèi)的所有組件的屬性。
23.如權(quán)利要求14的設(shè)備,其特征是該組件表包括一個(gè)標(biāo)識(shí)一個(gè)組件類的屬性。
24.如權(quán)利要求14的設(shè)備,其特征是此計(jì)算機(jī)系統(tǒng)對(duì)應(yīng)于一系列計(jì)算機(jī)系統(tǒng)中的一個(gè),并且該設(shè)備還包括一個(gè)系列表、一個(gè)系列-步驟關(guān)系表、一個(gè)系列-組件關(guān)系表和一個(gè)組件-步驟關(guān)系表,此系列表標(biāo)識(shí)正在制造的計(jì)算機(jī)系統(tǒng)的系列,此系列-步驟關(guān)系表標(biāo)識(shí)一套軟件安裝和/或測(cè)試步驟與每一系列的計(jì)算機(jī)系統(tǒng)間的關(guān)系,此系列-組件關(guān)系表標(biāo)識(shí)該系列計(jì)算機(jī)系統(tǒng)與該套組件間的關(guān)系,此組件-步驟關(guān)系表標(biāo)識(shí)一個(gè)組件與一套和該相應(yīng)組件相適應(yīng)的軟件安裝和/或測(cè)試步驟間的關(guān)系。
25.如權(quán)利要求24的設(shè)備,其特征是該系列-步驟關(guān)系表包括一個(gè)表示一個(gè)預(yù)定順序、與一個(gè)系列相關(guān)的步驟將以此順序被執(zhí)行的屬性。
全文摘要
計(jì)算機(jī)系統(tǒng)制造中使用的設(shè)備包括一個(gè)步驟表和一個(gè)組件表。該步驟表包含在給定地區(qū)正在制造的所有計(jì)算機(jī)系統(tǒng)的所有組件的所有的軟件安裝和/或測(cè)試步驟。此組件表包含在給定地區(qū)正在制造的所有的計(jì)算機(jī)系統(tǒng)所包括的所有組件。此設(shè)備還包括一個(gè)步驟從屬性表和一個(gè)步驟參數(shù)表。該從屬性表標(biāo)識(shí)該步驟表中與該計(jì)算機(jī)系統(tǒng)所使用的組件不兼容的步驟。該參數(shù)表標(biāo)識(shí)在步驟表中要求有參數(shù)的步驟。
文檔編號(hào)G06F9/06GK1281179SQ9910961
公開日2001年1月24日 申請(qǐng)日期1999年6月30日 優(yōu)先權(quán)日1999年6月30日
發(fā)明者理查德·D·安伯格, 羅杰·翁, 邁克爾·林奇 申請(qǐng)人:戴爾美國公司