今天復習軟件工程書的時候,看到軟件危機的表現中有這么一條:軟件通常沒有適當的文檔資料。
那么問題來了,什么事文檔資料?軟件工程的文檔包括哪些內容?嗯,對此我一無所知,所以動手查資料吧。
軟件開發的標准過程包括六個階段,而六個階段需要編寫的各類文件達14種之多。所以說,果然沒有人喜歡寫文檔啊!
1.可行性與計划研究階段
可行性研究報告:在可行性研究與計划階段內,要確定該軟件的開發目標和總的要求,要進行可行性分析、投資一收益分析、制訂開發計划,並完成應編制的文件。
項目開發計划:編制項目開發計划的目的是用文件的形式,把對於在開發過程中各項工作的負責人員、開發進度、 所需經費預算、所需軟、硬件條件等問題作出的安排記載下來,以便根據本計划開展和檢查本項目的開 發工作。
2.需求分析階段
軟件需求說明書:軟件需求說明書的編制是為了使用戶和軟件開發者雙方對該軟件的初始規定有一個共同的理解, 使之成為整個開發工作的基礎。內容包括對功能的規定對性能的規定等。
數據要求說明書:數據要求說明書的編制目的是為了向整個開發時期提供關於被處理數據的描述和數據采集要求的技術信息。
初步的用戶手冊:用戶手冊的編制是要使用非專門術語的語言,充分地描述該軟件系統所具有的功能及基本的使用方法。使用戶(或潛在用戶)通過本手冊能夠了解該軟件的用途,並且能夠確定在什么情況下,如何使用它。
3.設計階段
概要設計說明書:概要設計說明書又可稱系統設計說明書,這里所說的系統是指程序系統。編制的目的是說明對程序 系統的設計考慮,包括程序系統的基本處理流程、程序系統的組織結構、模塊划分、功能分配、接口設計。 運行設計、數據結構設計和出錯處理設計等,為程序的詳細設計提供基礎。
詳細設計說明書:詳細設計說明書又可稱程序設計說明書。編制目的是說明一個軟件系統各個層次中的每一個程序 (每個模塊或子程序)的設計考慮,如果一個軟件系統比較簡單,層次很少,本文件可以不單獨編寫,有關 內容合並入概要設計說明書。
數據庫設計說明書:數據庫設計說明書的編制目的是對於設計中的數據庫的所有標識、邏輯結構和物理結構作出具體的設計規定。
測試計划初稿:這里所說的測試,主要是指整個程序系統的組裝測試和確認測試。本文件的編制是為了提供一個對該軟件的測試計划,包括對每項測試活動的內容、進度安排、設計考慮、測試數據的整理方法及評價准則。
4.實現階段
模塊開發卷宗(開始編寫):模塊開發卷宗是在模塊開發過程中逐步編寫出來的,每完成一個模塊或一組密切相關的模塊的復審時編寫一份,應該把所有的模塊開發卷宗匯集在一起。編寫的目的是記錄和匯總低層次開發的進度和結果,以便於對整個模塊開發工作的管理和復審,並為將來的維護提供非常有用的技術信息。
用戶手冊完工
操作手冊:操作手冊的編制是為了向操作人員提供該軟件每一個運行的具體過程和有關知識,包括操作方法的細節。
測試計划終稿:
5.測試階段
模塊開發卷宗(完成編寫):嗯,這個很重要的啊!!!
測試分析報告:測試分析報告的編寫是為了把組裝測試和確認測試的結果、發現及分析寫成文件加以記載。
項目開發總結報告:項目開發總結報告的編制是為了總結本項目開發工作的經驗,說明實際取得的開發結果以及對整個開發工作的各個方面的評價。
6.運行與維護階段
開發進度月報的編制目的是及時向有關管理部門匯報項目開發的進展和情況,以便及時發現和處理開發過程中出現的問題。一般地,開發進度月報是以項目組為單位每月編寫的。如果被開發的軟件系統規模比較大,整個工程項目被划分給若干個分項目組承擔,開發進度月報將以分項目組為單位按月編寫。
看到這么多文檔資料的種類,本寶寶的內心是拒絕的啊!為什么我寫代碼已經很辛苦的了說!!還要寫什么文檔是什么鬼!!!
但事實上,一個好的寫文檔習慣,一份資料齊全的文檔資料,對於軟工工程是非常重要的。早已經就說過計算機軟件不僅僅是程序,還應該有一整套文檔資料。這些文檔資料鏈接了軟件開發人員,管理人員(萬惡的產品經理),對軟件后續維護人員也很重要。開發軟件到后期,如果出現問題,文檔資料往往能幫助我們不少。
突然想起去年大一下c語言課程安排的一個合作實驗,我和三個隊友各自負責寫一部分自定義函數,然后組合的時候就發現了....我們在使用全局變量,在變量名上思路不統一。。。然后就滾去慢慢看代碼,改變量名了。而且。。大家排版風格也不一樣啊,一起開發真是心很累的說。但是現在一個軟件的工程量絕對不是一個人或者幾個人可以完成的,希望在軟件工程這門課上可以學到更多吧!