出版時(shí)間:2009-3 出版社:史濟(jì)民、顧春華、 鄭紅 高等教育出版社 (2009-03出版) 作者:史濟(jì)民,顧春華,鄭紅 著 頁(yè)數(shù):372
前言
本書第2版自2002年12月首印,迄今已5年有半了。許多高等院校的計(jì)算機(jī)專業(yè)和軟件學(xué)院相關(guān)專業(yè)采用該版書作為本科生“軟件工程”課程的教材。為了更好地滿足讀者需要,我們決定編寫第.3版,并確定了如下的編寫方針:一、繼續(xù)保持“注重實(shí)踐”的風(fēng)格軟件工程具有很強(qiáng)的實(shí)踐性,但早期的軟件工程教材往往偏重于理論,介紹原理有余,聯(lián)系應(yīng)用不足。由于缺乏可供借鑒的示例,使讀者在具體開發(fā)時(shí)常有不知從何處入手的感覺(jué)。本書取名《軟件工程——原理、方法與應(yīng)用》,就是希望從“應(yīng)用”出發(fā),兼顧“原理”與“方法”兩個(gè)方面:講解方法時(shí)精選例題,方便模仿:上升到原理時(shí)提綱挈領(lǐng),畫龍點(diǎn)睛。目的是讓讀者一方面掌握軟件工程的常用方法及其具體操作,另一方面又提升到以原理為指導(dǎo),不致被具體方法中繁瑣的細(xì)節(jié)所淹沒(méi)。從本書第1版起,編者就參照國(guó)際知名教材《軟件工程:實(shí)踐者的方法》(Pressman著)的做法,廣舉例題,注重實(shí)踐,因而取得第1版連續(xù)發(fā)行12年近12萬(wàn)冊(cè),第2版在5年半中重印12次、累計(jì)發(fā)行14.1萬(wàn)冊(cè)的好成績(jī)。本版保持了上述風(fēng)格,力求使之名副其實(shí)地成為理論結(jié)合實(shí)際、注重能力培養(yǎng)的實(shí)踐型教材。
內(nèi)容概要
《軟件工程:原理方法與應(yīng)用》結(jié)構(gòu)合理、文字通俗、例題豐富、可讀性強(qiáng),主要面向計(jì)算機(jī)及相關(guān)專業(yè)本科生,亦可供軟件開發(fā)人員作為參考。作為一本注重能力培養(yǎng)的實(shí)踐型教材,第3版繼承并保持了“注重實(shí)踐”的風(fēng)格,將全書分編為緒論和上、中、下3篇,共14章。內(nèi)容分別為:上篇為傳統(tǒng)軟件工程,包括軟件生存周期與軟件過(guò)程、結(jié)構(gòu)化分析與設(shè)計(jì);中篇為面向?qū)ο筌浖こ?,包括面向?qū)ο笈cUML、需求工程與需求分析、面向?qū)ο蠓治觥⒚嫦驅(qū)ο笤O(shè)計(jì)、編碼與測(cè)試;下篇為軟件工程的近期進(jìn)展、管理與環(huán)境,包括軟件維護(hù)、軟件復(fù)用、軟件工程管理、軟件質(zhì)量管理、軟件工程環(huán)境、軟件工程高級(jí)課題。與第2版相比,本版將“并行介紹傳統(tǒng)的和面向?qū)ο蟮能浖こ獭备淖優(yōu)椤爸攸c(diǎn)介紹面向?qū)ο蟮能浖こ獭保⒃凇懊嫦驅(qū)ο蠓治觥焙汀懊嫦驅(qū)ο笤O(shè)計(jì)”兩章分別給出案例;通過(guò)“軟件工程高級(jí)課題”,對(duì)Web工程及基于體系結(jié)構(gòu)的軟件開發(fā)等熱門課題集中進(jìn)行了簡(jiǎn)要的講解。
作者簡(jiǎn)介
史濟(jì)民,教授,畢業(yè)于上海交通大學(xué)電機(jī)工程系,在原成都科技大學(xué)歷任教研室主任、副教授和教授,現(xiàn)為華東理工大學(xué)計(jì)算中心顧問(wèn)、全國(guó)高校計(jì)算機(jī)基礎(chǔ)教育研究會(huì)榮譽(yù)副會(huì)長(zhǎng)。長(zhǎng)期從事計(jì)算機(jī)軟件的教學(xué)與研究。近20年來(lái)先后編寫高校計(jì)算機(jī)教材近30種,發(fā)行逾300萬(wàn)冊(cè),有6種教材獲得教育部或上海市普通高校優(yōu)秀教材一、二等獎(jiǎng)等獎(jiǎng)勵(lì),其中《軟件工程——原理、方法與應(yīng)用》(第1、2版)在17年內(nèi)發(fā)行量近30萬(wàn)冊(cè)。
書籍目錄
第1章 緒論1.1 軟件和軟件危機(jī)1.1.1 軟件的定義1.1.2 軟件的特征1.1.3 軟件危機(jī)1.2 軟件工程學(xué)的范疇1.2.1 軟件開發(fā)方法學(xué)1.2.2 軟件工具1.2.3 軟件工程環(huán)境1.2.4 軟件工程管理1.3 軟件工程的發(fā)展1.3.1 3種編程范型1.3.2 3代軟件工程1.4 軟件工程的應(yīng)用1.4.1 在各種規(guī)模軟件開發(fā)中的應(yīng)用1.4.2 軟件工程的成就與發(fā)展展望1.5 軟件工程的教學(xué):本書導(dǎo)讀小結(jié)習(xí)題上篇 傳統(tǒng)軟件工程第2章 軟件生存周期與軟件過(guò)程2.1 軟件生存周期2.1.1 軟件生存周期的主要活動(dòng)2.1.2 生存周期與軟件過(guò)程的關(guān)系2.2 傳統(tǒng)的軟件過(guò)程2.2.1 瀑布模型2.2.2 快速原型模型2.3 軟件演化模型2.3.1 增量模型2.3.2 螺旋模型2.3.3 構(gòu)件集成模型2.4 形式化方法模型2.4.1 轉(zhuǎn)換模型2.4.2 凈室模型2.5 統(tǒng)一過(guò)程和敏捷過(guò)程2.5.1 統(tǒng)一過(guò)程2.5.2 敏捷過(guò)程2.5.3 極限編程2.6 軟件可行性研究2.6.1 可行性研究的內(nèi)容與步驟2.6.2 軟件風(fēng)險(xiǎn)分析2.6.3 項(xiàng)目實(shí)施計(jì)劃小結(jié)習(xí)題第3章 結(jié)構(gòu)化分析與設(shè)計(jì)3.1 概述3.1.1 結(jié)構(gòu)化分析與設(shè)計(jì)的由來(lái)3.1.2 SA模型的組成與描述3.1.3 SD模型的組成與描述3.2 結(jié)構(gòu)化系統(tǒng)分析3.2.1 畫分層數(shù)據(jù)流圖3.2.2 確定數(shù)據(jù)定義與加工策略3.2.3 需求分析的復(fù)審3.3 結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)3.3.1 SD概述3.3.2 SD的步驟:從DFD圖到SC圖3.3.3 變換映射3.3.4 事務(wù)映射3.3.5 優(yōu)化初始SC圖的指導(dǎo)規(guī)則3.3.6 教材購(gòu)銷系統(tǒng)的總體結(jié)構(gòu)3.4 模塊設(shè)計(jì)3.4.1 目的與任務(wù)3.4.2 模塊設(shè)計(jì)的原則與方法3.4.3 常用的表達(dá)工具小結(jié)習(xí)題中篇 面向?qū)ο筌浖こ痰?章 面向?qū)ο笈cuML4.1 面向?qū)ο蟾攀?.1.1 對(duì)象和類4.1.2 面向?qū)ο蟮幕咎卣?.1.3 面向?qū)ο箝_發(fā)的優(yōu)點(diǎn)4.2 uML簡(jiǎn)介4.2.1 UML的組成4.2.2 UML的特點(diǎn)4.2.3 UML的應(yīng)用4.3 靜態(tài)建模4.3.1 用例圖與用例模型4.3.2 類圖和對(duì)象圖4.3.3 包4.4 動(dòng)態(tài)建模4.4.1 消息4.4.2 狀態(tài)圖4.4.3 時(shí)序圖和協(xié)作圖4.4.4 活動(dòng)圖4.5 物理架構(gòu)建模4.5.1 物理架構(gòu)4.5.2 構(gòu)件圖和部署圖4.6 UML工具4.6.1 RationalRose4.6.2 StarUML小結(jié)習(xí)題第5章 需求工程與需求分析5.1 軟件需求工程5.1.1 軟件需求的定義5.1.2 軟件需求的特性5.1.3 需求工程的由來(lái)5.2 需求分析與建模5.2.1 需求分析的步驟5.2.2 需求分析是迭代過(guò)程5.3 需求獲取的常用方法5.3.1 常規(guī)的需求獲取方法5.3.2 用快速原型法獲取需求5.4 需求模型5.4.1 需求模型概述5.4.2 面向?qū)ο蟮男枨蠼?.5 軟件需求描述5.6 需求管理5.6.1 需求管理的內(nèi)容5.6.2 需求變更控制5.6.3 需求管理工具5.7 需求建模示例5.7.1 問(wèn)題陳述5.7.2 用例模型5.7.3 補(bǔ)充規(guī)約5.7.4 術(shù)語(yǔ)表小結(jié)習(xí)題第6章 面向?qū)ο蠓治?.1 軟件分析概述6.1.1 面向?qū)ο筌浖治?.1.2 面向?qū)ο蠓治瞿P?.2 面向?qū)ο蠓治鼋?.2.1 識(shí)別與確定分析類6.2.2 建立對(duì)象-行為模型6.2.3 建立對(duì)象-關(guān)系模型6.3 面向?qū)ο蠓治鍪纠?.3.1 注冊(cè)6.3.2 維護(hù)個(gè)人信息6.3.3 維護(hù)購(gòu)物車6.3.4 生成訂單6.3.5 管理訂單小結(jié)習(xí)題第7章 面向?qū)ο笤O(shè)計(jì)7.1 軟件設(shè)計(jì)概述7.1.1 軟件設(shè)計(jì)的概念7.1.2 軟件設(shè)計(jì)的任務(wù)7.1.3 模塊化設(shè)計(jì)7.2 面向?qū)ο笤O(shè)計(jì)建模7.2.1 面向?qū)ο笤O(shè)計(jì)模型7.2.2 面向?qū)ο笤O(shè)計(jì)的任務(wù)7.2.3 模式的應(yīng)用7.3 系統(tǒng)架構(gòu)設(shè)計(jì)7.3.1 系統(tǒng)高層結(jié)構(gòu)設(shè)計(jì)7.3.2 確定設(shè)計(jì)元素7.3.3 任務(wù)管理策略7.3.4 分布式實(shí)現(xiàn)機(jī)制7.3.5 數(shù)據(jù)存儲(chǔ)設(shè)計(jì)7.3.6 人機(jī)交互設(shè)計(jì)7.4 系統(tǒng)元素設(shè)計(jì)7.4.1 子系統(tǒng)設(shè)計(jì)7.4.2 分包設(shè)計(jì)7.4.3 類/對(duì)象設(shè)計(jì)7.5 面向?qū)ο笤O(shè)計(jì)示例7.5.1 關(guān)聯(lián)關(guān)系的具體化7.5.2 網(wǎng)上購(gòu)物系統(tǒng)的架構(gòu)設(shè)計(jì)7.5.3 網(wǎng)上購(gòu)物系統(tǒng)的類/對(duì)象設(shè)計(jì)小結(jié)習(xí)題第8章 編碼與測(cè)試8.1 編碼概述8.1.1 編碼的目的8.1.2 編碼的風(fēng)格8.2 編碼語(yǔ)言與編碼工具8.2.1 編碼語(yǔ)言的發(fā)展8.2.2 常用的編程語(yǔ)言8.2.3 編碼語(yǔ)言的選擇8.2.4 編碼工具8.3 編碼示例8.3.1 注冊(cè)功能編碼實(shí)現(xiàn)8.3.2 維護(hù)購(gòu)物車功能編碼實(shí)現(xiàn)8.4 測(cè)試的基譽(yù)概念8.4.1 目的與任務(wù)8.4.2 測(cè)試的特性8.4.3 測(cè)試的種類8.4.4 測(cè)試的文檔8.4.5 軟件測(cè)試過(guò)程8.5 黑盒測(cè)試和白盒測(cè)試8.5.1 黑盒測(cè)試8.5.2 白盒測(cè)試8.6 測(cè)試用例設(shè)計(jì)8.6.1 黑盒測(cè)試用例設(shè)計(jì)8.6.2 白盒測(cè)試用例設(shè)計(jì)8.7 多模塊程序的測(cè)試策略8.7.1 測(cè)試的層次性8.7.2 單元測(cè)試8.7.3 集成測(cè)試8.7.4 確認(rèn)測(cè)試8.7.5 系統(tǒng)測(cè)試8.7.6 終止測(cè)試的標(biāo)準(zhǔn)8.8 面向?qū)ο笙到y(tǒng)的測(cè)試8.8.1 OO軟件的測(cè)試策略8.8.2 OO軟件測(cè)試用例設(shè)計(jì)小結(jié)習(xí)題下篇 軟件工程的近期進(jìn)展、管理與環(huán)境第9章 軟件維護(hù)9.1 軟件維護(hù)的種類9.2 軟件可維護(hù)性9.3 軟件維護(hù)的實(shí)施9.4 軟件維護(hù)的管理9.5 軟件配置管理9.6 軟件再工程小結(jié)習(xí)題第10章 軟件復(fù)用10.1 軟件復(fù)用的基本概念10.1.1 軟件復(fù)用的定義10.1.2 軟件復(fù)用的措施10.1.3 軟件復(fù)用的粒度10.2 領(lǐng)域工程10.2.1 橫向復(fù)用和縱向復(fù)用10.2.2 實(shí)施領(lǐng)域分析10.2.3 開發(fā)可復(fù)用構(gòu)件10.2.4 建立可復(fù)用構(gòu)件庫(kù)10.3 基于構(gòu)件的軟件開發(fā)10.3.1 構(gòu)件集成模型10.3.2 應(yīng)用系統(tǒng)工程10.4 面向?qū)ο笈c軟件復(fù)用10.4.1 OO方法對(duì)軟件復(fù)用的支持10.4.2 復(fù)用技術(shù)對(duì)OO方法的支持10.4.3 基于構(gòu)件軟件開發(fā)的現(xiàn)狀與問(wèn)題小結(jié)習(xí)題第11章 軟件工程管理11.1 管理的目的與內(nèi)容11.2 軟件估算模型11.2.1 資源估算模型11.2.2 COCOMO模型11.3 軟件成本估計(jì)11.4 人員的分配與組織11.5 項(xiàng)目進(jìn)度安排小結(jié)習(xí)題第12章 軟件質(zhì)量管理12.1 從質(zhì)量保證到質(zhì)量認(rèn)證12.2 質(zhì)量保證……第13章 軟件工程環(huán)境第14章 軟件工程高級(jí)課題附錄 縮略語(yǔ)中英文對(duì)照表主要參考文獻(xiàn)
章節(jié)摘錄
插圖:2.細(xì)化階段識(shí)別出剩余的大多數(shù)用例。對(duì)當(dāng)前迭代的每個(gè)用例進(jìn)行細(xì)化,分析用例的處理流程、狀態(tài)細(xì)節(jié)以及可能發(fā)生的狀態(tài)變化。細(xì)化流程時(shí),可以使用程序框圖和協(xié)作圖,還可以使用活動(dòng)圖、類圖分析用例對(duì)風(fēng)險(xiǎn)的處理。這一階段主要應(yīng)完成以下工作:進(jìn)行需求風(fēng)險(xiǎn)分析。考慮項(xiàng)目的目標(biāo)是否偏離了用戶的需求。為了解決需求風(fēng)險(xiǎn)要充分了解用戶需求以及各需求的優(yōu)先級(jí),還應(yīng)盡量列出所有的用例,并要建立領(lǐng)域的概念模型。進(jìn)行技術(shù)風(fēng)險(xiǎn)分析。通過(guò)建立原型等方法,考察所選的技術(shù)方案是否可行。進(jìn)行技能風(fēng)險(xiǎn)分析??紤]實(shí)施項(xiàng)目的人員素質(zhì)能否勝任項(xiàng)目的要求。進(jìn)行政策風(fēng)險(xiǎn)分析??紤]政策性因素對(duì)項(xiàng)目的影響。進(jìn)行高層分析和設(shè)計(jì),并作出結(jié)構(gòu)性決策。產(chǎn)生簡(jiǎn)要體系結(jié)構(gòu),包括用例列表、領(lǐng)域概念模型和技術(shù)平臺(tái)等。在以后的階段中對(duì)細(xì)化階段所建立的體系結(jié)構(gòu)不能進(jìn)行過(guò)大的變動(dòng)。為構(gòu)造階段制定計(jì)劃。3.構(gòu)造階段識(shí)別出剩余的用例。每一次迭代開發(fā)都是針對(duì)用例進(jìn)行分析、設(shè)計(jì)、編碼、測(cè)試和集成的過(guò)程,所得到的產(chǎn)品是滿足項(xiàng)目需求的一個(gè)子集。由于細(xì)化階段的軟件設(shè)計(jì)已經(jīng)完成,這樣各項(xiàng)目組可以并行開發(fā)。在代碼完成后,要保證其符合標(biāo)準(zhǔn)和設(shè)計(jì)規(guī)則,并要進(jìn)行質(zhì)量檢查。對(duì)于新出現(xiàn)的變化,要通過(guò)逆向工具把代碼轉(zhuǎn)換為模型,對(duì)模型進(jìn)行修改,再重新生成代碼,以保證軟件與模型同步。
編輯推薦
《軟件工程:原理、方法與應(yīng)用(第3版)》:從“應(yīng)用”出發(fā),兼顧“原理”與“方法”,在講解方法時(shí)精選例題,以便讀者理解;當(dāng)升華到原理時(shí)提綱挈領(lǐng),畫龍點(diǎn)睛。重點(diǎn)介紹面向?qū)ο蟮能浖こ?,同時(shí)對(duì)基于構(gòu)件的軟件工程進(jìn)行簡(jiǎn)單的對(duì)比和介紹。加強(qiáng)實(shí)踐環(huán)節(jié),以案例為先行和歸宿。加強(qiáng)對(duì)部分新技術(shù)的介紹,反映Web軟件工程等新進(jìn)展。
圖書封面
評(píng)論、評(píng)分、閱讀與下載