1. 程式人生 > >軟體開發之文件的重要性

軟體開發之文件的重要性

        大三下學期,一次偶然的機會讓我開發了一個完整的小專案,也讓我第一次對軟體開發的整體流程有了一個比較全面細緻的瞭解。比起那些還沒有參加工作的學生來說,能這麼早接觸到實際專案開發真的是很幸運,其實也非常感謝那位老師。話不多說,轉入正題。今天要總結的是:軟體開發中文件的重要性。

        首先說一說我對軟體開發流程一個基本瞭解。總體上來說,軟體開發有以下幾個主要的階段(當然我這些肯定不是最全面的)。需求獲取階段——文件設計階段——程式碼實現階段——測試階段——維護階段

而且他們的先後順序是不能顛倒的

        大三開發那個專案是老師幫我確定了軟體的整體架構,後面的文件編寫,程式碼實現,測試維護工作都由我來做,當然整個過程是伴隨著老師的指導進行的。那個時候,老師經常和我說的兩句話讓我記憶非常深刻。第一,要想保證一個軟體成功開發,必學先寫文件(確定需求,確定架構,然後撰寫需求分析,概要設計,詳細設計)。使用者的需求如果確定的明明白白,那麼這個軟體就已經成功一半了。這點是我到了公司參加工作以後才明白的,因為需求搞不明白的話,後面的所有工作都是很難展開的。對於很多初學者來說可能不喜歡寫文件,我就是是其中的一位。那個專案老師讓我寫了一個多月的文件,讓我在文件層面把所有的業務邏輯弄明白。第二,工作做得越細越好

(就是把每一個細小的功能模組的詳細實現都要寫明白,所有的類圖,流程圖等等都要寫明白,後來慢慢的才知道,工作做的越細,你對業務邏輯的把控力就越強,對業務的理解就會越透徹,實現起來就會更簡單。如果工作做的不細,對於沒有經驗的人來說,從巨集觀上去把控業務會有些力不從心)。沒寫文件前,我以為程式碼的實現大概在20-30天左右,這是保守的時間估算。但後來的結果非常出乎我的意料,寫完所有的程式碼用了不到十天的時間。這是我第一次意識到文件對後期程式碼實現的指導作用。          

        所以說,文件一定要先於程式碼,不能顛倒。2015年11月份,我在公司接觸到了另外一個專案。公司給我的文件不僅少(只有大概的功能概述,有些是還是手寫的),而且書寫極不規範,這使我短時間內根本不無法把控使用者需求,連使用者想要做什麼都搞不明白。資料庫的表就給了一個簡單的Excel表格,對錶欄位的說明也就4-8個字左右。很多欄位我完全搞不明白是幹什麼的。這讓我更感覺到文件在軟體開發的重要性絕對是五星的。沒有詳細的文件,後來的開發人員很難迅速上手,弄懂需求。

        還有一點,文件如果足夠詳細和明白,就不用太擔心專案換人。因為即使還了別人開發,他們也可以通過文件從整體上理解整個專案。

        文件先於程式碼,這點是正確的,但這並不是說,在程式碼實現之前所有的文件都要寫的清清楚楚。因為使用者的需求永遠都在變,或許使用者連自己想要做什麼都說不明白,更別說我們這些需求人員和開發人員了。所以有時候,軟體的開發是一邊寫文件一邊寫程式碼的,在這種情況下,一定要注意一點:防止軟體架構變動。不能讓變化的使用者需求改變了我們的架構,那樣的話,就太浪費時間和精力了。至於怎麼保證架構不變?這就要看你的需求人員怎麼獲取需求了,怎麼挖掘使用者的潛在需求了,看你的架構師怎麼確定架構了等等。所以說,軟體開發進入程式碼期之前的工作含金量是很高的!而且這些工作決一定要重視,因為這些工作可以決定軟體的成功於失敗。


  薩爾菲wsda。碩大D薩達第三SADSA要想