陶意凡 東北石油大學
軟件外包中介平臺模型囊括了多方參與的復雜的多層次管理和外包交互行為,涉及多種管理方法、數據分析、數據采集以及多種復雜流程控制;經常可能要處理各種結構化或非結構化管理過程帶來的風險與困難,而這往往將伴隨大量的數據流量;此外我們要解決軟件外包過程中的存在的多方溝通交流困難以及流程管理的安全性低等問題,因此我們需要建立一個有效且高效的統一平臺來進行流程和數據的管理。本文將給出軟件外包項目中介平臺的總體設計,并一一說明了本系統的主要功能模塊以及應用。
為了滿足軟件外包公司跟著自己的需要來承包適合自身的項目,為改進公司軟件項目外包過程的管理能力,本平臺系統通過對軟件項目進行追蹤、審查等,為外包公司鋪設好基礎設施以及管理流程,從而逐步提高企業公司過程管理能力,使軟件項目產品的質量得到保障。
根據外包中介平臺的需求,平臺需要具有以下幾大特點有足夠的安全性、功能強大、能夠存儲海量數據,因此平臺的系統結構如圖1.1示:

圖1.1 平臺系統結構
平臺分為前后端。前端強調較高的用戶交互性,后端側重于系統的高性能的數據處理、數據傳輸以及安全性設計。
由于平臺需要提供給外包方以及雇傭方等多方角色使用,所以需要考慮到諸多性能以及功能模塊。
軟件外包中介服務平臺架構分為三層。
應用層,實現外包項目的交付、管理、審查等;平臺層,支持對大量數據的采集、分析、處理等;框架層,平臺層技術的支撐基礎。
軟件外包服務中介平臺由用戶模塊、交易模式、法律保護三大個基礎模塊組成。用戶模塊用于區分承包方和外包方角色,交易模塊用來保護角色之間的交易以及項目管理,法律保護模塊用來維護角色的合法權益。
平臺采用B/S(瀏覽器/服務器)架構,采用mvvm(前后端分離)的設計模式,前端通過vue+vuex+vue-router完成前端的工程化開發,提高前端可維護性,通過axios完成對后端數據的提取和處理,通過iview完成前端可視化ui界面的設計,后端使用django完成后端模型的快速開發,完成后端數據的快速提取,及接口的設計,使用djangorestframwork完成restful接口的開發,提升程序整體架構的可擴展性,使用redis進行緩存,提升前端獲取后端數據的速率,以提升用戶對平臺的體驗感。
前端技術:
(1)vue
Vue是一個構建數據驅動的web界面的漸進式框架。
(2)vue-router
VueRouter是Vue.js官方的路由管理器。它和Vue.js的核心深度集成,讓構建單頁面應用變得易如反掌。
(3)vue-devtools
vue-devtools是一款基于chrome游覽器的插件,用于調試vue應用,這可以極大地提高我們的調試效率。
(4)vuex
Vuex是一個專為Vue.js應用程序開發的狀態管理模式。
(5)axios
axios是一個基于Promise用于瀏覽器和node.js的HTTP客戶端。
(6)iview
iView默認提供了一套UI主題,并且可以在一定程度上定制新主題。
后端技術:
(1)python3.6.3
Python是一門面向對象的解釋型的腳本語言。
(2)Django
Django作為python web開發中最富盛名的框架,內部攜帶的orm框架完美的提升了開發者的開發效率。另一方面,Django有廣泛的實踐案例和完善的在線文檔。最后一個殺手級的方案,Django自帶后臺管理系統admin。
(3)DjangoRestFramwork
DjangoRestFramwork框架是一個用于構建Web API的功能強大且靈活的工具包。提供API接口測試,提供接口文檔在線生成,提供身份驗證策略包括OAuth1a和OAuth2的軟件包,支持ORM和非ORM數據源的序列化,擁有廣泛的文檔和良好的社區支持。
平臺通過前后端技術結合,實現了REST風格接口、多租戶、并行處理、分布式緩存以及分布式存儲等特點。從而能夠支撐起足夠龐大的用戶群體以及海量的數據管理。
軟件外包中介服務平臺提供軟件外包服務體系、項目管理體系、自由交易體系等平臺管理框架,也提供法律保證。在平臺上完成外包方和承包方的交易過程,可以提高外包項目成功率以及有效保障項目質量。實現軟件外包中介服務平臺的意義,在于通過使用技術手段和有效的商業運營,來提高中小型軟件外包公司的項目能力,創新軟件外包發展之路。