某一次的案子,需要重新開發客戶的門禁管理,為什麼說重新開發呢?因為當時已經有一個系統在運行,只是負責的廠商聽說是個人經營的,不繼續維護了,而客戶那邊又因為資料來源有變動,需要更改系統,因此找來我們進行重新開發。
這類重新開發的案子,有個好處,就是需求非常的明確,介面可參考現有系統,客戶也有詳細地說明須修改那些地方,算是省了我們不少工在溝通上。但同時也有一些難處,硬體只有一套,包含電動閘門、門禁讀卡機、條碼機各一對,並且還在運行中,沒有辦法借我們開發測試。
這倒是難倒我了,沒有硬體是要怎麼開發,好在業務先去斡旋,看能不能借到部分硬體,前期就先開發後端跟UI的部分,總共分為網頁後台和閘門端顯示的桌面程式,因為客戶明確指定要只用C#,日後他們才好維護。桌面程式我用WPF C#沒問題,不過網頁端就只能用ASP.NET Web Forms了,有鑑於上次維護同事網站的經驗[參考1],這次可不想再踏入,好在經過一番研究,發現了ASP.NET MVC這玩意兒,前端部分回歸純HTML,只要習慣後端架構就好,雖然還是要花點時間學習,但總算是鬆了一口氣。
後來硬體總算是借到了一部分,閘門這麼大台自然是不可能了,不過好消息是,閘門由門禁讀卡機控制,有SDK可以用,但條碼機借不到,只能買一台來。因為閘門端顯示的電腦只有一台迷你電腦,要接兩台條碼機並且能辨別輸入源,自然想到用USB模擬Com的方式,於是就朝這個方向開發。就這樣一路順利開發完成,到了前往安裝的那一天,雖然很快就把網頁端處理好了,但是裝閘門桌面程式時,才發現了一個問題,條碼機都是USB模式…
莫急莫慌,模式是可以切換的,依照測試條碼機的經驗,刷個設定條碼就行了,於是乎在現場趕緊研究。因為該機型已經很久了,只在官方論壇有資料,初步看起來是可以設定的,但還需要另外安裝驅動,經過一番折騰,總算是成功設定上去了。趕緊運行程式卻發現,序列埠的取值有問題,此時時間已晚,不得已只好先還原舊系統,下次再戰,臨走前不忘向客戶借了台同型號的條碼機回去測試測試。
所以說,沒有對應的硬體,實際佈署的時候還是有很大機率翻船,可以的話,真該提早借一台條碼機測試,影響到客戶挺不好意思的。經過2天的測試調整,這次去佈署,總算是正常運行了,不過因為開發時只有少量的測試,當下直接壓力測試XD,一有問題及時改code,終於還是佈署完成了,後續遇到些小問題,就靠著埋log跟遠端處理,最終順利結案了~
發表迴響