国产99久久久久久免费看-国产99免费视频-国产99区-国产99热-国产99热久久这里有精品999

愛彼電路·高精密PCB電路板研發(fā)生產(chǎn)廠家

微波電路板·高頻板·高速電路板·雙面多層板·HDI電路板·軟硬結(jié)合板

報(bào)價(jià)/技術(shù)支持·電話:0755-23200081郵箱:sales@ipcb.cn

特種電路板

特種電路板

半導(dǎo)體測試板廠家講解半導(dǎo)體FT測試MES的流程定制功能的類設(shè)計(jì)
2021-01-14
瀏覽次數(shù):4381
分享到:

1. 引言

半導(dǎo)體 FT 測試(Final Test,也稱為 FT)是對(duì)已制作完成的半導(dǎo)體元件施行結(jié)構(gòu)及電內(nèi)功能明確承認(rèn),以保障半導(dǎo)體元件合乎系統(tǒng)的需要[1]。半導(dǎo)體行業(yè)是典型的技術(shù)密布型科學(xué)技術(shù)制作行業(yè),與信息化的公司級(jí)

應(yīng)用軟件相接合對(duì)增長出產(chǎn)速率至關(guān)關(guān)緊,而其復(fù)雜多變的測試流程則對(duì)應(yīng)用軟件的預(yù)設(shè)提出了更高的要求。

制作執(zhí)行系統(tǒng) MES (Manufacture Execution System)是一種以優(yōu)化整個(gè)兒出產(chǎn)過程為目的,實(shí)時(shí)使聚在一起和處置出產(chǎn)過程中的數(shù)值,同時(shí)與規(guī)劃層和扼制層維持雙向通信并從上、下兩層收繳相應(yīng)數(shù)值、反饋處置

最后結(jié)果和出產(chǎn)指令的公司級(jí)應(yīng)用軟件[2]。MES 是半導(dǎo)體測實(shí)行試試業(yè)常見的應(yīng)用軟件,自上百年八十時(shí)代初在 美國公司界興起后已經(jīng)變成制作業(yè)信息化中成熟的系統(tǒng)。MES 為扼制涵蓋物料、設(shè)施、擔(dān)任職務(wù)的人、流程指令和設(shè)備在內(nèi)的全部工廠資源,供給了一個(gè)一統(tǒng)的平臺(tái),對(duì)提居高不下業(yè)出產(chǎn)速率、增長產(chǎn)質(zhì)量量、減低耗費(fèi)方遮擋面部的東西有關(guān)緊的效用[3]。依據(jù)客戶的需要制定靈活可變的測試流程是半導(dǎo)體測試 MES 的中心功能之一,一點(diǎn) MES 預(yù)設(shè)者將其稱之為 PRP (Process Planning)板塊[1]。

不一樣的芯片出產(chǎn)者對(duì)芯片的測試流程及測試步驟有不一樣的要求,因?yàn)檫@個(gè)測試廠商的 MES 應(yīng)該能夠依據(jù)芯片出產(chǎn)者的要求在軟件系統(tǒng)中樹立組裝出一條完整的測試流程。在這條測試流程中應(yīng)該里面含有客戶要求

的各個(gè)測試步驟及順著次序,而各個(gè)測試步驟中則應(yīng)該里面含有本測試步驟的測試最后結(jié)果以及特別指定的業(yè)務(wù)思維規(guī)律。如何施行類預(yù)設(shè)滿意上面所說的需要并在不可缺少時(shí)能夠迅速研發(fā)擴(kuò)展現(xiàn)新門類的測試步驟變成 MES 軟件的預(yù)設(shè)中需求重點(diǎn)解決的問題。

2. 功能需求

2.1. 行業(yè)術(shù)語定義

為描述方便,特對(duì)行業(yè)術(shù)語解釋如下:

? 來料:指從客戶處得到的、未經(jīng)過測試的封裝后芯片;

? 產(chǎn)品:指經(jīng)過測試、可以發(fā)貨返還給客戶的芯片;

? 生產(chǎn):指質(zhì)量檢測過程,使得來料轉(zhuǎn)變?yōu)楫a(chǎn)品。

? PE:Process Engineer。流程工程師,負(fù)責(zé)在系統(tǒng)中為產(chǎn)品制定對(duì)應(yīng)的測試流程。

? OP:Operator。操作員,負(fù)責(zé)在測試生產(chǎn)線上工作,并同步在 MES 中維護(hù)相應(yīng)信息,如保存測試數(shù)據(jù)、繼續(xù)下一步測試等。

2.2. 測試流程及測試步驟

一條完整的 FT 測試流程由許多個(gè)測試步驟組成,每個(gè)測試步驟應(yīng)當(dāng)記錄其自身的測試結(jié)果數(shù)據(jù)并具有特定的業(yè)務(wù)邏輯(如在何種情況下需要繼續(xù)、暫停測試等等)。有一類特殊的測試步驟稱為測試制程,一個(gè)測試制程可以包括一個(gè)或多個(gè)子步驟,是 FT 測試的核心步驟。

FT 測試的測試步驟有如下 9 類:

? IQC (Incoming Quality Control):來料質(zhì)量控制,意為對(duì)剛剛進(jìn)入生產(chǎn)線的來料進(jìn)行質(zhì)量檢測,一般為整個(gè)流程的第一個(gè)步驟。

? Baking:烘烤,意為對(duì)來料進(jìn)行烘烤處理,為接下來的測試步驟做準(zhǔn)備。

? GuTest:機(jī)臺(tái)測試,令機(jī)臺(tái)對(duì)標(biāo)準(zhǔn)件進(jìn)行檢測,從而校準(zhǔn)機(jī)臺(tái)設(shè)置。

? Test:測試制程,使用測試機(jī)臺(tái)對(duì)來料進(jìn)行檢測,是 FT 測試的核心步驟,可包括多個(gè)子測試步驟,子測試步驟統(tǒng)稱為 FT。測試制程執(zhí)行后來料轉(zhuǎn)變?yōu)槲窗b的產(chǎn)品。

? Finish:測試完成站,一般在該步驟對(duì)測試后的產(chǎn)品進(jìn)行裝盤。

? FVI (Final Visual Inspection):最終光檢,對(duì)產(chǎn)品進(jìn)行可視化檢查。

? FQC (Final Quality Control):最終質(zhì)量控制,在裝箱前進(jìn)行最后檢查。

? Packing:裝箱,對(duì)裝盤完成的產(chǎn)品進(jìn)行裝箱。

? OQC (Output Quality Control):出貨品質(zhì)控制,對(duì)裝箱后產(chǎn)品進(jìn)行出貨前的檢查。

以上 9 類測試步驟是目前業(yè)內(nèi)較為通用的測試步驟,大多數(shù)客戶對(duì)測試流程的要求可通過對(duì)以上各類測試步驟進(jìn)行重復(fù)、排列、組合而建立起來。值得說明的是,半導(dǎo)體行業(yè)還處于高速發(fā)展階段,以上提到的 9 類測試步驟必然無法長期滿足日益增長的客戶需求,因此能夠允許開發(fā)人員快速擴(kuò)展出新的測試步驟類也是重要需求之一。

2.3. 流程定制功能

對(duì)于每一批來料,首先由 PE 針對(duì)客戶的要求進(jìn)行流程定制,再由生產(chǎn)線上的 OP 根據(jù)已制定的測試流程依次執(zhí)行測試步驟對(duì)來料進(jìn)行測試,如圖 1 所示。

例如,某客戶向 FT 測試廠商寄送出一批來料,并要求對(duì)該批來料依次進(jìn)行如下步驟的測試:IQC- > Baking- > Test(FT1- > FT2)- > Finish- > OQC。其中,Test 為測試制程,包含兩個(gè)子測試步驟:FT1、FT2。 當(dāng)測試廠商收到客戶的要求后,PE 就會(huì)根據(jù)客戶的要求在 MES 中建立一套包含以上所有測試步驟的測試流程記錄表,生產(chǎn)線上的 OP 就會(huì)根據(jù)此表依次執(zhí)行各個(gè)步驟,并將測試結(jié)果記錄在表中,示意圖如圖 2 所示。當(dāng)有另外一個(gè)客戶向測試廠商提出不同的測試流程要求時(shí),PE 會(huì)根據(jù)客戶要求在 MES 中建立不同的流程步驟與流程記錄表,因此 OP 也會(huì)執(zhí)行不同的操作步驟,得出不同的測試結(jié)果數(shù)據(jù)。多樣化的客戶需求要求 MES 必須具有靈活定制測試流程的功能,以及快速開發(fā)擴(kuò)展的能力。

圖 1. 流程定制業(yè)務(wù)流程圖

Figure 1. Flowchart: process planning

圖 1. 流程定制業(yè)務(wù)流程圖

圖 2. 流程定制業(yè)務(wù)舉例示意圖

Figure 2. An example of process planning business

圖 2. 流程定制業(yè)務(wù)舉例示意圖

對(duì)于 PE,MES 流程定制功能應(yīng)滿足以下需求:

1. 可選擇一個(gè)或多個(gè)測試步驟加入到測試流程中;

2. 同一類測試步驟可重復(fù)添加;

3. 可利用子測試步驟組裝出新的測試制程,并可選的加入至測試流程;

4. 可記錄流程中的測試步驟順序,對(duì)順序敏感;

對(duì)于 OP,應(yīng)滿足以下需求:

1. 可在測試過程中對(duì)每個(gè)步驟的測試結(jié)果數(shù)據(jù)進(jìn)行錄入和保存;

2. 可執(zhí)行開始步驟、結(jié)束步驟、暫停、返工等相關(guān)流程操作。對(duì)于開發(fā)人員,類設(shè)計(jì)應(yīng)當(dāng)符合“開放–封閉原則”[4],具有優(yōu)良的擴(kuò)展性,能夠在必要時(shí)靈活擴(kuò)展出新的測試步驟類。

3. 抽象建模與類設(shè)計(jì)

3.1. UML

UML (Unified Modeling Language,統(tǒng)一建模語言)是面向?qū)ο筌浖臉?biāo)準(zhǔn)化建模語言[5]。UML 因其簡單、統(tǒng)一的特點(diǎn),而且能表達(dá)軟件設(shè)計(jì)中的動(dòng)態(tài)和靜態(tài)信息,目前已成為可視化建模語言的工業(yè)標(biāo)準(zhǔn)。

本文將使用 UML 對(duì)抽象建模和類設(shè)計(jì)的過程進(jìn)行描述。

3.2. 基于傳統(tǒng)方法的抽象建模與類設(shè)計(jì)

3.2.1. 抽象建模

小節(jié) 1.3 中所描述的流程定制功能需求中主要涉及了三個(gè)對(duì)象:測試流程、測試步驟以及包含在測試制程中的子測試步驟。首先嘗試以傳統(tǒng)的樹形結(jié)構(gòu)對(duì)上述三個(gè)對(duì)象進(jìn)行抽象,如圖 3 所示。其中,Process對(duì)應(yīng)測試流程、Node 對(duì)應(yīng)普通測試步驟、ComplexNode 對(duì)應(yīng)特殊的測試步驟——測試制程、Test 對(duì)應(yīng)測試制程中的子測試步驟;Node 與 ComplexNode 為 Process 的葉子節(jié)點(diǎn)、Test 為 ComplexNode 的葉子節(jié)點(diǎn)。通過建立這樣的樹形結(jié)構(gòu)可完整的描述出不同的測試流程。

3.2.2. 流程類與測試步驟基類的設(shè)計(jì)

由于 1.2 小節(jié)中所述的 9 類測試步驟擁有共同的屬性與操作,因此可抽象出一個(gè)基類與流程類建立聯(lián)系。根據(jù)抽象模型以及功能需求可得出流程類與測試步驟基類的設(shè)計(jì)如圖 4 所示。其中,Process 為測試流程類,包含兩個(gè)成員變量以及三個(gè)方法:lot 變量用于與來料批次綁定;nodes變量是 Node 對(duì)象的列表,用于保存當(dāng)前測試流程所包括的測試步驟及其順序信息;以 String 為參數(shù)的構(gòu)造方法通過解析包含流程信息的字符串創(chuàng)建Process對(duì)象;endCurrentNode()方法用于結(jié)束當(dāng)前測試步驟,

 圖 3. 基于“樹形”結(jié)構(gòu)的抽象模型

Figure 3. Abstract model based on tree structure

圖 3. 基于“樹形”結(jié)構(gòu)的抽象模型

圖 4. 流程類與測試步驟基類

Figure 4. Class of process and base class of test step

圖 4. 流程類與測試步驟基類

即首先找到當(dāng)前正在進(jìn)行的測試步驟 Node 類型實(shí)例,然后執(zhí)行該實(shí)例的 end()方法;startNextNode()方法用于進(jìn)入下一個(gè)測試步驟,該方法中首先執(zhí)行 endCurrentNode()方法,然后根據(jù)步驟列表尋找到下一個(gè)步驟的 Node 類型實(shí)例,并執(zhí)行該實(shí)例的 start()方法。

Node 為測試步驟基類,包含四個(gè)成員變量以及四個(gè)方法:name 變量為當(dāng)前測試步驟的名稱;state變量為當(dāng)前測試步驟的狀態(tài)(未開始、已開始、已結(jié)束等);result 變量為 Result 類型,用于保存當(dāng)前測試步驟的測試結(jié)果數(shù)據(jù)(如各個(gè) Bin 類所包含的數(shù)量等);start()方法用于進(jìn)入當(dāng)前步驟;end()方法用于結(jié)束當(dāng)前步驟;setResult(Result)、getResult()方法分別用于設(shè)置、獲取當(dāng)前步驟的測試結(jié)果,是成員變量 result的普通 get、set 方法。

3.2.3. 測試步驟子類及子測試步驟的設(shè)計(jì)

測試步驟除了共同的屬性與操作,還擁有自身特有的屬性。如 IQC 有重量、標(biāo)記等特殊屬性,Baking有烤箱溫度、烤箱編號(hào)等屬性需要存儲(chǔ)。因此,各類測試步驟均繼承 Node 基類并建立自己的子類。詳細(xì)類設(shè)計(jì)如圖 5 所示:IQC 類為 IQC 測試步驟的抽象,成員變量 mark、netWeight 存儲(chǔ)了重量與標(biāo)記數(shù)據(jù);Baking 類為 Baking 測試步驟的抽象,成員變量 ovenNumber 與 timeLimit 記錄了烤箱編號(hào)以及烘烤時(shí)間限制數(shù)據(jù);GuTest 類為 GuTest 測試步驟的抽象,由于測試結(jié)果的格式不確定,以字符串變量 record 的形式記錄了該測試步驟的測試結(jié)果;測試制程類命名為 ComplexTest,并持有子測試步驟類 Test 的列表,用于記錄子測試步驟的信息;Test 類為子測試步驟 Test 的抽象,成員變量 name、note、result、state、turn分別記錄了步驟名稱、備注、測試結(jié)果、測試狀態(tài)、步驟順序等信息;FVI、FQC、OQC 較為相似,統(tǒng)一抽象為 PassNode 類,以字符串的形式記錄結(jié)果數(shù)據(jù);Packing 與 Finish 相似,統(tǒng)一抽象為 Finish 類,其中 createReelcodes()方法為創(chuàng)建 Reel 盤實(shí)例的方法,由于涉及到本文范圍以外的類,不再贅述。

 

圖 5. 測試步驟基類與各測試步驟子類

Figure 5. Base class of test step and derived classes

圖 5. 測試步驟基類與各測試步驟子類

如上所述的設(shè)計(jì)雖然可以滿足基本的功能需求,但卻不具備靈活的擴(kuò)展性。例如:要建立單獨(dú)的 Test子測試步驟,就必須先建立 ComplexTest 測試步驟;要在 ComplexTest 測試步驟中添加 IQC 等步驟,或者要求 ComplexTest 測試步驟中再包含其他測試步驟,就必須修改 ComplexTest 類代碼。上述的一系列問題均可通過“組合”設(shè)計(jì)模式來解決。

class MES

IQC

- mark: String

- netWeight: String

ComplexTest

- tests: List

Baking

- ovenNumber: String

- timeLimit: String

GuTest

- record: String

Finish

+ createReelcodes(): List

PassNode

- result: String

Test

- name: int

- note: String

- result: Result

- state: int

- turn: int

Node

- name: String

- state: int

- result: Result

- process: Process

+ start(): void

+ end(): void

+ setResult(Result): void

+ getResult(): Result

-tests

3.3. 基于組合設(shè)計(jì)模式的改進(jìn)類設(shè)計(jì)

3.3.1. “組合”設(shè)計(jì)模式

設(shè)計(jì)模式是一種可以被反復(fù)使用,經(jīng)過分類編目的代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。使用設(shè)計(jì)模式可以保證代碼的可靠性,提高代碼的可維護(hù)性,使其可重復(fù)利用[6]。

組合模式允許將對(duì)象組合成樹形結(jié)構(gòu)來表現(xiàn)“整體/部分”層次結(jié)構(gòu)。組合能讓客戶以一致的方式處理個(gè)別對(duì)象以及對(duì)象組合。組合模式的類圖如圖 6 所示。其中,Component 類為抽象類,Leaf類與 Composite類均繼承 Component 類;Leaf 類是 Component 類的葉子節(jié)點(diǎn)(即單一元件),Composite 類是 Component類的根節(jié)點(diǎn)(即復(fù)合元件)。Composite 類回旋持有 Component 對(duì)象列表,將其作為自身的子元件,即可方便的實(shí)現(xiàn)樹形結(jié)構(gòu)[7]。

3.3.2. 抽象建模

基于 2.2.1 小節(jié)所述的基本樹形結(jié)構(gòu),在保持測試流程與測試步驟的一對(duì)多關(guān)系、測試制程與子測試步驟的一對(duì)多關(guān)系保持不變的同時(shí),增加兩個(gè)抽象對(duì)象:“葉子(Leaf)”與“組合(Composite)”。其中非測試制程的測試步驟與子測試步驟在樹狀結(jié)構(gòu)中為葉子節(jié)點(diǎn),因此歸屬于“葉子”;測試制程由于可以包含更多的子測試步驟,是根節(jié)點(diǎn),因此歸屬于“組合”。以此為基礎(chǔ)建立模型并應(yīng)用組合設(shè)計(jì)模式。

3.3.3. 改進(jìn)的測試步驟類設(shè)計(jì)

將組合模式應(yīng)用至測試步驟類的設(shè)計(jì)中,得到的類設(shè)計(jì)如圖 7 所示。其中,將 Node 設(shè)計(jì)為抽象基類,并創(chuàng)建 LeafNode 與 CompositeNode 兩個(gè)抽象子類。Node 抽象基類作為 CompositeNode 類的元件,使得

CompositeNode 類可持有 Node 基類所有的子類,包括所有葉子節(jié)點(diǎn)和根節(jié)點(diǎn),ComplexTest 類即為測試制程類。這樣的類設(shè)計(jì)與 2.2 小節(jié)中所描述的類設(shè)計(jì)的顯著不同在于:2.2 小節(jié)中基于傳統(tǒng)方法的類設(shè)計(jì)

只能構(gòu)建出既定的三層樹狀結(jié)構(gòu),而本小節(jié)中應(yīng)用組合設(shè)計(jì)模式的類設(shè)計(jì)可通過 CompositeNode 類的不斷嵌套構(gòu)造出無窮多層的樹狀結(jié)構(gòu),極大的提高了可擴(kuò)展性。

圖 5 中所有原本直接繼承 Node 基類的測試步驟類更改為繼承 LeafNode 類,如圖 8 所示。需要說明的是,原本孤立的 Test 類現(xiàn)在繼承了 LeafNode 基類,因此既可以作為獨(dú)立的測試步驟被編排入測試流程,也可以作為子測試步驟編排入 ComplexTest 測試制程。同樣,IQC、Baking 等步驟也可以方便的組成新的測試步驟,大大提高了類設(shè)計(jì)的可擴(kuò)展性。

 

圖 6. 組合模式類圖

Figure 6. Class diagram of composite pattern

圖 6. 組合模式類圖

圖 7. 測試步驟類中的組合模式應(yīng)用

Figure 7. Application of composite pattern on test step classes

圖 7. 測試步驟類中的組合模式應(yīng)用

圖 8. 繼承 LeafNode 類的測試步驟類

Figure 8. Classes derived from LeafNode class

圖 8. 繼承 LeafNode 類的測試步驟類

4. 功能運(yùn)行結(jié)果

系統(tǒng)功能采用 B/S 架構(gòu),使用 Java Web 相關(guān)技術(shù)[8],以 Spring、JPA 作為后臺(tái)開發(fā)框架,以 MySQL作為數(shù)據(jù)庫具體實(shí)現(xiàn)。開發(fā)完成后通過 JDK 工具生成 war 包,部署在服務(wù)器的 tomcat 容器中運(yùn)行。流程組裝界面如圖 9 所示。其中流程明細(xì)一欄通過點(diǎn)選左右兩側(cè)站點(diǎn)的名稱以及上下左右的操作按鈕來添加、刪除站點(diǎn)以及調(diào)整站點(diǎn)順序,點(diǎn)擊保存后生成字符串傳遞給服務(wù)器端生成所需要的存儲(chǔ)結(jié)構(gòu)。IQC 錄入以及保存檢測站點(diǎn)數(shù)據(jù)的界面如圖 10 所示,其余站點(diǎn)的界面類似。經(jīng)測試,流程定制所需各項(xiàng)功能均已完成,運(yùn)行穩(wěn)定可靠。

圖 9. 流程組裝界面

Figure 9. User interface of process assembly

圖 9. 流程組裝界面

 

圖 10. IQC 檢測結(jié)果數(shù)據(jù)的錄入及保存界面

Figure 10. User interface of test result data input and save for IQC

圖 10. IQC 檢測結(jié)果數(shù)據(jù)的錄入及保存界面

 

主站蜘蛛池模板: 亚洲在线日韩| www.黄色在线观看| 成年女人免费看片| 国产大学生露脸激情| 美女大片高清特黄a大片| 国产v精品成人免费视频400条| 女人国产香蕉久久精品| 亚洲精品不卡午夜精品| 99成人国产精品视频| 久久综合成人网| 中文字幕日韩一区| 亚洲黄色片| 色婷婷久| 免费黄色片网址| 欧美色图自拍| 国产日韩视频| 国产高清一级毛片在线人| 特级欧美午夜aa毛片| 鲁大师在线观看在线播放| 丁香婷婷综合五月六月| 国产亚洲精品色一区| 久久婷婷国产综合精品| 日韩国产欧美视频| 婷婷射| 亚洲经典在线观看| 亚洲午夜国产片在线观看| 91老师国产黑色丝袜在线| s级毛片| bbbxxx乱大交欧美小说| 一级毛片看真人在线视频| 久久亚洲精品中文字幕二区| 日韩一区三区| 日韩大片免费在线观看| 中文字幕视频在线播放| 亚洲 欧美 清纯 校园 另类| 亚洲国产激情一区二区三区| 后式大肥臀国产在线| 成年免费大片黄在看| 全免费毛片在线播放| 网友自拍视频在线观看| 成人黄 在线播放|