工業軟件開發方法論

2019-03-25 10:28:51分類:軟件開發2424

  工業軟件是相對比較寬泛的一個概念,從研發、生產、倉儲到管理等都是工業軟件的組成部分。同時工業軟件也是客戶個性化需求較高的軟件,會因為使用者的模式、特征、甚至是產品品類不同具有巨大的差異。例如:汽車制造的MES系統和服裝個性化定制的MES系統具有天壤之別。

  由于工業軟件的特點決定了工業軟件的開發、交付與實施都周期比較長,成本比較高。并且造成很多失敗的案例。

  那么,作為當今智能制造升級核心的工業軟件如何開發才能走出作坊的誤區,并且能夠做到在保證軟件質量的前提下進行高效交付呢?作為最早從事服裝個性化定制MES系統的開發者,昱辰泰克十多年來總結出一套軟件系統開發的方法論。簡單來說就是三個化:共性平臺化、知識模塊化、個性客戶化。
 

工業軟件開發
 

  首先,工業軟件是典型的2B市場,對于2B市場面對的企業來說,需求的差異造成無法形成標準的軟件產品進行銷售(CAD等工具軟件除外),特別是像MES這樣的軟件,由于直接參與到企業的管理流程、工藝流程和生產流程之中,所以可以說沒有任何一套軟件可以在不同的企業間使用。這就要求軟件架構師在規劃產品時給客戶化留出空間。我們要承認差異化的存在,并且要用架構來應對客戶的差異化,絕對不能掩耳盜鈴地認為自己可以開發出一套放之四海而皆可應用的工業軟件系統。

  其次,我們承認不同企業對工業軟件(我們以MES為例)的訴求不同,那么我們就需要為專門的客戶進行軟件的客戶化,軟件的客戶化分為兩個層級,淺層的客戶化是進行功能配置,深層次的客戶化是進行功能開發。這樣我們把我們的MES軟件系統分解為可客戶化的功能和需要專門開發的功能。

  第三,由于昱辰泰克僅開發時尚行業的MES系統,借用行業的約束條件,我們的行業專家就可以抽象不同類型的企業特征,把這些行業特征定義為知識,通過軟件開發把抽象出來的知識進行模塊化,之所以把知識進行模塊化的最核心的原因是有些知識具有互斥性,也就是說,使用了知識A就不能使用知識B,所以需要把知識模塊化有利于后期的配置,在具體實施的時候使能某些知識,更好地為具體的客戶服務。

  第四,行業中具有的共性屬性,例如服裝智能制造中所需要的靈活的流程、訂單到裁單的歸集與分解、工藝流程與生產流程的匹配等都屬于共性的內容,這些內容所有企業都需要,差別僅僅是復雜度的不同,那么這些功能我們定義為平臺屬性,通過軟件的靈活性實現,例如:通過BPM系統實現流程的可定義等。

  最后,當我們把工業軟件的共性部分進行平臺化,知識部分進行模塊化,并且個性部分通過客戶化進行交付后,我們會遇到很多個性化的要求,我們再在這些個性化的要求中尋找共性或知識,通過PDCA流程,把可以抽象到平臺的功能加入到平臺,把可以抽象為知識的開發為知識模塊,并且所有的平臺功能和知識模塊都使用微服務的原則開發。這樣的一個迭代流程會使產品越來越適合更多用戶的需求。按照我們在服裝智能制造十年的研發經驗,大概三到五年需要一次重構(我們十年時間已經重構過三次,現在我們服裝智能制造MES系統的主線版本是4.3),重構需要特別注意的是對兼容的甄別,例如我們在版本4中為了更好地支持客戶體驗,用戶界面全部使用HTML5的特征,就會造成對以前使用老版本的Windows系統不兼容,實踐證明,這個取舍是值得的,因為隨著客戶的要求越來越高,重視客戶體驗一定會成為未來的趨勢。

  通過站在不同的抽象層級把工業軟件分解為平臺、模塊和客戶化,既滿足了客戶價值的體現,又能降低我們的交付難度,并且隨著時間的推移,能夠讓自己的產品不停地進化,從而提升產品在市場上的競爭力。我們稱之為工業軟件開發的方法論。

上一篇:下一篇:
福利彩票 一定牛彩票app下载官网 哥哥赚钱妹妹花 双色球专家推荐 内蒙1.7亿彩票大奖得主 极速十一选五遗漏 贵州快三中奖规则 诈金花游戏下载手机版下载 内蒙古十一选五开奖结 九乐棋牌官方手机下载 99彩票平台最新登陆网址 彩票22选5开奖21号 山东十一运夺金走势 山西十一选五任三最大遗漏数据 吉林十一选五前三走势图表 手机彩票app