吳成成 WU Cheng-cheng;程強(qiáng) CHENG Qiang;趙慧慧 ZHAO Hui-hui
(衢州職業(yè)技術(shù)學(xué)院,衢州324000)
我國(guó)國(guó)民經(jīng)濟(jì)和社會(huì)發(fā)展“十二五”規(guī)劃綱要提出,要提升電子信息制造業(yè),根據(jù)數(shù)字化、網(wǎng)絡(luò)化、智能化總體趨勢(shì),大力發(fā)展集成電路、軟件和新型元器件等核心產(chǎn)業(yè)。我國(guó)信息電子產(chǎn)業(yè)的快速發(fā)展為電路板制造行業(yè)的快速發(fā)展提供了良好的市場(chǎng)環(huán)境,電子通訊設(shè)備、電子計(jì)算機(jī)、家用電器等電子產(chǎn)品產(chǎn)量的持續(xù)增長(zhǎng)為電路板行業(yè)的快速增長(zhǎng)提供了強(qiáng)勁動(dòng)力。電路板的準(zhǔn)確報(bào)價(jià)關(guān)系到電路板企業(yè)接到訂單量的多少以及電路板企業(yè)的年利潤(rùn),電路板傳統(tǒng)的估價(jià)方法主要依靠報(bào)價(jià)員的個(gè)人經(jīng)驗(yàn)以及簡(jiǎn)單地預(yù)算,與現(xiàn)在提倡的“互聯(lián)網(wǎng)+”時(shí)代脫軌。因此為體現(xiàn)電路板價(jià)格計(jì)算的合理性和準(zhǔn)確性,依據(jù)電路板生產(chǎn)流程,設(shè)計(jì)并開(kāi)發(fā)了一款電路板產(chǎn)品報(bào)價(jià)管理系統(tǒng)。
為實(shí)現(xiàn)用戶隨時(shí)隨地登錄系統(tǒng)進(jìn)行報(bào)價(jià),系統(tǒng)采用B/S 結(jié)構(gòu)模式。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集中到服務(wù)器上,簡(jiǎn)化了系統(tǒng)的開(kāi)發(fā)、維護(hù)和使用。客戶機(jī)上只要安裝一個(gè)瀏覽器,服務(wù)器安裝SQL Server、Oracle、MYSQL 等數(shù)據(jù)庫(kù),瀏覽器通過(guò) Web Server同數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互。選用該結(jié)構(gòu)模式的原因是該結(jié)構(gòu)具有分布性特點(diǎn),用戶無(wú)需安裝客戶端,即可隨時(shí)隨地進(jìn)行查詢、瀏覽等業(yè)務(wù)處理。業(yè)務(wù)擴(kuò)展簡(jiǎn)單方便,通過(guò)增加網(wǎng)頁(yè)即可增加服務(wù)器功能。系統(tǒng)維護(hù)簡(jiǎn)單方便,只需要改變網(wǎng)頁(yè),即可實(shí)現(xiàn)所有用戶的同步更新。
本報(bào)價(jià)系統(tǒng)采用WampServer 作為服務(wù)器環(huán)境,WampServer 是在 Window 下的 Apache、PHP 和 MySQL 的服務(wù)器軟件。免去了開(kāi)發(fā)人員將時(shí)間花費(fèi)在繁瑣的配置環(huán)境過(guò)程,從而騰出更多精力去做開(kāi)發(fā)。Apache 是一個(gè)開(kāi)放源碼的網(wǎng)頁(yè)服務(wù)器,可以在大多數(shù)計(jì)算機(jī)操作系統(tǒng)中運(yùn)行,由于其多平臺(tái)和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一。PHP 支持多種操作系統(tǒng)和數(shù)據(jù)庫(kù),是運(yùn)行于服務(wù)器端的腳本語(yǔ)言。MySQL 數(shù)據(jù)庫(kù)在Web 應(yīng)用方面是最好的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)應(yīng)用軟件,關(guān)系數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)中,這樣就增加了速度并提高了靈活性。系統(tǒng)客戶端界面的開(kāi)發(fā)采用CSS+HTML+JavaScript+jQuery 組合。
本報(bào)價(jià)系統(tǒng)采用ThinkPHP 框架開(kāi)發(fā),ThinkPHP 是一個(gè)快速、兼容而且簡(jiǎn)單的輕量級(jí)國(guó)產(chǎn)PHP 開(kāi)發(fā)框架,ThinkPHP 的分層架構(gòu)采用三層架構(gòu)模式即MVC 模式分別為表現(xiàn)層(View)、業(yè)務(wù)層(Controller)、數(shù)據(jù)層(Model)。該框架能夠解決應(yīng)用開(kāi)發(fā)中的大多數(shù)需要,因?yàn)槠渥陨戆说讓蛹軜?gòu)、兼容處理、基類庫(kù)、數(shù)據(jù)庫(kù)訪問(wèn)層、模板引擎、緩存機(jī)制、插件機(jī)制、角色認(rèn)證、表單處理的常用的組件,并且對(duì)于跨版本、跨平臺(tái)和跨數(shù)據(jù)庫(kù)移植都比較方便。并且每個(gè)組件都是精心設(shè)計(jì)和完善的,應(yīng)用開(kāi)發(fā)過(guò)程中只需關(guān)注業(yè)務(wù)邏輯即可。ThinkPHP 框架的應(yīng)用極大提高了電路板產(chǎn)品報(bào)價(jià)系統(tǒng)的開(kāi)發(fā)效率、可擴(kuò)展性、可維護(hù)性,降低了開(kāi)發(fā)和維護(hù)的難度[1]。
電路板生產(chǎn)制造企業(yè)生產(chǎn)電路板的基本流程如圖1所示:客戶根據(jù)自身需求向電路板生產(chǎn)制造企業(yè)下訂單,生產(chǎn)企業(yè)根據(jù)客戶需求設(shè)計(jì)電路圖,并根據(jù)設(shè)計(jì)的電路圖加工PCB 板、生成電路板BOM 單。再根據(jù)電路板BOM 單中的電子元器件核對(duì)電路板生產(chǎn)制造企業(yè)倉(cāng)庫(kù)中是否有所需的元器件以及已有的元器件的數(shù)量,如果沒(méi)有則通知采購(gòu)部門(mén)采購(gòu)對(duì)應(yīng)元器件,如有所需電子元器件則領(lǐng)取對(duì)應(yīng)電子元器件進(jìn)行焊接。電路板焊接后進(jìn)行檢驗(yàn)調(diào)試,調(diào)試成功后就可以打包發(fā)貨給客戶。

圖1 電路板生產(chǎn)流程圖
電路板產(chǎn)品成本總價(jià)一般由原料成本費(fèi)、產(chǎn)品加工費(fèi)、產(chǎn)品研發(fā)費(fèi)、交通運(yùn)輸費(fèi)以及售后服務(wù)費(fèi)組成。其中原料成本費(fèi)是由供應(yīng)商和采購(gòu)批次兩個(gè)因數(shù)決定的,同一種原料,不同供應(yīng)商、不同采購(gòu)批次決定了其采購(gòu)價(jià)格也不一樣,因此在計(jì)算原料成本費(fèi)時(shí)供應(yīng)商及采購(gòu)批次這兩個(gè)因素要考慮進(jìn)去;產(chǎn)品加工費(fèi)包括制版費(fèi)和貼片費(fèi);產(chǎn)品研發(fā)費(fèi)包括開(kāi)發(fā)人員勞務(wù)費(fèi)、設(shè)計(jì)人員勞務(wù)費(fèi)、調(diào)試人員勞務(wù)費(fèi)以及生產(chǎn)加工人員勞務(wù)費(fèi)。產(chǎn)品加工費(fèi)計(jì)算公式如下:

式中:M2為產(chǎn)品加工費(fèi);Z1為 PCB 制版費(fèi);Z2為電路板貼片費(fèi)。
產(chǎn)品研發(fā)費(fèi)計(jì)算公式如下:

式中:M3為產(chǎn)品研發(fā)費(fèi);N1為開(kāi)發(fā)人員勞務(wù)費(fèi)/天;D1為開(kāi)發(fā)人員開(kāi)發(fā)天數(shù);N2為設(shè)計(jì)人員勞務(wù)費(fèi)/天;D2為設(shè)計(jì)人員設(shè)計(jì)天數(shù);N3為調(diào)試人員勞務(wù)費(fèi)/天;D3為調(diào)試人員調(diào)試天數(shù);N4為生產(chǎn)加工人員勞務(wù)費(fèi)/天;D4為生產(chǎn)加工人員生產(chǎn)天數(shù)。
產(chǎn)品銷售總價(jià)計(jì)算公式如下:

式中:P 為電路板產(chǎn)品銷售價(jià)格;M1為原料成本費(fèi);M2為產(chǎn)品加工費(fèi);M3為產(chǎn)品研發(fā)費(fèi);T 為交通運(yùn)輸費(fèi);S 為售后服務(wù)費(fèi);Lr為成本利潤(rùn)率;Q 為其它附加費(fèi)用。
電路板生產(chǎn)企業(yè)報(bào)價(jià)系統(tǒng)設(shè)計(jì)采用MVC 框架結(jié)構(gòu),MVC 是模型(model)-視圖(view)-控制器(controller)的縮寫(xiě)。該框架結(jié)構(gòu)是一種業(yè)務(wù)邏輯、數(shù)據(jù)與界面顯示分離的方法來(lái)組織代碼,將眾多的業(yè)務(wù)邏輯聚集到一個(gè)部件里面,在需要改進(jìn)和個(gè)性化定制界面及用戶交互的同時(shí),不需要重新編寫(xiě)業(yè)務(wù)邏輯,達(dá)到減少編碼的時(shí)間。按照MVC的設(shè)計(jì)標(biāo)準(zhǔn)[2],本系統(tǒng)各個(gè)功能模塊之間的系統(tǒng)體系結(jié)構(gòu)圖如圖2 所示。

圖2 報(bào)價(jià)系統(tǒng)體系結(jié)構(gòu)圖
根據(jù)電路板生產(chǎn)流程,將該報(bào)價(jià)系統(tǒng)劃分為如圖3 所示的六大功能模塊。其中物料管理模塊主要用于物料信息的查詢、物料信息的錄入、物料信息審批、物料添加歷史記錄查看、物料審批歷史記錄查看;產(chǎn)品管理模塊主要用于電路板產(chǎn)品模板查詢、電路板產(chǎn)品模板添加、電路板產(chǎn)品模板審批、電路板產(chǎn)品模板添加歷史記錄、電路板產(chǎn)品模板審批歷史記錄;物價(jià)管理模塊主要用于倉(cāng)庫(kù)已有物料價(jià)格的錄入;后臺(tái)管理模塊主要用于企業(yè)人員管理、報(bào)價(jià)系統(tǒng)菜單管理、報(bào)價(jià)系統(tǒng)權(quán)限管理;供應(yīng)商管理模塊主要用于供應(yīng)商信息查詢、供應(yīng)商信息添加、供應(yīng)商信息管理;產(chǎn)品報(bào)價(jià)模塊包括產(chǎn)品預(yù)算歷史記錄、產(chǎn)品價(jià)格預(yù)算、研發(fā)人員費(fèi)用錄入。

圖3 系統(tǒng)功能模塊
本系統(tǒng)涉及到倉(cāng)庫(kù)管理員、采購(gòu)員、項(xiàng)目經(jīng)理、系統(tǒng)管理員四種用戶,每種用戶擁有自己專屬的功能模塊。與倉(cāng)庫(kù)管理員相關(guān)的模塊包括物料管理模塊,與采購(gòu)員相關(guān)的模塊包括物價(jià)管理模塊、供應(yīng)商管理模塊,與項(xiàng)目經(jīng)理有關(guān)的模塊包括產(chǎn)品管理模塊、產(chǎn)品報(bào)價(jià)模塊,與系統(tǒng)管理員相關(guān)的模塊包括后臺(tái)管理模塊。
結(jié)合系統(tǒng)需求分析本系統(tǒng)涉及到四種用戶,并且每種用戶有專屬的功能模塊。通常多用戶系統(tǒng)都會(huì)涉及到訪問(wèn)控制,所謂訪問(wèn)控制是指通過(guò)某種方式允許或限制用戶訪問(wèn)能力及范圍的一種方法。這主要是由于系統(tǒng)需要對(duì)關(guān)鍵資源進(jìn)行保護(hù),防止由于非法入侵或者誤操作對(duì)業(yè)務(wù)系統(tǒng)造成破壞。ThinkPHP 中的 RBAC 權(quán)限驗(yàn)證是一個(gè)ThinkPHP 最底層的核心框架,本系統(tǒng)使用RBAC 技術(shù),權(quán)限與角色相關(guān)聯(lián),用戶通過(guò)成為適當(dāng)角色的成員而得到這些角色的權(quán)限。RBAC 權(quán)限驗(yàn)證的大致流程如下[3]:
①驗(yàn)證當(dāng)前操作是否需要驗(yàn)證;
②驗(yàn)證是否登錄;
③查看當(dāng)前用戶身份;
④獲取當(dāng)前用戶的權(quán)限列表;
⑤進(jìn)行權(quán)限驗(yàn)證。
當(dāng)用戶輸入正確的用戶名、密碼以及驗(yàn)證碼后即可進(jìn)入本系統(tǒng)的主界面如圖4 所示,系統(tǒng)主界面顯示當(dāng)前登錄用戶待辦的所有事項(xiàng),點(diǎn)擊待辦事項(xiàng)超鏈接即可進(jìn)行該事項(xiàng)的相關(guān)操作;點(diǎn)擊系統(tǒng)主界面左側(cè)的系統(tǒng)功能模塊菜單即可進(jìn)入相應(yīng)功能模塊;點(diǎn)擊系統(tǒng)界面導(dǎo)航欄處的“產(chǎn)品報(bào)價(jià)”、“采購(gòu)管理”、“產(chǎn)品管理”、“物料管理”圖標(biāo)可快速進(jìn)入對(duì)應(yīng)模塊;通過(guò)界面右上角“修改個(gè)人信息”、“修改密碼”超鏈接可以進(jìn)行用戶個(gè)人信息、系統(tǒng)登錄密碼的修改,點(diǎn)擊“幫助”超鏈接可以查看本系統(tǒng)的幫助文檔即系統(tǒng)使用說(shuō)明書(shū),點(diǎn)擊“退出”超鏈接即可退出本系統(tǒng)。

圖4 系統(tǒng)主界面
產(chǎn)品報(bào)價(jià)模塊中包含產(chǎn)品預(yù)算歷史記錄、產(chǎn)品價(jià)格預(yù)算、研發(fā)人員費(fèi)用等三個(gè)子模塊。其中“預(yù)算歷史記錄”子模塊記錄所有已添加的產(chǎn)品報(bào)價(jià)單,并可對(duì)產(chǎn)品報(bào)價(jià)單進(jìn)行修改、刪除操作。“產(chǎn)品價(jià)格預(yù)算”子模塊顯示所有可以報(bào)價(jià)的產(chǎn)品模板,選擇要報(bào)價(jià)的產(chǎn)品,點(diǎn)擊“產(chǎn)品報(bào)價(jià)”即可進(jìn)入該產(chǎn)品報(bào)價(jià)具體界面如圖5 所示。“研發(fā)人員費(fèi)用”子模塊主要用于對(duì)不同的研發(fā)人員所需要的勞務(wù)費(fèi)進(jìn)行增加、編輯、刪除。