軟件工程及軟件開發應用

所属分类:軟件工程及軟件方法學  
出版时间:2009-9   出版时间:施一萍 清華大學出版社 (2009-09出版)   作者:施一萍 編   页数:207  

前言

計算機學科一直處于高速發展的過程中,伴隨知識更新速度的加快,計算機教學知識體系以及專業設置也在發生著迅速的變化。計算機從20世紀80年代前以硬件為主,發展到20世紀90年代以軟件為主,再到現在軟件引領發展的時代。軟件工程是20世紀60年代末,為了克服“軟件危機”而出現的一門研究軟件開發與維護的工程學科。隨著計算機技術的飛速發展,對軟件開發和維護提出了更高的要求,軟件工程和軟件產業面臨更大的挑戰。軟件工程是計算機科學技術的一門新興的學科,其軟件開發新技術、新方法不斷涌現,因此,相應的軟件工程的教材也要進行教材改革,以適應計算機學科發展的需要。本書以軟件生命周期為主線,主要介紹了結構化軟件開發技術、面向對象的軟件開發技術以及軟件工程質量保證和管理的內容。本書有兩個特點︰一是內容新穎,反映了當前軟件開發和管理的最新技術;二是實用性強,通過應用實例分析,使讀者學習和掌握軟件工程的原理、技術和方法,並對實際的軟件開發工作起指導作用。全書分3篇,共12章。第1篇為軟件開發方法,共有5章內容。第1章,軟件工程概述,主要介紹軟件工程起源和概念、軟件生命周期及軟件開發模型。第2章,可行性研究,主要介紹可行性研究的任務和過程、系統流程圖、成本效益分析和相應的文檔編寫。第3章,需求分析,主要介紹需求分析的任務和步驟、數據流圖、數據字典等圖形工具以及結構化分析方法。第4章,總體設計,主要介紹總體設計任務、軟件設計概念和原理、層次圖和結構圖的圖形工具以及結構化設計。第5章,詳細設計,主要介紹結構化程序設計、過程設計的工具(流程圖、N-S圖和PAD圖等)、面向數據結構的設計方法、程序復雜程度的度量以及人機界面設計。第2篇為面向對象開發方法,共有4章內容。第6章,面向對象方法學引論,主要介紹面向對象概念、面向對象方法學優點、面向對象建模(對象模型、動態模型和功能模型)。第7章,面向對象分析與設計,主要介紹面向對象分析過程、面向對象設計建立的子系統。第8章,UML統一建模語言,主要介紹UML統一建模語言、靜態模型圖、動態模型圖。第9章,Rational Rose工具,主要介紹Rose工具的基本操作、模型視圖和雙向工程。第3篇,軟件工程質量保證與管理,共有3章內容。第10章,軟件測試,主要介紹軟件測試概念、分類和基本步驟、黑盒測試、白盒測試、測試用例設計、調試和面向對象測試。第11章,軟件維護,主要介紹軟件維護的概念、過程、可維護性以及軟件再工程。第12章,軟件工程管理,主要介紹軟件項目管理、配置管理、質量、風險管理以及人力資源管理。本書由施一萍主編。施一萍編寫第1∼4章;甦前敏編寫第5章及第10章;趙敏媛編寫第6章及第7章;王紅編寫第8章及第9章;夏永祥編寫第1l章及第12章。全書由施一萍統稿。由于專業水平有限,書中錯誤或欠妥之處,望讀者批評指正。

内容概要

  軟件工程是計算機科學技術的一門新興學科,其軟件開發新技術、新方法正在不斷地出現。《軟件工程及軟件開發應用》以軟件生命周期為主線,系統地介紹了軟件工程基本知識、結構化分析、結構化設計的軟件開發技術,同時介紹了面向對象開發技術,包括面向對象分析、面向對象設計、UML建模語言和Rational Rose工具,最後介紹了通過軟件測試、維護和工程管理來保證軟件工程質量等內容。《軟件工程及軟件開發應用》內容新穎,實用性強,每章後有小結和習題。可作為高等院校“軟件工程”課程的教材或參考書,也適用于軟件工作人員和計算機用戶閱讀參考。

书籍目录

第1篇 軟件開發方法第1章 軟件工程概述1.1 軟件與軟件危機1.1.1 計算機軟件概念1.1.2 計算機軟件的發展1.1.3 軟件危機1.2 軟件工程1.2.1 軟件工程定義1.2.2 軟件工程的內容1.2.3 軟件工程基本原理1.2.4 軟件開發方法1.3 軟件生命周期1.3.1 軟件生命周期的劃分1.3.2 各階段的基本任務1.4 軟件開發模型1.4.1 瀑布模型1.4.2 快速原型模型1.4.3 增量模型1.4.4 螺旋模型1.4.5 噴泉模型1.5 應用實例1.6 小結習題第2章 可行性研究2.1 可行性研究的任務2.2 可行性研究的過程2.3 系統流程圖2.4 成本效益分析2.4.1 成本估算2.4.2 成本效益分析方法2.5 可行性研究報告2.6 軟件立項和合同2.6.1 立項方法和立項文檔2.6.2 簽訂合同方法和合同文檔2.7 項目開發計劃2.8 小結習題第3章 需求分析3.1 需求分析概述3.1.1 需求分析的任務3.1.2 需求分析的步驟3.2 圖形工具3.2.1 數據流圖3.2.2 數據字典3.2.3 實體-聯系圖3.2.4 其他圖形工具3.3 結構化分析3.3.1 結構化分析的步驟3.3.2 應用實例3.3.3 軟件需求規格說明書3.4 驗證軟件需求3.5 小結習題第4章 總體設計4.1 總體設計的過程和任務4.2 軟件結構設計概念和原理4.2.1 模塊和模塊化4.2.2 抽象4.2.3 信息隱藏4.2.4 模塊獨立4.3 軟件結構設計優化4.4 圖形工具4.4.1 層次圖和HIPO圖4.4.2 結構圖4.5 結構化設計4.5.1 結構化設計概述4.5.2 結構化設計的過程4.5.3 變換分析和事務分析4.6 總體設計說明書4.7 小結習題第5章 詳細設計5.1 任務和原則5.2 結構化程序設計5.3 過程設計的工具5.3.1 程序流程圖5.3.2 N-S圖5.3.3 PAD圖5.3.4 PDL語言5.3.5 判定樹5.3.6 判定表5.4 面向數據結構的設計方法5.4.1 邏輯數據結構5.4.2 Jackson圖和圖解邏輯5.4.3 應用實例5.5 程序復雜程度的度量5.6 人機界面設計5.7 小結習題第2篇 面向對象開發方法第6章 面向對象方法學引論6.1 面向對象方法學概述6.1.1 面向對象的基本概念6.1.2 面向對象軟件過程模型6.2 面向對象方法學的優點6.3 面向對象建模6.3.1 對象模型6.3.2 動態模型6.3.3 功能模型6.3.4 三種模型之間的關系6.4 小結習題第7章 面向對象分析與設計7.1 面向對象分析7.1.1 面向對象分析過程7.1.2 需求陳述7.1.3 建立對象模型7.1.4 建立動態模型7.1.5 建立功能模型7.1.6 應用實例7.2 面向對象設計7.2.1 面向對象設計的準則7.2.2 問題域子系統設計7.2.3 人機交互子系統設計7.2.4 任務管理子系統設計7.2.5 數據管理子系統設計7.2.6 應用實例7.3 小結習題第8章 UML統一建模語言8.1 UML概述8.1.1 UML的產生及發展目標8.1.2 UML的組成及主要內容8.1.3 UML的應用領域8.2 UML靜態建模8.2.1 用例圖8.2.2 類圖8.2.3 對象圖8.2.4 構件圖8.2.5 實施圖8.3 UML動態建模8.3.1 順序圖8.3.2 協作圖8.3.3 狀態圖8.3.4 活動圖8.4 基于UML的軟件開發過程8.5 小結習題第9章 RationalRose工具9.1 Rose建模功能及特點9.2 Rose操作界面9.2.1 Rose的主界面9.2.2 Rose的基本操作9.3 Rose的模型視圖9.3.1 用例圖的創建.刪除和設計9.3.2 模型元素的添加9.3.3 工具欄按鈕的添加9.4 Rose的雙向工程9.5 小結習題第3篇 軟件工程質量保證與管理第10章 軟件測試10.1 軟件測試概述10.1.1 軟件測試的概念10.1.2 軟件測試的分類10.1.3 軟件測試的基本步驟10.2 白盒測試10.2.1 邏輯覆蓋10.2.2 路徑測試10.3 黑盒測試10.3.1 等價分類法10.3.2 邊界值分析法10.3.3 錯誤推測法10.4 測試用例10.4.1 測試用例概念10.4.2 應用實例10.5 調試10.6 面向對象的測試10.7 軟件測試的發展趨勢10.8 小結習題第11章 軟件維護11.1 軟件維護的概念11.2 軟件維護的工作量11.3 軟件維護過程11.4 軟件可維護性11.5 軟件再工程11.5.1 軟件再工程的概念11.5.2 軟件重構11.6 應用實例11.7 小結習題第12章 軟件工程管理12.1 軟件工程管理的目標12.2 軟件項目管理12.2.1 軟件項目管理的目標和過程12.2.2 軟件項目失控的原因12.3 軟件配置管理12.3.1 軟件配置管理的定義12.3.2 軟件配置管理的任務12.4 軟件質量管理12.4.1 軟件質量的概述12.4.2 軟件質量管理的主要活動12.4.3 軟件質量保證12.4.4 軟件質量保證體系及認證12.4.5 軟件過程能力評估的模型12.5 軟件風險管理12.5.1 軟件項目風險的概念12.5.2 軟件風險管理過程及風險駕馭12.6 軟件項目人力資源管理12.7 應用實例12.8 小結習題縮略語參考文獻

章节摘录

插圖︰第1章 軟件工程概述軟件工程是20世紀60年代末,為了克服“軟件危機”而出現的一門研究軟件開發與維護的工程學科。隨著計算機技術的飛速發展,對軟件開發和維護提出了更高的要求,軟件工程和軟件產業面臨更大的挑戰。本章主要介紹軟件工程的基本知識,包括軟件的概念、軟件危機、軟件工程的內容、基本原理以及軟件開發的方法和模型。1.1 軟件與軟件危機1.1.1 計算機軟件概念計算機系統是由硬件和軟件組成。計算機硬件是計算機系統的物理部件,如中央處理機、存儲器、鍵盤、顯示器和打印機。計算機軟件是計算機系統中的邏輯部件。計算機硬件和軟件有明顯的不同,具體表現如下︰(1)硬件是物理實體,能夠看得見,而軟件是邏輯實體。(2)硬件會“磨損”或“老化”,但軟件存在“退化”問題,必須要多次修改和維護軟件。(3)硬件與軟件的制造過程不同。硬件需要相應的設計、工藝和制造過程,軟件是通過分析、設計和編寫程序完成的。(4)硬件與軟件的質量控制過程不同。由于制造過程不同,所以它們的質量控制也在各個階段完成。計算機硬件和軟件又是相互聯系、相互依賴的,二者缺一不可。硬件如果沒有相應軟件的支持,只能稱為“裸機”,它是不能正常工作的。計算機系統只有配備了硬件以及控制和管理硬件的軟件,才能發揮作用。計算機系統的發展離不開軟件的發展。計算機軟件通常定義如下︰軟件是程序、數據和相關文檔的完整集合。其中程序是按照設計文檔的功能和性能要求所編寫的指令序列。數據是能使程序正常操縱信息的數據結構。文檔是與程序開發、管理、維護和使用有關的圖文材料。軟件又與程序不同,它的規模比較龐大。

编辑推荐

《軟件工程及軟件開發應用》由清華大學出版社出版。

图书封面




    軟件工程及軟件開發應用下載



用户评论 (总计0条)

 
 

 

計算機與互聯網 PDF免费下载,軟件工程及軟件方法學PDF免费下载。 计算机教程网 

计算机教程网 @ 2018