軟件工程

出版時間:2009-1  出版社:機(jī)械工業(yè)出版社  作者:李東生 等 著  頁數(shù):291  

前言

  在高度信息化的2l世紀(jì),人們越來越認(rèn)識到信息教育的重要性。人們都迫切希望信息教育能有較大發(fā)展。教育信息化也是擺在我們面前的重要任務(wù)。教育部明確要求高等教育實行信息化,要求在未來5年內(nèi)實現(xiàn)信息化教育課程的數(shù)量達(dá)到15%~30%。信息社會離不開計算機(jī)技術(shù),知識經(jīng)濟(jì)需要大量的計算機(jī)高級人才。我國正在加強(qiáng)計算機(jī)的高等教育,正著眼于為新世紀(jì)培養(yǎng)高素質(zhì)的計算機(jī)人才,以適應(yīng)信息社會高速發(fā)展的需要。當(dāng)前,全國各類高等院校都在各專業(yè)基礎(chǔ)課程計劃中增加計算機(jī)的課程內(nèi)容,而作為與計算機(jī)科學(xué)密切相關(guān)的計算機(jī)、通信、信息等專業(yè),更是在醞釀著教學(xué)的全面改革,以期規(guī)劃出一整套面向21世紀(jì)的、具有中國高校計算機(jī)教育特色的課程計劃和教材體系?! 〗逃俊蛾P(guān)于加強(qiáng)高等學(xué)校本科教育工作提高教育質(zhì)量的若干意見》(教字【2001】4號)文件也強(qiáng)調(diào)指出:“要大力提倡編寫、引進(jìn)和使用先進(jìn)教材。教材的質(zhì)量直接體現(xiàn)著高等教育和科學(xué)研究的發(fā)展水平,也直接影響本科教學(xué)的質(zhì)量。高等學(xué)校要結(jié)合學(xué)科、專業(yè)的調(diào)整,加快教材的更新?lián)Q代?!薄 橥苿痈咝=虒W(xué)改革,提高教學(xué)質(zhì)量,我們重點抓了21世紀(jì)高等教育教學(xué)改革項目,組織并支持了“面向21世紀(jì)計算機(jī)系列教材規(guī)劃”研究課題。該課題組成員均由高校計算機(jī)系的專家教授組成。他們有多年豐富的教學(xué)經(jīng)驗,也具有很強(qiáng)的科研能力。該課題的主要目標(biāo)是密切結(jié)合國民經(jīng)濟(jì)的需要,優(yōu)化計算機(jī)教材體系結(jié)構(gòu),力求將國際、國內(nèi)計算機(jī)領(lǐng)域的新概念、新理論、新技術(shù)吸收到本系列教材中,編寫出具有科學(xué)性、先進(jìn)性、系統(tǒng)性、實用性、實踐性很強(qiáng)的教材,經(jīng)過推廣使用,反復(fù)修改,不斷提高。  “面向21世紀(jì)計算機(jī)系列教材規(guī)劃”課題以編寫非計算機(jī)專業(yè)的計算機(jī)課程、計算機(jī)專業(yè)的計算機(jī)網(wǎng)絡(luò)課程、計算機(jī)軟件課程三個系列教材為主要內(nèi)容,計劃在三年內(nèi)出版13~16種書,服務(wù)于本科生、??粕⒀芯可?,以及網(wǎng)絡(luò)學(xué)院和軟件學(xué)院的學(xué)生。本課題把研究系列教材的重點放在影響和帶動計算機(jī)學(xué)科發(fā)展的網(wǎng)絡(luò)與軟件,以及直接推動計算機(jī)普及和應(yīng)用的非計算機(jī)專業(yè)三個方向上,目的是通過集中優(yōu)勢兵力,加強(qiáng)團(tuán)隊協(xié)作,能夠在教材建設(shè)方面按系列有所突破?! ∠嘈疟咎捉滩牡某霭姹貙虒W(xué)改革和教材建設(shè)起到很大的推動和示范作用。

內(nèi)容概要

  《面向21世紀(jì)高等院校計算機(jī)系列教材·軟件工程:原理、方法和工具》全面系統(tǒng)地介紹了軟件工程的概念、原理和技術(shù)。全書分3篇,第1篇(第1~8章)“面向過程的軟件工程”,以傳統(tǒng)的軟件生存周期為主線,介紹軟件工程的原理和方法,講述了軟件生存周期各階段的任務(wù)、過程和方法。第2篇(第9~16章)“面向?qū)ο蟮能浖こ獭保訳ML語言為主線,結(jié)合當(dāng)前流行的軟件工程工具Rational Rose,介紹面向?qū)ο筌浖こ痰脑砗头椒?。?篇(第17章)“軟件工程實驗”,是在前兩篇的理論知識基礎(chǔ)上,介紹圖書館圖書管理系統(tǒng)和瀏覽器系統(tǒng)實驗?!  睹嫦?1世紀(jì)高等院校計算機(jī)系列教材·軟件工程:原理、方法和工具》的特色是將軟件工程理論與軟件工程實際緊密結(jié)合,便于教學(xué)與應(yīng)用,既可以作為高等院校計算機(jī)專業(yè)和軟件工程專業(yè)本科生的教材,也可作為工程技術(shù)人員的參考書。

書籍目錄

序前言第1篇 面向過程的軟件工程第1章 軟件危機(jī)、軟件工程1.1 軟件工程的發(fā)展史1.1.1 程序設(shè)計時代1.1.2 程序系統(tǒng)時代1.1.3 軟件工程時代1.2 軟件危機(jī)主要表現(xiàn)形式1.3 產(chǎn)生軟件危機(jī)的原因及解決途徑1.3.1 產(chǎn)生軟件危機(jī)的原因1.3.2 解決軟件危機(jī)的途徑1.4 軟件和軟件工程1.4.1 軟件1.4.2 軟件工程1.5 軟件質(zhì)量1.6 軟件的生存周期及開發(fā)模型1.6.1 軟件生存周期1.6.2 軟件開發(fā)模型1.7 習(xí)題第2章 可行性研究2.1 可行性研究的目的與任務(wù)2.2 可行性研究的步驟2.3 系統(tǒng)流程圖2.3.1 系統(tǒng)流程圖的符號2.3.2 系統(tǒng)流程圖示例2.4 成本一效益分析2.4.1 貨幣的時間價值2.4.2 投資回收期2.4.3 純收入2.5 可行性研究報告的主要內(nèi)容2.6 習(xí)題第3章 軟件需求分析3.1 需求分析的任務(wù)和步驟3.1.1 需求分析的任務(wù)3.1.2 需求分析的步驟3.2 需求獲取的常用方法3.2.1 常規(guī)的需求獲取方法3.2.2 快速建立軟件原型來獲取需求3.3 需求分析的方法3.3.1 功能分解方法3.3.2 結(jié)構(gòu)化分析方法3.3.3 信息建模方法3.3.4 面向?qū)ο蟮姆治?.4 結(jié)構(gòu)化分析方法3.4.1 自頂向下逐層分解的分析策略3.4.2 結(jié)構(gòu)化分析描述工具3.4.3 數(shù)據(jù)流圖3.4.4 數(shù)據(jù)字典3.4.5 加工邏輯的描述3.5 需求分析圖形工具3.5.1 層次方框圖3.5.2 Wamier圖3.5.3 IPO圖3.6 SA方法的應(yīng)用3.7 習(xí)題第4章 軟件總體設(shè)計4.1 軟件總體設(shè)計的目標(biāo)和任務(wù)4.2 軟件設(shè)計的概念和原理4.2.1 模塊和模塊化4.2.2 抽象4.2.3 信息隱蔽和局部化4.2.4 模塊獨立性及其度量4.3 軟件結(jié)構(gòu)設(shè)計準(zhǔn)則4.4 軟件結(jié)構(gòu)設(shè)計的圖形工具4.4.1 軟件結(jié)構(gòu)圖4.4.2 層次圖4.4.3 HIPO圖4.5 結(jié)構(gòu)化設(shè)計方法4.5.1 數(shù)據(jù)流圖的類型4.5.2 結(jié)構(gòu)化設(shè)計方法的步驟4.5.3 變換型分析設(shè)計4.5.4 事務(wù)型分析設(shè)計4.6 習(xí)題第5章 軟件詳細(xì)設(shè)計5.1 詳細(xì)設(shè)計的目的與任務(wù)5.2 結(jié)構(gòu)化程序設(shè)計5.3 詳細(xì)設(shè)計工具5.3.1 程序流程圖5.3.2 N-S圖5.3.3 PAD圖5.3.4 過程設(shè)計語言5.4 習(xí)題第6章 軟件編碼6.1 程序設(shè)計語言的分類6.1.1 基礎(chǔ)語言6.1.2 結(jié)構(gòu)化語言6.1.3 面向?qū)ο蟮恼Z言6.2 程序設(shè)計語言的選擇6.3 程序設(shè)計風(fēng)格6.3.1 程序內(nèi)部文檔6.3.2 數(shù)據(jù)說明6.3.3 語句構(gòu)造6.3.4 輸入/輸出6.3.5 效率6.4 習(xí)題第7章 軟件測試7.1 軟件測試的目標(biāo)7.2 軟件測試的原則7.3 軟件測試方法7.3.1 靜態(tài)測試與動態(tài)測試7.3.2 黑盒測試法與白盒測試法7.4 軟件測試用例的設(shè)計7.4.1 白盒技術(shù)7.4.2 黑盒技術(shù)7.5 軟件測試過程7.5.1 單元測試7.5.2 集成測試7.5.3 確認(rèn)測試7.5.4 系統(tǒng)測試7.6 調(diào)試7.6.1 調(diào)試的目的7.6.2 調(diào)試技術(shù)7.7 習(xí)題第8章 軟件維護(hù)8.1 軟件維護(hù)的分類8.2 軟件維護(hù)的特點8.2.1 結(jié)構(gòu)化維護(hù)與非結(jié)構(gòu)化維護(hù)8.2.2 維護(hù)的代價8.2.3 軟件維護(hù)中存在的問題8.3 軟件可維護(hù)性8.3.1 軟件可維護(hù)性的定義8.3.2 軟件可維護(hù)性的度量8.3.3 提高軟件可維護(hù)性的方法8.4 維護(hù)的副作用8.5 軟件再工程8.5.1 軟件再工程與逆向工程的概念8.5.2 實施軟件再工程的原因8.5.3 軟件再工程技術(shù)8.6 習(xí)題第2篇 UML與面向?qū)ο蟮能浖こ痰?章 UML簡介9.1 UML概述9.1.1 UML的組成9.1.2 UML的特點和用途9.1.3 UML的模型視圖簡介9.2 UML軟件開發(fā)工具簡介9.2.1 RationalRose9.2.2 Visio簡介9.3 習(xí)題第10章 面向?qū)ο蟮母拍?0.1 面向?qū)ο蟮姆椒▽W(xué)10.1.1 面向?qū)ο蠼?0.1.2 面向?qū)ο蟮姆椒ㄅc傳統(tǒng)軟件方法的比較10.2 對象與類及其UML表示10.2.1 對象10.2.2 類與實例10.2.3 對象屬性與操作10.2.4 對象類的關(guān)聯(lián)10.3 聚集、組合、繼承和多態(tài)10.3.1 聚集與組合10.3.2 抽象與繼承10.3.3 多態(tài)10.4 習(xí)題第11章 對象設(shè)計模式11.1 對象設(shè)計模式概念11.1.1 歷史背景11.1.2 對象設(shè)計模式11.1.3 設(shè)計模式的分類11.2 幾種典型的對象設(shè)計模式及應(yīng)用11.2.1 行為型模式中的職責(zé)鍵模式及應(yīng)用11.2.2 結(jié)構(gòu)型模式中的外觀模式及應(yīng)用11.2.3 創(chuàng)建型模式中的抽象工廠模式及應(yīng)用11.3 對象類的高級概念11.3.1 抽象類、參數(shù)對象類、型與實現(xiàn)對象類11.3.2 接口11.3.3 版型11.4 組件、包和結(jié)點11.4.1 組件11.4.2 包和包圖11.4.3 結(jié)點11.5 習(xí)題第12章 面向?qū)ο蟮能浖_發(fā)過程12.1 RUP概述12.1.1 RUP的歷史12.1.2 RUP的特色12.2 RUP軟件開發(fā)生命周期和建模12.2.1 RUP軟件開發(fā)的生命周期12.2.2 RUP的動態(tài)結(jié)構(gòu)12.2.3 RUP的靜態(tài)結(jié)構(gòu)12.2.4 RUP的建模12.3 面向?qū)ο筌浖_發(fā)過程的案例分析12.3.1 系統(tǒng)需求12.3.2 系統(tǒng)的靜態(tài)結(jié)構(gòu)模型12.3.3 順序圖和協(xié)作圖12.3.4 狀態(tài)圖和活動圖12.3.5 組件圖和部署圖12.4 習(xí)題第13章 軟件開發(fā)工具Rose13.1 Rose的用例圖與類圖13.1.1 用例圖13.1.2 類圖13.2 Rose的交互圖與狀態(tài)機(jī)圖13.2.1 交互圖13.2.2 狀態(tài)機(jī)圖13.3 包、組件圖與部署圖13.3.1 包13.3.2 組件圖13.3.3 部署圖13.4 Rose的代碼生成和逆向工程13.4.1 代碼生成13.4.2 逆向工程13.5 Rose應(yīng)用舉例13.6 習(xí)題第14章 Rose及其應(yīng)用14.1 Rose的主要功能14.2 Rose的使用14.2.1 Rose主菜單窗口14.2.2 模型與工作方式的組織14.3 教學(xué)管理系統(tǒng)的分析與設(shè)計14.3.1 系統(tǒng)需求分析14.3.2 系統(tǒng)問題領(lǐng)域分析14.3.3 靜態(tài)結(jié)構(gòu)模型的建立14.3.4 動態(tài)行為模型的建立14.3.5 物理模型的建立14.4 UML類圖與VB代碼的轉(zhuǎn)換14.4.1 VB代碼生成屬性14.4.2 Rose模型-VB代碼的生成14.4.3 VB代碼的逆向工程14.5 UML類圖與Java代碼的轉(zhuǎn)換14.5.1 UML類圖-Java代碼的生成14.5.2 Java代碼的逆向工程14.6 習(xí)題第15章 面向?qū)ο蟮能浖w系結(jié)構(gòu)15.1 軟件體系結(jié)構(gòu)概述15.2 流程處理與客戶機(jī)/服務(wù)器體系結(jié)構(gòu)15.2.1 流程處理15.2.2 客戶機(jī)/服務(wù)器體系結(jié)構(gòu)15.3 三層和多層體系結(jié)構(gòu)15.3.1 三層體系結(jié)構(gòu)15.3.2 瀏覽器/服務(wù)器體系結(jié)構(gòu)風(fēng)格15.3.3 多層體系結(jié)構(gòu)15.3.4 團(tuán)聚與串行15.4 公共對象請求代理體系結(jié)構(gòu)15.5 基于層次消息總線的體系結(jié)構(gòu)風(fēng)格15.6 異構(gòu)結(jié)構(gòu)風(fēng)格15.7 習(xí)題第16章 軟件工程新技術(shù)16.1 軟件復(fù)用技術(shù)16.1.1 軟件復(fù)用概念及分類16.1.2 軟件復(fù)用的關(guān)鍵技術(shù)和復(fù)用粒度16.2 中間件技術(shù)16.2.1 中間件概念及特點16.2.2 中間件的分類16.3 組件技術(shù)16.3.1 組件與組件化16.3.2 組件模型及描述語言16.3.3 組件的檢索與組裝16.4 計算機(jī)輔助軟件工程技術(shù)16.4.1 CASE的基本概念16.4.2 CASE工具與集成CASE環(huán)境16.5 軟件產(chǎn)品線技術(shù)16.5.1 軟件產(chǎn)品線基本概念16.5.2 軟件產(chǎn)品線方法16.5.3 北大青鳥工程16.6 軟件過程與標(biāo)準(zhǔn)化16.6.1 軟件過程及其改進(jìn)16.6.2 ISO9000標(biāo)準(zhǔn)16.6.3 軟件能力成熟度模型16.7 習(xí)題第3篇 軟件工程實驗第17章 軟件工程實驗大綱17.1 面向過程的軟件工程實驗17.1.1 實驗1 圖書館圖書管理系統(tǒng)的可行性分析17.1.2 實驗2 圖書館圖書管理系統(tǒng)的項目開發(fā)計劃17.1.3 實驗3 圖書館圖書管理系統(tǒng)的需求分析17.1.4 實驗4 圖書館圖書管理系統(tǒng)的總體設(shè)計17.1.5 實驗5 圖書館圖書管理系統(tǒng)的詳細(xì)設(shè)計及編碼實現(xiàn)17.1.6 實驗6 圖書館圖書管理系統(tǒng)的系統(tǒng)測試17.1.7 實驗7 圖書館圖書管理系統(tǒng)用戶手冊的撰寫17.1.8 實驗8 圖書館圖書管理系統(tǒng)項目開發(fā)總結(jié)報告的撰寫17.2 面向?qū)ο蟮能浖こ虒嶒?7.2.1 實驗1 瀏覽器系統(tǒng)的可行性分析17.2.2 實驗2 瀏覽器系統(tǒng)的項目開發(fā)計劃17.2.3 實驗3 瀏覽器系統(tǒng)的需求分析17.2.4 實驗4 瀏覽器系統(tǒng)的體系結(jié)構(gòu)設(shè)計17.2.5 實驗5 采用面向?qū)ο蠓椒ㄟM(jìn)行瀏覽器系統(tǒng)的詳細(xì)設(shè)計17.2.6 實驗6 利用RationalRose正向工程功能完成編碼的實驗17.2.7 實驗7 利用RationalRose逆向工程完成修改設(shè)計的實驗17.2.8 實驗8 瀏覽器系統(tǒng)的測試17.2.9 實驗9 瀏覽器系統(tǒng)用戶手冊的撰寫17.2.10 實驗10 瀏覽器系統(tǒng)項目開發(fā)總結(jié)報告的撰寫附錄附錄A UML圖總結(jié)附錄B UML中定義的常用版型、約束和標(biāo)記附錄C GOF給出的軟件設(shè)計模式參考文獻(xiàn)

章節(jié)摘錄

  第1篇 面向過程的軟件工程  第1章 軟件危機(jī)、軟件工程  “軟件工程”一詞是由北大西洋公約組織(North Atlantic Treaty Organization,NlATO)的計算機(jī)科學(xué)家在聯(lián)邦德國召開的國際會議上首次提出來的。產(chǎn)生軟件工程這門學(xué)科的時代背景是“軟件危機(jī)”。軟件工程的發(fā)展和應(yīng)用不僅緩和了軟件危機(jī),而且促使一門新興的工程學(xué)科誕生了。  1.1 軟件工程的發(fā)展史  軟件工程是隨著計算機(jī)系統(tǒng)的發(fā)展而逐步形成的計算機(jī)科學(xué)領(lǐng)域中一門新興的學(xué)科。軟件工程的發(fā)展經(jīng)過了三個時代?! ?.1.1 程序設(shè)計時代  1946年到1956年為程序設(shè)計時代,在這個時代,人們用很大力氣研究和發(fā)展計算機(jī)硬件,經(jīng)歷了從電子管計算機(jī)到晶體管計算機(jī)的變革,然而對計算機(jī)軟件的研究和發(fā)展卻不夠重視。當(dāng)時,由于硬件的價格昂貴,運行速度低,內(nèi)存容量小,所以,當(dāng)時的程序員非常強(qiáng)調(diào)“程序設(shè)計技巧”,把縮短每一一個微秒的CPU時間和節(jié)省每一個二進(jìn)制存儲單元,作為程序設(shè)計的重要目標(biāo)。但設(shè)計的程序難讀、難懂、難修改。  1.1.2 程序系統(tǒng)時代  1956年到1968年為程序系統(tǒng)時代,或者稱為“程序+說明”時代。在這個時代,硬件經(jīng)歷了從晶體管計算機(jī)到集成電路計算機(jī)的變革,CPu速度和內(nèi)存容量都有了很大的提高,從而為計算機(jī)在眾多領(lǐng)域中的應(yīng)用提供了潛在的可能性。這個時代的另一個重要特征是出現(xiàn)了“軟件作坊”。這是因為隨著計算機(jī)應(yīng)用的普及和深化,需要的軟件往往規(guī)模相當(dāng)龐大,以致單個用戶無法開發(fā),此外,許多不同的部門和企業(yè)往往需要相同或者類似的軟件,各自開發(fā)就會浪費很大的人力。在這種形勢下,“軟件作坊”就應(yīng)運而生了。不過這個時代的開發(fā)方法基本上沿用了程序設(shè)計時代的開發(fā)方法,但開始提出了結(jié)構(gòu)化的方法。隨著計算機(jī)應(yīng)用的日益普及,軟件需求量急劇增長,用戶的需求和使用環(huán)境發(fā)生變化時,軟件可修改性很差,往往需要重新編制程序,其研制時間很長,不能及時滿足用戶要求,質(zhì)量得不到保證,開發(fā)人員的素質(zhì)和落后的開發(fā)技術(shù)不適應(yīng)規(guī)模大、結(jié)構(gòu)復(fù)雜的軟件開發(fā),因此,產(chǎn)生了尖銳的矛盾,所謂的“軟件危機(jī)”便由此產(chǎn)生了。

圖書封面

評論、評分、閱讀與下載


    軟件工程 PDF格式下載


用戶評論 (總計0條)

 
 

 

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

京ICP備13047387號-7