




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、軟件工程導(dǎo)讀軟件工程作為一門學(xué)科已有近三十年的歷史。并且,隨著軟件開發(fā)技術(shù)的不斷創(chuàng)新、發(fā)展,這門學(xué)科的內(nèi)容不斷充實(shí),不斷完善。本導(dǎo)讀僅就軟件工程技術(shù)、方法與環(huán)境一書(以下簡稱軟工)各章的主要內(nèi)容以及它們之間的關(guān)系做一說明,以便讀者能比較好地掌握軟件工程學(xué)科所涉及的基本概念和軟件開發(fā)方法。軟件工程作為一類工程,與其它工程(例如土建工程等)一樣,為了生產(chǎn)(開發(fā))軟件,有其自己的工程目標(biāo)、工程活動(dòng)以及工程原則。也就是說,工程目標(biāo)、工程活動(dòng)和工程原則是軟件工程的三要素。這三要素可用如下框架表示之:書P2。對于這一框架,要從兩個(gè)方面理解之。 一方面,它給出了軟件工程三要素之間的關(guān)系,其中軟件工程目標(biāo)可用
2、性、正確性和合算性,規(guī)定了軟件工程實(shí)踐的的結(jié)果(即軟件)應(yīng)具有的基本性質(zhì);為了生產(chǎn)出具有這些基本性質(zhì)的軟件產(chǎn)品,應(yīng)進(jìn)行“需求、設(shè)計(jì)、實(shí)現(xiàn)、確認(rèn)以及支持”等活動(dòng);每進(jìn)行一項(xiàng)活動(dòng),都應(yīng)遵循四條基本的工程原則,即采用適宜的開發(fā)范型,使用恰當(dāng)?shù)拈_發(fā)方法,提供高質(zhì)量的工程支持,實(shí)施有效的工程管理??梢?,軟件工程三要素之間的關(guān)系是“正交”的。第二方面,在這一軟件工程框架中所涉及的四條基本原則,隱含地給出了軟件工程學(xué)科應(yīng)研究的主要內(nèi)容,即軟件開發(fā)模型,軟件開發(fā)方法,軟件過程,軟件開發(fā)工具與開發(fā)環(huán)境等。根據(jù)這一框架,特別是根據(jù)軟件工程學(xué)科研究的基本內(nèi)容,軟工一書首先介紹了軟件開發(fā)模型(第二章)。繼之,按軟件工
3、程活動(dòng),介紹了軟件開發(fā)方法(第三章-第八章),并且,針對軟件開發(fā)最新技術(shù),介紹了面向?qū)ο箝_發(fā)方法。在此基礎(chǔ)上,為了支持“確認(rèn)活動(dòng)”,或者說為了實(shí)施支持過程,軟工一書又簡單地介紹了軟件測試技術(shù)與方法(第九章)。最后,軟工一書扼要地介紹了“軟件過程” (第十章)和計(jì)算機(jī)輔助軟件工程CASE(第十章)。通過第十章軟件過程的學(xué)習(xí),可以增進(jìn)對軟件開發(fā)模型、軟件開發(fā)方法的理解,可以更全面地了解軟件工程活動(dòng)。通過第十一章計(jì)算機(jī)輔助軟件工程的學(xué)習(xí),可以獲得有關(guān)概念,并了解軟件工程與軟件工具、軟件工程環(huán)境之間的關(guān)系。軟工一書中所涉及的內(nèi)容可概括如下:1)軟件工程概論給出了軟件工程的三要素及其關(guān)系;給出了軟件、軟
4、件工程等概念。2) 軟件開發(fā)模型給出了軟件工程基本活動(dòng);回答了在軟件開發(fā)中,如何組織這些活動(dòng),即表述了“求解軟件的計(jì)算邏輯”。3) 軟件開發(fā)方法 給出了作為軟件開發(fā)方法(方法學(xué))應(yīng)包括的基本成分;較詳細(xì)地介紹了兩種軟件開發(fā)方法:結(jié)構(gòu)化開發(fā)方法和面向?qū)ο箝_發(fā)方法。4) 軟件測試給出了軟件測試目標(biāo)及測試過程模型;介紹了在單元測試中使用的路徑測試技術(shù)和在功能測試中使用的事務(wù)流測試技術(shù);簡單地介紹了軟件測試方法(步驟)。5) 軟件過程給出了軟件過程的定義及各過程的詳細(xì)說明;概括了軟件過程之間的關(guān)系。6) 軟件開發(fā)工具、軟件開發(fā)環(huán)境給出了軟件開發(fā)工具、軟件開發(fā)環(huán)境的定義;簡要地介紹了軟件開發(fā)環(huán)境,特別是
5、工作臺(tái)的概念模型。下面,我們給出每一章講述的基本內(nèi)容以及基本要求。第一章 軟件工程概論本章作為全書的概論,主要講述了軟件工程概念和軟件工程框架。以此,在以后各章中,展開講述了軟件工程學(xué)科所涉及的主要內(nèi)容。本章基本要求: 1) 軟件及軟件工程概念對于“軟件”一詞的理解,要從三個(gè)方面,即軟件一詞具有三層含義。一為個(gè)體含義,即指計(jì)算機(jī)系統(tǒng)中的程序及其文檔;二為整體含義即指在特定計(jì)算機(jī)系統(tǒng)中所有上述個(gè)體含義下的軟件的總稱,亦指計(jì)算機(jī)系統(tǒng)中硬件除外的所有成分;三為學(xué)科含義,即指在研究、開發(fā)、維護(hù)以及使用前述含義下的軟件所涉及的理論、方法、技術(shù)所構(gòu)成的學(xué)科?!败浖こ獭币辉~要從兩個(gè)方面予以理解。一方面,軟
6、件工程是一類求解軟件的工程。它應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,借鑒傳統(tǒng)工程的原則、方法、創(chuàng)建軟件以達(dá)到提高質(zhì)量,降低成本的目的。另一方面,軟件工程也是一門指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。 2) 軟件工程三要素及它們之間的關(guān)系軟件工程目標(biāo)、活動(dòng)和原則這三者之間的關(guān)系是:“正交”的。其中,軟件工程目標(biāo)是可用性、正確性和合算性;軟件工程活動(dòng)主要包括需求設(shè)計(jì)、實(shí)現(xiàn)、確認(rèn)和支持等;軟件工程原則是選取適宜的開發(fā)模型,用合適的設(shè)計(jì)方法,提供高質(zhì)量的工程支持,實(shí)行開發(fā)過程的有效管理。 每一活動(dòng)可根據(jù)特定的軟件工程,采用合適的開發(fā)模型、設(shè)計(jì)方法、支持過程以及過程管理。其中,對軟件工程原則要有一個(gè)比較深
7、入的理解。 第二章 軟件開發(fā)模型如前所述,本章給出了軟件工程的基本活動(dòng),并回答了在軟件開發(fā)中如何組織這些活動(dòng)。為此,主要講述了五個(gè)軟件開發(fā)模型。基本要求:1) 軟件開發(fā)模型的概念;2) 每一模型所涉及的活動(dòng),并能以圖示方式,表述這些活動(dòng)的組織,并給出簡要說明;3) 各模型之間的差異(這些差異本質(zhì)上體現(xiàn)了求解軟件所采用的不同計(jì)算邏輯)。第三章 需求分析本章主要介紹了通常所說的“需求分析”,一般包括三個(gè)主要活動(dòng),即需求獲取,需求分析和需求驗(yàn)證。需求獲取的結(jié)果稱為需求定義,需求分析的結(jié)果是建立了一個(gè)系統(tǒng)的系統(tǒng)模型(參見第5節(jié)實(shí)例研究),經(jīng)需求驗(yàn)證后,最終得到該系統(tǒng)的需求規(guī)格說明書(參見第4節(jié)系統(tǒng)需求
8、規(guī)格說明書)。為了獲得需求,應(yīng)該說至今還沒有一種公認(rèn)有效的技術(shù)和方法,因此,本書僅就需求獲取內(nèi)容作了簡單的介紹。繼之,本章詳細(xì)地介紹了支持需求分析的結(jié)構(gòu)化方法?;疽螅?) 結(jié)構(gòu)化分析方法中引入的基本概念及表示結(jié)構(gòu)化分析方法是一種基于數(shù)據(jù)流的方法,為此引入了數(shù)據(jù)流、變換(加工)、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)源和數(shù)據(jù)潭等概念。結(jié)構(gòu)化分析的結(jié)果是建立了系統(tǒng)模型,并采用數(shù)據(jù)流圖作為工具表示之。結(jié)構(gòu)化分析方法所建立的系統(tǒng)模型包括三個(gè)方面: DFD(數(shù)據(jù)流圖) 數(shù)據(jù)字典 小說明2)結(jié)構(gòu)化分析過程結(jié)構(gòu)化分析過程可概括為:(1)確定系統(tǒng)邊界,畫出系統(tǒng)環(huán)境圖(2)自頂向下,畫出各層數(shù)據(jù)流圖(3)定義數(shù)據(jù)字典(4)定義小說
9、明(5)匯總各步結(jié)果3) 針對一個(gè)簡單的需求定義(文字?jǐn)⑹龅南到y(tǒng)需求說明),能夠給出該系統(tǒng)的DFD(三層),并能給出相應(yīng)的數(shù)據(jù)字典和加工小說明。第四章 總體設(shè)計(jì)系統(tǒng)分忻的結(jié)果是建立的一個(gè)系統(tǒng)的系統(tǒng)模型,以此確定了系統(tǒng)“做什么”。軟件設(shè)計(jì)是在需求分析的基礎(chǔ)上來確定“怎么做”,即以軟件需求規(guī)格說明書為基礎(chǔ),形成軟件的具體設(shè)計(jì)方案,即給出系統(tǒng)的整體模塊結(jié)構(gòu)和每一模塊過程屬性的描述算法設(shè)計(jì)。其中,給出系統(tǒng)整體模塊結(jié)構(gòu)的過程稱為總體設(shè)計(jì)或概要設(shè)計(jì),給出每一模塊過程屬性描述的過程稱為詳細(xì)設(shè)計(jì)。本章主要講總體設(shè)計(jì)。就結(jié)構(gòu)化總體設(shè)計(jì)而言,其主要任務(wù)就是如何將一個(gè)系統(tǒng)的DFD轉(zhuǎn)化為模塊結(jié)構(gòu)圖(MSD)。為此,首
10、先要對諸多系統(tǒng)的DFD進(jìn)行分類,以便控制求解這一問題的復(fù)雜性。DFD可分為兩類,一類是事務(wù)型數(shù)據(jù)流圖,一類是變換型數(shù)據(jù)流圖。在此基礎(chǔ)上,給出了每一類DFD轉(zhuǎn)換為模塊結(jié)構(gòu)圖的方法。因此,本章的主要內(nèi)容是: DFD分類 變換設(shè)計(jì)如何將變換型DFD轉(zhuǎn)換成模塊結(jié)構(gòu)圖 事務(wù)設(shè)計(jì)如何將事務(wù)型DFD轉(zhuǎn)換成模塊結(jié)構(gòu)圖基本要求:1) 變換型、事務(wù)型設(shè)計(jì)流圖的概念;2) 如何將變換型DFD轉(zhuǎn)換為初始的模塊結(jié)構(gòu)圖;3) 如何將事務(wù)型DFD轉(zhuǎn)換為初始的模塊結(jié)構(gòu)圖;4) 如何根據(jù)低耦合、高內(nèi)聚的模塊獨(dú)立性等原則,將初始的模塊結(jié)構(gòu)圖轉(zhuǎn)換為最終可供詳細(xì)設(shè)計(jì)使用的模塊結(jié)構(gòu)圖。第五章 詳細(xì)設(shè)計(jì)本章給出了如何進(jìn)行結(jié)構(gòu)化程序設(shè)計(jì)。
11、由于詳細(xì)設(shè)計(jì)是針對具體問題的,因此本章主要給出了在進(jìn)行詳細(xì)設(shè)計(jì)中經(jīng)常使用的表示工具。基本要求:1) 結(jié)構(gòu)化程序設(shè)計(jì)的概念;2) 詳細(xì)設(shè)計(jì)工具: 程序框圖 N-S圖 PAD圖 偽碼并能扼要說明其優(yōu)點(diǎn)和不足之處;3) 詳細(xì)設(shè)計(jì)不同表示形式的轉(zhuǎn)換。第六章 面向?qū)ο蠓治鼋鼛啄陙砑禾岢隽酥T多面向?qū)ο蠓治龇椒?。面向?qū)ο笫且环N軟件開發(fā)的新范型,是一種新的方法論和一門新的技術(shù)。其基本觀點(diǎn)是把客觀世界看作是由多個(gè)對象構(gòu)成的,它們之間的關(guān)系以及相互作用形成了多姿多彩的客觀世界如同其它分析方法一樣,面向?qū)ο蠓治龇椒ㄌ岢隽艘韵禄靖拍睿?對象及對象類 連接 屬性 服務(wù) 結(jié)構(gòu)并從多個(gè)角度來描述系統(tǒng)主要包括靜態(tài)模型、動(dòng)態(tài)
12、模型和功能模型,以便捕獲更多的信息,使描述的系統(tǒng)更全面、更逼真。靜態(tài)模型主要描述系統(tǒng)由哪些對象組成,以及它們之間的“靜態(tài)”關(guān)系;動(dòng)態(tài)模型主要描述系統(tǒng)行為和每一類對象的行為;功能模型主要描述“做什么”。第六章集中介紹了Coad-Yourdon提出的OOA(Object-Oriented Analysis)。OOA是一種以“方法”驅(qū)動(dòng)的“方法學(xué)”。因此,分析階段由五個(gè)主要活動(dòng)組成,它們是“標(biāo)識(shí)類及對象”,“標(biāo)識(shí)結(jié)構(gòu)”,“標(biāo)識(shí)主題”,“定義屆性及實(shí)例連接”,“定義服務(wù)及消息連接”。并且,根據(jù)“行為分類準(zhǔn)則”,該方法以類及對象的狀態(tài)圖和服務(wù)流程圖來表示“類及對象”的行為。基本要求:1) 基本概念2)
13、五個(gè)活動(dòng)的主要任務(wù)、實(shí)施策略及結(jié)果表示3) 針對一個(gè)簡單的問題,能夠建立其系統(tǒng)模型4) 面向?qū)ο蠓治龇椒ㄅc結(jié)構(gòu)化分析方法的比較第七章 面向?qū)ο笤O(shè)計(jì)本章是第六章的繼續(xù),主要介紹了Coad-Yourdon提出的面向?qū)ο笤O(shè)計(jì)(OOD)。根據(jù)OOD模型,比較詳細(xì)地講述了“問題域部分”,“人機(jī)交互部分”,“任務(wù)管理部分”和“數(shù)據(jù)管理部分”的設(shè)計(jì)。并針對每一部分設(shè)計(jì),給出了主要任務(wù)及實(shí)施策略。本章的基本要求:1) OOD模型;2) OOD每一部分設(shè)計(jì)的主要任務(wù)及實(shí)施策略。第八章 OSA方法簡介本章概要介紹了另一種面向?qū)ο蠓治龇椒∣SA (Object-Oriented System Analysis)。這
14、種分析方法是模型驅(qū)動(dòng)的,即提供了三種模型,以模型構(gòu)造為驅(qū)動(dòng),建立系統(tǒng)的模型。本章介紹了OSA的三種模型:對象關(guān)系模型、對象行為模型以及對象交互模型。它們從不同側(cè)面描述了未來要建立的系統(tǒng)。其中: 對象關(guān)系模型(0RM)ORM用于捕獲一個(gè)系統(tǒng)的說明性信息,為此采用源于ER模型的語義數(shù)據(jù)模型,引入了“一般”、“特殊”、“聚合”和“聯(lián)合”等抽象機(jī)制。OSA的ORM用ORM圖表示之。為了構(gòu)造ORM圖,OSA給出了五個(gè)基本概念,即對象、關(guān)系、對象類關(guān)系集合和約束。其中,對象類是OSA的基礎(chǔ),關(guān)系集合是OSA對象關(guān)系模型的基本成分。對象行為模型用于捕獲行為信息。OSA的對象行為模型是一種面向?qū)ο蟮男袨槟P停?/p>
15、描述了對象類中所有對象的共同行為,用狀態(tài)網(wǎng)表示之。在構(gòu)造對象行為模型中,OSA圍繞著三個(gè)基本慨念:狀態(tài)、觸發(fā)、動(dòng)作(action)來組織對象的行為信息。這三個(gè)概念的模型化是狀態(tài)網(wǎng)的主要成分,其中,對象的狀態(tài)集合是狀態(tài)網(wǎng)的基本框架。支持并發(fā)是OSA對象行為模型的突出特征。由于它是面向?qū)ο蟮模虼丝梢员磉_(dá)不同對象類的對象并發(fā);由于一個(gè)狀態(tài)網(wǎng)可以被作為一類對象的行為模板,因此可以表達(dá)同一對象類中不同對象的并發(fā);又由于OSA提供了多重后狀態(tài)、多重前狀態(tài)以及狀態(tài)保留等機(jī)制,于是可以表達(dá)一個(gè)特定對象不同動(dòng)作的并發(fā)。 對象交互模型在OSA的交互模型中,主要涉及了以下三個(gè)問題:1) 交互的基本元素以及描述對象
16、之間交互的基本格式;2) 如何建立各種不同交互類型的模型,如同步交互、異步交互等;3) 交互約束和繼承。OSA提出的交互基本格式,表達(dá)了交互的本質(zhì)。各種不同交互類型的表示,顯示了這一基本格式的表達(dá)能力。從而,形成了OSA對象交互模型的獨(dú)特風(fēng)格。交互模型,無論是面向過程的交互模型,還是面向?qū)ο蟮慕换ツP?,都是分析模型的一個(gè)重要組成部分。結(jié)構(gòu)化分析使用了面向過程的交互模型,并且用DFD表示之;OOA的交互模型是基于消息連接的,表示了一個(gè)對象對其它對象服務(wù)的相關(guān)性;OMT使用事件跟蹤,建立對象之間相互作用模型,并使用面向過程的DFD來表示對象間的信息交互;OSA與其它交互模型的最大區(qū)別是允許靈活地描
17、述大量類型的交互。本章的基本要求:1) 每一模型中涉及的主要概念并能通過實(shí)例說明之;2) 正確理解OSA方法的“關(guān)系”與“關(guān)系集合”(參見集合論中的關(guān)系定義);3) OSA方法與Coad-Yourdon的OOA方法的比較(主要比較不同之處)。第九章 軟件測試本章主要針對程序測試,介紹了兩種常用的測試技術(shù)基于“白盒”的路徑測試技術(shù)和基于“黑盒”的事務(wù)處理流程測試技術(shù)?;疽螅?) 軟件測試與調(diào)試的差異;2) 測試過程模型;3) 路徑測試技術(shù),其中要掌握該技術(shù)的基本概念: 控制流程圖 路徑以及路徑測試策略,并能針對一個(gè)特定的控制流程圖,設(shè)計(jì)最少的測試用例,實(shí)現(xiàn)語句覆蓋、分支覆蓋和判定覆蓋;4)
18、事務(wù)流測試技術(shù),其中要理解事務(wù)的概念,并清楚這一技術(shù)與路徑測試技術(shù)的“相同點(diǎn)”和不同點(diǎn);5) 軟件則試步驟;6) 測試技術(shù)與測試模型的關(guān)系。第十章 軟件過程本章給出了軟件過程的概念,并給出了軟件過程的分類。繼之,給出了每類中所包含的軟件過程的詳細(xì)說明。在此基礎(chǔ)上,說明了軟件過程之間的關(guān)系。最后,簡單介紹了裁剪過程和過程建模技術(shù)。本章的基本要求:1) 軟件過程的概念;2) 每一軟件過程的基本含義;3) 軟件過程之間的基本關(guān)系。第十一章 計(jì)算輔助軟件工程CASE本章主要對CASE概念作了一般性介紹,并對CASE系統(tǒng)進(jìn)行了分類。在此基礎(chǔ)上,針對工作臺(tái)和軟件開發(fā)環(huán)境,給出了相應(yīng)的概念框架。最后,簡要介紹了我國自行研制的大型軟件開發(fā)環(huán)境青鳥系統(tǒng)。本章的基本要求:1) CASE概念;2) CASE系統(tǒng)分類;3) 軟件工程環(huán)境的定義;4) 集成化軟件工程環(huán)境的五級模型、SEE模型;5) 程序設(shè)計(jì)工作臺(tái)、分析和設(shè)計(jì)工作臺(tái)、測試工作臺(tái)的概念模型;6) 青鳥系統(tǒng)總體結(jié)構(gòu),并能簡單扼要地說明其中的主要成分以及各成分之間的關(guān)系。附;軟件工程試卷實(shí)例一、填空(共8分)1軟件開發(fā)模型是軟件開發(fā)全過程、活動(dòng)和任務(wù)的_。2在軟件工程中,需求獲取活動(dòng)的結(jié)果是_,分析的結(jié)果是_;軟件設(shè)計(jì)一般包
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車電子控制技術(shù)題庫及答案
- 廣東省汕頭市2025年高三一??荚囌Z文試卷(無答案)
- 天津市部分區(qū)2024-2025學(xué)年高一上學(xué)期1月期末練習(xí)數(shù)學(xué)試題(解析版)
- 湖北省武漢市部分重點(diǎn)中學(xué)2024-2025學(xué)年高二上學(xué)期期末聯(lián)考數(shù)學(xué)試題(解析版)
- 樓頂造型層施工方案
- 高支模專項(xiàng)施工方案
- 高空作業(yè) 施工方案
- 預(yù)制砼塊施工方案
- 裝配式建筑施工方案
- 酒業(yè)采購知識(shí)培訓(xùn)課件
- 2019年山東省普通高校招生春季考試英語試題
- 2025部編版九年級語文下冊全冊教學(xué)設(shè)計(jì)
- 假性動(dòng)脈瘤護(hù)理
- 部編版(2024)三年級道德與法治上冊第12課《生活離不開規(guī)則》教學(xué)課件
- 2024-2030年中國留學(xué)服務(wù)行業(yè)市場前景預(yù)測及發(fā)展戰(zhàn)略規(guī)劃分析報(bào)告
- 初中作文課件教學(xué)課件
- 亞專科護(hù)理建設(shè)思路
- 中職安全主題班會(huì)教育課件
- 生 物植物的三大作用-說課課件-2024-2025學(xué)年人教版生物七年級上冊
- 2024年新課標(biāo)卷高考化學(xué)試卷試題真題答案詳解(精校打印版)
- 音頻功率放大器的設(shè)計(jì)與實(shí)現(xiàn)
評論
0/150
提交評論