出版時間:2010-9 出版社:清華大學出版社 作者:李允中 頁數(shù):250
前言
作者編寫本書的目的在于提供完整的軟件工程思想及范例,引導讀者跳出以組件方式來看軟件,而改以系統(tǒng)的方式來看待整個軟件項目?! ”緯鴥热莨舶?0章。第1章介紹軟件過程,就像算法一樣,合適的過程可以提高系統(tǒng)開發(fā)的效率,不合適的過程則會延宕項目的進行。組織或開發(fā)團隊必須依照自己的特性去設計自己的過程,本章所提僅是大架構上的過程模式。目前在全世界所推行的CMMI過程改進方法,即是通過定義合適的過程來改善軟件開發(fā)的效率與產(chǎn)品的質量,讓軟件開發(fā)過程與企業(yè)文化相融合?! 〉?章認識需求工程。需求工程是軟件開發(fā)的第一步,是后續(xù)設計、開發(fā)、實現(xiàn)的基礎。如果需求定義上出了問題,即使有好的設計與實現(xiàn)能力,也終究會產(chǎn)出不是使用者期待的產(chǎn)品或系統(tǒng)。然而,要建立正確的需求并不容易,它需要來自各種不同觀點的分析方法、溝通技巧與專業(yè)的領域知識。除此之外,需求的管理更是一門學問,許多項目因為沒有妥善地管理需求的變化,導致系統(tǒng)不斷地發(fā)散擴張而無法完成。本章的主題在于闡述需求擷取、建立與管理的方法和技巧。
內容概要
本書由臺灣軟件工程領域領軍人物李允中教授執(zhí)筆,結合軟件產(chǎn)業(yè)與當前教育,較為全面地介紹了軟件工程的重要概念和專業(yè)知識,培養(yǎng)學生在理論及應用上的系統(tǒng)整合能力,從系統(tǒng)的角度來看待整個項目。全書共10章,內容涵蓋軟件危機及軟件開發(fā)流程、需求工程、面向對象軟件開發(fā)、軟件設計、軟件項目的計劃與管理、軟件的配置與管理、軟件工程的數(shù)學理論基礎、軟件過程改進等。 本書內容豐富,講解清晰、易懂,并提供真實的項目案例,幫助讀者領悟真實的項目開發(fā)的困難和過程,從而意識到軟件工程的好處。本書適合作為高等院校計算機專業(yè)的教材,也可供項目管理及開發(fā)人員參考。
作者簡介
李允中教授(Dr.Jonathan Lee),1993年畢業(yè)于美國Texas A&M大學計算機科學系并獲博士學位,同年受聘任教于臺灣“中央大學”信息工程系,目前任信息工程系教授,兼計算機中心主任。李教授曾于1999~2002年擔任信息工程系主任,2003~2006年擔任軟件研究中心主任。在大學任
書籍目錄
第1章 軟件危機與開發(fā)過程 1.1 軟件危機 1.2 基本的軟件開發(fā)活動 1.3 軟件開發(fā)模型 1.3.1 瀑布模型 1.3.2 統(tǒng)一過程模型 1.3.3 極限編程模型 本章總結 思考練習 第2章 需求工程 2.1 需求的種類 2.2 需求工程 2.2.1 需求獲取 2.2.2 需求分析 2.2.3 需求規(guī)格化 2.2.4 需求確認 2.3 需求管理 本章總結 思考練習 第3章 面向對象軟件開發(fā) 3.1 業(yè)務建模 3.1.1 用戶需求 3.1.2 用例建模 3.1.3 領域建模 3.2 面向對象分析 3.2.1 對象分析 3.2.2 軟件架構 3.2.3 用例實現(xiàn) 3.3 面向對象設計 3.3.1 用戶界面 3.3.2 數(shù)據(jù)存儲 3.4 面向對象實現(xiàn) 3.4.1 類 3.4.2 繼承關系 3.4.3 連接關系 3.4.4 接口實現(xiàn) 3.5 目標導向用例 3.5.1 確認角色 3.5.2 確認目標 3.5.3 建立用例模型 3.5.4 評估目標 本章總結 思考練習 第4章 軟件設計 4.1 軟件設計概論 4.1.1 抽象化 4.1.2 模塊化 4.1.3 內聚性 4.1.4 耦合性 4.2 架構設計 4.3 軟件設計策略與方法 4.3.1 通用策略 4.3.2 面向功能設計 4.3.3 面向對象設計 4.3.4 面向對象設計流程 4.4 軟件設計規(guī)則 4.4.1 軟件設計步驟 4.4.2 軟件設計文檔 4.5 高級軟件設計 4.5.1 設計模式 4.5.2 面向服務架構 本章總結 思考練習 第5章 軟件項目計劃與管理 5.1 項目計劃書 5.2 項目范圍 5.2.1 項目初始 5.2.2 范圍規(guī)劃 5.2.3 項目范圍的驗證及變更控制 5.3 項目日程安排 5.3.1 項目日程計劃 5.3.2 項目日程控制 5.4 項目成本管理 5.4.1 成本預估 5.4.2 成本預算與控制 5.5 資源管理 5.5.1 人才招聘 5.5.2 人員管理 5.5.3 團隊管理 5.6 風險 5.6.1 風險分析 5.6.2 風險控制 5.7 項目監(jiān)控 5.7.1 項目監(jiān)督 5.7.2 項目控制 5.8 項目的其他計劃 本章總結 思考練習 第6章 軟件測試 6.1 軟件測試的基本概念 6.1.1 驗證與確認 6.1.2 軟件測試的基礎 6.2 軟件測試規(guī)則 6.2.1 軟件測試步驟 6.2.2 軟件測試計劃書 6.3 軟件靜態(tài)分析 6.3.1 靜態(tài)分析的方法 6.3.2 評審會議 6.3.3 審查評估 6.4 軟件動態(tài)測試方法 6.4.1 測試用例設計方法簡介 6.4.2 測試覆蓋性 6.4.3 基本路徑測試 6.4.4 邏輯條件測試 6.4.5 數(shù)據(jù)流測試 6.4.6 循環(huán)測試 6.4.7 等價劃分法 6.4.8 邊界值分析法 6.4.9 因果圖 6.5 軟件動態(tài)測試策略 6.5.1 單元測試 6.5.2 集成測試 6.5.3 系統(tǒng)測試 6.5.4 安全測試 6.5.5 性能測試 6.5.6 煙霧測試 6.5.7 驗收測試 本章總結 思考練習 第7章 軟件質量管理與保證 7.1 軟件質量管理 7.1.1 質量規(guī)劃 7.1.2 質量控制 7.1.3 質量保證 7.2 軟件質量保證 7.2.1 sqa角色與工作 7.2.2 軟件質量保證規(guī)劃 7.2.3 軟件質量保證執(zhí)行 7.2.4 軟件質量保證結果與追蹤 7.3 運用質量模型提升軟件質量 本章總結 思考練習 第8章 軟件配置管理 8.1 配置管理計劃與配置識別 8.2 軟件基線設置 8.3 軟件配置控制 8.4 軟件配置狀態(tài)記錄 8.5 軟件配置核實 本章總結 思考練習 第9章 軟件工程的形式方法論 9.1 形式方法的基本概念 9.1.1 形式方法的定義 9.1.2 形式語言與形式規(guī)范語言 9.1.3 形式方法的軟件開發(fā)周期 9.2 形式化規(guī)范技術的分類 9.2.1 代數(shù)式規(guī)范方法 9.2.2 基于模型的規(guī)范方法 9.3 軟件工程的數(shù)學理論 9.4 形式化規(guī)范語言 9.4.1 z語言 9.4.2 object-z語言 9.4.3 對象約束語言 9.5 形式規(guī)范語言與非形式規(guī)范 語言的整合 本章總結 思考練習 第10章 軟件過程改進 10.1 以模型為基礎的過程改進 10.2 cmmi的歷史演變 10.3 cmmi概述 10.4 過程領域介紹 10.4.1 過程管理類相關過程領域 10.4.2 項目管理類相關過程領域 10.4.3 工程類相關過程領域 10.4.4 支持類相關過程領域 本章總結 思考練習 附錄A 軟件工程個案研究——需求管理 A.1 投票系統(tǒng)簡介 A.2 開發(fā)單位開發(fā)背景概況 A.3 開發(fā)過程的導入 A.3.1 新項目——系統(tǒng)開發(fā)過程 A.3.2 維護系統(tǒng)或進行中項目的需求變更流程 A.3.3 維護系統(tǒng)需求擴建——系統(tǒng)開發(fā)流程 A.3.4 文件匯總 A.3.5 需求變更管理 A.4 新投票系統(tǒng)的開發(fā) 附錄B 詞匯對照表 參考文獻
章節(jié)摘錄
面向對象軟件開發(fā)的主要思想,是將真實世界以對象封裝的形式進行建模。面向對象軟件開發(fā)包括以下4個階段:業(yè)務建模、面向對象分析、面向對象設計與面向對象實現(xiàn)。在業(yè)務建模階段,針對用戶需求加以分析,建立系統(tǒng)的用例模型與領域模型。在面向對象分析階段,針對每個用例進行分析,利用互動圖描述對象之間的信息交換,以完成用例所要求的功能。在面向對象設計階段,則依據(jù)分析階段的結果,再加以細部設計轉換成具體的軟件系統(tǒng)模型。當細部設計完成后,程序員便可以所建立的設計圖為藍本,實現(xiàn)面向對象軟件系統(tǒng)?! ”菊聦⒁院喕膭≡河喥毕到y(tǒng)為例,介紹面向對象軟件開發(fā)的這4個重要階段,并利用面向對象統(tǒng)一建模語言(Unified Modeling Language,UML)表示法對各個階段的成果建模。第1節(jié)以劇院訂票系統(tǒng)為例說明企業(yè)建模;第2節(jié)根據(jù)企業(yè)建模的結果進行面向對象分析;第3節(jié)說明如何進行面向對象設計;第4節(jié)介紹面向對象實現(xiàn)階段的做法。在面向對象軟件開發(fā)過程中,這4個階段將會不斷重復執(zhí)行,逐漸地擴充并修正各階段的成果。最后,第5節(jié)介紹如何結合用例和目標的目標導向用例(Goal-DrivenI Jse Case)方法來引導對象建模的開發(fā)。
編輯推薦
軟件危機與開發(fā)流程 需求工程 面向對象軟件開發(fā) 軟件設計 軟件項目計劃與管理 軟件測試 軟件質量管理與保證 軟件配置管理 軟件形式方法論 軟件過程改進
圖書封面
評論、評分、閱讀與下載