葉小艷+吳海燕+楊文凌+楊宗曉
摘要:需求分析是軟件開(kāi)發(fā)一個(gè)關(guān)鍵環(huán)節(jié),需求業(yè)務(wù)模型是對(duì)搜集來(lái)的需求和信息進(jìn)行合理的歸納與分析后形成的流程,建模過(guò)程相對(duì)比較抽象。利用“快速開(kāi)發(fā)平臺(tái)”構(gòu)建一種可視化的需求業(yè)務(wù)建模的方法,可以簡(jiǎn)單、直觀、快捷地定義業(yè)務(wù)系統(tǒng)操作流程,不僅提升了開(kāi)發(fā)過(guò)程對(duì)需求的響應(yīng)速度,也提高了企業(yè)應(yīng)用的開(kāi)發(fā)速度,降低了企業(yè)的開(kāi)發(fā)成本。
關(guān)鍵詞:需求分析;需求業(yè)務(wù)模型;快速開(kāi)發(fā)平臺(tái);建模
1概述
需求分析是軟件系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)之前對(duì)用戶(hù)需求所作的調(diào)查與分析,在此基礎(chǔ)上對(duì)系統(tǒng)的操作流程,就是需求業(yè)務(wù)模型。通俗地講,需求業(yè)務(wù)模型就是描述系統(tǒng)在何時(shí)、何地、由何角色、按什么業(yè)務(wù)規(guī)則去做,以及做的步驟或流程。它將是系統(tǒng)設(shè)計(jì)、系統(tǒng)完善和系統(tǒng)維護(hù)的依據(jù)。因此,需求業(yè)務(wù)模型的建立是保證系統(tǒng)質(zhì)量的關(guān)鍵。
傳統(tǒng)的需求業(yè)務(wù)建模主要是通過(guò)一設(shè)一計(jì)來(lái)實(shí)現(xiàn)。即需求從用戶(hù)到系統(tǒng)分析員再到程序員,才得以實(shí)現(xiàn),但這個(gè)過(guò)程容易“失真”,必須不斷反饋與校正,開(kāi)發(fā)過(guò)程對(duì)需求顯得“響應(yīng)遲鈍”,時(shí)效性較差。為了提高軟件開(kāi)發(fā)的效率,隨著快速開(kāi)發(fā)技術(shù)的發(fā)展,目前多家公司推出了快速開(kāi)發(fā)平臺(tái)(也稱(chēng)快速開(kāi)發(fā)工具)。
快速開(kāi)發(fā)平臺(tái),簡(jiǎn)單地講,就是以某種編程語(yǔ)言或者某幾種編程語(yǔ)言為基礎(chǔ),開(kāi)發(fā)出一個(gè)軟件,這個(gè)軟件并不是最終的軟件產(chǎn)品,而是一個(gè)二次開(kāi)發(fā)的軟件框架。用戶(hù)在該軟件上進(jìn)行各式各樣的軟件產(chǎn)品的開(kāi)發(fā),不需要編寫(xiě)大量的代碼,而只需要進(jìn)行一些簡(jiǎn)單的配置,或者是寫(xiě)極少量的代碼便可以完成一個(gè)業(yè)務(wù)系統(tǒng)的開(kāi)發(fā)工作。快速開(kāi)發(fā)平臺(tái)的主要特點(diǎn)就是以模型來(lái)代替程序設(shè)計(jì)語(yǔ)言。市面上快速平臺(tái)較多,其中較好的如北京思維加速的Justep、上海華丹的CHARISMAN、上海普元的EOS、珠海同望的V3等。本研究主要應(yīng)用的快速平臺(tái)為同望V3開(kāi)發(fā)平臺(tái)。該平臺(tái)提出了業(yè)務(wù)模型驅(qū)動(dòng)的思想,采用配置化組裝的模式,能夠?qū)Σ煌蛻?hù)個(gè)性化需求快速響應(yīng)。其最大特點(diǎn)就是可視化。在可視化模式下完成軟件系統(tǒng)的建模、設(shè)計(jì)以及開(kāi)發(fā),就如同在OFFICE編輯文件一樣,體現(xiàn)了軟件開(kāi)發(fā)的直觀、快捷。
V3開(kāi)發(fā)平臺(tái)主要是應(yīng)用了“軟件復(fù)用”和“組件技術(shù)”兩種關(guān)鍵技術(shù)。軟件復(fù)用是將已有軟件的各種有關(guān)知識(shí)用于建立新的軟件,以縮減軟件開(kāi)發(fā)和維護(hù)的花費(fèi)。組件技術(shù)就是利用一些編程的方法,將一些不便于用戶(hù)去直接操作的細(xì)節(jié)進(jìn)行了封裝,同時(shí)實(shí)現(xiàn)了各種業(yè)務(wù)邏輯。在實(shí)際開(kāi)發(fā)過(guò)程中,每個(gè)組件會(huì)提供一些標(biāo)準(zhǔn)的應(yīng)用接口,使用者可以調(diào)整其參數(shù),同時(shí)軟件開(kāi)發(fā)者將被需求的功能組件有機(jī)地結(jié)合在一起,快速開(kāi)發(fā)出一個(gè)符合實(shí)際需要的應(yīng)用程序。因此V3平臺(tái)上構(gòu)建業(yè)務(wù)模型,可以做到“可見(jiàn)即可得”,對(duì)于開(kāi)發(fā)者來(lái)說(shuō),實(shí)現(xiàn)邊設(shè)計(jì)、邊開(kāi)發(fā)、邊改進(jìn),對(duì)于客戶(hù)來(lái)說(shuō),可以便捷地進(jìn)行軟件系統(tǒng)決策性操作和控制。這使得開(kāi)發(fā)與客戶(hù)的溝通更加流暢,既縮短軟件開(kāi)發(fā)的周期,又節(jié)約項(xiàng)目成本。
2需求分析建模的方法
需求分析建模是建立信息系統(tǒng)模型的一個(gè)過(guò)程,目的在于將復(fù)雜問(wèn)題簡(jiǎn)單化,將數(shù)據(jù)制作成流程圖。信息系統(tǒng)的功能主要有菜單級(jí)功能、頁(yè)面級(jí)功能、按鈕級(jí)功能。如圖1所示。菜單級(jí)功能是指對(duì)應(yīng)web信息系統(tǒng)的導(dǎo)航鏈接,主要是將系統(tǒng)的內(nèi)容劃分為不同模塊;頁(yè)面級(jí)功能指的是在web頁(yè)面中通常擁有不同的區(qū)域,各個(gè)區(qū)域?qū)?yīng)不同類(lèi)型的功能;按鈕級(jí)功能即一個(gè)功能按鈕對(duì)應(yīng)著用戶(hù)的一個(gè)具體操作。
根據(jù)信息系統(tǒng)功能設(shè)計(jì),信息系統(tǒng)需求模型系統(tǒng)主要是研究ERP系統(tǒng)的每個(gè)功能模塊,再細(xì)化到每個(gè)頁(yè)面及按鈕的功能。
首先,將用戶(hù)的原始需求根據(jù)模型套人選擇,分別從功能模塊開(kāi)始選擇,根據(jù)原始需求關(guān)鍵詞選擇需要的功能模塊;其次,在各個(gè)功能模塊內(nèi)細(xì)化??蛻?hù)提出的需求關(guān)鍵詞選擇需要的頁(yè)面(如:庫(kù)存管理模塊中需要物料管理頁(yè)面),并在每個(gè)頁(yè)面里勾選需要并符合系統(tǒng)的字段或表字段,勾選的表字段形成數(shù)據(jù)庫(kù)設(shè)計(jì)的表結(jié)構(gòu);最后,根據(jù)頁(yè)面功能和原始需求關(guān)鍵詞選擇符合各頁(yè)面的按鈕功能。完成各個(gè)模塊的勾選后,對(duì)應(yīng)每個(gè)頁(yè)面的需求推薦符合用戶(hù)需求的界面。
對(duì)于推薦的界面,以庫(kù)存管理模塊為例分析研究適合各種類(lèi)型的界面。由于不同類(lèi)型的公司的庫(kù)存管理模塊的功能是不一樣的,例如:生產(chǎn)制造型的公司,會(huì)有很多類(lèi)型的物料,管理的方式不一樣,界面就有很大的改變。因此需根據(jù)不同公司類(lèi)型的項(xiàng)目,再匹配不同類(lèi)型公司設(shè)計(jì)了不同的界面,形成模板庫(kù)。
3快速開(kāi)發(fā)平臺(tái)上需求分析建模方法
在快速開(kāi)發(fā)平臺(tái)上進(jìn)行需求分析建模的方法如圖2所示。
3.1選擇模版庫(kù)
進(jìn)入系統(tǒng)后,用戶(hù)選擇需要的模塊,這里的模塊按照ERP系統(tǒng)的主要功能分為:銷(xiāo)售管理、訂單管理、項(xiàng)目管理、生產(chǎn)管理、庫(kù)存管理和財(cái)務(wù)管理等。用戶(hù)選擇模塊后,將提供多個(gè)文本框(由用戶(hù)自定義添加),每個(gè)文本框限定10個(gè)字,用戶(hù)需在文本框中填寫(xiě)系統(tǒng)的特點(diǎn)。系統(tǒng)自動(dòng)通過(guò)文本框中的文字與模板圖片所包含的屬性進(jìn)行匹配,然后按照匹配的最優(yōu)相似度來(lái)提供給用戶(hù)相應(yīng)的模板圖片。
3.2文字與模板圖片匹配
系統(tǒng)進(jìn)入一個(gè)模塊后,模塊中各種模板圖片,一個(gè)模版圖片存在著多個(gè)屬性(這些屬性以字段的形式存人在數(shù)據(jù)庫(kù)中)。而這個(gè)匹配的過(guò)程是通過(guò)用戶(hù)在文本框中輸入的詞句,先將一個(gè)文本框中的詞句的單個(gè)字符一個(gè)個(gè)提取出來(lái),然后將這些單個(gè)的字符與這個(gè)模塊內(nèi)的所有模板圖片的屬性在數(shù)據(jù)庫(kù)中進(jìn)行模糊查詢(xún)匹配。若匹配不成功,則比例為0,再運(yùn)用公式((當(dāng)前這個(gè)字符長(zhǎng)度一1)/當(dāng)前匹配屬性的長(zhǎng)度)得出比例將這些比例存到數(shù)組a中。若匹配成功,則將每個(gè)字符前(后)的組成字符串(即將所有的2個(gè)字符與各屬性進(jìn)行模糊查詢(xún)匹配)。隨后則進(jìn)行字符串長(zhǎng)度是否相同的判斷。若相同,則比例為100%;若不相同,則按照2個(gè)字符的形式進(jìn)行3個(gè)字符的模糊查詢(xún)匹配。以此類(lèi)推,直到這個(gè)文本框的詞句以整體的形式模糊查詢(xún)匹配得出比例后結(jié)束這些循環(huán),再將所有得出的比例相加得出最終比例。最后運(yùn)用公式(最終比例/(該圖片屬性個(gè)數(shù)x字符個(gè)數(shù)))得出圖片相似度。這個(gè)相似度,按照調(diào)查的形式給出一個(gè)范圍的相似度比例讓系統(tǒng)進(jìn)行判斷,當(dāng)在這個(gè)比例中則跳出相應(yīng)的模板圖片提供給用戶(hù)。
4快速開(kāi)發(fā)平臺(tái)需求分析模型實(shí)現(xiàn)
以“庫(kù)存管理模塊”為例,操作實(shí)現(xiàn)過(guò)程圖3所示。
根據(jù)需求分析,信息系統(tǒng)庫(kù)存管理模塊有物料管理、出入庫(kù)業(yè)務(wù)、庫(kù)存維護(hù)、業(yè)務(wù)查詢(xún)、庫(kù)位管理、盤(pán)點(diǎn)還有報(bào)表等功能。每個(gè)子功能根據(jù)分析案例得出不同的界面屬性。根據(jù)原始需求選擇模板界面與對(duì)應(yīng)的模板件套。如果模板件套的內(nèi)容不夠完整,還可以根據(jù)界面填寫(xiě)對(duì)應(yīng)的件套內(nèi)容,技術(shù)開(kāi)發(fā)人員可以根據(jù)所選的模板界面和模板件套進(jìn)行系統(tǒng)開(kāi)發(fā)。
關(guān)于物料主文件,可以選擇單層結(jié)構(gòu)(列表形式)或者多層結(jié)構(gòu)(樹(shù)表形式)的界面,然后按照模板填寫(xiě)對(duì)應(yīng)的件套。
物料主文件編輯界面可以選擇固定編碼界面或者可變編碼界面,而固定編碼界面還可以選擇批量編碼或者單個(gè)編碼界面。如圖6、圖7所示。
如要選擇庫(kù)位管理:庫(kù)位管理根據(jù)界面展現(xiàn)形式分為列表形式和左樹(shù)右表形式,可以根據(jù)庫(kù)位的數(shù)量選擇,庫(kù)位分類(lèi)的可以選擇多層結(jié)構(gòu)的左樹(shù)右表形式。如圖8所示。
5結(jié)束語(yǔ)
在快速開(kāi)發(fā)平臺(tái)上構(gòu)建需求分析建模技術(shù)可以實(shí)現(xiàn)以下三個(gè)目標(biāo)。一是能夠適當(dāng)降低軟件開(kāi)發(fā)的成本;二是能夠改善傳統(tǒng)需求分析建模的弊端,增加軟件開(kāi)發(fā)過(guò)程的靈活性;三是能夠適當(dāng)提高信息系統(tǒng)開(kāi)發(fā)的效率和質(zhì)量。本文僅對(duì)一個(gè)信息系統(tǒng)的庫(kù)存模塊的需求模型做了研究,如果要將一個(gè)ERP系統(tǒng)需求完整展現(xiàn),還需要做大量的屬性匹配、建立大量的模版庫(kù),這也是后期需要完成的工作,如果完整開(kāi)發(fā),對(duì)于軟件開(kāi)發(fā)起到非常積極的作用。endprint