軟件工程實用教程

出版時間:2012-9  出版社:周麗娟、 王華 清華大學(xué)出版社 (2012-09出版)  作者:周麗娟,王華 著  頁數(shù):287  

內(nèi)容概要

  《中國高等學(xué)校計算機科學(xué)與技術(shù)專業(yè)(應(yīng)用型)規(guī)劃教材:軟件工程實用教程》分為三個部分。第一部分為傳統(tǒng)的軟件工程,從軟件生存周期的角度出發(fā),介紹軟件可行性分析、軟件計劃、結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計、編碼、測試以及軟件維護階段的過程、方法、工具、文檔及案例。第二部分為面向?qū)ο蟮能浖こ蹋悦嫦驅(qū)ο蠹夹g(shù)和UML語言為主線,介紹面向?qū)ο蟮母拍?、模型、分析、設(shè)計及實現(xiàn)過程。第三部分為軟件工程管理,簡要介紹軟件項目管理、軟件質(zhì)量管理、軟件配置管理及軟件過程管理的內(nèi)容?!吨袊叩葘W(xué)校計算機科學(xué)與技術(shù)專業(yè)(應(yīng)用型)規(guī)劃教材:軟件工程實用教程》不僅介紹軟件工程的概念、原理、方法和技術(shù),而且強調(diào)方法和技術(shù)的實際應(yīng)用,既闡述了理論知識,又介紹了具體的操作方法和案例分析。  《中國高等學(xué)校計算機科學(xué)與技術(shù)專業(yè)(應(yīng)用型)規(guī)劃教材:軟件工程實用教程》可作為高等院校計算機及相關(guān)專業(yè)“軟件工程”課程的教材或參考書,也可供軟件工程師、軟件項目管理者和應(yīng)用軟件的開發(fā)人員閱讀參考。

書籍目錄

第一部分 傳統(tǒng)的軟件工程 第1章 軟件工程概述 1.1 軟件的概念和特征 1.1.1 軟件的概念 1.1.2 軟件的分類 1.2 軟件危機 1.2.1 軟件危機的主要表現(xiàn) 1.2.2 產(chǎn)生軟件危機的原因 1.2.3 解決軟件危機的途徑 1.3 軟件工程 1.3.1 軟件工程的定義 1.3.2 軟件工程的目標 1.3.3 軟件工程的研究內(nèi)容 1.3.4 軟件工程的基本原理 1.4 軟件生存周期 1.4.1 軟件生存周期定義 1.4.2 軟件生存周期的基本任務(wù) 1.5 軟件生存周期模型 1.5.1 瀑布模型 1.5.2 原型模型 1.5.3 增量模型 1.5.4 螺旋模型 1.5.5 噴泉模型 1.5.6 形式化方法模型 1.5.7 基于組件的開發(fā)模型 1.5.8 第四代技術(shù)模型 1.5.9 混合模型 1.6 小結(jié) 習(xí)題 第2章 可行性研究與軟件開發(fā)計劃 2.1 可行性研究的任務(wù) 2.2 可行性研究的過程 2.3 成本/效益分析 2.3.1 成本估計方法 2.3.2 成本/效益分析方法 2.4 可行性研究報告 2.5 軟件開發(fā)計劃 2.5.1 軟件作用范圍 2.5.2 資源需求 2.5.3 進度安排 2.6 軟件開發(fā)計劃說明書 2.7 小結(jié) 習(xí)題 第3章 需求工程 3.1 軟件需求 3.1.1 業(yè)務(wù)需求 3.1.2 用戶需求 3.1.3 功能需求 3.1.4 非功能需求 3.2 需求工程過程 3.3 需求的獲取 3.3.1 需求獲取的過程 3.3.2 需求獲取的常用方法 3.4 需求分析 3.4.1 需求分析的特點 3.4.2 需求分析的原則 3.4.3 需求分析的任務(wù) 3.4.4 需求分析的方法 3.4.5 需求分析過程 3.5 需求定義 3.6 需求驗證 3.7 需求管理 3.8 案例:小型教學(xué)管理系統(tǒng) 3.9 小結(jié) 習(xí)題 第4章 結(jié)構(gòu)化分析 4.1 結(jié)構(gòu)化分析方法 4.1.1 結(jié)構(gòu)化分析策略 4.1.2 SA的描述工具 4.1.3 SA的分析步驟 4.2 數(shù)據(jù)流圖DFD 4.2.1 數(shù)據(jù)流圖符號 4.2.2 繪制分層數(shù)據(jù)流圖的方法 4.2.3 實例 4.2.4 數(shù)據(jù)流圖的繪制與其他流程圖的差別 4.3 數(shù)據(jù)字典 4.3.1 數(shù)據(jù)字典的內(nèi)容 4.3.2 數(shù)據(jù)字典使用符號 4.3.3 數(shù)據(jù)字典條目實例 4.4 數(shù)據(jù)加工邏輯 4.4.1 結(jié)構(gòu)化語言 4.4.2 判定表 4.4.3 判定樹 4.5 實體關(guān)系圖 4.6 結(jié)構(gòu)化分析實例 4.7 小結(jié) 習(xí)題 第5章 總體設(shè)計 5.1 軟件設(shè)計基礎(chǔ) 5.1.1 軟件設(shè)計的目標 5.1.2 軟件設(shè)計的任務(wù) 5.1.3 總體設(shè)計過程 5.2 軟件設(shè)計的基本原理 5.2.1 模塊化設(shè)計原理 5.2.2 抽象和逐步求精 5.2.3 信息隱蔽和局部化 5.2.4 模塊獨立性 5.2.5 軟件結(jié)構(gòu)設(shè)計優(yōu)化原則 5.3 表示軟件結(jié)構(gòu)的圖形 5.3.1 層次圖和HIPO圖 5.3.2 軟件結(jié)構(gòu)圖 5.4 結(jié)構(gòu)化設(shè)計方法 5.4.1 結(jié)構(gòu)化設(shè)計的流程 5.4.2 典型的數(shù)據(jù)流類型和系統(tǒng)結(jié)構(gòu) 5.4.3 變換分析 5.4.4 事物分析 5.5 總體設(shè)計文檔及復(fù)審 5.6 小結(jié) 習(xí)題 第6章 詳細設(shè)計 6.1 結(jié)構(gòu)化程序設(shè)計 6.2 詳細設(shè)計的任務(wù) 6.3 詳細設(shè)計的原則 6.4 詳細設(shè)計工具 6.4.1 程序流程圖 6.4.2 盒圖(N-S圖) 6.4.3 PAD圖 6.4.4 過程設(shè)計語言 6.4.5 詳細設(shè)計工具的選擇 6.5 程序復(fù)雜性度量 6.6 詳細設(shè)計文檔及設(shè)計復(fù)審 6.7 小結(jié) 習(xí)題 第7章 軟件編碼 7.1 程序設(shè)計語言 7.1.1 程序設(shè)計語言的特性 7.1.2 程序設(shè)計語言的分類 7.1.3 程序設(shè)計的選擇 7.2 程序設(shè)計的風(fēng)格 7.2.1 源程序文檔化 7.2.2 數(shù)據(jù)說明 7.2.3 語句結(jié)構(gòu) 7.2.4 輸入和輸出 7.2.5 重用 7.3 效率 7.4 小結(jié) 習(xí)題 第8章 軟件測試 8.1 軟件測試基本理論 8.1.1 軟件測試的概念 8.1.2 軟件測試的原則 8.1.3 軟件測試過程 8.1.4 軟件測試方法 8.2 白盒測試技術(shù) 8.2.1 邏輯覆蓋法 8.2.2 基本路徑測試法 8.2.3 循環(huán)測試法 8.3 黑盒測試技術(shù) 8.3.1 等價類劃分法 8.3.2 邊界值分析法 8.3.3 錯誤推測法 8.3.4 因果圖法 8.4 軟件測試策略 8.4.1 單元測試 8.4.2 集成測試 8.4.3 確認測試 8.4.4 系統(tǒng)測試 8.5 小結(jié) 習(xí)題 第9章 軟件維護 9.1 軟件維護概述 9.1.1 軟件維護分類 9.1.2 軟件維護成本 9.2 軟件維護過程 9.2.1 軟件維護活動 9.2.2 軟件維護技術(shù) 9.3 軟件可維護性 9.3.1 影響軟件可維護性的因素 9.3.2 軟件可維護性度量 9.3.3 提高可維護性的方法 9.4 軟件維護的副作用 9.4.1 代碼的副作用 9.4.2 數(shù)據(jù)副作用 9.4.3 文檔副作用 9.5 軟件再工程 9.5.1 軟件再工程概述 9.5.2 軟件再工程過程 9.5.3 軟件再工程方法 9.6 小結(jié) 習(xí)題 …… 第二部分 面向?qū)ο蟮能浖こ?第三部分 軟件工程管理

章節(jié)摘錄

版權(quán)頁:   插圖:   3.4 需求分析 3.4.1 需求分析的特點 需求分析是指開發(fā)人員要準確理解用戶的要求,進行細致的調(diào)查分析,將用戶非形式的需求陳述轉(zhuǎn)化為完整的需求定義,再由需求定義轉(zhuǎn)換到相應(yīng)的形式功能規(guī)約(需求規(guī)格說明)的過程。需求分析雖處于軟件開發(fā)過程的開始階段,但它對于整個軟件開發(fā)過程以及軟件產(chǎn)品質(zhì)量是至關(guān)重要的。在計算機發(fā)展的早期,所求解問題的規(guī)模較小,需求分析被忽視。隨著軟件系統(tǒng)復(fù)雜性的提高及規(guī)模的擴大,需求分析在軟件開發(fā)中所處的地位愈加突出,從而也愈加困難,它的難點主要體現(xiàn)在以下幾個方面。 (1)問題的復(fù)雜性。這是由用戶需求所涉及的因素繁多引起的,如運行環(huán)境和系統(tǒng)功能等。 (2)交流障礙。需求分析涉及人員較多,如軟件系統(tǒng)用戶、問題領(lǐng)域?qū)<?、需求工程師和項目管理員等,這些人具備不同的背景知識,處于不同的角度,扮演不同角色,造成了相互之間交流的困難。 (3)不完備性和不一致性。由于各種原因,用戶對問題的陳述往往是不完備的,其各方面的需求還可能存在著矛盾,需求分析要消除其矛盾,形成完備及一致的定義。 (4)需求易變性。用戶需求的變動是一個極為普遍的問題,即使是部分變動,也往往會影響到需求分析的全部,導(dǎo)致不一致性和不完備性。 為了克服上述困難,人們主要圍繞著需求分析的方法及自動化工具(如CASE技術(shù))等方面進行研究。 3.4.2 需求分析的原則 目前存在著許多需求分析的方法,雖然各種方法都有其獨特的描述方法,但不論采用何種方法,需求分析都必須遵循以下3個基本原則。 1.能夠表達和理解問題的數(shù)據(jù)域和功能域 所有軟件開發(fā)的最終目的都是為了解決數(shù)據(jù)處理的問題,數(shù)據(jù)處理的本質(zhì)就是將一種形式的數(shù)據(jù)轉(zhuǎn)換成另一種形式的數(shù)據(jù),即通過進行一系列加工將輸入的原始數(shù)據(jù)轉(zhuǎn)換為所需的結(jié)果數(shù)據(jù)。需求分析階段必須明確系統(tǒng)中應(yīng)具備的每一個加工、加工的處理對象和由加工所引起的數(shù)據(jù)形式的變化。 2.能夠?qū)?fù)雜問題分解化簡 為了便于問題的解決和實現(xiàn),在需求分析過程中需要對于原本復(fù)雜的問題按照某種合適的方式進行分解(對功能域和數(shù)據(jù)域均可)。分解可以是同一層次上的橫向分解,也可以是多層上的縱向分解。每一步分解都是在原有基礎(chǔ)上對系統(tǒng)的細化,使系統(tǒng)的理解和實現(xiàn)變得較為容易。 3.能夠給出系統(tǒng)的邏輯表示和物理表示 系統(tǒng)需求的邏輯表示用于指明系統(tǒng)所要達到的功能要求和需要處理的數(shù)據(jù),不涉及實現(xiàn)的細節(jié)。系統(tǒng)需求的物理表示用于指明處理功能和數(shù)據(jù)結(jié)構(gòu)的實際表現(xiàn)形式,通常由系統(tǒng)中的設(shè)備決定。如處理數(shù)據(jù)的來源,某些軟件可能由終端輸入,另一些軟件可能由特定設(shè)備提供。給出系統(tǒng)的邏輯表示和物理表示對滿足系統(tǒng)處理需求所提出的邏輯限制條件和系統(tǒng)中其他成分提出的物理限制是必不可少的。結(jié)構(gòu)化分析方法和面向?qū)ο蠓治龇椒ǘ甲裱陨显瓌t。 3.4.3 需求分析的任務(wù) 需求分析的基本任務(wù)是準確地回答“系統(tǒng)必須做什么?”這個問題。需求分析的任務(wù)不是確定系統(tǒng)怎樣完成工作,而是確定系統(tǒng)必須完成哪些工作,也就是對目標系統(tǒng)提出完整、準確、清晰、具體的要求。需求分析階段的具體任務(wù)如下所述。 1.確定綜合需求 對系統(tǒng)的綜合需求有下述四個方面。 (1)系統(tǒng)功能需求:應(yīng)該劃分出系統(tǒng)必須完成的所有功能。 (2)系統(tǒng)性能需求:指待開發(fā)的軟件的技術(shù)性能指標,如存儲容量、運行時間等限制。 (3)環(huán)境的需求:指軟件運行時所需要的軟、硬件(如機型、外設(shè)、操作系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)等)的要求。 (4)將來可能提出的需求:應(yīng)該明確地列出那些雖然不屬于當前系統(tǒng)開發(fā)范疇,但是據(jù)分析將來很可能會提出來的要求。這樣做的目的是在設(shè)計過程中對系統(tǒng)將來可能的擴充和修改預(yù)做準備,以便一旦需要時能比較容易地進行這種擴充和修改。 2.分析系統(tǒng)的數(shù)據(jù)要求 任何一個軟件系統(tǒng)本質(zhì)上都是信息處理系統(tǒng),系統(tǒng)必須處理的信息和系統(tǒng)應(yīng)該產(chǎn)生的信息在很大程度上決定了系統(tǒng)的面貌,對軟件設(shè)計有深遠影響,因此,必須分析系統(tǒng)的數(shù)據(jù)要求,這是軟件需求分析的一個重要任務(wù)。分析系統(tǒng)的數(shù)據(jù)要求通常采用建立概念模型的方法。復(fù)雜的數(shù)據(jù)由許多基本的數(shù)據(jù)元素組成,數(shù)據(jù)結(jié)構(gòu)表示數(shù)據(jù)元素之間的邏輯關(guān)系。利用數(shù)據(jù)字典可以全面準確地定義數(shù)據(jù),但是數(shù)據(jù)字典的缺點是不夠形象直觀。為了提高可理解性,常常利用圖形工具輔助描繪數(shù)據(jù)結(jié)構(gòu)。常用的圖形工具有層次方框圖和Warnier圖。 3.導(dǎo)出系統(tǒng)的邏輯模型 綜合上述兩項分析的結(jié)果可以導(dǎo)出系統(tǒng)的詳細的邏輯模型,通常用數(shù)據(jù)流圖、數(shù)據(jù)字典和主要的處理算法描述這個邏輯模型。 4.編寫文檔 編寫文檔的步驟如下: (1)編寫“需求規(guī)格說明書”,把雙方共同的理解與分析結(jié)果用規(guī)范的方式描述出來,作為今后各項工作的基礎(chǔ)。

編輯推薦

《中國高等學(xué)校計算機科學(xué)與技術(shù)專業(yè)(應(yīng)用型)規(guī)劃教材:軟件工程實用教程》特點在于理論、方法與實踐相結(jié)合,針對傳統(tǒng)的軟件工程、面向?qū)ο蟮能浖こ毯蛙浖こ坦芾砣糠?,從實踐角度介紹了軟件工程的基本概念、基本原理、實用的開發(fā)方法和技術(shù)?!吨袊叩葘W(xué)校計算機科學(xué)與技術(shù)專業(yè)(應(yīng)用型)規(guī)劃教材:軟件工程實用教程》利用案例分析,對軟件的分析、設(shè)計、實現(xiàn)、測試到維護過程進行全面講述,力求使讀者在學(xué)習(xí)基本理論和技術(shù)過程中掌握軟件工程的方法解決應(yīng)用問題。

圖書封面

評論、評分、閱讀與下載


    軟件工程實用教程 PDF格式下載


用戶評論 (總計0條)

 
 

 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7