內容簡介
社會的發展對軟件工程師提齣瞭越來越高的要求,不僅要求他們具備良好的知識背景、較強的動手能力,還要求他們具有很好的溝通與錶達能力。從培養和訓練軟件工程師的書麵溝通能力這一主旨齣發,本書介紹瞭軟件技術文檔撰寫的基本原則、常用的文檔類型,以及收集信息和書寫文檔的策略,以便使讀者能按照標準的格式恰當地使用錶格、圖和參考文獻等,書寫齣清晰、簡明和準確的技術文檔和個人總結,並能評審書麵文檔以發現各種問題。本書要求讀者具備一定的軟件工程知識。
內頁插圖
目錄
第1章軟件工程基礎 1.1軟件與軟件工程 1.1.1軟件定義與軟件特點 1.1.2軟件危機與軟件工程 1.2軟件過程 1.2.1瀑布模型對應的軟件過程 1.2.2以架構為核心的軟件過程 1.3軟件過程中的文檔 1.3.1軟件文檔 1.3.2撰寫軟件文檔的目的與作用 1.3.3軟件文檔的範圍及分類 1.3.4項目開發與文檔的關係 1.3.5軟件過程角色與文檔的關係 1.3.6軟件過程中的文檔編製 1.3.7撰寫軟件文檔應考慮的因素 1.3.8軟件文檔的管理 第2章項目規劃類文檔寫作 2.1項目立項過程 2.2商業計劃書 2.2.1商業計劃書寫作要求 2.2.2商業計劃書內容框架 2.3可行性研究報告 2.3.1可行性研究報告寫作要求 2.3.2可行性研究報告內容框架 2.4項目方案書 2.4.1項目方案書寫作要求 2.4.2項目方案書內容框架 2.5項目開發計劃 2.5.1項目開發計劃寫作要求 2.5.2項目開發計劃內容框架 第3章需求類文檔寫作 3.1需求概述 3.2軟件需求的分類 3.3需求過程 3.3.1需求分析 3.3.2需求過程的管理 3.3.3需求獲取的流程 3.3.4需求管理的角色 3.4需求說明書的撰寫要求 3.4.1需求文檔的文字敘述要求 3.4.2對用例說明的要求 3.4.3非功能需求的說明要求 3.5需求說明書內容框架 3.6需求原型工具Axure 第4章設計類文檔寫作 4.1軟件設計過程 4.2軟件架構設計 4.2.1架構的概念 4.2.2以架構為中心的迭代開發周期模型 4.2.3領域建模 4.2.4非功能需求驅動的架構設計 4.3軟件架構文檔 4.3.1軟件架構文檔寫作要求 4.3.2軟件架構文檔內容框架 4.4概要設計說明書 4.4.1概要設計說明書寫作要求 4.4.2概要設計說明書內容框架 4.5詳細設計說明書 4.5.1詳細設計說明書寫作要求 4.5.2詳細設計說明書內容框架 4.6數據庫設計說明書 4.6.1數據庫設計的步驟 4.6.2數據庫設計說明書內容框架 4.7用戶界麵設計文檔 第5章測試類文檔寫作 5.1測試過程 5.1.1測試概述 5.1.2集成測試過程 5.1.3係統測試過程 5.2測試用例的撰寫 5.2.1測試用例寫作要求 5.2.2測試用例內容框架 5.3測試計劃 5.4測試分析報告 第6章項目結束類文檔寫作 6.1部署過程 6.2用戶培訓計劃 6.3開發組織內部的培訓課程 6.4用戶手冊 6.4.1用戶手冊要求 6.4.2用戶手冊內容框架 6.5産品手冊要求 6.6項目總結 6.6.1項目總結要求 6.6.2項目總結報告內容框架 第7章項目管理過程類文檔寫作 7.1項目管理過程 7.2項目風險管理 7.3時間進度管理 7.4項目估算管理 7.5項目管理過程文檔 第8章質量保證文檔寫作 8.1軟件質量保證定義 8.2軟件質量保證管理 8.2.1SQA過程 8.2.2SQA偏差過程 第9章軟件文檔配置管理 9.1軟件配置管理過程 9.1.1軟件配置管理齣現的背景 9.1.2軟件配置管理發展現狀 9.1.3軟件配置管理的目的 9.1.4軟件配置管理的基本活動 9.2配置管理過程規範 9.2.1配置管理計劃 9.2.2實施配置管理 9.3配置管理工具 9.4軟件文檔的配置管理方案 9.4.1軟件配置管理環境的設置 9.4.2軟件配置管理機製的組成和建立 9.4.3軟件配置管理活動的實施流程 9.4.4軟件配置管理基本任務的相關規範 9.4.5配置管理的標識規範 9.4.6配置管理的建議 9.5需求文檔變更的管理 9.5.1需求變更的原因 9.5.2需求變更的處理流程 第10章企業軟件文檔的管理 10.1企業軟件文檔分類 10.2企業軟件文檔管理要求 10.3企業軟件文檔管理流程 10.4項目文檔的管理 附錄A文檔封麵模闆 附錄B項目規劃期文檔模闆 B.1可行性研究報告模闆 B.2項目方案書模闆 附錄C需求類文檔模闆 C.1需求調研報告 C.2需求規格說明書 C.3用例使用場景模版與實例 C.4用例描述模闆 C.5需求評審報告 C.6需求分析報告檢查錶 附錄D文檔設計模闆 D.1軟件架構設計說明書 D.2概要設計說明書 D.2.1模闆1 D.2.2模闆2 D.3詳細設計說明書 D.3.1模闆1 D.3.2模闆2 D.4數據庫設計說明書 附錄E設計文檔模闆 E.1軟件配置管理規範 E.2軟件修改報告 附錄F單元測試報告文檔模闆 附錄G項目管理文檔模闆 G.1風險列錶 G.2周報 附錄H質量保證文檔模闆 H.1質量保證計劃 H.2SQA匯總報告 H.3SQA每周報告 H.4SQA偏差報告 附錄I軟件文檔評分標準 參考文獻
精彩書摘
第3章需求類文檔寫作 3.1需求概述 作為技術人員,大傢更多關注的是技術,但軟件需求在很大程度上決定瞭軟件是否正確,需求確定後不管如何實現,功能和質量給客戶直接帶來的價值遠遠比技術直接帶來的價值要高。因此,做正確的事比正確地做事更重要。錯誤需求帶來的問題一直是各個軟件公司項目失敗的首要原因,因為獲得需求是個復雜的過程,要在實踐中不斷地學習,提高需求分析的能力。需求有以下三個層次。 1. 業務需求 描述客戶的高層次目標,通常問題定義本身就是業務需求的錶徵。這種目標通常體現在兩個方麵。 (1) 問題: 解決企業/組織運作過程中遇到的問題,如設備管理混亂、用戶投訴量大、客戶流失率高等。 (2) 機遇: 抓住外部環境變化所帶來的機會,以便為企業帶來新的發展,例如電子商務、網上銀行、物聯網等。 業務需求就是係統目標,它是以業務為導嚮、指導軟件開發的高層次需求。這類需求通常來自高層,例如項目投資人、購買産品的客戶、實際用戶、市場營銷部門或産品策劃部門。業務需求從總體上描述瞭為什麼要開發係統(why),組織希望達到什麼目標,一般在可行性研究報告中反映,也可使用前景和範圍(vision and scope)文檔來記錄業務需求,這份文檔有時也被稱做項目章程(Project Charter)或市場需求(Market Requirement)文檔。組織願景是一個組織對將使用的軟件係統所要達成的目標的預期期望,如“希望實施CRM後公司的客戶滿意度達到90%以上”就是一條組織願景。 2. 用戶需求 用戶需求是指用戶要使用産品完成什麼任務,通常是在問題定義的基礎上進行用戶訪談、調查,對用戶使用的場景進行整理,從而獲得來自用戶角度的需求。用戶需求必須能夠體現軟件係統將給用戶帶來的業務價值,或用戶要求係統必須完成的任務,也就是說用戶需求描述瞭用戶能使用係統來做些什麼(what),這個層次的需求是非常重要的。 作為需求捕獲階段的主要産物,用戶需求主要具有以下特點: (1) 零散。用戶會提齣不同角度、不同層麵、不同粒度的需求,而且常常是以一句話形式提齣的,如通過電話、短信等非正式方式提齣的需求。 (2) 相互矛盾。由於不同用戶處於企業/組織的不同層麵,可能會齣現盲人摸象的情況,導緻需求的片麵性。 因此,還需要對原始需求進行分析和整理,從而得齣更加精確的需求說明。用例是錶達用戶需求的一種有效途徑。 3. 軟件需求 由於用戶需求具有零散、片麵的特點,因此需求分析人員還需要對其進行分析、提煉、整理,從而生成可指導開發的、更準確的軟件需求,軟件需求是需求分析與建模的産物。 軟件需求是需求的主體,它是設計具體解決方案的依據(how),其數量往往比用戶需求高一個數量級。這些需求記錄在軟件需求規格說明(Software Requirements Specification,SRS)中。SRS完整地描述瞭軟件係統的預期特性,SRS一般被當作文檔保存,設計、實現、測試、質量保證、項目管理以及其他相關的項目過程都要用到SRS。 3.2軟件需求的分類 軟件需求可分為功能需求、質量需求、約束條件三種類型,質量需求和約束條件也叫非功能需求。 1. 功能需求 功能需求規定必須在産品中實現的軟件功能,用戶利用這些功能來完成任務,滿足業務需求。 對於功能需求而言,最關鍵的是如何對其進行組織,否則一句話的描述就會十分分散,很難保證開發人員逐一理解和滿足這些要求。 在傳統的方法論中,會以係統→子係統→模塊→子模塊的層次結構來組織,和程序的結構相對應,但這樣會割裂用戶的使用場景。為瞭解決這個問題,現代需求理論更加強調需求分析人員從用戶的角度將係統理解成一個黑盒子,從橫嚮的使用視角來整理需求。 2. 質量需求 質量需求不同於産品的功能描述,它從不同方麵描述産品的各種特性。這些特性包括可用性、可移植性、性能、安全等,它們對用戶或開發人員都很重要。 質量需求描述有兩個常見問題。 (1) 信息傳遞的無效性: 在很多需求規格說明書中,會通過一個名為性能需求的小節來說明非功能需求,列齣諸如高可靠性、高可用性、高擴展性等要求。但是很多開發人員根本就不看這些內容,因為這樣的定性描述缺乏判斷標準,故這種信息傳遞方法是無效的。 (2) 忽略瞭質量需求的局部性: 經常會看到諸如“所有的查詢響應時間都應該小於10s”的描述,但是當用戶查詢的是年度統計數據時,這樣的需求是較難實現的,因此開發人員就會忽略和不理會這樣的需求,最終的結果就是導緻它成為瞭擺設。因此更科學的做法是利用具體的應用場景來描述。 ……
前言/序言
前言
軟件文檔隨著軟件的産生而産生,隨著軟件工程的提齣和發展而不斷得到規範,並且軟件文檔也成為軟件工程各個階段裏程碑的重要標誌之一。但在實際軟件開發過程中,由於人為因素以及時間和成本的限製,導緻軟件文檔資料通常既不完整也不閤格,進而對軟件開發和後期維護造成影響。
本書旨在將軟件工程的基礎理論、實踐和文檔寫作緊密結閤,以提供一個統一分層的軟件文檔寫作體係; 將有關軟件工程理論、軟件文檔寫作方法的敘述、分析和應用有機地結閤,使之形成一個較完整的軟件文檔寫作方法體係; 對軟件文檔管理給予係統的介紹,從而充實和豐富傳統的軟件文檔寫作。
本書是作者十多年來從事軟件工程教學、理論與實踐研究的學習心得和工作總結,且匯入瞭一些企業的軟件文檔規範和閱讀國內外大量相關著作和論文的體會。它以分析的觀點、實踐的角度,站在開發與應用的立場來進行討論,希望不僅說明軟件文檔“是什麼”,還進一步分析“為什麼”,且討論“如何做”,使讀者不僅能“知其然”,還能“知其所以然”,懂得“如何應用”。它不僅包括瞭軟件工程各個階段的文檔,還從質量保證和配置管理的角度說明對文檔的管理。
全書共分10章,第1章介紹軟件工程基礎以及軟件文檔和軟件過程之間的關係; 第2章介紹項目規劃類文檔寫作,包括商業計劃書、可行性研究報告、項目方案書和項目開發計劃等; 第3章介紹需求類文檔寫作,主要涉及需求規格說明書; 第4章介紹設計類文檔寫作,包括架構文檔、概要設計說明書、詳細設計說明書、數據庫設計說明書和界麵設計文檔等; 第5章介紹測試類文檔寫作,包括測試用例、測試計劃和測試分析報告; 第6章介紹項目結束類文檔,包括用戶培訓計劃、用戶手冊、産品手冊和項目總結報告等; 第7章介紹項目管理過程類文檔,包括項目風險管理、時間進度管理、估算管理和項目的月報與周報等; 第8章介紹質量保證相關文檔; 第9章介紹軟件文檔配置管理的方案,對軟件文檔進行版本控製; 第10章介紹企業軟件文檔的管理; 最後是附錄,給齣瞭若乾軟件文檔的模闆供讀者參考。
本書在編寫過程中力求語言通俗易懂,文字簡潔明瞭,便於自學者閱讀,除可作為高校計算機專業和軟件工程專業的教材外,也可供從事計算機工作的工程技術人員及其他自學者參考。
本書的手稿已在軟件學院對本科生和研究生講授瞭多次,他們有的閱讀瞭原講義,並提齣過意見。
對於書中的許多內容,作者的多屆研究生、本科生曾從各個不同的方麵、以不同的形式做瞭許多工作。在此,一並嚮他們錶示誠摯的謝意。
誠如前麵所說,書中的許多方麵是作者的學習與實踐體會,有的內容是作者的研究心得,再加之作者纔學疏淺,水平與能力有限,因此書中見仁見智之說、不妥或不足之處,恐在所難免,切盼學術界同仁、軟件從業人員和各方讀者不吝賜教。
作者
2016年8月
軟件文檔寫作與管理 epub pdf mobi txt 電子書 下載 2024
軟件文檔寫作與管理 下載 epub mobi pdf txt 電子書