




已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
軟件工程復(fù)習(xí)題(簡答題)五、簡述題:1,軟件產(chǎn)品具有與硬件產(chǎn)品完全不同的特征是:答:(1)軟件是一種邏輯實(shí)體,具有抽象性,我們可以把它們存儲在介質(zhì)上,但卻不能直接看到軟件的形態(tài),因而必須通過運(yùn)行,觀察、分析、思考、判斷才能了解軟件的功能、性能及其他特性。軟件產(chǎn)品具有明顯的非可視性。(2)軟件的生產(chǎn)和硬件生產(chǎn)不同。軟件是由開發(fā)或工程化而形成的,不是傳統(tǒng)意義上的制造過程生產(chǎn)的。硬件在生產(chǎn)過程當(dāng)中仍然可能引入質(zhì)量問題,這種問題在軟件生產(chǎn)中幾乎是不存在的。軟件的開發(fā)成本集中在開發(fā)過程上,硬件生產(chǎn)成本主要表現(xiàn)在原材料的消耗上。(3)軟件產(chǎn)品不會磨損。軟件產(chǎn)品也會出現(xiàn)故障,所不同的是硬件產(chǎn)品的故障主要來自于外界條件造成的部件磨損或老化,軟件故障都是由于設(shè)計(jì)開發(fā)過程中的隱患造成的,硬件故障通過更換零件來解決故障,軟件則是通過軟件維護(hù)修改來排除故障。2、軟件危機(jī)的具體表現(xiàn)是:答:(1)軟件開發(fā)沒有真正的計(jì)劃性,對軟件開發(fā)進(jìn)度和軟件開發(fā)成本的估計(jì)不準(zhǔn)確,計(jì)劃制定盲目、工期超時、成本失控。(2)對軟件需求信息獲取不充分,產(chǎn)品不能滿足用戶的實(shí)際需求。(3)缺乏良好的軟件質(zhì)量評測手段,導(dǎo)致軟件質(zhì)量不能保證。(4)對可理解性、可維護(hù)性理解不夠,產(chǎn)品可復(fù)用性和可維護(hù)性不如人意。(5)軟件開發(fā)過程沒有實(shí)現(xiàn)規(guī)范化,缺乏必要的文檔資料或這文檔資料不合格、不準(zhǔn)確、難以進(jìn)行專業(yè)維護(hù)。(6)軟件開發(fā)的人力成本持續(xù)上升。(7)缺乏自動化軟件開發(fā)技術(shù),軟件開發(fā)生產(chǎn)率低下,不能滿足急劇增長的需求。3、產(chǎn)生軟件危機(jī)的原因:答:從客觀上來看,軟件生產(chǎn)不同于硬件,它的生產(chǎn)過程和產(chǎn)品都具有明顯的“不可視”特征,這就導(dǎo)致在完成編碼并且運(yùn)行之前,對軟件開發(fā)過程的進(jìn)展情況較難衡量,軟件產(chǎn)品的質(zhì)量也難進(jìn)行先期評價,因此對軟件開發(fā)過程進(jìn)行管理和控制比較困難。軟件運(yùn)行過程中發(fā)現(xiàn)錯誤,必然是遇到了在開發(fā)時期引入的,在檢測過程中沒有檢查出來的故障。對這些故障的修改,就有可能修改早期的分析結(jié)果和設(shè)計(jì)結(jié)果,并調(diào)整編碼。由于軟件的不可視性,在客觀上造成了軟件難以維護(hù)的結(jié)果。從主觀上來看,忽視軟件需求分析的重要性,忽視軟件的可理解性,文檔不完備,輕視軟件的可維護(hù)性,過分強(qiáng)調(diào)編碼技巧等。4、簡述軟件“生命周期”三個階段的主要工作:答:軟件定義階段,主要進(jìn)行軟件項(xiàng)目策劃、可行性研究和軟件需求分析工作,通過和用戶交流,了解軟件必須完成什么工作,和用戶達(dá)成共識。軟件開發(fā)階段,主要對軟件的體系架構(gòu)、數(shù)據(jù)結(jié)構(gòu)和主要算法進(jìn)行設(shè)計(jì)和編碼實(shí)現(xiàn)。對于編碼結(jié)果進(jìn)行規(guī)范化測試之后,才能交付使用。軟件運(yùn)行與維護(hù)階段,分析和設(shè)計(jì)階段遺留的問題和缺陷可能會逐步暴露出來,運(yùn)行環(huán)境的變化也會對軟件提出變更的要求,用戶新的需求的提出常常要求擴(kuò)充現(xiàn)有的軟件功能和改進(jìn)性能。5,解決軟件危機(jī)的途徑有:答:(1)從管理層面上考慮,應(yīng)注意推廣和使用在實(shí)踐中總結(jié)出來的開發(fā)軟件的成功的技術(shù)和方法,并且探索更好的、更有效的技術(shù)和方法,注意積累軟件開發(fā)過程中的經(jīng)驗(yàn)數(shù)據(jù),逐步消除早期形成的錯誤的概念和做法。建立適合于本組織的軟件工程規(guī)范;指定軟件開發(fā)各個環(huán)節(jié)流程文件、工作指南和階段工作產(chǎn)品模板;實(shí)施針對軟件開發(fā)全過程的計(jì)劃跟蹤和質(zhì)量管理活動;為每一項(xiàng)工程開發(fā)活動建立配置管理庫;實(shí)施嚴(yán)格的產(chǎn)品基線管理斌建立組織的軟件過程數(shù)據(jù)庫和軟件財富庫;為各類員工及時提供必要的培訓(xùn)等。(2)從技術(shù)層上考慮,應(yīng)該開發(fā)和使用更好的軟件開發(fā)工具,提高軟件開發(fā)效率和開發(fā)工作過程的規(guī)范化程度。在計(jì)算機(jī)軟件開發(fā)的各個階段,都有大量的繁瑣重復(fù)的工作要做,應(yīng)該有適當(dāng)?shù)墓ぞ邘椭瓿伞?、軟件工程的七項(xiàng)基本原則:答:(1)用分階段的生命周期計(jì)劃嚴(yán)格管理軟件工程過程。(2)堅(jiān)持在軟件工程過程中進(jìn)行階段性評審。(3)實(shí)行嚴(yán)格的產(chǎn)品控制。(4)采用現(xiàn)代化的開發(fā)技術(shù)進(jìn)行軟件的設(shè)計(jì)與開發(fā)。(5)工作結(jié)果應(yīng)該是能夠清楚地審查的。(6)開發(fā)小組的人員應(yīng)該“少而精”。(7)承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性。7、一個良好的軟件工程過程應(yīng)當(dāng)具備的特點(diǎn):答:(1)易理解性。(2)可見性。(3)可支持性。(4)可接受性。(5)可靠性。(6)健壯性。(7)可維護(hù)性。(8)高效率。8,軟件工程過程所包含的基本的過程活動:答:(1)軟件規(guī)格說明:規(guī)定軟件的功能、性能及運(yùn)行限制。(2)軟件開發(fā):產(chǎn)生滿足規(guī)格說明的軟件,包括設(shè)計(jì)與編碼等工作。(3)軟件確認(rèn):確認(rèn)軟件能夠滿足客戶提出的要求,對應(yīng)于軟件測試。(4)軟件演進(jìn):為滿足客戶的變更要求,軟件必須在使用的過程中演進(jìn),以求盡量延長軟件的生存周期。9,一個良好軟件工程過程的特點(diǎn):答:(1)易理解性:在軟件工程過程的每一個環(huán)節(jié)上使得設(shè)計(jì)人員、開發(fā)人員、用戶能夠充分理解其含義和目的。(2)可見性:每個過程都以得到明確的結(jié)果而告終,保證過程的進(jìn)展對外可見。(3)可支持性:容易得到CASE的支持。(4)可接受性:比較容易被軟件工程師接受和使用。(5)可靠性:不會出現(xiàn)過程錯誤,或者出現(xiàn)的過程錯誤能夠在產(chǎn)品出錯之前被發(fā)現(xiàn)。(6)健壯性:不受意外發(fā)生問題的干擾。(7)可維護(hù)性:過程可以根據(jù)開發(fā)組織的需求的改變而改進(jìn)。(8)高效率:從給出軟件規(guī)格說明開始,能夠較快地完成開發(fā)而交付使用。10、線性順序模型的優(yōu)缺點(diǎn):答:它提供了一個模板,使得分析、設(shè)計(jì)、編碼、測試與維護(hù)工作可以在該模板的指導(dǎo)下有序展開,避免了軟件開發(fā)、維護(hù)過程中的隨意性。采用這種模型曾成功地進(jìn)行過許多大型軟件工程的開發(fā)。直到目前,對于需求確定、變更較少的項(xiàng)目,線性順序模型仍然是一種可以考慮采取的過程模型。11、使用原型法必須具備的兩個前提:答:(1)用戶必須積極參與原型的建造,同時開發(fā)者和用戶必須有共識:建造原型僅是為了定義需求,之后就必須全部拋棄,實(shí)際的軟件必須考慮到軟件的質(zhì)量和可維護(hù)性之后才能開發(fā)。(2)必須有快速開發(fā)工具可供使用。12、軟件成分重用的意義:答:(1)需求分析在軟件工程中的地位舉足輕重。一個完善的需求分析將指導(dǎo)我們走向成功之路,反之,錯誤的分析必將導(dǎo)致項(xiàng)目的徹底失敗。在大部或局部雷同的項(xiàng)目中重復(fù)地使用已經(jīng)被前驅(qū)項(xiàng)目證明是正確的部分分析結(jié)果,是提高分析工作效率、保證分析成功的一種有效的方法。(2)設(shè)計(jì)結(jié)果重用在開發(fā)類同項(xiàng)目的軟件,尤其是在軟件移植過程中能夠極大地減少工作量,提高工作效率。(3)代碼重用是最直接的重用,包括基于“宏”的重用,基于函數(shù)庫的重用和基于繼承的重用。13、采用框架技術(shù)進(jìn)行軟件開發(fā)的主要特點(diǎn):答:(1)領(lǐng)域內(nèi)的軟件結(jié)構(gòu)一致性好;(2)建立了更加開放的系統(tǒng);(3)重用代碼大大增加,軟件生產(chǎn)效率和質(zhì)量得到了提高;(4)軟件設(shè)計(jì)人員要專注于對該領(lǐng)域的了解,使需求更充分;(5)存儲了經(jīng)驗(yàn),可以讓經(jīng)驗(yàn)豐富的人員去設(shè)計(jì)框架和領(lǐng)域構(gòu)件,而不是設(shè)計(jì)低級編程;(6)允許采用快速原型技術(shù);(7)有利于在一個項(xiàng)目內(nèi)多人協(xié)同工作;(8)大粒度的重用使得平均開發(fā)費(fèi)用降低,開發(fā)速度加快,開發(fā)人員減少,維護(hù)費(fèi)用降低,而參數(shù)化框架使得適應(yīng)性,靈活性增強(qiáng)。14、計(jì)算機(jī)系統(tǒng)工程師在選擇硬件元素時,應(yīng)當(dāng)考慮的特性:答:(1)從集成化的角度考慮,對各種元件打包形成單獨(dú)的構(gòu)件塊。(2)各個元件/構(gòu)件塊之間盡量采用標(biāo)準(zhǔn)接口。(3)性能、成本、有效性相對比較容易確定。(4)盡量提供多種可供權(quán)衡選擇的硬件方案。15、系統(tǒng)分析的目標(biāo):答:(1)識別出用戶的需求;(2)評價系統(tǒng)的可行性;(3)進(jìn)行經(jīng)濟(jì)分析和技術(shù)分析;(4)在明晰總體需求的前提下,將要實(shí)現(xiàn)的功能分配給硬件、軟件、人、數(shù)據(jù)庫和其他的系統(tǒng)元素;(5)預(yù)測成本、進(jìn)行進(jìn)度設(shè)計(jì);(6)生成系統(tǒng)規(guī)格說明,用作所有后續(xù)工程的基礎(chǔ)。16、設(shè)別用戶真正需求時,分析人員應(yīng)該弄清楚哪些問題:答:(1)用戶所期望的功能和性能;(2)對于可靠性和質(zhì)量提出的問題有哪些?(3)總的系統(tǒng)目標(biāo)是什么?(4)成本、資源和進(jìn)度有哪些限制和約束?(5)可能會有哪些擴(kuò)充需求?(6)有哪些有效地技術(shù)可供使用?(7)制造的需求是什么?市場競爭情況如何?17、技術(shù)分析的目的:答:是提交系統(tǒng)的技術(shù)分析可行性評估,說明為完成系統(tǒng)功能、達(dá)到系統(tǒng)性能指標(biāo)要采取什么樣的技術(shù)、存在哪些技術(shù)風(fēng)險并判定這些技術(shù)問題對成本有什么影響。18、系統(tǒng)定義的評審目的:答:對系統(tǒng)定義進(jìn)行評審其主要目的就是要保證:(1)正確地定義了項(xiàng)目的范圍;(2)使當(dāng)?shù)囟x了功能、性能和接口;(3)通過可行性分析證明了系統(tǒng)是可行的;(4)開發(fā)方和用戶方對系統(tǒng)的目標(biāo)達(dá)成共識。19、用戶對系統(tǒng)的需求有哪些?答:功能性需求:主要說明待開發(fā)的系統(tǒng)在功能上實(shí)際應(yīng)該做到什么,通常包括系統(tǒng)的輸入、輸出、系統(tǒng)能夠完成的功能。 非功能性需求:從各個角度對所考慮的可能的解決方案的約束和限制。主要包括:過程需求(如交付需求、實(shí)現(xiàn)方法需求等)、產(chǎn)品需求(如可靠性需求、可移植性需求、安全保密性需求等)和外部需求(如法規(guī)需求、費(fèi)用需求等)等。20,系統(tǒng)定義的評審從管理方面考慮的關(guān)鍵問題?答:(1)商業(yè)需求是否已經(jīng)確定,系統(tǒng)可行性分析的結(jié)論是否合理。(2)市場是否真的需要所描述的系統(tǒng)。(3)是否考慮過一組候選方案并進(jìn)行了擇優(yōu)。(4)每一系統(tǒng)元素的開發(fā)風(fēng)險有哪些。(5)是否劇本開發(fā)系統(tǒng)的有效資源。(6)成本與進(jìn)度的期望值是否合理。21,系統(tǒng)定義的評審從技術(shù)方面應(yīng)重點(diǎn)評審的問題?答:(1)系統(tǒng)的功能復(fù)雜性是否與開發(fā)風(fēng)險、成本、進(jìn)度的評估一致。(2)功能分配定義是否足夠準(zhǔn)確。(3)系統(tǒng)元素之間的接口、系統(tǒng)元素和環(huán)境的借口定義是否清晰。(4)在規(guī)格定義中是否考慮了性能、可靠性和可維護(hù)性問題。(5)系統(tǒng)規(guī)格說明是否足以支持后繼的硬件和軟件工程步驟。22、關(guān)系數(shù)據(jù)庫中二維表必須滿足規(guī)范化約束條件:答:(1)表中的每一個項(xiàng)必須是不可再分的數(shù)據(jù)項(xiàng);(2)表中的每列中的所有信息必須是同類型的數(shù)據(jù),各列次序任意,每列對應(yīng)一個唯一的名字;(3)表中每一行的數(shù)據(jù)各不相同,各行的數(shù)據(jù)不相同,次序任意。23、建立數(shù)據(jù)字典的原則:答:(1)所有定義必須嚴(yán)密、精確、不存在二義性。(2)書寫格式應(yīng)該簡潔且嚴(yán)格。(3)應(yīng)可以方便的實(shí)現(xiàn)對所需條目的按名查詢。(4)應(yīng)便于修改和更新。24、體系結(jié)構(gòu)設(shè)計(jì)的原則:答:(1)降低模塊的耦合性,提高模塊的內(nèi)聚性;(2)保持適中的模塊規(guī)模;(3)模塊應(yīng)具有高扇入和適當(dāng)?shù)纳瘸?;?)軟件結(jié)構(gòu)中的深度和寬度不宜過大;(5)模塊的作用于應(yīng)該處于其控制范圍之內(nèi);(6)盡量降低模塊的借口復(fù)雜度。25、詳細(xì)設(shè)計(jì)階段的主要目的:答:詳細(xì)設(shè)計(jì)階段的主要目的是在體系結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ)上,為軟件中的每一個模塊確定相應(yīng)的算法及內(nèi)部數(shù)據(jù)結(jié)構(gòu),獲得目標(biāo)系統(tǒng)具體結(jié)構(gòu)實(shí)現(xiàn)的精確描述,為編碼工作做好準(zhǔn)備。26、詳細(xì)設(shè)計(jì)的任務(wù):答:(1)確定每個模塊的具體算法;(2)確定每個模塊的內(nèi)部數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫的物理結(jié)構(gòu);(3)確定模塊借口的具體細(xì)節(jié);(4)為每個模塊設(shè)計(jì)一組測試用例;(5)編寫文檔,參加復(fù)審。27、程序流程圖的優(yōu)缺點(diǎn):答:優(yōu)點(diǎn):在于對程序的控制流程描述直觀、清晰、使用靈活,便于閱讀和掌握。缺點(diǎn):(1)程序流程圖可以隨意使用流程線容易造成程序控制結(jié)構(gòu)的混亂,與結(jié)構(gòu)化思想相違背。(2)程序流程圖難以描述逐步求精的過程,容易導(dǎo)致程序員過早的考慮程序的控制流程,而忽略程序全局結(jié)構(gòu)的設(shè)計(jì)。(3)程序流程圖難以表示系統(tǒng)中的數(shù)據(jù)結(jié)構(gòu)。28,PDL語言的主要特點(diǎn):答:(1)各種定義語句及控制結(jié)構(gòu)的表達(dá)都具有嚴(yán)格的語法形式,使程序結(jié)構(gòu)、數(shù)據(jù)說明等更加清晰;(2)提供了數(shù)據(jù)說明機(jī)制,可用于定義簡單及復(fù)雜的數(shù)據(jù)結(jié)構(gòu);(3)提供了模塊的定義和調(diào)用機(jī)制,方便了程序模塊化的表達(dá);。29、詳細(xì)設(shè)計(jì)階段應(yīng)該遵循的原則:答:(1)將保證程序的清晰度放在首位;(2)設(shè)計(jì)過程中應(yīng)采用逐步細(xì)化的實(shí)現(xiàn)方法;(3)選擇適當(dāng)?shù)谋磉_(dá)工具。30、軟件測試的基本原則:答:(1)盡早地不斷地進(jìn)行軟件測試。(2)程序員或程序設(shè)計(jì)機(jī)構(gòu)應(yīng)該避免測試自己的程序。(3)測試用例中不僅要有輸入數(shù)據(jù),還要有與之對應(yīng)的預(yù)期結(jié)果。(4)測試用例的設(shè)計(jì)不僅要有合法的輸入數(shù)據(jù),還要有非法的輸入數(shù)據(jù)。(5)在對程序修改之后要進(jìn)行回歸測試。(6)程序中尚未發(fā)現(xiàn)的錯誤數(shù)量通常與改程序中已經(jīng)發(fā)現(xiàn)的錯誤數(shù)量成正比。(7)妥善保留測試計(jì)劃、全部測試用例、出錯統(tǒng)計(jì)和最終分析報告,并把他們作為軟件的組成部分之一,為維護(hù)提供方便。(8)應(yīng)當(dāng)對每一個測試結(jié)果做全面的檢查。(9)嚴(yán)格執(zhí)行測試計(jì)劃,排除測試的隨意性。31、錯誤推測法:答:(1)零作為測試數(shù)據(jù)往往容易使程序發(fā)生錯誤;(2)分析規(guī)格說明書的漏洞,編寫測試數(shù)據(jù);(3)根據(jù)尚未發(fā)現(xiàn)的軟件錯誤與已經(jīng)發(fā)現(xiàn)軟件錯誤成正比的統(tǒng)計(jì)規(guī)律,進(jìn)一步測試時中點(diǎn)發(fā)現(xiàn)錯誤的程序段;(4)等價類劃分與邊界值分析容易忽略組合的測試數(shù)據(jù),因而可采用判定表貨盤定數(shù)列出測試數(shù)據(jù);(5)與人工代碼審查相結(jié)合,兩個模塊中共享的變量已被修改的,可用來做測試用例。32,為什么要進(jìn)行封裝?答:封裝體現(xiàn)了良好的模塊特性,它將定義模塊和實(shí)現(xiàn)模塊分開。封裝使對象的內(nèi)部軟件的范圍有清楚的邊界,有一個描述該對象和其他對象之間通信的接口;使得模塊內(nèi)部的數(shù)據(jù)收到很好的保護(hù),避免外部的干擾。封裝大大增強(qiáng)了軟件的可維護(hù)性、可修改性,這是軟件追求的目標(biāo)。33、設(shè)計(jì)人機(jī)交互界面的準(zhǔn)則:答:一致性、減少步驟、及時提供反饋信息、提供插銷命令、減少記憶、
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中級經(jīng)濟(jì)師職業(yè)發(fā)展的路徑選擇試題及答案
- 2025屆梅州市蕉嶺縣數(shù)學(xué)三上期末監(jiān)測模擬試題含解析
- 工程經(jīng)濟(jì)與財務(wù)管理的聯(lián)系試題及答案
- 應(yīng)對市政工程考試的壓力應(yīng)對技巧試題及答案
- 設(shè)計(jì)色彩與視覺傳達(dá)
- 水利水電工程節(jié)能減排技術(shù)收獲與探討試題及答案
- 經(jīng)濟(jì)法概論復(fù)習(xí)試題及答案全解
- 濕法可降解醫(yī)療用品生產(chǎn)項(xiàng)目可行性研究報告模板-立項(xiàng)備案
- 經(jīng)濟(jì)學(xué)的歷史貢獻(xiàn)試題及答案
- 2024年水利水電工程綜合治理試題及答案
- 2025年社群健康助理員職業(yè)技能培訓(xùn)考試題庫
- 中華人民共和國傳染病防治法培訓(xùn)課件
- 舞弊檢測中的深度學(xué)習(xí)特征提取-深度研究
- 入孵企業(yè)合作協(xié)議書范本
- SCR脫硝催化劑體積及反應(yīng)器尺寸計(jì)算表
- 中級會計(jì)經(jīng)濟(jì)法-中級會計(jì)《經(jīng)濟(jì)法》模擬試卷12
- ISO-IEC20000-2018信息技術(shù)服務(wù)管理體系標(biāo)準(zhǔn)及內(nèi)審員培訓(xùn)教材
- 一例膿毒血癥的個案護(hù)理
- 2024年敘永縣中醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 安全科學(xué)導(dǎo)論知到智慧樹章節(jié)測試課后答案2024年秋中國礦業(yè)大學(xué)(北京)
- 市場營銷試題(含參考答案)
評論
0/150
提交評論