天天看點

訂單可視化(智能制造、流程再造、企業資訊化) 第四篇 技術方案的制定

1.1.  開發方式的選擇

按軟體工程的方式,一般軟體開發無非是靈活快速疊代;另一種便是瀑布模型了。其它的就不說了,大約都是這兩個的變種。

具體采取什麼樣的方式,要依據項目的實際情況進行選擇。當一個項目前期可以有足夠的精力與投入去定義需求與産品的時候,可以采取瀑布模型,初步花30%-50%以上的時間用于定義需求與原形;當一個項目前期不可能去正确定義需求時,很顯然,你花很多時間在上面風險更大,有時候更需要就是一邊做一邊摸索需求。當然訂單可視化系統就選了後者,一邊做一邊發現需求,當時的我以及上司對于未來隻有一個相對模糊的概念,怎麼做如何做,心裡都不一定有底,至于後來當然是越做才慢慢變得清晰。但有一點理想貴在堅持,相信能夠做成功。

1.2.  計劃的制定

計劃的制定過程中,大約估計了一下工作量,确定了先分三期實施(後來通過我翻閱很多書籍才知道,一個企業的流程再造,可不是短短時間可搞定的),一邊做一邊看。列出當時所有可以想到的功能子產品,标出優先級,按優先的分一期二期,再細分至月,然後每個月再将每個星期的工作細分。其實,一開始要定好每個星期要做什麼這是很難的。在快速疊代的過程中,我隻知道這個月要做什麼,然後最多提前按排兩個星期的任務。另外,計劃的制定過程中,需要預留多一點點的時間,這個時間的松動主要為了保證在出現難點的時候或者團隊成員松動的時侯,對于工作上的安排會有足夠的應對。

1.3.  技術選型與架構搭建

技術選型在初期是相當重要的,要考慮當時所處環境,各個語言的特性,項目的性質更适用于什麼語言,各語言的生态系統如何,跨平台的性能如何。當做桌面程式時,正常情況下會選.net c#,快速開發,充分利用windows的現有的元件;當做網頁程式時,會選基于Java web方式,用java做他的整個生态是完善的,要什麼工具基本上都會有Java版人,人也相對好招。你也許會問,PHP那麼适合做網頁,為什麼不選PHP呢?PHP做網頁确實快,但他的生态與後續的工具元件沒有那麼多,且PHP通常僅适合做網頁,而JAVA就可以什麼都做,最最關鍵的是,招人好招,而在長沙PHP招人是非常難的。如果是做高性能程式,那肯定會用C++來做,這個沒什麼好争議的。當我們做的項目是系統工程的時候,我們肯定不會優先選性能好的,而是選生态好的,代碼是好控制的,不容易出錯的,當有極少數如加密算法,注冊防破解這種就可以單獨用C++寫庫防止他人反編譯代碼。是以項目最終選擇是JAVA語言,配套前端Javascript語言。

JAVA世界,百花齊放,搜尋引擎與大資料分析架構應有盡有,而做WEB多年的SPRING生态體系提供了最穩定的解決方案,後端上,我們采取SpringMVC+Mybatis+Shiro(權限控制元件)來組織代碼,分子產品開發。此處特意提一下JeeSite及作者thinkgem,感謝他的熱心開源,為我們最初的基礎提供了有益的幫助。

前端上,架構也是非常之多,最終我們標明了Bootstrap,抛棄了對Internet Explorer 10及以下版本的支援,采用最新的HTML5技術,頁面上應用了頁面自适應技術,這樣,無論使用是PC還是手機,我們都能夠提供一緻的體驗,當然由于公司内網的特殊性,移動端我們僅是做了技術預留。

報表及圖表架構上,選擇了Echarts,百度的這一個貢獻在整個IT界相當知名,成熟。

繼續閱讀