從事軟體開發工作前應該做好哪些準備?
cnpack 開源軟體專案 2008-03-20 09:52:25
從事軟體開發工作前應該做好哪些準備
這幾天,總有人問關於介面美化的問題,諸如:"怎麼改變按鈕的顏色?怎麼改變dbgrid指標的形狀"等等;問他為什麼,一般都是"我覺得不好,我覺得……";而過幾天,同乙個人的問題就變成了:"誰能幫幫我,沒時間了作業快要交了!"。我只想說一句,你早幹什麼去了?
當然,不是說介面美化不好,介面的美化確實是專案流程裡的一部分。當然,抱著置疑的態度去看待問題也不是什麼壞事,我曾經就因為感覺我乙個工程裡的核心部分有問題而避免了一些非常大的問題(雖然在修改核心**上用了大概1周的時間)。但是請注意,我注意的是我的核心功能部分,而不是在介面部分。
一、提出問題(以使用者的語言來提出使用者最關心的東西,比如:xx地方效率太低要花太多時間。)
二、需求分析(分析使用者的需求)
三、系統架構(定製軟體的核心功能、資料庫的設計)
四、系統構建(完成軟體的構造,即編寫**)
五、系統測試與優化(軟體測試,bug修補,功能模組的優化)
六、系統維護與擴充套件(bug修補,軟體功能擴充套件,軟體版本的公升級)
對於從來沒有專案經驗的朋友,其實在所有的步驟開始之前還應該學會如何規劃自己的開發周期。
其中軟體開發的準備工作一般是前三步,第四步(系統構建)才開始寫**。一般關於美化介面是放在第五或第六步來做的。應該要確保在你考慮介面問題的時候,核心功能不說無bug,最少應該大致功能應該已經完成了。
當然,上面的流程只是用於商業軟體(因為我只做商業軟體),但是不管是商業的,非商業的,功能最優先實現出來應該都是一樣的。
其實我們也可以想一想,乙個連基本功能都不全的東西,就算你做成世界上最漂亮的軟體,那又怎麼樣?那只是一堆好看但無用的視窗而已,如果你只要這樣的效果,你完全不需要選擇c++、delphi這種開發工具,可以去選擇flash、photoshop等等更專業的軟體,那出來的可以說更漂亮、更快速。而且,在delphi中有非常多的skin系列的元件包,我們完全可以發揮一下"拿來主義"。
工作環境畢竟和學習環境不同,舉個非常簡單的例子,假如老師給學生乙個作業,那麼學生在完成後交了就已經結束了,如果你碰到這樣的情況呢:老師今天給了乙個作業,明天學生門剛剛完成,老師又把題給改了,到後天學生把作業修改完成後、發現題目又改了,或許你這個時候會非常氣憤,但是在工作中這樣的事情是經常的;而且在企業中的規章制度有的時候你可能都完全不能理解:統一不准使用i++這樣的語句,只能寫成i=i+1;諸如此類的規矩在有些企業中會有很多。例如我公司在書寫delphi**的時候就會絕對要求**的書寫風格(說白了就是**的縮排,我現在看到那種所有**行都頂頭寫的,不管你的**多麼優秀,我是絕對不會使用你的**的),並且絕對不允許使用with語句。
為什麼?不要問我,到時候就明白了!
在學校,沒完成作業或者說沒完成畢業設計吧,頂多是分得低點,最慘的是當年拿不到畢業證,但是畢業證沒長腿,今年拿不到明年還有機會。如果在工作中呢?一般沒有按時完成進度會怎麼樣?輕的扣你薪水,嚴重點的讓你捲鋪蓋走人了。對於那些家庭條件好點的人來說可能無所謂,在家休息幾天就當放假,但是一般來說,技術工人本身屬於比較窮的,而且家庭條件好的也不會來做這種工作,這可是和生存有關的啊。如果什麼時候人可以把"進食"戒掉又另說了。當然,有人說:"我可以馬上找到第二份、第三份工作……",那麼你的第n份工作呢?現在我們總不好意思天天在家靠父母養吧!當然假如你在國企的話,那就無所謂了,但是畢竟在國企的還在少數吧。
或許有人會說我太現實,我會說:"人生在世上就要吃、穿、住……這些都要錢,我家庭條件很差,所以不得不現實!"
當然,關於如何更好的去進行手上的工作,如果去管理自己的專案,有很多書籍可以看,就不多說了。我只想說一下,軟體開發前的準備工作是必不可少的,沒有聽過任何乙個專案是因為準備的太充足而失敗的……
當然如果你是搞科研的話,我說的就徹底無用了!
好了,就這樣吧,或許我有用詞不當的地方,也或許你會有反對的意見,沒關係,大家交流下心得嘛。^_^
每個軟體開發者在2023年應該做的11件事
此文為原文的翻譯,原文 2011.12.28 2011接近尾聲,2012即將到來。你已經為2012年設定任何職業 個人目標了嗎?無論答案是什麼,我肯定下面所有列出來的條目中,一定有一到兩條可以幫到你。我寫的帖子通常不會寫有很多建議,因為我想保持我部落格的技術性。但是這個帖子除外。開始 twitter...
軟體開發應該注意的細節
1.系統流程梳理 以乙個很簡單的例子來說明流程梳理對軟體開發的意義,比如你要進行一次演講,但是這次演講是即興的,你不是專業的即興演講家,那麼在沒有準備情況下,你要對著台下的人進行演講,這個時候你走上台去,腦子裡的東西還沒有形成有條理的演講內容,講完後台下的人都不知道你在講什麼,可能你自己都不知道你剛...
軟體開發應該注意的細節
1.系統流程梳理 以乙個很簡單的例子來說明流程梳理對軟體開發的意義,比如你要進行一次演講,但是這次演講是即興的,你不是專業的即興演講家,那麼在沒有準備情況下,你要對著台下的人進行演講,這個時候你走上台去,腦子裡的東西還沒有形成有條理的演講內容,講完後台下的人都不知道你在講什麼,可能你自己都不知道你剛...