● 技巧方法:
☆ 真正以用戶為中心的設計,到客戶的實際工作環境中觀察和記錄;
☆ 仔細查找各種業務主角,并描述不同主角的各種操作流程與步驟;
☆ 簡化需求,將客戶的需求歸納整理,抓住核心問題;
☆ 細化需求,針對核心問題,模擬用戶角色,進一步確認流程和規范;
☆ 認真制定設計計劃書,為下階段的工作打好基礎;
在這個階段,我們將客戶的需求轉換成一個切實可行的設計方案,并為客戶重新進行業務優化和組合,定出項目目標。
現在我們總算找到方向了,剩下的就是開始攻堅。向下一個階段進發……
第三階段:系統分析及軟件建模
如果說前面兩個階段是設計大樓藍圖,那么,我們現在要開始打地基了。
系統分析和建模是項目開發的核心工作,對于一個有經驗的開發人員來說,客戶的需求有很多方式可以實現,但是不同的構架對系統今后的維護、升級和擴展具有天差地別的影響,一個不合理的結構用不了多久就得完全拋棄,重新開發。
如果眼光僅僅放在滿足客戶眼下的需求,當問題出現時再不斷修補,頭痛醫頭,腳痛醫腳,甚至系統構架需要不斷調整或重新設計,那么,很快就會陷入代碼泥潭或墜入系統重復開發的無底深淵,項目完成時的成就感將被無止境的沮喪所代替。系統分析決定系統開發的成敗,軟件建模使系統開發走向成熟。
客戶的需求一定會變,服務器和客戶端環境也不斷在變,考慮到不同的操作平臺、不同的應用服務器、不同的數據庫、不同的編程語言、不同的傳輸介質等等所帶來的影響,系統分析員面臨著艱難的選擇,任何人都不可能掌握甚至說精通全部的技術,孰優孰劣,何去何從?我們仿佛走到了迷宮的中央,四處都是通道,卻不知道哪里才是最快的出口。
“采用面向對象的開發模式并使用UML(統一建模語言)對系統建模!”,網站即軟件,軟件開發方法同樣適用于網站項目開發,這給系統分析員指出了方向。
建模并不等同于程序編碼,利用同樣的UML模型可以生成不同語言的框架代碼,而且可以通過反向生成,在編寫代碼過程中及時更新UML模型,這對系統分析員和項目管理人員來說是夢寐以求的。只要能夠仔細地把握客戶的需求,不斷改進軟件模型,那么采用什么樣的語言開發已經成了次要,大量的需求積累和分析工作能在客戶需求變化時得到高度的復用,即使系統采用新的語言重新開發,需要的也僅僅是編碼部分的工作。
● 重要角色:系統分析師,構架設計師,數據庫工程師,業務流程分析師。
● 獲取文檔:《需求分析報告》、《項目模型報告》、《用戶界面原型》、《設計開發計劃書》。
● 里 程 碑:《系統分析報告》、《設計及編碼規范》、《系統模型工件》。
● 注意事項:
☆ 客戶比較關注的是功能實現,但是不意味著客戶不在乎系統的性能,成功的項目開發不會僅僅為表面上達到客戶的需求而忽視系統的缺陷和瑕疵,網站項目同樣需要有”精品”意識,樹立一個品牌將為自己贏得更多的機會和更豐厚的回報。
☆ 客戶的初期需求或許很簡單,但開發人員不能不為客戶潛在的巨大需求打下堅實的基礎。
☆ 也許是因為項目周期過短、開發人員技能達不到等因素,在小型項目開發中難以采用進行規范的系統分析設計和建模,此時,應盡可能采用模塊化設計、爭取代碼最大限度的復用。
● 技巧方法:
☆ 補充完善上一階段可能欠缺的系統性能需求;
☆ 系統分析員需要站在全局出發,設計合理可行的系統方案;
☆ 在需求不明的情況下設計多種解決方案,供客戶選擇;
☆ 使用UML建模方式,將客戶變化的需求映射到模型中,大大提高系統的擴展性和開發效率。
走到這一步,最難的骨頭被啃了下來,當一個合理可靠的系統核心被設計出來時,客戶會很詫異地問他為什么看不到一行的代碼,但成熟的系統分析員已經成竹在胸。
下面讓我們一起看看整個系統是如何構建起來的……
第四階段:界面設計、交互設計及程序開發
在網站項目開發過程中,這個階段也叫做構建階段,是工作量最大、最艱苦、最難以控制的階段。不管一座大樓藍圖設計得多宏偉,若沒有管道工、泥瓦匠、水電工等各種工匠一磚一瓦地艱辛積累,密切協作,這座大樓始終是空中樓閣、海市蜃樓。
如果客戶此時參觀項目小組的工作,他可以看到:
● 美工設計師在根據用戶界面原型進行美工設計,準確地將系統的形象進行定位;
● 交互設計師將美工的作品根據業務流程進行網頁的編輯,為用戶體貼地設計著交互程序;
● 程序員根據系統分析員分配的模塊編寫代碼,一行行代碼將系統澆注起來,一個個模塊開始活起來;
● 測試工程師不斷地檢驗著每個人的工作,單元測試、集成測試、負荷測試;
● 文檔工程師開始收集、管理各種開發文檔,每天檢查更新記錄和隨時保證重要文檔處于最新版本;
● 系統管理員為每個開發人員部署開發環境,并保證著最佳的工作狀態;
項目小組在項目經理的帶領下緊張而有序地進行著,全速開動。系統構建階段,控制開發質量,保證進度是項目經理最關注的焦點,通過合理地分配資源和任務、建立小組成員間的有效溝通和采用相關管理軟件控制能夠有效地提高開發質量和進度。
● 重要角色:美工分析師、交互設計師、程序員、測試工程師、文檔工程師。
● 獲取文檔:《需求分析報告》、《項目模型報告》、《用戶界面原型》、《設計開發計劃書》、《系統分析報告》、《設計及編碼規范》、《系統模型工件》。
● 里 程 碑:《程序模塊》、《開發文檔》、《按客戶需求開發完成的系統》。
● 注意事項:
☆ 人不是機器。當人成為項目開發流程中一個鏈條的時候,誰也保證不了人可以像機器一樣精確而不知疲倦地工作,因此,項目管理人員要保障小組成員之間有效地溝通和協作。在劃艇比賽中,不是人數越多就劃的越快,當有人喊著號子,大家齊心協力協調行動時,這艘皮艇才能快速地向目標駛近。
☆ 測試是保證質量最直接最有效的方式,只有不斷地測試、測試、再測試,才能使系統達到滿意的質量。把BUG消除在萌芽狀態是最理想的,遺憾的是老虎也有打盹的時候,何況人還會偷懶?系統構建進度最快的時候通常就是BUG產生最多的時候,只有進行反復交叉的測試才能確保質量。
☆ 交互設計師是系統和用戶之間的橋梁,真正從用戶的方便和習慣上下功夫,無論是一個彈出窗口還是站點的導航設計,甚至意外出錯的提示等等,都需要精心設計,反復雕琢。交互設計如果能解除新用戶對系統的恐懼,將會贏得意想不到的奇效。
☆ 程序員在編碼過程中需要和系統分析員保持密切的協作和溝通,在規范的系統開發過程中,隨意的個性化是極其有害的,任何一個自定義函數或字段都可能造成系統崩潰。構建一個系統好比將1000塊磚頭壘成一疊,程序員再往上加一個模塊上去的時候都得想想擺正了沒有,否則壘不到幾十塊的時候,系統就轟然倒塌了。系統就是這么一回事,一點也不好笑。
● 技巧方法:
☆ 利用項目管理工具對項目進行管理,無論是Project還是Starteam,或是其他工具都行;
☆ 建立文檔管理規范,采用相應的文檔管理工具對版本進行控制,PVCS或VSS都是可選擇的工具;
☆ 創建團隊的溝通環境和渠道,利用郵件或者論壇,開會或者遞紙條,一切有利于交流的方式都可以,以保證協作成員之間迅速繞過障礙,奔向目標,人力資源經理的忠告是:溝通是提高團隊凝聚力最有效的辦法;
☆ 建立BUG匯報及處理系統。只要是軟件,就一定有BUG,雖然這是個灰色笑話,但捕捉和消滅BUG是開發人員的天生義務,建立BUG管理系統可以爭取使同樣的錯誤不再犯第二次,當系統日漸完善的時候,那長長的BUG消滅清單就像工程師們的累累戰果。
系統的全貌終于露了出來,客戶的心這時候總算踏實了些。
不過這時候可不是結束的時候,在軟件開發過程中,剩下的10%工作量都可能會拖延占用項目的90%時間。
第五階段:系統測試、部署和文檔編寫
意外在網站項目管理中不是個新鮮詞,最大的意外就是沒有意外。
系統開發完成后,雖然經過了一次又一次的測試,但是在部署過程中仍然隨時存在著意外。此時,最常聽到開發人員說的一句話就是:“奇怪?!怎么在我這里好好的,放到別人那里就不行了?”
● 測試工程師根據《系統分析報告》和《項目模型報告》模擬測試環境,按照測試指標對系統的功能和性能進行全面的測試,編寫測試報告,并通知項目成員進行修正。
● 部署工程師會同客戶代表進行安排配置和調試,直至正式發布啟用。
● 文檔工程師撰寫各種文檔,包括系統白皮書,用戶使用手冊,管理員手冊,客戶培訓文檔,用戶幫助等等,并總結設計和開發文檔,進行項目總結。
中國有句古話:“善始善終!表椖啃〗M協助客戶快速部署并提供相應文檔,不但能為售后服務節省大量精力和成本,同時能夠大幅度提高客戶滿意度。
● 重要角色:測試工程師、文檔工程師、部署工程師、客戶代表。
● 獲取文檔:《需求分析報告》、《項目模型報告》、《用戶界面原型》、《設計開發計劃書》、《系統分析報告》。
● 里 程 碑:《測試報告》、《技術白皮書》、《用戶使用手冊》、《客戶培訓文檔》、《用戶幫助》。
● 注意事項:
☆ 測試不單包括功能測試,特別需要注意到性能測試和兼容性測試,應盡可能創建不同的模擬環境,取得完整的測試數據,針對測試結果對系統進行改進。
☆ 開發環境和部署環境不同造成實施過程出現“意外”一點也不意外,只有到客戶能夠良好地駕馭系統才算達成目標。
☆ 對照前兩個階段所做的《需求分析報告》和《項目模型報告》,檢查目標是否都已經實現了?馬虎的項目小組也許經過長時間的開發,已經忘記了最早的項目目標,而需求計劃在開發過程中也許經過了大量改動,事實也許就是這樣,等做完了,客戶和你才找到了真正需要的東西。
● 技巧方法:
☆ 根據系統的特性,采用專用測試軟件或編寫測試工具,有助于提高測試的效率、準確性和完整性。
☆ 選擇對系統完全陌生的典型用戶模擬操作,能夠發現大量系統缺陷。
☆ 無論是網頁模板還是程序模塊,養成在源代碼中寫注釋的良好習慣,對開發過程中任務交接、糾錯或今后二次開發都非常重要。
☆ 交給客戶的文檔越規范詳盡,后期的成本越節省。
當系統終于如期運轉的時候,該好好祝賀你了,系統開發完畢,對于項目小組來說接近了終點,但是對于客戶來說才是一個起點,項目進入收尾階段就是從客戶培訓開始的。
文章來源于領測軟件測試網 http://www.kjueaiud.com/