張智強 郭龍 趙雷 趙偉 張自磊



摘要:文中從設計思想、總體結構、平臺優勢、發展前景等方面介紹了分布式軟件開發與系統集成平臺。該平臺基于分治思想,采用B/S架構,基于JavaWeb編程結合現行主流開發技術,采用HTML5,ASP,PHP技術在線上實現設計與開發。該平臺以精確解決用戶需求為根本目的,吸收和創新了現有軟件系統開發流程,可減少開發成本、提高客戶體驗、增強開發人員地域性。實驗結果表明,所描述的平臺完全可以實現,目前的網絡環境和技術也完全支持。
關鍵詞:分治思想;分布式開發;B/S;線上技術;JavaWeb;網絡環境
中圖分類號:TP39文獻標識碼:A文章編號:2095-1302(2020)06-00-04
0 引 言
現代互聯網技術已經發展的相當成熟,相關技術和框架層出不窮這使得用戶面臨著選擇困難的問題。如果用戶將需求交給大公司實現,雖然產品質量可以得到保證,但是產品價格會高出用戶預期,若用戶轉向小型企業實現,用戶的需求實現的質量則無法保證。本文將探討如何實現這樣的“中間層”。
1 項目背景
1.1 研究背景
隨著互聯網技術的不斷發展,大量重復繁雜的工作逐步被互聯網技術所取代,互聯網技術人才供不應求,同時以導致小微企業難以發展以及大量人力無法得到使用等現象,主要體現在以下幾個方面:用戶需求選擇困難;人才學歷不被認可;學生沒有開發經驗;掌握能力單一,沒有競爭力;開發團隊規模小,無法承接大型項目;行業標準不統一,容易惡性競爭。因此,在互聯網技術逐步發展的環境下,設計一個行業統一、人才得到認可、學生充分發展、企業增長穩定的平臺意義非常大。
1.2 實現思想和解決問題辦法
分布式軟件開發與系統集成平臺[1-3]是基于分治思想采用B/S架構[4]實現的,其將一個產品開發流程的各個階段統一規劃給不同能力的人員去實現。如需求階段由咨詢人員和項目可行性分析人員組成,由專業的人負責專業的工作。平臺總體思想實現流程如圖1所示。
2 分布式軟件開發與系統集成平臺
2.1 分布式軟件開發與系統集成平臺的優點
2.1.1 環境開放
平臺的客戶對象是指所有對軟件或系統有需求的人員,只要和平臺咨詢人員進行初步咨詢后,經過平臺認定用戶需求可以實現便可以進行下一步操作。平臺的相關技術人員也是由用戶在平臺進行申請和測試[5]認證,認證通過后便成為平臺的相關技術人員。用戶需求流程和平臺申請流程如圖2、圖3所示。
2.1.2 集中部署
當用戶的需求得到認定通過,經過需求分析后平臺將發布此用戶需求的概要設計說明書,在平臺上擁有項目經理等某些職位認定的人員可以查看概要設計說明書的摘要內容選擇是否接受這個任務,接受任務后便可以查看全部內容召集項目組成員進行下一步的操作,如圖4所示。需要注意的是一個項目經理可以擁有多個團隊[6-7],同時可以作為其他已被接受任務的候選人,用于防止單個團隊發生無法完成的情況,但是一個項目經理只能接受一個任務,如圖5所示。
2.1.3 無縫對接
項目經理會定期上報項目進度情況,同時平臺會定期抽查一定數量的項目進行檢查其進度是否達到預期。如有項目團隊落后于進度平臺將視情況決定是否撤銷其項目擁有權,當平臺撤銷其擁有權后,視情況由候選項目組或平臺來進行項目的完成。項目完成后,由項目經理向平臺提出驗收請求,待平臺驗收人員測試通過無誤后即驗收項目,之后由平臺相關人員與用戶進行項目驗收。
2.1.4 無技術壁壘、低門檻
為了防止用戶與開發人員進行需求溝通時,不能準確地表述出自己的需求與想法,或者開發人員對用戶描述的需求難以理解,從而發生需求功能矛盾等情況。由平臺需求分析人員直接與用戶進行需求的溝通與確定,然后將用戶的需求進行整理與分析,最大限度的降低用戶的需求誤差,同時提高開發人員對目標功能的準確性。
2.1.5 平臺更加專業
平臺制定統一開發標準,開發流程,極大減少開發人員與用戶的非專業認知負擔,利用平臺人才的專業性促使平臺人才往高水平,高要求方向發展。項目開發流程如圖6所示。
2.1.6 質量可靠、行業規范
產品的詳細設計表是基于平臺規定的標準來進行編輯,必須經過平臺審核通過后才會進行發布。這樣的設計表完全高于一般行業標準,開發人員根據開發手冊進行開發,相關人才進行設計,產品質量完全優于一般開發企業,同時杜絕了開發人員與用戶直接溝通修改的情景,使得產品應用更符合預期。
2.1.7 物盡其用,人盡其才
平臺不會因為人才只會一種技術而拒絕其加入,相反我們會鼓勵其加大對其擅長的方向進行深入的學習,擴大其技術競爭力,推動技術向前發展;同時平臺招募的人才不僅限招募開發人員,在平臺發展的前中期,產品構思者甚至是LOGO設計者都可以進入平臺發揮其才能。
2.2 平臺創新之處
2.2.1 軟件系統一站式解決
用戶和開發人才都只需要對平臺負責,即用戶由平臺安排人員去溝通,產品由平臺去交付,開發人員只關注開發即可,無論中途出現什么情況,各職能部分完成自己部分即可。
2.2.2 規范行業流程和制度
在平臺上,擁有相應認證的技術人員才可以執行參與相應的項目,使得技術人員專一規范化,降低開發過程中的技術阻礙,同時由平臺規范產品由設計到交互的流程,相應人才完成相應工作即可,降低不同階段發生誤解的概率。平臺還將制定相應的制度,所有平臺人員都將按照平臺制度進行開發與設計,提高項目交付時不同階段人員的接納性。
2.2.3 創立IT行業優良供需關系
平臺采用的是一個項目只允許一個項目經理進行領取,但可以滿足多個項目組作為候選項目組來預防項目中斷的情況。同時平臺將要求已接受開發任務的項目經理定期上報項目進展情況,平臺采用ISO 9000-3《質量管理和質量保證標準》定期進行抽查甚至是檢查項目完成進度情況,防止出現無法完成的情況。
2.2.4 軟件開發電子商務化
平臺會將通過審核的產品開發手冊發布在平臺,擁有相應平臺認證如項目經理的人員可以在平臺上進行任務領取。項目經理閱讀相應手冊后,便可以發布相應的技術人才需求在平臺。相應的人才便可以通過需求組織成一個項目團隊。
2.2.5 緩解就業壓力
平臺開發者可以是任何擁有開發技術的人員,無論是否為學生、失業人員甚至是兼職人員都可以申請進入平臺成為相應的職能人員進行開發,可以有效地緩解人才就業壓力。
2.2.6 監管集約化
平臺在充分利用資源的基礎上,使用分治思想集中合理地運用現代技術,充分發揮人力資源和相關部門政策的積極效應,從而提高監管效益和工作效率。采用這樣的方式可以產生最大化經濟效益同時讓平臺人員專注于自己工作部分,提高工作效率、推動技術向前發展。
2.2.7 改變供求關系,顛覆傳統業
平臺將提供一個分區作為用戶進行想法發布的地方。這里的用戶不僅僅是有開發需求的用戶還可以是有創新想法的開發者。這些用戶在這個分區分享他們的想法,投資者可以在這里選擇相應的想法進行投資;也就是說開發者不僅僅是開發者,也可以是發布需求的用戶。
3 系統架構
3.1 系統架構
分布式軟件開發與系統集成平臺系統架構如圖7所示。
3.2 技術支持
3.2.1 基于B/S架構實現平臺
客戶機上只需要安裝一個瀏覽器,服務器上安裝MySQL數據庫;瀏覽器通過Web Server與數據庫進行數據交互,即可完成平臺大體框架的實現。B/S架構如圖8所示。
3.2.2 基于皮爾遜相關系數的人員產品配對
平臺根據皮爾遜相關系數,將有相似想法的用戶交與同一部分的平臺人員進行討論,可以更精確地得出用戶的想法及更快地設計出高于用戶期望的產品。皮爾遜相關系數公式如下:
用式(1)求出對象X和對象Y的相關系數可以由對
象X和對象Y的協方差即式中的除以兩個對象的標準差即Sx和Sy得到,運算進一步展開可通過后面的式子進行計算。皮爾遜相關系數的變化范圍為-1~1,越接近1表示兩個變量越相似。假設兩個用戶用3個變量a,b,c和d,e,f進行描述,將對應的變量使用數值表示其占比代入式(1)進行計算,就可以計算出兩個用戶之間的相似性。相似度越高表明兩個用戶擁有潛在相同需求的可能性越高,就可以根據前者數據分析對用戶需求進行精確引導,從而得到高于用戶預期的產品。
皮爾遜相關系數核心計算代碼如下:
均值計算:
private static double getMean(double[] datas) {
double sum = 0.0;
for (int i = 0; i < datas.length; i++) {
sum += datas[i];//datas[]傳入的數據
}
return sum / datas.length;//返回計算的平均數
}
分子計算:
private static double numerator(double[] xData,double xMean,double[] yData,double yMean) {
//xData為對象X的數據,yData為對象Y的數據
double numerator = 0.0;
for (int i = 0; i < xData.length; i++) {
numerator += (xData[i] - xMean) * (yData[i] - yMean);
}
return numerator;
}
分母計算:
private static double denomiator(double[] xData,double xMean,double[] yData,double yMean) {
//xData為對象X的數據,yData為對象Y的數據
double xSum = 0.0;
for (int i = 0; i < xData.length; i++) {
xSum += (xData[i] - xMean) * (xData[i] - xMean);
}
double ySum = 0.0;
for (int i = 0; i < yData.length; i++) {
ySum += (yData[i] - yMean) * (yData[i] - yMean);
}
return Math.sqrt(xSum) * Math.sqrt(ySum);
}
3.2.3 Tomcat應用服務器
Tomcat服務器是一個免費的開放源代碼的Web 應用服務器,屬于輕量級應用服務器,Tomcat在中小型系統和并發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP程序的首選。在搭建平臺進行測試運行時采用此種方式。
3.2.4 Redis技術提供存儲
Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的API。數據可以從主服務器向任意數量的從服務器上進行同步,從服務器可以是關聯其他從服務器的主服務器。這樣就可以使得平臺包括線上教育服務得到很好的支持,同時使得偏遠地區在從服務器上獲取數據效率得到保證。
3.2.5 分治思想
分治思想是將原問題劃分成或歸結成規模較小的子問題,在平臺中分治思想的體現是以平臺中的一個小項目組作為基礎子問題進行看待,每個項目組都可以單獨處理相應的項目,同時獨立項目組中的成員也可以根據分治思想將個人的任務分治為更小的步驟進行實現。平臺分治思想體現如圖9所示。
4 核心業務
4.1 軟件系統開發
平臺基于行業標準,利用平臺的集約化優勢可以高質高量高效率的制作出滿足用戶預期的產品。平臺提供的軟件系統開發服務不會因為用戶不懂行業知識而偏差,也不會因為用戶的低功能需求而拒絕開發,只要在平臺制定的標準之內,用戶的需求均可以得到認可和實現。
4.2 人才培養
平臺注重對人才的培養,尤其是對想深入學習的學生。平臺可以提供學習分區,甚至是線下培訓對有學習欲望的學生進行引導,提升學生對相關技術的認識,并在現有基礎上進行突破與創新[8],推進技術的向前發展;無論是什么樣的人才,平臺都會對其負責和認可。
4.3 系統擴展與升級
當用戶再次提出相應需求后,平臺基于ISO 9000-3標準與平臺制定的標準及時的對已交付系統的功能進行擴展[9]與升級,可以高效率的完成用戶對系統功能的二次需求,極大提高了用戶體驗感,降低了用戶所需等待時間。
4.4 校企合作
平臺與相關高校進行聯合,實現高校學生在平臺線上采用Redis技術,線下進行實訓的方式進行學習。這樣做可以讓學生們充分理解行業需求與發展[10],減少學生在求學路上的彎路;同時學生也可以在平臺接受適合學生制作的項目,提高學生的項目開發經驗水平,為步入社會打好堅實的基礎。平臺人才培養方式如圖10所示。
5 結 語
實驗表明,本文所描述的平臺采用B/S架構進行設計是可行的,這一點可以參考現在的電商平臺。電商平臺就是將所有分散的店鋪進行線上售賣,而平臺是一個擁有一對一服務的大型商店,所以本文研究課題描述的平臺是完全可以實現的,目前的網絡環境和技術也是完全支持的。這樣的平臺還可以產生巨大的社會積極效應,促進技術的發展。
參考文獻
[1]沈旻園. 分布式軟件測試管理工具的研究與實現[D].上海:華東理工大學,2012.
[2]夏耘,林華.軟件系統的集成測試技術研究[J].計算機工程,2000(10):102-104.
[3]王文龍. 分布式軟件開發平臺的設計與實施[D].北京:北京郵電大學,2011.
[4]左計永.現代分布式軟件設計架構探討[J].電子技術與軟件工程,2014(11):82.
[5]鄭無疾,張建軍,朱山風.分布式對象在軟件系統集成中的應用
[J].計算機應用,1999(8):26-28.
[6]于春娜. 基于HTML5 Web Socket的智能手機聊天室開發[D].北京:北京郵電大學,2014.
[7]楊東.ASP的網絡聊天室設計與開發[J].電腦編程技巧與維護,2013(9):52-57.
[8]王鑫.可擴展計算機網絡設計系統的設計分析[J].無線互聯科技,2017(23):50-51.
[9]曹非.基于可擴展計算機網絡設計軟件系統的開發設計[J].中國市場,2017(34):154.
[10]李茂林.可擴展計算機網絡設計軟件系統的開發設計[J].電子技術與軟件工程,2017(7):43.