一次二次开发中的经验与教训(一)
生活随笔
收集整理的這篇文章主要介紹了
一次二次开发中的经验与教训(一)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ?2011年10月份左右,客戶公司(國內較有名的工程機械公司,以XD來代替)打過來電話說要做一個短信系統,并且這個系統要嵌入到他們現有的系統中。要實現的功能有以下幾方面:
? ? ???一,用戶可以用手機實時查詢機械信息。并且機械有報警時,可以自動向關聯的手機號碼發送報警信息。
? ? ???二,系統可以設置,每天每周或每月設置固定時間。來向用戶報告機械信息。
? ? ???三,逢年過節,向用戶發送一些祝福短信。
? ? ???這個系統是建立在現有的系統(一個工程機械管理網站,BS架構)之上的,除了數據庫的結構有些交差及用戶登錄信息需要共享外,基本沒有什么交叉。也算是一次二次開發吧。
? ? ???從書面上來看,需求很簡單,沒什么技術難點,需要注意的地方有以下兩點:
一,用戶的并發查詢處理問題,用戶的數量雖然不算大,但保守也有幾十萬左右(包括XD,XD的職工,XD的機械代理商及代理商的工作人員,還有最張購買的機械用戶)
二,需要分析系統的數據庫及系統代碼
? ? ???這樣我估計一兩個人大約半個月的時間就可以完成,再過半個月部署(需要出差,來回要兩天的時間,再加上測試,調試的時間),這樣基本1個月綽綽有余。而且我也將需求說明書及系統概要設計寄給用戶,他們也簽了字的。于是在合同簽署后我們就開始進行開發了。
項目組算上我一共4人(其中一個以前是做windows phone 開發的,稱為C),根據需求,我將系統分為了三個程序或者說模塊,一個是XD與XD的用戶查看信息用的短信系統(B/S),我讓A負責用戶的日常信息處理,B負責用戶的報警信息的查詢。這個系統需要嵌入到現有的系統中,一個短信監控程序,負責實時的處理用戶的請求,及信息的發送(一天的數據處理量約有10000左右,而且根據用戶要求必須在10分鐘內將10000條短信發送出去,而且要處理第一次發送失敗的重發。拋開短信硬件的功能不說,軟件要在10分鐘內處理完成,也不是非常容易的,所以這個模塊我來寫代碼)。考慮到人員的充分利用,我讓剩下的C開發功能比較簡單的其它附加功能。分好各人的工作之后,我就按照XD提供的資料開始進行分析,真是不看不知道,一看嚇一跳,別的不說,就拿數據庫來說,連個基本的數據庫設計文檔也沒有(這也是國內大部分公司普遍 的通病),而且命名也不一致。導致我前期的數據庫分析與設計延遲了好幾天。
? ? ???而且還有一個比較嚴重的問題是,數據庫里各種型號的報警信息是不一樣的。不止是字段名不一樣而已,而是報警的字段意義也不一樣。有的是0表示正常,1表示異常的。有的則正好反過來。有的則用true/false來表示。而且,同一個型號的機械它們的前綴也不一樣。這樣給我前期的設計帶來了許多意想不到的困難。
? 不管怎樣,數據庫分析好后,我們就開始進入編碼階段,基本上一個星期左右,編碼完成。我們先在我們的服務器上進行測試,因為要模塊客戶的實際環境,我就把XD的數據庫Schema拷貝過來,在我們的服務器上添加了約有幾十萬條數據,然后開始測試,基本上一兩天測試完成(我基本上屬于那種小心謹慎的人,晚上還熬了個通宵來查看程序運行的穩定性,這個領導都不知道,我也不愿意說出來因為屬于本職工作范疇內)。但在給客戶看后,它們說要把界面改成跟原先的系統一致的(這是我的工作失誤,凈考慮系統的功能,認為只有幾個頁面,做的簡潔大方就可以了,所以就沒有跟用戶溝通頁面的效果),不過,俺各類語言都不敢說精通那也是熟悉,js/css不在話下,三下五除二,哦不,是半天時間,將頁面修改完畢。
? ? ? ???給客戶看后,基本沒什么問題。然后我就到常州開始部署系統。原以為沒什么問題了,然而這才是麻煩的開始。?
? ????????到常州后,我沒有休息就趕到XD公司,與客戶代表做了簡單的交流后,他又提出了一些新的想法,而這些想法是在原先的需求里根本沒有的,但考慮到XD是我們目前最大的客戶,我忍了,按照他們的需求,對系統做出了改動,而悲催的是XD公司為了安全起見,斷了外網,公司職工只能上內網及指定的外網,而且除了80外,別的端口都封掉了,于是我只能通過他們的服務器上的qq給遠在千里外的同事發送用戶的需求。
總結
以上是生活随笔為你收集整理的一次二次开发中的经验与教训(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开源即时通讯软件|最好的开源即时通讯软件
- 下一篇: 编程语言学习之我见