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