軟體行業發展了很多年,已經衍生出各種開發模式,像rup,極限程式設計等等。而本文詳細記錄了我在使用輕量級b/s引擎noahweb來開發b/s結構的csdn新聞mis系統的時所使用的「增量迭代」開發模式的過程。意在讓更多的人能了解和對比noahweb中所倡導的「增量迭代」開發模式同其他模式的不同之處。
特別感謝:撰寫本文時由於得到csdn相關部門的大力支援!因此文中所提mis系統的各階段原始碼也隨本文同時提供,在了解這套mis系統的開發模式的同時,有興趣的讀者還可以深入了解一下csdn對新聞採編所使用的先進管理經驗,再次感謝csdn為我們無私的公開該專案原始碼與管理思想。
6月8日(星期三):需求分析階段
上午
早晨到公司上班,james告訴我有乙個新的系統要開發,是csdn的乙個mis系統。並把頭天晚上他和neo在msn進行的一段交談記錄發給了我,並要我盡快完成這個專案,msn談話中neo詳細講述了他所需要的新聞報道的mis系統的需求,看後我對系統也有了個大概了解。下午msn中的內容如下:
由於noahweb開源示例中已經有一套成型的mis許可權管理示例,並提供了完整的原始碼,所以有關mis中的許可權這部分我覺得我沒必要再做了,可以直接以它為藍本繼續開發。另一方面雖然neo對所系統的需求已經描述的很仔細,可是系統中有關係的元素很多。我和neo之間的理解可能會有很大差異,因此開發管理上我決定採用「增量迭代」模式,逐步探索該系統的需求,同時保證整個專案能盡快完成。
15點36分:經過一系列分析,我製作出假頁面交付給james,我們的目的是更多更深刻的了解neo那邊的需求。這時的假介面版本暫定為1.0。6月9日(星期四)-6月10日(星期五) :編碼實現階段策劃1.0版本
james把這個策劃發給了neo,其中他們又使用了msn進行溝通,對話內容如下:
15點41分:我回頭看james和neo在msn對話的時候發現策劃1.0版本中我遺漏了「搜尋產品的功能」,呵沒辦法,常言到智者千慮也必有一失嘛。沒等neo給我反饋,我已經開始修改策劃,又發了一套假頁面的策劃給james,這個版本為1.1。
策劃1.1版本
16點53分:james拿到了neo那邊的意見,意見如下:
msn對話內容
為此我再次製作出了1.2版本的策劃假頁面。
策劃1.2版本
18點26分:james發來了和neo的對話。策劃出來的假頁面已經不需要進行修改,這是個不錯的訊息。明天準備開始寫**實現功能。
原對話內容
今天用靜態頁面做了好幾個策劃版本,目的是通過這些的介面可以讓客戶通過一定程度的真實體驗感去體會系統最後開發出來的效果,從而提出反饋獲得幫助獲得更準確的需求,通過這幾次的修改對客戶的需求會更快更深的了解,這無疑是一種非常好的低成本增加效率的方式,也能大大減少開發後期需求變化的可能,至少不會出現和使用者需求「大相徑庭」的現象。
從策劃分析確定了這個mis系統很小,所以「增量迭代」後面的過程我就簡化了。周四和周五兩天內沒再同james或是neo溝通,根據最後確定的策劃1.2版,開始設計資料庫和編寫**,由於noahweb的編碼機制很利於「增量迭代」模式的開發,而且有很強的表單支援,資源重用很容易,所以在兩天內整套mis系統的功能就都實現了。6月13日(星期一):空閒給james發過去了**,james在下班前把1.0版發給了csdn的neo,呵呵本週工作結束,週末我可以好好休息了。
今天沒我啥事,可能csdn那邊還未進行部署吧。我繼續做我別的事情。6月14日(星期二):變更階段
上午
依舊沒我啥事情,我接著弄別的。下午
16點15分:csdn的neo給james發來了系統安裝後的乙個錯誤日誌報告,我忽略的乙個小bug。後記:對話內容
為此我趕快傳送了將缺少資源的兩個檔案進行替換解決了此bug。
16點22分:csdn那邊試用過系統之後發來了反饋意見,呵呵意料中的事了,乙個系統沒真正使用前誰也不能體會真實的使用感覺,所以在試執行階段,變更是肯定的,這個正好也是「增量迭代」的中心思想!
對話內容
18點29分:
18點47分:neo和james聯絡,那邊對於1.1版本基本上滿意了,任務順利完成。
對話內容
「增量迭代」模式本身源於實際b/s專案開發的經驗,它將整個必要的開發過程分成多個迭代過程,並通過迭代探索使用者真實需求,並在每次迭代的同時根據最新獲得的需求調整最終系統,使用迭代也將減少系統開發結束之後的變更工作量,把原本在專案最後階段才會暴露出的變更融合進整個專案開發中,縮短開發周期!降低成本。本次的開發到這裡也就結束了。5天開發完成出這麼一套系統的確不是一件容易的事情,最初3個版本的策劃假頁面起了很大的幫助,如果沒有這些工作,恐怕兩周也不能開發完成。另一方面noahweb引擎所採用的高效編碼機制對採用「增量迭代」模式下的編碼效率和迭代中變更支援也起到了決定性的作用。
希望這種開發模式能為大家帶來一點點的靈感,謝謝。
五天實現CSDN新聞MIS系統開發手記
軟體行業發展了很多年,已經衍生出各種開發模式,像rup,極限程式設計等等。而本文詳細記錄了我在使用輕量級b s引擎noahweb來開發b s結構的csdn新聞mis系統的時所使用的 增量迭代 開發模式的過程。意在讓更多的人能了解和對比noahweb中所倡導的 增量迭代 開發模式同其他模式的不同之處。...
python系統學習第五天
python中的異常 異常 程式執行 現的問題或者錯誤成為程式的異常 控制台會出現 每個異常包含的資訊 出錯的檔案,行數,具體 錯誤型別,錯誤的 異常處理的模式 異常處理 當程式出現異常的時候,對程式進行處理 形式一 try 監控的 塊 except 如果監控 出現問題,怎麼處理 形式二 try e...
體檢預約系統 第五天 預約管理
poi 日曆控制項 第一種 使用between and 查詢 封裝list ordersetting 集合 再在serviceimpl 遍歷該集合 封裝成與前台資料格式相同的list map 集合 第一種sql 方案一 根據日期範圍查詢預約資料 getordersettingbymonth para...