1 什麼是軟件開發?
剛開始進入軟件行業的時候,對軟件開發過程單純的認爲是寫寫代碼、做做調試;現在覺得這樣的認識只能說明你還是個新手,軟件開發過程遠遠不只是寫寫代碼這樣簡單,過程可能比你想象中的複雜。
不會寫文檔的程序員不是好程序員,文檔的編寫也是程序員必備技能,甚至可能比寫代碼的能力還重要。
文檔爲什麼很重要,和客戶打交道最多的可能就是文檔了,文檔是項目過程的見證和追溯點,開發過程出了問題使得有地方可以去查,可以想象如果一個項目做完了沒有一個文檔,後面接手的人內心該有多崩潰。
不僅如此,根據文檔可以看出你對整個項目的理解和把控,如果對項目的理解都不透徹,實現的代碼能好到哪裏去?所以個人認爲軟件開發除了編寫代碼,還需要具備項目的整體把控能力,這個能力最好的體現就是寫文檔,重要性不言而喻。
一句話來說,軟件開發不僅僅是寫寫代碼,文檔的編寫同樣至關重要,它是項目各個階段的支撐和依據,文檔的好壞直接決定了項目質量的高低。
2 軟件開發一般有哪些階段?
- 技術調研:和客戶簡單溝通一下,對可能用到的技術進行調研,如果有技術難點還需要突破該難點,爲後續工作打基礎;
- 策劃:主要完成開發計劃、配置管理計劃、質量保證計劃,並對需求進行初步分析;
- 需求分析:詳細分析技術協議的內容,將需求條理化,編寫需求規格說明,弄明白到底要做什麼,並進行評審確認;
- 設計方案:根據需求對軟件做一個概要設計,軟件架構如何設計,軟件分爲哪些模塊,模塊之間的關係是什麼;
- 詳細設計:詳細說明架構的接口設計,模塊和模塊之間接口關係,以及各模塊的詳細設計,甚至關鍵類的設計;
- 編碼實現:完成軟件的編碼工作,這個階段可能是大多數人經歷最多的階段,俗稱“寫代碼”;
- 測試:完成軟件測試工作,包括編寫測試計劃、測試說明、測試報告,並進行評審確認;
- 驗收:交付軟件,編寫驗收大綱(理論上是客戶提供)、軟件研製總結報告,並進行評審確認;
- 維護:軟件後期的維護。
3 現實的情況?
理想往往和現實是有差距的,現實情況很少時候按照上述的流程走,由於項目規格和人力的問題多數情況下在需求分析完成後就開始寫代碼了,很多階段是並行進行,甚至都沒有需求分析,直接開始寫代碼。雖然這樣不符合規範,但是確實是普遍存在的現象,應該要主動避免,並儘可能規範化,項目完成的質量纔會高。
4 開發過程應該注意什麼?
- 經常與客戶溝通,避免走彎路;
- 時不時回看下需求,看看現在做的功能能不能覆蓋需求;
- 邊開發邊做好測試,減少後期的工作量。
5 對自己的期望?
希望以後無論是技術能力還是文檔功底都能夠有長足的進步吧,畢竟現在還是感覺自身能力的薄弱,讓自己一直都走在人生巔峯的路上,對自己所做的事對自己所從事的行業能有更深的理解和感悟,加油。