軟件工程考點(diǎn)總結(jié)南京郵電大學(xué)_第1頁
軟件工程考點(diǎn)總結(jié)南京郵電大學(xué)_第2頁
軟件工程考點(diǎn)總結(jié)南京郵電大學(xué)_第3頁
軟件工程考點(diǎn)總結(jié)南京郵電大學(xué)_第4頁
軟件工程考點(diǎn)總結(jié)南京郵電大學(xué)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、1. 結(jié)構(gòu)化程序設(shè)計是一種典型的面向數(shù)據(jù)流的軟件總體設(shè)計方法。它采用自頂向下,逐步求精的設(shè)計方法和單入口單出口的控制結(jié)構(gòu),并且只包含順序選擇和重復(fù)三種結(jié)構(gòu)。2. 模塊在程序設(shè)計中是數(shù)據(jù)說明,可執(zhí)行語句等程序?qū)ο蟮募?,或者是單?dú)的命名和編址的元素,在軟件的體系結(jié)構(gòu)中,模塊是可組合,分解和更換的單元。構(gòu)件就是可重復(fù)使用的軟件組件。3. 軟件結(jié)構(gòu)圖是軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個系統(tǒng)的功能實(shí)現(xiàn)4. 單元測試是只對源程序中每一個程序單元進(jìn)行測試,檢查各個模塊是否正確實(shí)現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯誤。5. 多態(tài)性是指相同的操作或函數(shù)、過程可作用到多種類型的對象上并獲得不同的結(jié)果,

2、不同的對象,收到同一消息可產(chǎn)生不同的結(jié)果,這種現(xiàn)象稱為多態(tài)性。6. 1.軟件生存周期是指一個軟件從立項(xiàng)開始,經(jīng)過制造,測試,使用和維護(hù)直到軟件廢止的整個時期。其方法是從時間角度對軟件開發(fā)和維護(hù)的整個復(fù)雜的過程進(jìn)行分解,一次劃分為若干個階段,每個階段都有明確并且相對獨(dú)立的任務(wù)和完成標(biāo)志,一個階段的任務(wù)完成后,再進(jìn)入下個階段。7. 這種按照軟件生存周期劃分階段的方法,便于開發(fā)中大規(guī)模軟件時不同人員的分工合作,降低了整個軟件的開發(fā)難度并使軟件開發(fā)過程有條不紊的進(jìn)行。提高了軟件的可靠性和可維護(hù)性,從而提高軟件的生產(chǎn)效率。8. 分為可行性研究與計劃,需求分析,概要設(shè)計,詳細(xì)設(shè)計,實(shí)現(xiàn),綜合測試,確認(rèn)測試

3、,使用與維護(hù)。9. 2. 軟件設(shè)計的基本原理包括:10. (1)模塊化:指解決問題時自頂向下的方法逐層把軟件系統(tǒng)劃分成若干個模塊的過程。11. (2)抽象:是認(rèn)識復(fù)雜現(xiàn)象過程中使用的思維工具,及抽出事物本質(zhì)的共同的特性而暫不慮它的細(xì)節(jié)和其他因素。12. (3)信息隱蔽:指在設(shè)計和確定模塊的時候,使得一個模塊內(nèi)包含的信息,對于不需要這些信息的其他模塊來說不可訪問。13. (4)模塊獨(dú)立性:指每個模塊只完成系統(tǒng)要求的獨(dú)立的功能,并且與其他模塊聯(lián)系最少且接口簡單。14. 3. 軟件測試與軟件調(diào)試在目的、技術(shù)和方法等方面存在很大的區(qū)別,主要表現(xiàn)在:15. (1)測試從一個側(cè)面證明程序員的失敗,而調(diào)試是

4、為了證明程序員的正確。16. (2)測試從已知條件開始,使用預(yù)先定義的程序,且有預(yù)知的結(jié)果,不可預(yù)見的只是程序是否通過測試。調(diào)試一般以不可知的內(nèi)部條件開始,除統(tǒng)計性調(diào)試外,結(jié)果是不可預(yù)見的。17. (3)測試是有計劃的,并要進(jìn)行測試設(shè)計,而調(diào)試是不受時間約束的。18. (4)測試是一個發(fā)現(xiàn)錯誤、改正錯誤、重新測試的過程,而調(diào)試是一個推理過程。19. (5)測試的執(zhí)行是有規(guī)程的,而調(diào)試的執(zhí)行往往要求程序員進(jìn)行必要的推理以至知覺的飛躍。20. (6)測試經(jīng)常由獨(dú)立的測試組在不了解軟件設(shè)計的前提下完成,而調(diào)試必須由了解詳細(xì)設(shè)計的程序員完成。21. (7)大多數(shù)測試的執(zhí)行和設(shè)計可由工具支持,而調(diào)試時,

5、程序員能利用的工具主要是調(diào)試器。22. 4(1)模塊化(2)抽象(3)信息隱藏(4)弱耦合(5)強(qiáng)內(nèi)聚(6)可重用23. 5軟件發(fā)展第二階段的末期,由于計算機(jī)硬件技術(shù)的進(jìn)步,計算機(jī)運(yùn)行速度、容量、可靠性有顯著的提高,生產(chǎn)成本顯著下降,這為計算機(jī)的廣泛應(yīng)用創(chuàng)造了條件。一些復(fù)雜的、大型的軟件開發(fā)項(xiàng)目提出來了,但是,軟件開發(fā)技術(shù)的進(jìn)步一直未能滿足發(fā)展的需要。在軟件開發(fā)中遇到的問題找不到解決辦法,使問題積累起來,形成了尖銳的矛盾,因而導(dǎo)致了軟件危機(jī)。24. 軟件危機(jī)表現(xiàn)在以下四個方面:25. (1)經(jīng)費(fèi)預(yù)算經(jīng)常突破,完成時間一再拖延。26. (2)開發(fā)的軟件不能滿足用戶要求。27. (3)開發(fā)的軟件可

6、維護(hù)性差。28. (4)開發(fā)的軟件可靠性差。29. 造成軟件危機(jī)的原因是:30. (1)軟件的規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜。31. (2)軟件開發(fā)管理困難而復(fù)雜。32. (3)軟件開發(fā)費(fèi)用不斷增加。33. (4)軟件開發(fā)技術(shù)落后。34. (5)生產(chǎn)方式落后。35. (6)開發(fā)工具落后,生產(chǎn)率提高緩慢。36. 狀態(tài)圖是有限自動機(jī)的圖形表示,它反映了狀態(tài)與時間的關(guān)系37. 增量模型是在項(xiàng)目開發(fā)周期內(nèi),以一定的時間間隔開發(fā)部分工作軟件38. 調(diào)試指確定錯誤的原因和位置,并改正錯誤的過程,也稱糾錯39. 流程圖有稱程序框圖,是一種描述程序邏輯結(jié)構(gòu)的工具1. 增量模型和原型模型都是從概要的需求出發(fā)進(jìn)行開

7、發(fā)的,但兩者有明顯的不同,增量模型是從一些不完整的系統(tǒng)需求出發(fā)開始開發(fā),在開發(fā)過程中逐漸發(fā)現(xiàn)新的需求規(guī)格說明,并進(jìn)一步充實(shí)完善該系統(tǒng),使之成為實(shí)際可用的系統(tǒng),相反原型開發(fā)的目的是為了發(fā)現(xiàn)并建立一個完整的經(jīng)過正式的需求規(guī)格說明,是為了降低整個軟件生成期的費(fèi)用而拉大需求分析階段的一 種方法,因此,大部分原型是“用完就扔”的類型2. 首先需要進(jìn)行概要的分析研究,初步確定項(xiàng)目的規(guī)模,目標(biāo),約束和限制。分析員再進(jìn)行簡要的需求分析,抽象出項(xiàng)目的邏輯結(jié)構(gòu),建立邏輯模型。從邏輯模型出發(fā),經(jīng)過壓縮設(shè)計,探索出若干種可供選擇的解決方法,對每種解決方法都要研究它們的可行性,主要從3個方面考慮:1) 技術(shù)可行性:一般

8、要考慮的情況包括開發(fā)的風(fēng)險,即設(shè)計出的系統(tǒng)能否達(dá)到要求的功能和性能,資源的有效性,相關(guān)技術(shù)的發(fā)展是否支持2) 經(jīng)濟(jì)可行性:進(jìn)行開發(fā)成本的估算以及了解取得效益的評估,確定要 開發(fā)的項(xiàng)目是否值得投資3) 社會可行性:要開發(fā)的項(xiàng)目是否存在任何侵權(quán)問題,運(yùn)行方式在用戶組織內(nèi)是否可行,現(xiàn)有管理制度,人員素質(zhì),操作方式是否可行數(shù)據(jù)字典是用來定義數(shù)據(jù)流圖中的各個成分的具體含義的。它以一種準(zhǔn)確的、無二義性的說明方式為系統(tǒng)的分析、設(shè)計及維護(hù)提供了有關(guān)元素的一致的定義和詳細(xì)的描述。19、內(nèi)聚性是模塊獨(dú)立性的衡量標(biāo)準(zhǔn)之一,它是指模塊的功能強(qiáng)度的度量,即一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度的度量。20、(1)黑盒測

9、試指把測試對象看成是一個黑盒子,測試人員完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程,只在軟件的接口處進(jìn)行測試,依據(jù)需求規(guī)格說明書,檢查程序是否滿足功能要求,又稱功能測試或數(shù)據(jù)驅(qū)動測試。 (2)白盒測試指把測試對象看成一個打開的盒子,測試人員需了解程序內(nèi)部結(jié)構(gòu)和處理過程,以檢查處理過程的細(xì)節(jié)為基礎(chǔ),對程序中盡可能多的邏輯路徑進(jìn)行測試,檢驗(yàn)內(nèi)部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯,實(shí)際的運(yùn)行狀態(tài)與預(yù)期的狀態(tài)是否一致。 (3)白盒測試適應(yīng)的測試有單元測試、邏輯覆蓋、(按邏輯覆蓋程度不同,有語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋)、循環(huán)覆蓋(限制循環(huán)次數(shù),有單循環(huán)和嵌套循環(huán))和基本路徑測試

10、。 (4)黑盒測試適應(yīng)的測試有確認(rèn)測試、等價類劃分、邊界值分析、錯誤推測和因果圖。21、(1)為軟件系統(tǒng)提供明確的用戶需求說明。 (2)通過原型這種實(shí)現(xiàn)工具證實(shí)設(shè)計的可行性。 (3)應(yīng)付開發(fā)過程中的問題和錯誤。 (4)協(xié)調(diào)用戶與開發(fā)者。 開發(fā)期間,原型可作為終端用戶的教學(xué)環(huán)境。判斷設(shè)計方案的優(yōu)劣可利用衡量模塊的獨(dú)立性的兩個標(biāo)準(zhǔn):耦合和內(nèi)聚性(模塊劃分時應(yīng)盡量做到高內(nèi)聚、低耦合,提高模塊獨(dú)立性)。軟件能力成熟度模型(Capability Maturity Model For Software,簡稱CMM),是用于評價軟件承包商能力并幫助改善軟件質(zhì)量的方法,其目的是幫助軟件企業(yè)對軟件工程過程進(jìn)行管

11、理和改進(jìn),增強(qiáng)開發(fā)與改進(jìn)能力,從而能按時地、不超預(yù)算地開發(fā)出高質(zhì)量的軟件。2.耦合性也稱塊間關(guān)系,指軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互聯(lián)系緊密程度的一種度量。四簡答題1.軟件概要設(shè)計又稱結(jié)構(gòu)設(shè)計,這是一個把軟件需求轉(zhuǎn)換為軟件表示(只是描述軟件的總的體系結(jié)構(gòu))的過程。該階段的基本任務(wù)是:(1)設(shè)計軟件系統(tǒng)結(jié)構(gòu):采用某種設(shè)計方法,將一個復(fù)雜的系統(tǒng)按功能劃分成模塊。確定每個模塊的功能。確定模塊之間的調(diào)用關(guān)系。確定模塊之間的接口,即模塊之間傳遞的信息。評價模塊結(jié)構(gòu)的質(zhì)量。(2)數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫設(shè)計:在概要設(shè)計階段,數(shù)據(jù)結(jié)構(gòu)設(shè)計用于抽象的數(shù)據(jù)類型,數(shù)據(jù)庫設(shè)計應(yīng)用數(shù)據(jù)庫的邏輯設(shè)計。(3)編寫概要設(shè)計文檔:包括概要

12、設(shè)計說明書、數(shù)據(jù)庫設(shè)計說明書、用戶手冊、修訂測試計劃。(4)評審:對設(shè)計部分是否完整地實(shí)現(xiàn)了需求中規(guī)定的功能、性能等要求,設(shè)計方案的可行性,關(guān)鍵的處理及內(nèi)部接口定義正確性、有效性、各部分之間的一致性等一一進(jìn)行評審。2. (1)使用標(biāo)準(zhǔn)的控制結(jié)構(gòu);(2)有限制地使用GOTO語句;(3)實(shí)現(xiàn)源程序的文檔化;(4)滿足運(yùn)行工程學(xué)的輸入輸出風(fēng)格。3. 需求分析階段要解決的問題,是讓用戶和開發(fā)者共同明確將要開發(fā)的是一個什么樣的系統(tǒng),具體而言,需求分析主要有兩個任務(wù):第一是通過對問題及其環(huán)境的理解、分析和綜合,建立分析模型; 第二是準(zhǔn)確地定義未來系統(tǒng)的目標(biāo),確定為了滿足用戶的需求系統(tǒng)必須做什么。用 “需求

13、規(guī)格說明書”規(guī)范的形式準(zhǔn)確地表達(dá)用戶的需求。4. (1)可理解性;(2)可測試性;(3)可修改性;(4)可移植性;(4)可重用性5. 復(fù)雜問題(大型系統(tǒng))的對象模型通常由以下5個層次組成:主題層、類與對象層、結(jié)構(gòu)層、屬性層、服務(wù)層。面向?qū)ο蠓治龃篌w上按照下列順序進(jìn)行:尋找類與對象,識別結(jié)構(gòu),識別主題,定義屬性,建立動態(tài)模型,建立功能模型,定義服務(wù)。6繼承的成員函數(shù)需要測試; 子類的測試用例可以參照父類; 類測試用例設(shè)計:要進(jìn)行基于故障的測試用例設(shè)計和基于用例的測試用例設(shè)計。類間測試用例設(shè)計:要借助類關(guān)系模型和類行為模型進(jìn)行測試。信息隱蔽:信息隱蔽是指所有的軟件部件內(nèi)部都有明確的范圍以及清楚的外

14、部邊界。每個軟件部件內(nèi)部都有友好的界面接口,軟件部件的內(nèi)部實(shí)現(xiàn)與外部可訪問性的分離。2 軟件原型:軟件原型是軟件的一個早期可運(yùn)行的版本,反映了最終系統(tǒng)的重要特征。1 在項(xiàng)目開發(fā)周期內(nèi),以一定的時間間隔開發(fā)部分工作軟件。2數(shù)據(jù)流是數(shù)據(jù)流圖邊界上的圖的輸入/輸出流用來對對象的輸出與處理,處理與對象的輸入處理聯(lián)系起來,在一個計算中用數(shù)據(jù)流來表示中間數(shù)據(jù)值,這些數(shù)據(jù)流可以與對象相關(guān),也可以不相關(guān)。3軟件質(zhì)量保證就是向用戶及社會提供滿意的高質(zhì)量產(chǎn)品,確保軟件產(chǎn)品從誕生到消亡為止的所有階段的質(zhì)量的活動。4文檔是指某種數(shù)據(jù)媒體和其中所記錄的數(shù)據(jù),在軟件工程中文檔用來表示對需求,工程或結(jié)果進(jìn)行描述定義規(guī)定報告

15、或認(rèn)可的任何書面或圖示信息。它們描述和規(guī)定了軟件設(shè)計和實(shí)現(xiàn)的細(xì)節(jié)說明使用軟件操作命令。四、簡答題:1、黑盒測試指把測試對象看成一個黑盒子,測試人員完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程只在軟件的接口處進(jìn)行測試,依據(jù)需求規(guī)格說明書,被查程序是否滿足功能要求又稱功能測試,或數(shù)據(jù)驅(qū)動測試白盒測試只把測試對象看成一個打開的盒子,測試人員需了解程序的內(nèi)部結(jié)構(gòu)和處理過程,以檢查處理過程的細(xì)節(jié)為基礎(chǔ)對程序中盡可能多的邏輯路徑進(jìn)行測試,檢驗(yàn)內(nèi)部控制結(jié)構(gòu),和數(shù)據(jù)結(jié)構(gòu)是否有錯實(shí)際的運(yùn)行狀態(tài)與預(yù)期的狀態(tài)是否一致白盒測試適應(yīng)的測試有單元測試邏輯覆蓋,(按邏輯覆蓋程度不同,有語句覆蓋,判定覆蓋,條件覆蓋,判定/條件覆蓋 條件組合覆蓋和路徑覆蓋)循環(huán)覆蓋和基本路徑測試。黑盒測試適應(yīng)的測試有確認(rèn)測試,等價類劃分,邊界值分析,錯誤推測和因果圖。2、為了提高源程序的可維護(hù)性,源程序也需要實(shí)現(xiàn)文檔化(code documentation)。源程序的文檔化包括以下3個方面的內(nèi)容:(1)有意義的變量名稱;(2)適當(dāng)?shù)淖⑨專?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論