本文是因為學校開設的一門課程「軟體文件寫作」而生。
文章內容是博主經過整理總結老師課堂內容和網路資料,結合自生經驗和理解寫作而出。
內容僅供參考,如有需要請盡量不要大篇幅複製。
軟體文件之我見
一、對於軟體文件的了解
根據課堂老師教授以及查閱資料得到了軟體文件的定義:軟體文件(document)也稱檔案,通常是指的是一些記錄的資料和資料**,它具有固定不變的形式,可被任何計算機閱讀。在軟體工程中,文件常常用來表示對活動、需求、過程或結果進行描述、定義、規定或認證的任何書面或圖示的資訊,他們描述和規定了軟體設計和實現細節,說明使用軟體的操作命令。軟體文件具有永久性,並可供人或機器閱讀,通常指專供人閱讀的東西。
軟體文件是軟體產品的一部分,沒有文件的軟體就不稱其為軟體。軟體文件的編制在軟體開發工作中占有突出的地位和相當大的工作量。高質量和高效的開發、分發、管理和維護文件對於轉讓、變更、修正、擴充和使用文件,對於充分發揮軟體產品的效益有著重要的意義。
軟體文件作為計算機軟體的重要組成部分,告訴使用者如何操作和維護系統,提供關於未來改進和重新實施所需的資訊,在開發人員、維護人員、管理人員、使用者與計算機之間起著重要的橋梁作用。
乙個軟體的生存週期是指從構思軟體產品開始到該產品不能再使用時為止的時間段,通常可以分成計畫、開發、執行三個時期,不同時期不同角色參與其中。計畫時期中要進行問題分析、可行性研究、制定計畫的工作;開發時期要進行需求分析、概要設計、詳細設計、編碼測試、軟體發布的工作;執行時期要進行執行維護的工作。而軟體文件就是伴隨不同的角色,貫穿軟體生存週期始終的存在。對於乙個小型軟體的開發,以上過程中可能不通過文件或者少量簡要文件即可完成開發以及後續維護,但對於大型軟體來說,如果沒有文件的存在可能就無法完成。
隨著計算機科學技術的迅速發展和計算機應用領域的不斷擴大,如何高效開發軟體產品,提高軟體質量,越來越受到人們的重視。同時,軟體的規模和複雜度在持續的增加,人們對軟體產品開發過程系統化、規範化和標準化的要求也越來越嚴格。乙個好的符合標準的軟體文件對於管理者來說可以作為管理的依據;對於卡法人員來說是彼此之間進行技術交流的語言;對於軟體本身來說更是乙個軟體質量的保證;對於使用者來說也能更方便的進行軟體使用的培訓,以及使用時的參考;對於軟體後期運維人員來說也是軟體維護時的參考書。
於此同時軟體文件頁記錄了軟體的完整歷史。
因此,軟體工程標準化、軟體文件規範化,已經成為軟體領域影響軟體行業發展的乙個重要因素,受到軟體企業的高度重視。而所有這些方面建立的標準或規範,即是軟體工程標準化。軟體標準化的意義:提高軟體的可靠性、可維護性和可移植性;提高軟體的生產率和軟體人員的技術水平;提高軟體人員之間的通訊效率,減少差錯和誤解;有利於軟體管理;有利於降低軟體產品的成本和執行維護成本;有利於縮短軟體開發周期。
從某種意義上來說,文件是軟體開發規範的體現和指南。按規範要求生成一整套文件的過程,就是按照軟體開發規範完成乙個軟體開發的過程。所以,在使用工程化的原理和方法來指導軟體的開發和維護時, 都應當充分注意軟體文件的編制和管理。
二、開發實踐中文件編寫的情況
在實際開發過程中,由於我參與的開發實踐大部分都是小型軟體的開發,參與人員較少,所以基本不會編寫相應文件,大部分都是遇到問題及時交流解決,很少以文圖書面形式記錄下來。
但是之前修習過一門課—軟體需求工程。這門課中學習了軟體需求的獲取、記錄以及轉化成為文件。這門課程中雖然沒有實際程式設計上的要求,但是確實硬性要求了對於軟體需求文件的寫作。也算是被迫寫了幾次軟體文件,但是再寫作的的過程中,體驗到了對於客戶具體的需求到實際文圖的轉換的不易,以及在開發過程中軟體文件起到的重大作用。如果在軟體開發之前沒有乙個良好的文件支撐,那麼軟體開發的過程就會變得極為艱難,甚至可能到開發階段的最後發現自己開發的軟體和自己當初的意願背道而馳。
三、軟體開發活動中對於寫文件的態度
筆者認為在軟體開發活動中無論軟體專案工作量的大小,文件都是必要的。
原因如下:
●軟體開發前:寫好軟體開發計畫書,可以盡早發現錯誤和不一致性,及時加以糾正。
●軟體開發過程中:
提高軟體開發過程的能見度。把開發過程中發生的事件以某種可閱讀的形式記錄在文件中。
管理人員可把這些記載下來的材料作為檢查軟體開發進度和開發質量的依據,實現對軟體開發的工程管理。
提高開發效率。軟體文件的編制,使得開發人員對各個階段的工作都進行周密思考、全盤權衡、減少返工。
制定範圍作為開發人員在一定階段的工作成果和結束標誌。
提供對軟體的執行、維護和培訓的有關資訊,便於管理人員、開發人員、操作人員、使用者之間的協作、交流和了解。使軟體開發活動更科學、更有成效。
●軟體後期運維:記錄開發過程中有關資訊,便於協調以後的軟體開發、使用和維護。
四、對於「軟體工程文件寫作」課程理論與實驗教學的建議
由於目前僅僅上了兩節「軟體工程文件」的理論課,課程中目前僅僅教導了軟體文件的重要性以及標準化等泛化的內容,不好對於後期教學進行評價。但是對於我個人來說,我希望在後續課程中能夠獲取更多關於如何高效地寫出好的軟體工程文件的知識及途徑,還想知道目前企業中軟體工程文件與軟體開發之間是如何協調運作的。
文件安全之我見
文件安全一直是乙個百聽不厭的話題,古今中外都有很多文件洩密的案例,尤其是現在資訊化這麼發達,文件載體這麼方便的情況下更是如此。所有現在冒出來了這麼多的文件安全產品,資料放洩密產品等等。從本質上來看就是想防洩密。但防洩密是乙個很空泛的話題。尤其是現在中國的情況特別喜歡走極端。前幾天在網上有乙個聊天,感...
軟體架構之我見
在傳統企業應用開發中,專案往往採用 煙囪式 開發模式,資料處理,業務邏輯以及介面操作糅雜在一起,快速推出乙個可用版本,這本無可厚非。但是隨著企業應用的發展以及移動網際網路的推進,你會發現你的系統無法輕易對接其他廠家系統,也無法快速開發其他平台應用。面對這樣的問題,我們不得不考慮架構的變更。而這一切其...
專案開發文件之我見
幾乎所有的研發人員或者專案管理者都認為文件很重要,但是那麼多文件,哪些文件重要?可能我們都會有不同認識.但我們都有乙個共識,就是嚴重的文件化,目前也行不通,研發人員幾乎每天都在寫文件,真正幹活的時間就不多了,常常抱怨專案完不成.那麼多少的文件量才是合適的呢?我想說,如果研發人員的文件水平很高,尤其是...