由於原系統是使用ASP.Net Web Form的技術開發,為了讓資訊室的人員感覺他們還是有用處的,因此對於新系統仍然選擇了在.net平台上開發,但是為了架構上的擴充性及防止開發人員寫出像義大利麵般錯蹤複雜的程式碼,因此整個系統最低層的架構技術從原本的ASP.Net Web Form改成ASP.net MVC 5,並使用C#語言來開發。
前端則配合微軟的架構規劃,採用了Bootstrap及jQuery,不僅方便前端UI的開發,統一Html和CSS格式,也預先解決了萬一客戶日後異想天開想在平板上操作系統的議題。(事實上也發生了!)
另外,系統架構也引進了多租戶技術(Multi-tenancy)的觀念,所謂的多租戶技術指的是在多用戶的環境下,所有的用戶能夠共用相同的系統,但彼此操作不會相互干擾,資料也確保隔離。由於程式碼及環境都相同,因此在維護及佈署方面都能較為容易。王老先生的要求是要將四套系統合而為一,並且在單一環境裡提供給各家養雞場來共同使用,而各家養雞場的利害關係人則是希望能保有客製化的功能,這正是典型多租戶架構技術的應用。
設計架構第一步要做的就是選擇底層技術,所需要考慮的因素有許多,像是開發便利性、易上手程度、日後擴充性、是否方便維護、是否符合專案需要、是否有許多Google大神能找到的可利用資源,甚至於個人喜好等等都會影響應不應該選擇此技術的判斷。但通常最重要的都會是客戶跟老闆的一句話,他們雖然不會寫程式,但是說出的來解決方案就是聖旨 XD。當我們選定好最底層的開發技術後,才有辦法在這底層上面開始規劃針對解決專案需求問題的系統架構。