軟件工程與建模

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

前言

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

內(nèi)容概要

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

書籍目錄

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

章節(jié)摘錄

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

圖書封面

評(píng)論、評(píng)分、閱讀與下載


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


用戶評(píng)論 (總計(jì)0條)

 
 

 

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

京ICP備13047387號(hào)-7