軟件工程與建模

出版時間:2010-8  出版社:西安交通大學出版社  作者:王長元,趙莉,王淑蓉 編著  頁數(shù):259  

前言

  21世紀是信息社會高速發(fā)展的時代,軟件作為信息技術的核心起著至關重要的作用。面對計算機日益廣泛的應用需求,研究如何更快、更好、更經(jīng)濟地開發(fā)出相應的軟件,是軟件開發(fā)技術及軟件工程師所面臨的問題。為擺脫軟件危機,軟件工程學從60年代末期開始迅速發(fā)展起來,現(xiàn)在已成為計算機科學技術的一個重要分支。20世紀90年代以來,軟件工程不僅從方法論的角度為管理人員和開發(fā)人員提供可見的結構和有序的思考,而且大量成功軟件總結出的設計經(jīng)驗,使軟件開發(fā)人員可以充分利用設計模式、框架和組件等?! ≤浖こ淌歉叩葘W校計算機教學計劃中的一門核心課程,所涉及的范圍非常廣泛,其主要內容包括支持軟件開發(fā)和維護的理論、方法、技術、標準等。這些內容對軟件研制人員、軟件項目管理人員都是十分重要的。本書通過對基本概念、基本原理、基本技術、基本方法的講解,使讀者能很快運用軟件工程方法和技術開發(fā)軟件?! ∮捎谠O計面向對象軟件比較困難,設計可復用的面向對象軟件就更困難。而設計模式可使人們更加方便地復用成功的設計和體系結構。設計模式幫助設計者作出有利于系統(tǒng)復用的選擇,避免設計損害了系統(tǒng)復用性。鑒于此目的,在面向對象部分,我們編寫了一些重要的設計模式。  軟件系統(tǒng)的開發(fā)方法經(jīng)歷了面向過程的開發(fā)方法、面向對象的開發(fā)方法、基于組件的開發(fā)方法和面向服務架構的開發(fā)方法。從軟件系統(tǒng)開發(fā)的方法可以看出抽象思維的重要性。其中抽象角度與抽象層次是軟件建模中的關鍵思想。軟件工程通過建模處理復雜性,即通過在任何特定的時間關注本質細節(jié),而忽視次要方面等細節(jié)進行建模。在開發(fā)中,軟件工程師構造許多系統(tǒng)和應用領域的不同模型。在本教材中,對軟件建模的要求與目的,建模的方法與建模應用進行了介紹。體現(xiàn)軟件工程是一個建?;顒拥闹黝}思想。  全書共十一章。第1章是對軟件工程的概述,第2章到第7章按照傳統(tǒng)軟件生命周期的過程對可行性研究、需求分析、總體設計、詳細設計、編碼和測試技術進行了介紹,并在第4章增加了軟件體系結構基礎的介紹,第8章到第9章是對面向對象概念及面向對象的分析和設計的介紹,第10章介紹軟件系統(tǒng)建模,第11章介紹目前的建模標準一一UML技術。與同類軟件工程教材的區(qū)別在于本教材把軟件系統(tǒng)建模的原理與方法、軟件體系結構、設計模式有機的引入教學過程中。

內容概要

本書全面系統(tǒng)地講述了軟件工程的概述、可行性研究、需求工程、軟件體系結構基礎、軟件設計、軟件編碼、軟件測試、面向對象技術、軟件系統(tǒng)建模、統(tǒng)一建模語言(UML)等內容。與同類軟件工程教材的區(qū)別在于本教材把軟件系統(tǒng)建模的原理與方法、軟件體系結構、設計模式有機地引入教學內容過程中。    本書可作為高等院?!败浖こ獭闭n程的教材或教學參考書,也可供有一定實踐經(jīng)驗的軟件工作人員和需要開發(fā)應用軟件的廣大計算機用戶閱讀參考

書籍目錄

前言第1章  軟件工程概述  1.1  軟件概論    1.1.1  軟件的發(fā)展歷史    1.1.2  軟件的概念和特點    1.1.3  軟件的分類    1.1.4  軟件危機  1.2  軟件工程與軟件過程    1.2.1  軟件工程的概念    1.2.2  軟件工程項目的基本目標    1.2.3  軟件工程學的原則    1.2.4  軟件過程與軟件生存周期    1.2.5  常見的軟件開發(fā)模型  小結  習題1第2章  可行性研究  2.1  可行性研究的任務  2.2  可行性研究的具體步驟  2.3  系統(tǒng)流程圖    2.3.1  系統(tǒng)流程圖的作用    2.3.2  系統(tǒng)流程圖的符號    2.3.3  系統(tǒng)流程圖的例子  2.4  成本/效益分析  小結  習題2第3章  需求工程  3.1  軟件需求    3.1.1  軟件需求的定義    3.1.2  需求的層次    3.1.3  需求錯誤的原因  3.2  需求工程    3.2.1  需求工程的內容    3.2.2  需求獲取    3.2.3  需求分析    3.2.4  需求傳遞    3.2.5  需求驗證    3.2.6需求管理  3.3  分析建模    3.3.1  分析模型    3.3.2  數(shù)據(jù)字典    3.3.3  結構化分析過程  3.4  軟件原型    3.4.1  原型的定義和作用    3.4.2  拋棄式原型和演化式原型    3.4.3  為何要采用原型法  小結  習題3第4章  軟件體系結構基礎  4.1  軟件體系結構的概念    4.1.1  構件與軟件重用    4.1.2  什么是軟件體系結構    4.1.3  軟件體系結構設計原則    4.1.4  軟件體系結構的現(xiàn)狀及發(fā)展方向  4.2  通用的軟件體系結構    4.2.1  主機/終端結構    4.2.2  兩層結構——客戶/服務器體系結構    4.2.3  瀏覽器/服務器結構    4.2.4  三層C/S結構    4.2.5  三層C/S結構應用實例  小結  習題4第5章  軟件設計  5.1  軟件概要設計的基本任務  5.2  軟件設計的過程    5.2.1  軟件設計在開發(fā)階段的重要性    5.2.2  軟件設計的過程  5.3  軟件設計的原則  5.4  有效的模塊設計  5.5  結構化設計方法(structured design,SD)    5.5.1  在系統(tǒng)結構圖(SC)中的模塊    5.5.2  變換流與變換型系統(tǒng)結構    5.5.3  事務型系統(tǒng)結構圖    5.5.4  變換映射    5.5.5  事務映射    5.5.6  注意“黑箱”技術的使用  5.6  數(shù)據(jù)設計和文件設計    5.6.1  數(shù)據(jù)設計的原則    5.6.2  文件設計的過程  5.7  設計規(guī)格說明與設計評審  5.8  詳細設計    5.8.1  詳細設計的任務和原則    5.8.2  詳細設計的描述工具    5.8.3  程序復雜程度的定量度量    5.8.4  設計復審  小結  習題5第6章  編碼  6.1  程序設計語言    6.1.1  程序設計語言分類    6.1.2  程序設計語言的特點    6.1.3  程序設計語言的選擇  6.2  編碼風格    6.2.1  源程序文檔化    6.2.2  數(shù)據(jù)說明    6.2.3  語句構造    6.2.4  輸入/輸出  6.3  程序效率    6.3.1  算法對效率的影響    6.3.2  影響存儲器效率的因素    6.3.3  影響輸入/輸出的因素  小結  習題6第7章  測試  7.1  測試的基本概念和原則    7.1.1  測試的必要性    7.1.2  測試的概念    7.1.3  測試的目的    7.1.4  測試復雜性    7.1.5  測試的基本原則  7.2  測試步驟    7.2.1  測試過程    7.2.2  測試的步驟  7.3  設計測試方案    7.3.1  白盒法測試的基本技術    7.3.2  黑盒法測試的基本技術  7.4  單元測試    7.4.1  單元測試的內容    7.4.2  單元測試步驟  7.5  集成測試    7.5.1  非增式組裝測試    7.5.2  增式組裝測試  7.6  確認測試    7.6.1  測試內容    7.6.2  測試步驟  7.7  自動測試工具    7.7.1  測試數(shù)據(jù)生成程序    7.7.2  靜態(tài)生成程序    7.7.3  動態(tài)分析程序    7.7.4  文件比較程序  7.8  軟件可靠性    7.8.1  基本概念    7.8.2  估算MTTF的方法  小結  習題7第8章  面向對象技術  8.1  面向對象的概念    8.1.1  對象    8.1.2  類    8.1.3  封裝    8.1.4  繼承    8.1.5  接口    8.1.6  消息    8.1.7  結構與連接    8.1.8  多態(tài)性  8.2  面向對象概念舉例    8.2.1  靜態(tài)字段和方法    8.2.2  屬性    8.2.3  類中的繼承和重載    8.2.4  接口    8.2.5  委托  小結  習題8第9章  面向對象分析與設計  9.1  面向對象分析(OOA)    9.1.1  論域分析    9.1.2  應用分析  9.2  對象模型技術    9.2.1  對象模型    9.2.2  動態(tài)模型    9.2.3  功能模型  9.3  面向對象設計(OOD)    9.3.1  類設計的目標和方針    9.3.2  通過復用設計類  9.4  設計模式    9.4.1  設計模式概述    9.4.2  設計模式實例    9.4.3  如何使用設計模式  小結  習題9第10章  信息系統(tǒng)建模  10.1  建模方法論    10.1.1  建模與仿真的基本概念    10.1.2  建模過程    10.1.3  建模方法    10.1.4  建模步驟  10.2  傳統(tǒng)的軟件開發(fā)所面臨的問題    10.2.1  傳統(tǒng)軟件開發(fā)面臨軟件危機的問題    10.2.2  軟件系統(tǒng)開發(fā)的方法思想發(fā)展  10.3  軟件建模    10.3.1  軟件建模的要求與目的    10.3.2  傳統(tǒng)建模方法的局限性    10.3.3  軟件工程與建模的關系    10.3.4  建模要素  10.4  軟件建模應用    10.4.1  從現(xiàn)實世界到業(yè)務模型    10.4.2  從業(yè)務模型到概念模型    10.4.3  從概念模型到設計模型  小結  習題10第11章  統(tǒng)一建模語言(UML)  11.1  UML簡介    11.1.1  UML的產生和成長    11.1.2  UML的定義及目標  11.2  UML語言概述    11.2.1  視圖(views)    11.2.2  圖(diagram)    11.2.3  模型元素    11.2.4  通用機制    11.2.5  UML建模工具  11.3  用例建模    11.3.1  用例圖    11.3.2  參與者    11.3.3  用例  11.4  類與對象建模    11.4.1  類和對象    11.4.2  類圖和對象圖    11.4.3  關系    11.4.4  約束和派生(規(guī)則)    11.4.5  包    11.4.6如何確定類  11.5  動態(tài)建模    11.5.1  消息(massage)    11.5.2  狀態(tài)圖(state diagram)    11.5.3  順序圖(sequence diagram)    11.5.4  協(xié)作圖(collaboration diagram)    11.5.5  活動圖(activity diagram)  11.6  物理體系結構建模    11.6.1  邏輯體系結構    11.6.2  物理體系結構    11.6.3  構件圖    11.6.4  部署圖  11.7  使用UML的過程    11.7.1  軟件工程的過程概念    11.7.2  Rational的統(tǒng)一過程  小結  習題11參考文獻

章節(jié)摘錄

  1.早期階段  在計算機發(fā)展的早期階段,人們認為計算機的主要用途是快速計算,軟件編程簡單,不存在什么系統(tǒng)化的方法,開發(fā)過程沒有任何管理,程序的質量完全依賴于程序員個人的技巧?! ?.第二階段  計算機軟件發(fā)展的第二階段跨越了從60年代中期到70年代末期的十余年,多用戶系統(tǒng)引入了人機交互的新概念,實時系統(tǒng)能夠從多個源收集、分析和轉換數(shù)據(jù),從而使得進程的控制和輸出的產生是以毫秒而不是分鐘來進行,在線存儲的發(fā)展產生了第一代數(shù)據(jù)庫管理系統(tǒng)?! ≡谶@個時期,出現(xiàn)了軟件產品和“軟件作坊”的概念,設計人員開發(fā)程序不再像早期階段那樣只為自己的研究工作需要,而是為了用戶更好地使用計算機,人們開始采用“軟件工程”的方法來解決“軟件危機”問題。  3.第三階段  計算機軟件發(fā)展的第三階段始于20世紀70年代中期,分布式系統(tǒng)極大地提高了計算機系統(tǒng)的復雜性,網(wǎng)絡的發(fā)展對軟件開發(fā)提出了更高的要求,特別是微處理器的出現(xiàn)和廣泛應用,孕育了一系列的智能產品。軟件開發(fā)技術的度量問題受到重視,最著名的有軟件工作量估計COCOM0模型、軟件過程改進模型CMM等?! ?.第四階段  計算機軟件發(fā)展的第四階段是強大的桌面系統(tǒng)和計算機網(wǎng)絡迅速發(fā)展的時期,計算機體系結構由中央主機控制方式變?yōu)榭蛻魴C/服務器方式,專家系統(tǒng)和人工智能軟件終于走出實驗室進人了實際應用,虛擬現(xiàn)實和多媒體系統(tǒng)改變了與最終用戶的通訊方式,出現(xiàn)了并行計算和網(wǎng)絡計算的研究,面向對象技術在許多領域迅速取代了傳統(tǒng)軟件開發(fā)方法,人們現(xiàn)在又向高層次邁進,開始研究服務計算與云計算的關鍵技術和方法。  在軟件的發(fā)展過程中,軟件從個性化的程序變?yōu)楣こ袒漠a品,人們對軟件的看法發(fā)生了根本性的變化,從“軟件-程序”發(fā)展為“軟件-程序+數(shù)據(jù)+文檔”及軟件變服務。軟件的需求成為軟件發(fā)展的動力,軟件的開發(fā)從自給自足模式發(fā)展為可以在市場中流通以滿足廣大用戶的需要。軟件工作的考慮范圍也發(fā)生了很大變化,人們不再只顧及程序的編寫,而是涉及到軟件的整個生命周期。

圖書封面

評論、評分、閱讀與下載


    軟件工程與建模 PDF格式下載


用戶評論 (總計0條)

 
 

 

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

京ICP備13047387號-7