大家都希望自己參與的專案能夠成功交付,然而影響每個專案是否成功的因素卻千差萬別。在此,根據自己的經驗,說說一些在適當時候有用的方法,可以從一定程度上
提高專案成功率的方法。就像設計模式一樣,這些方法的使用過程必然是乙個仁者見仁、智者見智的過程。
1. 盡量不要考慮專案外的重用
許多人認為能提高軟體的重用度是最好的,然而每個專案實際情況都會有所不同,在設計專案中的某個模組、方法時,過多的考慮專案外的重用,必然會參加專案的複雜度,增加時間的開銷。也許有人會說,這會減少下一項目的開銷,試問,下一專案是什麼專案?有什麼需求?各方面有什麼影響因素?有誰會在當前知道這一切。 如果真要重用,應該是在專案結束後再將可重用的部分提取出來,經過修改、優化後做為企業的可重用資產,而不是當前專案中的一廂情願。
2.經常檢查專案架構
專案架構通常是在專案實現開始前就已確定的東西,是乙個總體的設計。然而,在這時,對專案需求的理解、複雜度的估計對還停留在乙個初始階段。如果在專案開發過程中不隨著對專案的理解改進架構,必然讓專案中的成員都按錯誤的方法開發專案。所以,必須經常檢查專案的架構,進行必要的重構。
3.重構
有人說,都寫了這麼多了,再修改不是浪費時間嘛。他可能沒有想過,乙個下午的重構可以加快以後幾個月的開發速度,這節省下來的時間是無法想象的。再者,通過重構,通常能想到更多簡單的方法來代替現有的實現,這樣的經驗,同樣可以簡化其他模組的開發。
4.避免過度整合,讓每個模組只做自己的事
乙個常見的例子是,在業務系統中通常會有許多的審批,很多人一下子肯定會想到把審批做成乙個通用的模組。這是沒有問題的,然而通常的問題是,太多的人將審批結束後的業務處理也放到了審批模組的業務邏輯中,其實,那些是各業務模組自己的事,審批應該只完成審批即可,至於審批結束後怎麼辦,讓該幹這事的模組自己去處理。
5.避免過度靈活
設計和**並不是越靈活越好的。乙個常見的例子是,使用泛型時可以使類或者方法操作不同的物件,然而,在 .net 常用的 n 層架構中,如果一系列的類本來就是針對某個特定實體的操作,就沒有必要還指定為泛型,再在使用時指定為使用特定的實體類。這頗有畫蛇添足的感覺。
6.減少錦上添花的功能
頁面無重新整理,更酷的顯示效果等等,對於業務系統來說都是些錦上添花的事,如果因為這些而使業務介面非常複雜,給業務處理帶來一系列的問題,極端情況是業務處理無法繼續時,再漂亮的介面也是無用的。乙個忠告時,僅在確保業務處理正確進行的前提下再考慮其他的。這一點有乙個前提是與使用者進行必要的溝通。
7.適當拆分
這一點與 4 類似。盡量降低每個模組的複雜度,讓腦力勞動轉化成體力勞動。乙個常見的例子是,通常對某個表單都會有增加、修改、刪除和檢視的功能。但是,前三種操作通常僅在某個功能點上、特定狀態和特定許可權的人進行操作(也許僅在在系統中的唯一乙個介面中)。而檢視操作卻會分布在專案的各個角落,如果將這四種操作都放在同一介面中,雖然可以減少介面數,但增加的卻是這一介面的複雜度,要對各種狀態、條件進行必須的判斷來進行介面元素的唯讀設定,這個複雜度的增加是指數級的,而如果將檢視拆分開,工作量將是線性的,就算要做10個檢視介面,總比複雜度變成 10*10 要容易處理得多,況且還可以元件化。
這些都是由專案中的經驗而來,總的來說,都是為了降低專案的複雜度,提高開發的效率。需要時可以適當的加以使用。
簡單是一種美 提高專案成功率的一些方法
大家都希望自己參與的專案能夠成功交付,然而影響每個專案是否成功的因素卻千差萬別。在此,根據自己的經驗,說說一些在適當時候有用的方法,可以從一定程度上提高專案成功率的方法。就像設計模式一樣,這些方法的使用過程必然是乙個仁者見仁 智者見智的過程。1.盡量不要考慮專案外的重用 許多人認為能提高軟體的重用度...
簡單是一種美 提高專案成功率的一些方法
本文最初發表在 理想 美人上。大家都希望自己參與的專案能夠成功交付,然而影響每個專案是否成功的因素卻千差萬別。在此,根據自己的經驗,說說一些在適當時候有用的方法,可以從一定程度上提高專案成功率的方法。就像設計模式一樣,這些方法的使用過程必然是乙個仁者見仁 智者見智的過程。1.盡量不要考慮專案外的重用...
一種簡單的可提高DPWM解析度的FPGA設計方法
開關電源數字控制設計中,通常我們會使用fpga來實現dpwm的設計,然後在傳統dpwm的設計中,應用於高頻時會有明顯缺陷,對於fpga的優化 面積和效率尤為重要。本文在傳統dpwm設計的基礎上,創新一種快速提高dpwm解析度的fpga設計方法,有效解決傳統dpwm在高頻pwm設計時的缺陷。此方法原理...