


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、軟件工程1、軟件危機(jī): 軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中遇到的一系列嚴(yán)重問題。包含兩方面的問題:( 1)如何開發(fā)軟件,以滿足對(duì)軟件日益增長的需求;( 2)如何維護(hù)數(shù)量不斷膨脹的已有軟件。2、軟件危機(jī)的主要表現(xiàn):( 1)對(duì)軟件開發(fā)成本和進(jìn)度的估計(jì)經(jīng)常很不準(zhǔn)確;( 2)用戶對(duì)“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生;( 3)軟件產(chǎn)品的質(zhì)量往往靠不??;( 4)軟件常常是不可維護(hù)的;( 5)軟件通常沒有適當(dāng)?shù)奈臋n資料;( 6)軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升;( 7)軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢(shì)。3、產(chǎn)生軟件危機(jī)的原因( 1)從軟件特點(diǎn)上看,
2、軟件是邏輯部件,不是物理部件;( 2)軟件是很大的程序,復(fù)雜且有很多技術(shù)問題,但缺少嚴(yán)格而科學(xué)的管理;( 3)軟件的參與人員多且成分復(fù)雜(需求人員,開發(fā)人員,用戶,維護(hù)人員等);( 4)在軟件實(shí)踐過程中或多或少的采用的錯(cuò)誤的(但當(dāng)時(shí)無法知曉的)方法和技術(shù)(這是主要原因)4、消除軟件危機(jī)的途徑( 1)首先應(yīng)該對(duì)計(jì)算機(jī)軟件有一個(gè)正確的認(rèn)識(shí);( 2)更重要的是,必須充分認(rèn)識(shí)到軟件開發(fā)不是某種個(gè)體勞動(dòng)的神秘技巧,而應(yīng)該是一種組織良好、管理嚴(yán)密、各類人員協(xié)同配合、共同完成的工程項(xiàng)目;( 3)應(yīng)該推廣使用在實(shí)踐中總結(jié)出來的開發(fā)軟件的成功的技術(shù)和方法,并且研究探索更好更有效的技術(shù)和方法,盡快消除在計(jì)算機(jī)系統(tǒng)
3、早期發(fā)展階段形成的一些錯(cuò)誤概念和做法;( 4)應(yīng)該開發(fā)和使用更好的軟件工具總之,為了解決軟件危機(jī),既要有技術(shù)措施(方法和工具),又要有必要的組織管理措施。5、軟件工程:軟件工程是從管理和技術(shù)兩方面研究如何更好地開發(fā)和維護(hù)計(jì)算機(jī)軟件的一門新興學(xué)科。( 1)1968 年 nato 會(huì)議: 軟件工程就是為了經(jīng)濟(jì)地獲得可靠的且能在實(shí)際機(jī)器上有效地運(yùn)行的軟件,而建立和使用完善的工程原理。( 2) 1993ieee 定義:軟件工程是把系統(tǒng)的、規(guī)范的、可度量的途徑應(yīng)用于軟件開發(fā)、運(yùn)行和維護(hù)過程,也就是把工程應(yīng)用于軟件;研究中提到的途徑。6、軟件工程的本質(zhì)特征( 1)軟件工程關(guān)注于大型程序的構(gòu)造;( 2)軟件
4、工程的中心課題是控制復(fù)雜性;( 3)軟件經(jīng)常變化;( 4)開發(fā)軟件的效率非常重要;( 5)和諧地合作是開發(fā)軟件的關(guān)鍵;( 6)軟件必須有效地支持它的用戶;( 7)在軟件工程領(lǐng)域中通常由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品。7、軟件工程的基本原理( 1)用分階段的生命周期計(jì)劃嚴(yán)格管理( 2)堅(jiān)持進(jìn)行階段評(píng)審( 3)實(shí)行嚴(yán)格的(階段性)產(chǎn)品控制( 4)采用現(xiàn)代程序設(shè)計(jì)技術(shù)( 5)結(jié)果應(yīng)能清楚地審查( 6)開發(fā)小組的人員應(yīng)該少而精( 7)承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性8、軟件生命周期:一個(gè)軟件從定義、開發(fā)、使用和維護(hù),直到最終被廢棄,所歷經(jīng)的一個(gè)漫長的時(shí)期。包括:可行性分析和項(xiàng)目開
5、發(fā)計(jì)劃,需求分析,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼,測(cè)試,維護(hù)。( 1)軟件定義時(shí)期:確定軟件開發(fā)工程必須完成的總目標(biāo);確定工程的可行性;導(dǎo)出實(shí)現(xiàn)工程目標(biāo)應(yīng)該采用的相關(guān)策略及系統(tǒng)必須完成的功能;估計(jì)完成該項(xiàng)工程需要的資源和成本,并適當(dāng)估計(jì)完成進(jìn)度表。( 2)軟件開發(fā)時(shí)期:總體設(shè)計(jì);詳細(xì)設(shè)計(jì);編碼和單元測(cè)試;綜合測(cè)試。( 3)軟件維護(hù)時(shí)期:主要任務(wù)是使軟件更持久地滿足用戶需要。具體地說,當(dāng)軟件在使用過程中發(fā)現(xiàn)錯(cuò)誤時(shí)應(yīng)該加以改正;當(dāng)環(huán)境改變時(shí)應(yīng)該修改軟件以適應(yīng)新的環(huán)境;當(dāng)用戶有新要求時(shí)應(yīng)該及時(shí)改進(jìn)軟件以滿足用戶的新需要。9、軟件生命周期每個(gè)階段的基本任務(wù)( 1)問題定義: “要解決的問題是什么?”;( 2
6、)可行性研究: “對(duì)于上一個(gè)階段所確定的問題有行得通的解決方案嗎?”( 3)需求分析: “為了解決這個(gè)問題,目標(biāo)系統(tǒng)必須做什么?!保?4)總體設(shè)計(jì): “概括地說,應(yīng)該怎樣實(shí)現(xiàn)目標(biāo)系統(tǒng)?”( 5)詳細(xì)設(shè)計(jì): “應(yīng)該怎樣具體地實(shí)現(xiàn)這個(gè)系統(tǒng)呢?”( 6)編碼和單元測(cè)試:關(guān)鍵任務(wù)是寫出正確的容易理解、容易維護(hù)的程序模塊。( 7)綜合測(cè)試:關(guān)鍵任務(wù)是通過各種類型的測(cè)試(及相應(yīng)的調(diào)試)使軟件達(dá)到預(yù)定的要求。( 8)軟件維護(hù):通過各種必要的維護(hù)活動(dòng)使系統(tǒng)持久地滿足用戶的需要。10、什么是軟件生命周期模型?有哪些主要模型?( 1)生存周期模型:描述軟件開發(fā)過程中各種活動(dòng)如何執(zhí)行的模型。對(duì)軟件開發(fā)提供強(qiáng)有力的支
7、持,為開發(fā)過程中的活動(dòng)提供統(tǒng)一的政策保證,為參與開發(fā)的人員提供幫助和指導(dǎo),是軟件生存周期模型化技術(shù)的基礎(chǔ),也是建立軟件開發(fā)環(huán)境的核心。( 2)主要有:瀑布模型,增量模型,螺旋模型,噴泉模型,基于知識(shí)的模型,變換模型。11、可行性研究的任務(wù):用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決。技術(shù)可行性;經(jīng)濟(jì)可行性;操作可行性;法律、社會(huì)效益、道德、政治等諸多方面的因素。12、可行性研究過程的步驟:( 1)復(fù)查系統(tǒng)的規(guī)模和目標(biāo)( 2)研究目前正在使用的系統(tǒng)( 3)導(dǎo)出新系統(tǒng)的高層邏輯模型( 4)進(jìn)一步定義問題( 5)導(dǎo)出和評(píng)價(jià)供選擇的解法( 6)推薦行動(dòng)方針( 7)草擬開發(fā)計(jì)劃( 8)書寫文檔提
8、交審查13、可行性分析報(bào)告的主要內(nèi)容:項(xiàng)目背景;客戶需求;商務(wù)前景;市場(chǎng)計(jì)劃;技術(shù)方案;實(shí)施周期;財(cái)務(wù)分析;風(fēng)險(xiǎn)管理。14、數(shù)據(jù)流圖( dfd ):以圖形的方式描述數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過程。只反映系統(tǒng)必須完成的邏輯功能,是一種功能模型。15、畫數(shù)據(jù)流圖應(yīng)注意的事項(xiàng):( 1)命名:不能使用缺乏具體含義的名字,加工名應(yīng)能反映出處理的功能。( 2)畫數(shù)據(jù)流而不是控制流,一般不畫物質(zhì)流。( 3)每個(gè)加工至少有一個(gè)輸入數(shù)據(jù)流和一個(gè)輸出數(shù)據(jù)流,反映出此加工數(shù)據(jù)的來源與加工的結(jié)果。( 4)編號(hào):子圖應(yīng)編號(hào)子圖上的所有加工也應(yīng)編號(hào),子圖的編號(hào)應(yīng)與父圖的編號(hào)相對(duì)應(yīng)。( 5)父圖與子圖的平衡:子圖的輸入輸出數(shù)
9、據(jù)流同父圖相應(yīng)加工的輸入輸出數(shù)據(jù)流必須一致。( 6)局部數(shù)據(jù)存儲(chǔ)。( 7)注意數(shù)據(jù)流圖的易理解性。16、數(shù)據(jù)字典:數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對(duì)數(shù)據(jù)流圖中包含的所有元素的定義的集合。內(nèi)容:數(shù)據(jù)流;數(shù)據(jù)流分量(即數(shù)據(jù)元素);數(shù)據(jù)存儲(chǔ);處理。17、需求分析的任務(wù)( 1)確定對(duì)系統(tǒng)的綜合要求( 2)分析系統(tǒng)的數(shù)據(jù)要求( 3)導(dǎo)出系統(tǒng)的邏輯模型( 4)修正系統(tǒng)開發(fā)計(jì)劃18、軟件設(shè)計(jì)的目標(biāo)和任務(wù):根據(jù)用信息域表示的軟件需求,以及功能和性能需求,進(jìn)行數(shù)據(jù)設(shè)計(jì)、系統(tǒng)結(jié)構(gòu)設(shè)計(jì)、過程設(shè)計(jì)、界面設(shè)計(jì)。19、什么是軟件概要設(shè)計(jì)?該階段的基本任務(wù)是什么?( 1)把一個(gè)軟件需求轉(zhuǎn)換為軟件表示時(shí),首先設(shè)計(jì)出軟件
10、總的體系結(jié)構(gòu)。稱為概要設(shè)計(jì)或結(jié)構(gòu)設(shè)計(jì)。( 2)基本任務(wù):設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu)進(jìn)行數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫的設(shè)計(jì)編寫概要設(shè)計(jì)的文檔評(píng)審。20、總體設(shè)計(jì)(概要設(shè)計(jì))原理:( 1)模塊化:把程序劃分成若干個(gè)模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集總起來組成一個(gè)整體, 可以完成指定的功能,滿足問題的功能。( 2)抽象:抽出事物的本質(zhì)特性而暫時(shí)不考慮它們的細(xì)節(jié)。( 3)逐步求精( 4)信息隱蔽和局部化( 5)模塊獨(dú)立:每個(gè)模塊完成一個(gè)相對(duì)獨(dú)立的子功能,并且和其他模塊之間的關(guān)系很簡單。21、模塊獨(dú)立程度的衡量標(biāo)準(zhǔn):耦合和內(nèi)聚( 1)耦合:也稱塊間聯(lián)系,模塊之間相互聯(lián)系程度的度量,聯(lián)系越緊密,耦合性越強(qiáng),獨(dú)立性越差,
11、以低耦合為設(shè)計(jì)目標(biāo)。內(nèi)容耦合、公共耦合、控制耦合、標(biāo)記耦合、數(shù)據(jù)耦合、無耦合。( 2)內(nèi)聚:又稱為塊內(nèi)聯(lián)系,指模塊內(nèi)部各成分之間相互關(guān)聯(lián)的程度,以高內(nèi)聚為設(shè)計(jì)目標(biāo)。偶然內(nèi)聚、邏輯內(nèi)聚、時(shí)間內(nèi)聚、過程內(nèi)聚、通信內(nèi)聚、順序內(nèi)聚、功能內(nèi)聚。22、概要設(shè)計(jì)的啟發(fā)式準(zhǔn)則:( 1)改進(jìn)軟件結(jié)構(gòu),提高模塊獨(dú)立性( 2)模塊規(guī)模應(yīng)該適中( 3)深度、寬度、扇出和扇入都應(yīng)適當(dāng)( 4)模塊的作用域應(yīng)該在控制域之內(nèi)( 5)力爭降低模塊借口的復(fù)雜程度( 6)設(shè)計(jì)單入口單出口的模塊( 7)模塊功能應(yīng)該可以預(yù)測(cè)23、面向數(shù)據(jù)流的設(shè)計(jì)方法:把信息流映射成軟件結(jié)構(gòu)。有兩種類型:( 1)交換流:根據(jù)基本系統(tǒng)模型,信息通常以“外
12、部世界”的形式進(jìn)入軟件系統(tǒng),經(jīng)過處理以后再以“外部世界”的形式離開系統(tǒng)。由輸入、輸出、變換(或稱處理)三部分組成,是一順序結(jié)構(gòu)。( 2)事務(wù)流:數(shù)據(jù)沿輸入通路到達(dá)一個(gè)處理t,這個(gè)處理根據(jù)輸入數(shù)據(jù)的類型在若干個(gè)動(dòng)作序列中選出一個(gè)來執(zhí)行,這類數(shù)據(jù)流稱為事務(wù)流。處理t 稱為事務(wù)中心。24、詳細(xì)設(shè)計(jì)的基本任務(wù):( 1)為每個(gè)模塊進(jìn)行詳細(xì)的算法設(shè)計(jì)( 2)為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì)( 3)對(duì)數(shù)據(jù)庫進(jìn)行物理設(shè)計(jì)( 4)其他設(shè)計(jì)( 5)編寫詳細(xì)設(shè)計(jì)說明書( 6)評(píng)審25、結(jié)構(gòu)程序設(shè)計(jì):( 1)如果一個(gè)程序的代碼塊僅僅通過順序、選擇和循環(huán)這3 種基本控制結(jié)構(gòu)進(jìn)行連接,并且每個(gè)代碼塊只有一個(gè)入口和一個(gè)出口,則稱
13、這個(gè)程序是結(jié)構(gòu)化的。( 2)結(jié)構(gòu)化程序設(shè)計(jì)的基本要點(diǎn):采用自頂向下、逐步求精的程序設(shè)計(jì)方法使用三種基本控制結(jié)構(gòu)構(gòu)造程序主程序員組的組織形式。26、選擇程序設(shè)計(jì)語言基本原則:( 1)系統(tǒng)用戶的要求( 2)可以使用的編譯語言( 3)可以得到的軟件工具( 4)工程規(guī)模( 5)程序員的知識(shí)( 6)軟件可移植性要求( 7)軟件的應(yīng)用領(lǐng)域27、為了編制出清晰、緊湊、高效的程序,一般應(yīng)依次考慮下列原則:( 1)編制易于修改和維護(hù)的代碼( 2)編制易于測(cè)試的代碼( 3)必須將編程和編文檔的工作統(tǒng)一起來( 4)編程中采用統(tǒng)一的標(biāo)準(zhǔn)和約定,降低程序復(fù)雜性( 5)限定每一層的副作用,減少耦合度( 6)盡可能地復(fù)用2
14、8、軟件測(cè)試的目標(biāo):( 1)測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程( 2)好的測(cè)試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試方案( 3)成功的測(cè)試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試29、軟件測(cè)試的準(zhǔn)則:( 1)所有測(cè)試都應(yīng)該能追溯到用戶需求( 2)應(yīng)該遠(yuǎn)在測(cè)試開始之前就制定出測(cè)試計(jì)劃( 3)把 pareto 原理應(yīng)用到軟件測(cè)試中( 4)應(yīng)該從“小規(guī)?!睖y(cè)試開始,并逐步進(jìn)行“大規(guī)?!睖y(cè)試( 5)窮舉測(cè)試是不可能的( 6)為了達(dá)到最佳的測(cè)試效果,應(yīng)該由獨(dú)立的第三方從事測(cè)試工作。30、測(cè)試的步驟:( 1)模塊測(cè)試:保證每個(gè)模塊作為一個(gè)單元能夠正確運(yùn)行,又稱為單元測(cè)試( 2)子系統(tǒng)測(cè)試:集成測(cè)
15、試、組裝測(cè)試、聯(lián)合測(cè)試;重點(diǎn)在于測(cè)試模塊之間的接口;( 3)系統(tǒng)測(cè)試:將經(jīng)過測(cè)試的子系統(tǒng)裝配成一個(gè)完整的系統(tǒng)來測(cè)試;發(fā)現(xiàn)設(shè)計(jì)和編碼的錯(cuò)誤,驗(yàn)證系統(tǒng)是否滿足需求說明所定義的功能及其動(dòng)態(tài)特性;也稱為集成測(cè)試。( 4)驗(yàn)收測(cè)試:有用戶參加的系統(tǒng)測(cè)試;驗(yàn)證是否滿足用戶的需要( 5)平行運(yùn)行:同時(shí)運(yùn)行新舊兩個(gè)系統(tǒng),并且對(duì)處理的結(jié)果進(jìn)行比較,以確定新系統(tǒng)是否滿足相關(guān)性能指標(biāo)。31、非漸增式和漸增式測(cè)試方法( 1)非漸增式測(cè)試方法:先分別測(cè)試每個(gè)模塊,再把所有模塊按設(shè)計(jì)要求放在一起結(jié)合成所要的程序,這種方法稱為非漸增式測(cè)試方法。( 2)漸增式測(cè)試方法:把下一個(gè)要測(cè)試的模塊同已經(jīng)測(cè)試好的那些模塊結(jié)合起來進(jìn)行測(cè)
16、試,測(cè)試完以后再把下一個(gè)應(yīng)該測(cè)試的模塊結(jié)合進(jìn)來測(cè)試。這種每次增加一個(gè)模塊的方法稱為漸增式測(cè)試。( 3)非漸增式和漸增式測(cè)試方法的優(yōu)缺點(diǎn)比較:非漸增式方法要對(duì)每個(gè)模塊編寫驅(qū)動(dòng)模塊和樁模塊,工作量較大;而漸增式方法可以利用部分已測(cè)試過的模塊作為測(cè)試軟件;非漸增式方法發(fā)現(xiàn)模塊間的接口錯(cuò)誤較晚,而漸增式方法則要早一些;非漸增式方法發(fā)現(xiàn)錯(cuò)誤后較難定位;而漸增式方法則要容易一些;非漸增式方法可以并行測(cè)試所有模塊,可充分利用人力,加快工程進(jìn)度;漸增式方法接近全真運(yùn)行環(huán)境,需要較多的測(cè)試運(yùn)行時(shí)間,但對(duì)程序模塊的測(cè)試較為徹底。32、什么是白盒測(cè)試法?有哪些覆蓋標(biāo)準(zhǔn)?試對(duì)他們的檢錯(cuò)能力進(jìn)行比較?( 1)白盒法測(cè)試
17、法把測(cè)試對(duì)象看作一個(gè)打開的盒子,測(cè)試人員須了解程序內(nèi)部結(jié)構(gòu)和處理過程,以檢查處理過程的細(xì)節(jié)為基礎(chǔ),對(duì)程序中盡可能多的邏輯路徑進(jìn)行測(cè)試,檢驗(yàn)內(nèi)部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯(cuò), 實(shí)際的運(yùn)行狀態(tài)與預(yù)期的狀態(tài)是否一致。( 2)白盒法的覆蓋標(biāo)準(zhǔn):語句覆蓋;判定覆蓋;條件覆蓋;判定/條件覆蓋;條件組合覆蓋;路徑覆蓋( 3)從上到下的覆蓋標(biāo)準(zhǔn)其檢錯(cuò)能力也從弱到強(qiáng),其中條件組合發(fā)現(xiàn)錯(cuò)誤的能力較強(qiáng),凡滿足其標(biāo)準(zhǔn)的測(cè)試用例,也必然滿足前四種覆蓋標(biāo)準(zhǔn)。在實(shí)際的邏輯測(cè)試中,一般以條件組合覆蓋為主設(shè)計(jì)測(cè)試用例,然后再補(bǔ)充部分用例來達(dá)到路徑覆蓋的測(cè)試標(biāo)準(zhǔn)。33、什么是黑盒測(cè)試法?采用黑盒技術(shù)測(cè)試用例有哪幾種方法?這些方法各
18、有什么特點(diǎn)?( 1)黑盒測(cè)試法:把被測(cè)試對(duì)象看成是一相黑盒子,測(cè)試人員完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程,只在軟件接口處進(jìn)行測(cè)試,依據(jù)需求規(guī)格說明書,檢查程序是否滿足功能要求。( 2)采用黑盒技術(shù)測(cè)試用例的方法有:等價(jià)類的劃分、邊界值分析、錯(cuò)誤推測(cè)和因果圖。等價(jià)類的劃分,是將輸入數(shù)據(jù)按有效的或無效的(也稱合理的或不合理的)劃分成若干個(gè)等價(jià)類,測(cè)試每個(gè)等價(jià)類的代表值就等于對(duì)該類其他值的測(cè)試。這樣就把漫無邊跡的隨機(jī)測(cè)試改為有針對(duì)性的等價(jià)類測(cè)試,用少量有代表性的例子代替大量測(cè)試目的相同的例子,能有效地提高測(cè)試效率。但這個(gè)方法的缺點(diǎn)是沒有注意選擇某些高效的、能夠發(fā)現(xiàn)更多錯(cuò)誤的測(cè)試用例。邊界值分析法一般
19、與等價(jià)類劃分結(jié)合起來。但它不是從一個(gè)等價(jià)類中任選一個(gè)例子做代表,而是將測(cè)試邊界情況作為重點(diǎn)目標(biāo),選取正好等于、剛剛大于和剛剛小于邊界值的測(cè)試數(shù)據(jù)。(邊界情況是指輸入等價(jià)類和輸入等價(jià)類邊界上的情況。)這種方法可以查出更多的錯(cuò)誤,因?yàn)樵诔绦蛑型谔幚磉吔缜闆r時(shí)易發(fā)生錯(cuò)誤。錯(cuò)誤推測(cè)法是在測(cè)試程序時(shí),人們根據(jù)經(jīng)驗(yàn)或直覺推測(cè)程序中可能存在的錯(cuò)誤,從而有針對(duì)性地編寫檢查這些錯(cuò)誤的測(cè)試用例。因果圖能夠有效地檢測(cè)輸入條件的各種組合可能會(huì)引起的錯(cuò)誤。它的基本原理是通過畫因果圖,把用自然語言描述的功能說明轉(zhuǎn)換為判定表,最后為判定表的每一列設(shè)計(jì)一個(gè)測(cè)試用例。34、軟件維護(hù):就是在軟件已經(jīng)交付使用之后,為了改正錯(cuò)誤
20、或滿足新的需要而修改軟件的過程。軟件維護(hù)工作分為以下四類:( 1)矯正性維護(hù):目標(biāo)是識(shí)別和矯正功能錯(cuò)誤、性能錯(cuò)誤和實(shí)現(xiàn)錯(cuò)誤。( 2)適應(yīng)性維護(hù):使軟件適應(yīng)于外界環(huán)境的改變而對(duì)軟件所做的修改工作。( 3)完善性維護(hù):為了擴(kuò)充軟件的功能或改善軟件的性能對(duì)軟件所做的改變。( 4)預(yù)防性維護(hù):為了以后更便于維護(hù),或者為了改進(jìn)可靠性,或者提供更好的基礎(chǔ)便于將來提高性能而修改軟件。35、決定軟件可維護(hù)性的因素:可理解性;可測(cè)試性;可修改性;可移植性;可重用性。36、提高可維護(hù)性的方法( 1)建立明確的軟件質(zhì)量目標(biāo)和優(yōu)先級(jí)( 2)使用提高軟件質(zhì)量的技術(shù)和工具( 3)進(jìn)行明確的質(zhì)量保證審查( 4)選擇可維護(hù)的
21、程序設(shè)計(jì)語言( 5)改進(jìn)程序的文檔37、軟件維護(hù)的副作用有哪些?( 1)編碼副作用。在使用程序設(shè)計(jì)語言修改源代碼時(shí)可能引入的錯(cuò)誤。( 2)數(shù)據(jù)副作用。在修改數(shù)據(jù)結(jié)構(gòu)時(shí),有可能造成軟件設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)不匹配,因而導(dǎo)致軟件錯(cuò)誤。數(shù)據(jù)副作用是修改軟件信息結(jié)構(gòu)導(dǎo)致的結(jié)果。但它可以通過詳細(xì)的設(shè)計(jì)文檔加以控制。( 3)文檔副作用。如果對(duì)可執(zhí)行軟件的修改沒有反映在文檔中,就會(huì)產(chǎn)生文檔副作用。(以上根據(jù)老師課件和軟件工程概論整理)38、某廠對(duì)部分職工重新分配工作的政策是:年齡在20 歲以下者,初中文化程度脫產(chǎn)學(xué)習(xí),高中文化程度當(dāng)電工。 20 歲至 40 歲之間,中學(xué)文化程度,男性當(dāng)鉗工,女性當(dāng)車工,大學(xué)文化程度
22、都當(dāng)技術(shù)員。年齡在40 歲以上者,中學(xué)文化程度當(dāng)材料員,大學(xué)文化程度當(dāng)技術(shù)員。請(qǐng)用結(jié)構(gòu)化語言判定表或判定樹描述上述問題的加工邏輯。( 1)判定樹( 2)判定表( 3)結(jié)構(gòu)化語言: case年齡 <20case文化程度初中分配工種脫產(chǎn)學(xué)習(xí)case文化程度高中分配工種電工endcasecase年齡 <=40.and.>=20case文化程度初中 .or.高中case性 別 男分配工種鉗工case性 別 女分配工種車工endcaseendcasecase文化程度大學(xué)分配工種技術(shù)員endcase endcase case年齡 >40case文化程度初中 .or. 高中分配工種材料員case文化程度大學(xué)分配工種技術(shù)員endcase endcase39、請(qǐng)使用流程圖、pad 圖和 pdl 語言描述下列程序的算法。( 1)在數(shù)據(jù)a(1) a(10) 中求最大數(shù)和次大數(shù)。解:如圖所示:pdl 語言描述:get(a1,a2,.a10)max=a1; max2=a2; for i=2 to 10if ai>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度時(shí)尚消費(fèi)品代理進(jìn)口及市場(chǎng)布局合同
- 二零二五年度退休科研人員合作研發(fā)聘用合同
- 二零二五學(xué)年度學(xué)生校車安全乘車環(huán)境改善與優(yōu)化協(xié)議
- 股權(quán)代持協(xié)議書標(biāo)準(zhǔn)模板:2025年度股權(quán)置換與重組范本
- 二零二五年度校園安全責(zé)任與學(xué)生家長參與合同
- 二零二五年度購物中心日常保潔與應(yīng)急處理合同
- 三字經(jīng)中道理的故事解讀
- 旅游目的地營銷與品牌形象塑造研究
- 綠化零工勞務(wù)合同
- 產(chǎn)品供應(yīng)和分銷合同
- 中小學(xué)領(lǐng)導(dǎo)班子包級(jí)包組包班制度
- 汽車掛靠經(jīng)營合同協(xié)議書模板
- 基坑土方開挖專項(xiàng)施工方案(完整版)
- 數(shù)據(jù)中心運(yùn)維服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 2025年中煤集團(tuán)新疆能源有限公司招聘筆試參考題庫含答案解析
- 2024-2025學(xué)年山東省濰坊市高一上冊(cè)1月期末考試數(shù)學(xué)檢測(cè)試題(附解析)
- 電玩城培訓(xùn)課件
- 2025年全年日歷-含農(nóng)歷、國家法定假日-帶周數(shù)豎版
- 小學(xué)生播音員課件
- 2024年重大事項(xiàng)內(nèi)部會(huì)審制度(3篇)
- 飛機(jī)乘務(wù)人員培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論