軟件工程期末復(fù)習(xí)資料(精華版_第1頁
軟件工程期末復(fù)習(xí)資料(精華版_第2頁
軟件工程期末復(fù)習(xí)資料(精華版_第3頁
軟件工程期末復(fù)習(xí)資料(精華版_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上1.軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,軟件包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。程序:按事先設(shè)計(jì)的功能和性能要求執(zhí)行的指令序列。數(shù)據(jù):是程序能夠正確地處理信息的數(shù)據(jù)結(jié)構(gòu);文檔:與程序開發(fā)、維護(hù)和使用有關(guān)的圖文資料。 2.軟件的分類,系統(tǒng)軟件(操作系統(tǒng),數(shù)據(jù)庫管理系統(tǒng),設(shè)備驅(qū)動(dòng)程序,通信和網(wǎng)絡(luò)處理程序)應(yīng)用軟件(商業(yè)數(shù)據(jù)處理軟件,工程與科學(xué)計(jì)算軟件,計(jì)算機(jī)輔助設(shè)計(jì)制造軟件,人工智能,CAD,系統(tǒng)仿真)支撐軟件(設(shè)計(jì)分析編碼)可復(fù)用軟件。 3.軟件工程是開發(fā)運(yùn)行維護(hù)和修復(fù)軟件的系統(tǒng)方法(IEEE) 4.軟件工程是應(yīng)用計(jì)算機(jī)科學(xué)理論和技術(shù)異界工程管理原則和方法,按

2、預(yù)算和進(jìn)度,實(shí)現(xiàn)滿足用戶要求的軟件產(chǎn)品的定義開發(fā)發(fā)布維護(hù)的工程或進(jìn)行研究的學(xué)科。 5.運(yùn)用先進(jìn)的軟件開發(fā)技術(shù)和管理方法來提高軟件的質(zhì)量和生產(chǎn)率,也就是要在較短的周期、較低的成本生產(chǎn)出高質(zhì)量的軟件產(chǎn)品,并最終實(shí)現(xiàn)軟件的工業(yè)化生產(chǎn)。 6.軟件質(zhì)量衡量標(biāo)準(zhǔn):功能性、可靠性、可使用行、效率、可維護(hù)性和可移植性。 軟件生存期大體可分為如下幾個(gè)階段:軟件定義,軟件開發(fā),運(yùn)行維護(hù)。 7.軟件生存期模型:是從軟件項(xiàng)目需求定義直至軟件運(yùn)行維護(hù)為止,跨越整個(gè)生命周期的系統(tǒng)開發(fā)、運(yùn)行和維護(hù)所實(shí)施的全部過程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。 8.區(qū)分瀑布模型、原型模型、增量模型、螺旋模型等9.統(tǒng)一過程的四個(gè)階段:初始、細(xì)化、構(gòu)

3、造、移交1.軟件工程的三要素:方法、工具和過程方法:為建造軟件提供的技術(shù)上的解決方法。包括溝通、需求分析、設(shè)計(jì)建模、編程、測試和支持。工具:為方法的運(yùn)行提供自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境。如CASE。過程:為了額獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。 2.軟件開發(fā)的三種方法;傳統(tǒng)開發(fā)方法,面向?qū)ο箝_發(fā)方法,形式化開發(fā)方法 1.需求獲取的任務(wù),以深入淺出,流程為主線原則:1發(fā)現(xiàn)和分析問題,并分析問題的原因/結(jié)果關(guān)系2與用戶進(jìn)行各種方式的交流,并使用調(diào)用研究方法收集信息3按照三個(gè)成分即數(shù)據(jù)、過程和接口觀察問題的不同側(cè)面4將獲取的需求文檔化、形式有用例、決策表、

4、決策樹等 2.獲取需求的途徑:1與用戶進(jìn)行交流2現(xiàn)有產(chǎn)品或競爭產(chǎn)品的描述文檔3系統(tǒng)需求規(guī)格說明4當(dāng)前系統(tǒng)的問題報(bào)告和改進(jìn)要求5市場調(diào)查和用戶問卷調(diào)查6觀察用戶如何工作 3.軟件需求分析階段的任務(wù):需求獲。取需求分析。需求定義。需求驗(yàn)證。 4.結(jié)構(gòu)化分析模型以數(shù)據(jù)字典為核心。數(shù)據(jù)流圖DFD,描述數(shù)據(jù)在系統(tǒng)中如何被傳送或變換,以及描述如何對數(shù)據(jù)流進(jìn)行變換功能,用于功能建模;實(shí)體關(guān)系圖描述數(shù)據(jù)對象和他們之間的關(guān)系,用于數(shù)據(jù)建模;狀態(tài)遷移圖用于描述系統(tǒng)對胃部時(shí)間如何響應(yīng)動(dòng)作,用于行為建模。 5.加工規(guī)格說明:決策樹,決策表 軟件設(shè)計(jì)的原則:1分而治之,模塊化:將整個(gè)軟件劃分為獨(dú)立命名且可以獨(dú)立訪問的模

5、塊,不同的模塊通常具有不同的功能或職責(zé)。每個(gè)模塊可獨(dú)立地開發(fā)、測試、最后組裝成完整的軟件。2模塊的獨(dú)立性,是指軟件系統(tǒng)中每個(gè)模塊只涉及軟件要求的具體的子功能,而與軟件系統(tǒng)中其他模塊的接口是簡單的。模塊間的耦合:模塊之間的緊密程度。 內(nèi)聚:模塊內(nèi)部各個(gè)元素之間的緊密程度。“低耦合,高內(nèi)聚”3提高抽象層次、抽象:抽取共性,忽略事物的細(xì)部特征4復(fù)用性設(shè)計(jì)。復(fù)用是指同一事物不做修改或稍作修改就可以多次重復(fù)使用。盡量使用已有的構(gòu)件(包括開發(fā)環(huán)境提供的及以往開發(fā)類似的系統(tǒng)時(shí)創(chuàng)建的);如果確實(shí)需要?jiǎng)?chuàng)建新的構(gòu)件,則在設(shè)計(jì)時(shí)考慮應(yīng)該考慮將來的可復(fù)用使用性5靈活性設(shè)計(jì)。保證軟件靈活性設(shè)計(jì)的關(guān)鍵是抽象。 耦合的分類

6、:數(shù)據(jù)耦合(參數(shù)耦合),控制耦合,外部耦合(共用耦合),內(nèi)容耦合 偽代碼,流程圖,盒圖間的轉(zhuǎn)換。(區(qū)分控制流圖) 第五章1.程序設(shè)計(jì)語言的性能,軟件工程學(xué)的觀點(diǎn),性能要求:1詳細(xì)設(shè)計(jì)應(yīng)能直接容易地翻譯成代碼程序2源程序應(yīng)具有可移植性3編譯程序應(yīng)具有較高的效率4盡可能地應(yīng)用代碼生成的自動(dòng)工具5可維護(hù)性 2.科學(xué)與工程計(jì)算領(lǐng)域(,)商業(yè)領(lǐng)域(,)系統(tǒng)程序設(shè)計(jì)和實(shí)時(shí)應(yīng)用(,)人工智能(Lisp,Prolog) 3.偽代碼與可執(zhí)行程序間的轉(zhuǎn)換 第六章1.軟件測試是根據(jù)軟件開發(fā)各個(gè)階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)一批測試用例,并利用這些測試用例去運(yùn)行程序,以發(fā)現(xiàn)程序錯(cuò)誤的過程。 2.設(shè)計(jì)測試的目

7、的是想以最少的時(shí)間和人力系統(tǒng)地找出程序的各種錯(cuò)誤和缺陷。 3.測試:1測試是程序的執(zhí)行過程,其目的是在于發(fā)現(xiàn)錯(cuò)誤;2一個(gè)好的測試用例在于能發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤;3一個(gè)成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤的測試 4.測試的原則:1應(yīng)當(dāng)把“盡早地和不斷地進(jìn)行軟件測試”作為軟件開發(fā)者的座右銘。2測試用例應(yīng)由測試輸入數(shù)據(jù)和與之對應(yīng)的預(yù)期輸出結(jié)果這兩部分組成。3程序應(yīng)避免檢查自己的程序。4在設(shè)計(jì)測試用例時(shí),應(yīng)當(dāng)包括合理的輸入條件和不合理的輸入條件。5充分注意測試中的群集現(xiàn)象。6嚴(yán)格執(zhí)行測試計(jì)劃,排除測試的隨意性。7應(yīng)當(dāng)對每一個(gè)測試結(jié)果作全面檢查。8妥善保存測試計(jì)劃,測試用例,出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告,為

8、未來實(shí)施的維護(hù)提供方便。 5.黑盒測試:已知產(chǎn)品的功能設(shè)計(jì)規(guī)格,可以通過測試證明每個(gè)實(shí)現(xiàn)了的功能是否符合要求。 等價(jià)類劃分,邊界值分析。 6.白盒測試:已知產(chǎn)品的內(nèi)部工作過程,可以通過測試證明每種內(nèi)部操作是否符合設(shè)計(jì)規(guī)格要求,所有內(nèi)部成分是否已經(jīng)過檢查。 邏輯覆蓋?;韭窂綔y試:繪制程序控制流圖,復(fù)雜性計(jì)算=E-N+2 黑盒測試 白盒測試 優(yōu)點(diǎn) 適用于各階段測試 從產(chǎn)品功能角度測試 容易入手生成測試數(shù) 據(jù) 可構(gòu)成測試數(shù)據(jù)使特定程 序部分得到測試 有一定的充分性度量手段 可或較多工具支持 缺點(diǎn) 某些代碼得不到測試 如果規(guī)格說明有誤,則無法發(fā)現(xiàn)不易進(jìn)行充分性測試 不易生成測試數(shù)據(jù)(通常) 無法對未

9、實(shí)現(xiàn)規(guī)格說明的部分進(jìn)行測試 工作量大,通常只用于單元測試,有應(yīng)用局限 性質(zhì) 是一種確認(rèn)技術(shù),回答“我們 在構(gòu)造一個(gè)正確 的系統(tǒng)嗎” 是一種驗(yàn)證技術(shù),回答“我們在正 確地構(gòu)造一個(gè)系統(tǒng)嗎?” 7.軟件測試的策略:單元測試(模塊接口,路徑,邊界,錯(cuò)誤處理),組裝測試(一次性,增殖性)確認(rèn)測試(和)系統(tǒng)測試(區(qū)分功能,回歸,可靠性,強(qiáng)度,性能的不同)8.人工測試:桌面檢查、代碼評審、走查 9.有一種觀點(diǎn)認(rèn)為,軟件測試的目的是在于證明開發(fā)出得軟件沒有缺陷。這種觀點(diǎn)能夠接受嗎?為什么?答:觀點(diǎn)不正確,不能夠接受。軟件測試的目的是發(fā)現(xiàn)軟件錯(cuò)誤而非證明軟件正確。軟件測試只能說明軟件中存在錯(cuò)誤。通過軟件測試的能

10、夠說明軟件的功能和性能與需求說明相符合,此外實(shí)施測試收集到的測試結(jié)果數(shù)據(jù)為可靠性分析提供了依據(jù),但不能證明軟件沒有缺陷。 10.比較測試與測試,說明其異同.測試是由用戶在開發(fā)環(huán)境下進(jìn)行的測試,也可以是公司內(nèi)部的用戶在模擬的實(shí)際操作環(huán)境下進(jìn)行的測試. 測試的目的是評價(jià)軟件產(chǎn)品的FLURSH(即功能、局域化、可使用性、可靠性、性能和支持),其尤其注重產(chǎn)品的界面和特色。測試:是由軟件的多個(gè)用戶在一個(gè)或多個(gè)用戶的實(shí)際使用環(huán)境下進(jìn)行的測試。開發(fā)者不在測試現(xiàn)場。 測試主要衡量產(chǎn)品的FLURPS,著重產(chǎn)品的支持性、包括文檔、客戶培訓(xùn)和支持產(chǎn)品生產(chǎn)能力。 1.UML:事物(結(jié)構(gòu)(類接口協(xié)作用例主動(dòng)類構(gòu)件節(jié)點(diǎn))

11、,行為(交互,狀態(tài)機(jī))分組(注解)注釋(注解)關(guān)系(以來,泛化,關(guān)聯(lián),實(shí)現(xiàn))圖(類用例交互狀態(tài)活動(dòng)實(shí)現(xiàn)) 2.UML中有哪幾種圖?每種圖的作用是什么?UML定義了6種類型的圖:用例圖、類圖、交互圖、狀態(tài)圖、活動(dòng)圖和實(shí)現(xiàn)圖。用例圖描述的是參與者所理解的系統(tǒng)功能。用例圖用于需求分析階段。類圖表示了類(及其接口)、類的內(nèi)部結(jié)構(gòu)以及與其他類的聯(lián)系。交互圖是為用例、用例組或局部用例開發(fā)的。有順序圖和協(xié)作圖。狀態(tài)圖描述一個(gè)特定對象的所有可能的狀態(tài)以及引起狀態(tài)轉(zhuǎn)換的事件?;顒?dòng)圖用來描述交互的方式,它描述采取何種動(dòng)作,動(dòng)作的結(jié)果是什么(動(dòng)作狀態(tài)改變),何時(shí)發(fā)生(動(dòng)作序列),以及在何處發(fā)生(泳道)。實(shí)現(xiàn)圖分為構(gòu)

12、件圖和部署圖。構(gòu)件圖:描述軟件構(gòu)件及構(gòu)件之間的依賴關(guān)系,顯示代碼的靜態(tài)結(jié)構(gòu)。部署圖:描述處理器、設(shè)備和連接,它顯示系統(tǒng)硬件的物理拓?fù)浣Y(jié)構(gòu)及在此結(jié)構(gòu)上執(zhí)行的第1.面向?qū)ο蠓治鲂枰⒌?個(gè)模型是什么?三個(gè)模型為:功能模型(用例模型)、交互模型(動(dòng)態(tài)模型)和對象模型(靜態(tài)模型) 。功能模型指明了系統(tǒng)應(yīng)該“做什么”;由用例圖和場景描述表示。交互模型明確規(guī)定了什么時(shí)候(即在何種狀態(tài)下接受了什么事件的觸發(fā))做;由狀態(tài)圖和順序圖表示。靜態(tài)模型則定義了做事情的實(shí)體。用類圖和對象圖表示。 2.復(fù)雜問題對象模型應(yīng)該由下述5個(gè)層次組成:主題層(范疇層).類-對象層.結(jié)構(gòu)層.屬性層.服務(wù)層 3.區(qū)分實(shí)體類、邊界類、

13、控制類 4.在UML中動(dòng)態(tài)模型的描述工具有順序圖、協(xié)作圖和狀態(tài)圖。 第九章 1.軟件系統(tǒng)中,模式分類:1體系結(jié)構(gòu)模式。體系結(jié)構(gòu)模式表達(dá)了軟件系統(tǒng)的基本結(jié)構(gòu)組織形式或者解決方案,包括了一組預(yù)定義的子系統(tǒng),規(guī)定了這些子系統(tǒng)的責(zé)任,同時(shí)還提供了用于組織和管理這些子系統(tǒng)的規(guī)則和向?qū)А?設(shè)計(jì)模式。設(shè)計(jì)模式為軟件系統(tǒng)的子系統(tǒng)、構(gòu)件或者構(gòu)件之間的關(guān)系提供了一個(gè)精煉的解決方案,描述了在特定的環(huán)境下,用于解決通用軟件設(shè)計(jì)問題的構(gòu)件以及這些構(gòu)件相互通信時(shí)的各種結(jié)構(gòu)。3慣用法。慣用法是與編程語言相關(guān)的低級模式,描述如何實(shí)現(xiàn)構(gòu)件的某些功能,或者利用編程語言的特性來實(shí)現(xiàn)構(gòu)件內(nèi)部要素之間的通信功能。 2.典型的體系結(jié)構(gòu)風(fēng)

14、格:數(shù)據(jù)流風(fēng)格.調(diào)用返回風(fēng)格.倉庫風(fēng)格 第十章1.面向?qū)ο笤O(shè)計(jì)的準(zhǔn)則1模塊化2抽象3信息隱藏4弱耦合5.強(qiáng)內(nèi)聚6重用性2.典型的面向?qū)ο笤O(shè)計(jì)模型在邏輯上由哪些部分組成?對每一部分進(jìn)行設(shè)計(jì)時(shí)所包含的主要內(nèi)容是什么?典型的面向?qū)ο笤O(shè)計(jì)模型在邏輯上由:問題域部分、人機(jī)交互部分、任務(wù)管理部分、數(shù)據(jù)管理部分組成。(1)問題域部分,設(shè)計(jì)構(gòu)造一組為底層應(yīng)用建立模型的類和對象,細(xì)化分析結(jié)果;(2)人機(jī)交互部分,設(shè)計(jì)一組有關(guān)類接口視圖的用戶模型的類和對象,設(shè)計(jì)用戶界面;(3)任務(wù)管理部分,確定系統(tǒng)資源的分配,設(shè)計(jì)用于系統(tǒng)中類的行為控制的對象/類;(4)數(shù)據(jù)管理部分,確定持久對象的存儲(chǔ),將對象轉(zhuǎn)換成數(shù)據(jù)庫記錄或表

15、格; 3.優(yōu)化對象設(shè)計(jì)模型:1增加冗余關(guān)聯(lián)以提高訪問率2調(diào)整查詢次序3保留派生屬性 1.軟件維護(hù)包含哪些類型?這些類型的維護(hù)是什么情況下實(shí)施的?其中哪一類型的實(shí)施工作量最大?軟件維護(hù)類型有:改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)、預(yù)防性維護(hù)。1改正性維護(hù):運(yùn)行過程中發(fā)現(xiàn)錯(cuò)誤時(shí)。2適應(yīng)性維護(hù):環(huán)境發(fā)生變化時(shí)。3完善性維護(hù):在使用軟件的過程中,用戶往往提出增加新功能或修改已有功能的建議,或提出一般性的改進(jìn)意見時(shí)。4預(yù)防性維護(hù):為了改進(jìn)未來的可維護(hù)性或可靠性,或?yàn)榱私o未來的改進(jìn)奠定更好的基礎(chǔ)時(shí)。其中完善性維護(hù)的實(shí)施工作量最大。 2.什么是程序修改的副作用?如何控制程序修改的副作用?程序修改的副作用:因修

16、改軟件而造成的錯(cuò)誤或其他不希望發(fā)生的情況。包含修改代碼,修改數(shù)據(jù),修改文檔的副作用 控制程序修改的副作用:按模塊把修改分組;自頂向下地安排被修改模塊的順序;每次修改一個(gè)模塊對于每個(gè)修改了的模塊,在安排修改下一個(gè)模塊之前,要確定這個(gè)修改的副作用。 3.軟件維護(hù)性:當(dāng)對軟件實(shí)施各種類型的維護(hù)而進(jìn)行修改時(shí),軟件產(chǎn)品可被修改的能力。 4.軟件的可維護(hù)性定義:維護(hù)人員理解、改正、改動(dòng)或改進(jìn)這個(gè)軟件的難易程度。1.提高軟件產(chǎn)品質(zhì)量和軟件項(xiàng)目生產(chǎn)率的主要因素:人員、技術(shù)與設(shè)備、過程。 過程要素:(1)輸入:過程客體的初始狀態(tài)或初始條件。(2)輸出:過程客體的最終狀態(tài)或過程結(jié)果。(3)活動(dòng)或進(jìn)一步被分解的任務(wù)或作業(yè),常常是一組活動(dòng)或相關(guān)任務(wù)。(4)資源:過程活動(dòng)所需的支持條件。如人員、設(shè)備設(shè)施、技術(shù)及相關(guān)的耗費(fèi)。(5)測量與驗(yàn)證:實(shí)施測量與驗(yàn)證是為了使過程的上述的4個(gè)要素符合要求。(6)過程目標(biāo):過程的活動(dòng)應(yīng)以增值為目標(biāo),也只有明確了過程活動(dòng)的目標(biāo),才能使過程活動(dòng)室有意義的。 2.軟件過程成熟度的定義?軟件過程成熟度(software process maturity):一個(gè)特定軟件過程

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論