為什麼需要軟體開發報告

來源:互聯網
上載者:User

標籤:軟體開發報告

由於需要交軟體開發報告的作業,沒辦法,硬著頭皮寫了。本文主要講講我在寫這篇報告過程中的一些感悟。

在公司,我主要負責技術實現的,也就是標準的碼農。平時我很少考慮文檔的重要性,當然,我自己也很少寫文檔,一直都覺得寫文檔很浪費時間。在仔細地分析了各種軟體開發報告後,我發現我徹底地錯了。程式功能的實現並不難,只要掌握了相關技術,或者說即使不會,網上也有很多參考資料。而文檔的編寫卻是真正考察一個人的能力,它體現了一個人思考問題解決問題的能力。可以毫不含糊地說,要寫出一份好的文檔比開發一個好的程式難多了。

一個小的項目可以不用文檔,因為都是自己一個人開發,所有的思路都在自己腦海中,當然如果有文檔會更好,因為寫文檔的過程也是思路的整理過程。而現在的項目都不可能一個人完成,需要與他人配合,那麼如何讓別人理解你的思路並且配合你去完成這個項目呢?這個時候就體現了文檔的重要性。

一篇好的文檔,應該讓所有跟這個項目的有關的人(包括老闆、專案經理、程式開發人員、測試人員、程式使用者)都能很好地理解自己的想法,所以光有文字是遠遠不夠的,還必須使用UML圖、使用案例圖等各種模型作為輔助手段。

一份好的軟體開發報告要完整地體現出來,必須包含軟體開發的各個方面:軟體需求分析、軟體概要設計、軟體詳細設計、軟體資料庫設計、軟體編碼、軟體測試、軟體交付準備、軟體評鑑驗收、培訓等一系列工作。每一部分都有其側重點和主要針對的人群。一份好的文檔能很好地提高我們的工作效率,能讓大家更好地配合,也有利於後期的維護工作。

軟體開發報告主要包含一下幾個方面:

1.軟體的需求分析
首先,開發人員應該對軟體應用需求作充分的調研,提交完整的需求分析報告。在需求分析報告中必須描述的基本問題是:功能、效能、強加於實現的設計限制、屬性、外部介面。應當避免把設計或項目需求寫入需求分析報告中。它必須說明由軟體獲得的結果,而不是獲得這些結果的手段。軟體需求可以用若干種方法來表達,如通過輸入、輸出說明;使用代表性的例子;用正常化的模型。開發人員應儘可能地使用模型的方式,因為這是表達複雜需求的精確和有效方法。比如用整合模組化語言(UML)來描述需求。

2.軟體的概要設計
在認可的軟體的需求分析基礎上,開發人員進行下一步的工作。開發人員需要對軟體系統進行概要設計,即系統設計。概要設計需要對軟體系統的設計進行考慮,包括系統的基本處理流程、系統的組織圖、模組劃分、功能分配、介面設計、運行設計、資料結構設計和出錯處理設計等,為軟體的詳細設計提供基礎。

3.軟體的詳細設計
在概要設計的基礎上,開發人員需要進行軟體系統的詳細設計。在詳細設計中,描述實現具體模組所涉及到的主要演算法、資料結構、類的階層及調用關係,需要說明軟體系統各個層次中的每一個程式(每個模組或子程式)的設計考慮,以便進行編碼和測試。應當保證軟體的需求完全分配給整個軟體。詳細設計應當足夠詳細,能夠根據詳細設計報告進行編碼。

4.軟體的編碼
在軟體編碼階段,開發人員根據軟體的詳細設計中對資料結構、演算法分析和模組實現等方面的設計要求,開始具體的編寫程式工作,分別實現各模組的功能,從而實現對目標系統的功能、效能、介面、介面等方面的要求。為了提高編程實現的品質,軟體的程式設計必須遵照國家頒布的相關編程規範。主要內容包括:正常化的程式內部文檔、資料結構的詳細說明、清晰的語句結構、編碼規範。編碼規範的內容包括命名規範、介面規範、提示及協助資訊規範、熱鍵定義等。在軟體編碼的同時應進行單元測試。

5.軟體的測試
為了儘早發現軟體產品中的錯誤,從而達到提高軟體品質、降低軟體維護的費用,開發人員應在編碼過程中對各個模組的程式碼進行單元測試,系統整合時進行整合測試,系統整合完成後對整個軟體進行系統測試。單元測試是在軟體開發過程中針對程式模組進行正確性檢驗。整合測試是在單元測試的基礎上,將所有模組按照設計要求組裝成系統或子系統,對模組組裝過程和模組介面進行正確性檢驗。軟體系統測試不僅是檢測軟體的整體行為表現,從另一個側面看,也是對軟體開發設計的再確認。進行軟體系統測試工作時,測試主要包括介面測試、可用性測試、功能測試、穩定性(強度)測試、效能測試、強壯性(恢複)測試、邏輯性測試、破壞性測試、安全性測試等。開發人員針對單元測試,整合測試,系統測試分別制定測試計劃。整合測試需要根據需求分析報告和概要設計製作測試案例,並須經過評審。軟體測試按照測試計劃、需求分析報告的要求進行,最後形成軟體測試報告。

6.軟體的交付準備
在軟體測試證明軟體達到要求後,軟體開發人員應提交開發的目標安裝程式、資料庫的資料字典、使用者安裝手冊、使用者使用指南、需求報告、設計報告、測試報告等產物。

7.軟體的評鑑驗收
在軟體開發完成後,為了確保軟體是按照需求分析的要求進行開發的,保證軟體產品的品質,需要對軟體產品進行評鑑驗收。驗收內容應該包括:合法性檢查、文檔檢查、軟體一致性檢查、軟體系統測試與測試結果評審等幾項工作。

8.培訓
開發人員應詳細列出培訓計劃,包括培訓內容、教材、時間和人員等。


可見,軟體開發文檔包含了軟體開發的各個方面,編碼工作只佔其中1/3不到的工作量,而現實生活中,很多開發(公司)人員都忽略了文檔的重要性,把80%以上的精力都用在了軟體開發上,結果就是軟體修修改改,想到哪就改哪,改到最後都已經面目全非了,嚴重影響了系統的穩定性,最終導致一系列的問題。

當然,寫出一份好的文檔不僅需要很優秀的項目負責人和開發人員,而且需要大量的時間精力投入。所以,這其中的代價也是很大的。


以上只是個人見解,如有問題,歡迎批評指正。


為什麼需要軟體開發報告

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.