軟件工程各章知識點(diǎn)_第1頁
軟件工程各章知識點(diǎn)_第2頁
軟件工程各章知識點(diǎn)_第3頁
軟件工程各章知識點(diǎn)_第4頁
軟件工程各章知識點(diǎn)_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1.1.軟件危機(jī):在計算機(jī)軟件的開發(fā)與維護(hù)當(dāng)中所遇到的問題。

1.2、軟件工程的五個面向理論:

(1)面向流程分析:就是面向流程進(jìn)行需求分析。

(2)面向數(shù)據(jù)分析:就是面向元數(shù)據(jù)進(jìn)行概要設(shè)計。

(3)面向?qū)ο髮?shí)現(xiàn):就是面向?qū)ο筮M(jìn)行詳細(xì)設(shè)計和編程實(shí)現(xiàn)。

(4)面向功能測試:就是面向功能進(jìn)行單元測試、集成測試、Alpha測試和Beta測試。

(5)面向過程管理:就是面向過程對軟件生存周期各個階段進(jìn)行管理和控制。

2.1、螺旋模型:引入了風(fēng)險驅(qū)動的思想,適合大型復(fù)雜的系統(tǒng)。

2.2、原型模型:在初步需求分析之后,馬上向客戶展示一個軟件產(chǎn)品原型,對客戶進(jìn)行培訓(xùn),讓客

戶試用,在試用中收集客戶意見,根據(jù)客戶意見立刻修改原型,之后再讓客戶試用,反復(fù)循環(huán)幾次,

宜到客戶確認(rèn)為止。原到模型通過向用戶提供原型獲取用戶的反饋,使開發(fā)出的軟件能夠真正

反映用戶的需求.

2.3、原型模型優(yōu)點(diǎn):開發(fā)速度快,用戶意見反饋實(shí)時,有利于開發(fā)商在短時間內(nèi)推廣并實(shí)施多個客

戶。

2.4、快速原型法:適用于有效適應(yīng)用戶的動態(tài)變化,及早地提供工作軟件。

2.5、瀑布模型特點(diǎn):以文檔為驅(qū)動,適合于需求明確的項(xiàng)目。

2.6、軟件生存周期:

立項(xiàng)(或簽合同)、下達(dá)任務(wù)書、需求分析、概要設(shè)計、詳細(xì)設(shè)計、編碼實(shí)現(xiàn)、軟件測試、軟件發(fā)布

與實(shí)施,軟件維護(hù),版木更新或退役.

2.7、軟件開發(fā)進(jìn)度書:用進(jìn)度表示,明確每個階段需要完成的任務(wù)的一張表。

3.1、軟件需求規(guī)格說明書的規(guī)格:

(1)引言:編寫目的、背景說明、術(shù)語定義及參考資料等。

(2)概述主要功能、約束條件或特殊需求。

(3)數(shù)據(jù)流圖與數(shù)據(jù)字典。

(4)用戶接口、硬件接口及軟件接口。

(5)性能需求、屬性等。

(6)其它需求,如數(shù)據(jù)庫、操作及故障處理等。

3.2、軟件開發(fā)過程中抽取和整理用戶的需求、數(shù)據(jù)

3.3、需求分析的最終目標(biāo):導(dǎo)出系統(tǒng)的詳細(xì)的邏輯模型,通常用數(shù)據(jù)流圖、E-R圖、狀態(tài)轉(zhuǎn)換

圖、數(shù)據(jù)字典和主要的處理算法描述這個邏輯模型。

3.4、面向?qū)ο蟮娜N方法?(對象、過程、數(shù)據(jù))

3.5、E-R圖包括哪三個部分?(實(shí)體、實(shí)體間聯(lián)系、實(shí)體屬性)

3.6、需求分析的主要任務(wù):準(zhǔn)確定義未來系統(tǒng)的目標(biāo),確定為了滿足用戶的需要系統(tǒng)必須做什

么。

4.1、模塊的耦合程度越弱,說明模塊獨(dú)立性越強(qiáng)。

4.2、模塊的作用域:應(yīng)該在控制域內(nèi)一個模塊的控制域,是模塊本身及其所有從屬(及所有可供他調(diào)

用的下級模塊)。一個模塊的作用域,是受這個模塊中決策影響的其他模塊。

4.3、軟件結(jié)構(gòu)圖的形態(tài)特征反映重入率扇入(軟件結(jié)構(gòu)的深度.寬度.扇入.及扇出應(yīng)適當(dāng))。

4.4、軟件結(jié)構(gòu)圖不出故障、持續(xù)運(yùn)行的可用性

4.5、概要設(shè)計得到的是優(yōu)化后的軟件結(jié)構(gòu)圖。

4.6、PAD圖(問題分析圖)的優(yōu)點(diǎn)之一:支持逐步細(xì)化、從左到右的完成。

4.7、模塊的內(nèi)聚性最高:模塊的內(nèi)聚反映模塊內(nèi)部聯(lián)系的緊密程度。如果一個模塊內(nèi)部相關(guān)性很高,

而且都是為了同一個功能,我們就說它的內(nèi)聚程度高。

4.8、總體設(shè)計時,加強(qiáng)模塊間的聯(lián)系

4.9、模塊的定義:是數(shù)據(jù)說明、可執(zhí)行語句等對象的集合。

4.10、程序問題

4.11、程序問題

51、軟件建模的三個模型:功能模型、業(yè)務(wù)模型、數(shù)據(jù)模型。

6.1>成功的測試指:發(fā)現(xiàn)了至今沒有發(fā)現(xiàn)的錯誤。

6.2、測試計劃在何時實(shí)行?

1)why——為什么要進(jìn)行這些測試;2)what—測試哪些方面,不同階段的工作內(nèi)容;3)

when—測試不同階段的起止時間;4)where—相應(yīng)文檔,缺陷的存放位置,測試環(huán)境等;5)

who—項(xiàng)目有關(guān)人員組成,安排哪些測試人員進(jìn)行測試6)how—如何去做,使用哪些測試工具以

及測試方法進(jìn)行測試。

6.3、測試時,覆蓋哪一個最好?

(1)為每個等價類編號;

(2)設(shè)計一個新的測試方案,以盡可能多的覆蓋尚未被覆蓋的有效等價類,重復(fù)這一步驟,直到所有有效

等價類被覆蓋為止。

(3)設(shè)計一個新的測試方案,使它覆蓋一個尚未被覆蓋的無效等價類,重復(fù)這一步驟,直到所有無效等價

類被覆蓋為止。

I語句蒞蓋:語句覆蓋就是設(shè)計若干個測試用例,運(yùn)行被測試程序,使得每一條可執(zhí)行語句至少執(zhí)行

一次;

2判定覆蓋(也稱為分支覆蓋):設(shè)計若干個測試用例,運(yùn)行所測程序,使程序中每個判斷的取真分

支和取假分支至少執(zhí)行一次;

3條件覆蓋:設(shè)計足夠多的測試用例,運(yùn)行所測程序,使程序中每個判斷的每個條件的每個可能取值

至少執(zhí)行一次;

4判定■條件覆蓋:設(shè)計足夠多的測試用例,運(yùn)行所測程序,使程序中每個判斷的每個條件的所有可

能取值至少執(zhí)行一次,并且每個可能的判斷結(jié)果也至少執(zhí)行一次,換句話說,即是要求各個判斷的所

有可能的條件取值組合至少執(zhí)行一次;

5條件組合測試:設(shè)計足夠多的測試用例,運(yùn)行所測程序,使程序中每個判斷的所有可能的條件取值

組合至少執(zhí)行一次;

6路徑測試:設(shè)計足夠多的測試用例,運(yùn)行所測程序,要覆蓋程序中所有可能的路徑。

6.4、軟件測試的目的:發(fā)現(xiàn)軟件錯誤。

6.5、白盒測試是根據(jù)內(nèi)部邏銀進(jìn)行測試的。

6.6、測試用例:是為某個特殊目標(biāo)而編制的一組測試輸入、執(zhí)行條件以及預(yù)期結(jié)果,以便測試某個

程莊路徑或核實(shí)是否滿足某個特定需求。

6.7、黑盒測試?也稱為功能測試,它著眼于程序的外部特征,而不考慮程序的內(nèi)部邏輯結(jié)構(gòu)。測試者把

被測程序看成一個黑盒,不用關(guān)心程序的內(nèi)部結(jié)構(gòu)。黑盒測試是在程序接口處進(jìn)行測試,它只檢查程

序功能是否能按照規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮沼淙霐?shù)據(jù)產(chǎn)生正確的輸出信

息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。

黑盒測試主要采用的技術(shù)有:等價分類法、邊沿值分析法、錯誤推測法和因果圖等技術(shù)。

7.1、軟件維護(hù):

1改正性維護(hù):滿足用戶對已開發(fā)產(chǎn)品的性能與運(yùn)行環(huán)境不斷提高的要求,進(jìn)而達(dá)到延長軟件壽命的

目的。

2適應(yīng)性維護(hù):對程序使用期間發(fā)現(xiàn)的程序錯誤進(jìn)行診斷和改正的過程,配合變化了的環(huán)境進(jìn)行修改

軟件的活動;

3完善性維護(hù):滿足用戶在使用過程中提出增加新的功能或修改已有功能的建議而進(jìn)行的工作;

4預(yù)防性維護(hù):為了改善未來的可維護(hù)性或可靠性而修改軟件的工作。

7.2、軟件維護(hù)哪一個最重要?

8.1、系統(tǒng)應(yīng)錯誤而發(fā)生錯誤的運(yùn)行的軟件:容錯軟件。

8.2、軟件配置管理協(xié)調(diào)開發(fā),使錯誤降為最小并最有效地提高生產(chǎn)效率,降低混亂。

I.讀者同意“四種開發(fā)方法”和“五個面向理論”的提法嗎?為什么?

“四種開發(fā)方法”是指“面向過程的方法、面向?qū)ο蟮姆椒ā⒚嫦驍?shù)據(jù)的方法、形式化方法:面向過

程的方法來源于面向過程的程序設(shè)計;面向?qū)ο蟮姆椒▉碓从诿嫦驅(qū)ο蟮某绦蛟O(shè)計;面向數(shù)據(jù)的方法

就是面向元數(shù)據(jù)的方法,它來源于關(guān)系數(shù)據(jù)庫程序設(shè)計;形式化方法來源于離散數(shù)學(xué)中的集合運(yùn)算和

邏輯運(yùn)算。四種方法各適用于不同的場合,各有優(yōu)缺點(diǎn),互用促進(jìn),構(gòu)成開發(fā)方法論的多極化世界。

“五個面向理論”是指“面向流程分析?、面向數(shù)據(jù)設(shè)計、面向?qū)ο髮?shí)現(xiàn)、面向功能測試、面向過程管

理.?,它是在綜合?,四種開發(fā)方法?,各自的優(yōu)點(diǎn)之后提出的軟件工程實(shí)施理論,是對前者的繼承與發(fā)展。

總之,上述提法既精彩又實(shí)用,

2.如何用面向數(shù)據(jù)的編程方法進(jìn)行數(shù)據(jù)處理?

首先是在數(shù)據(jù)庫服務(wù)器上編制存儲過程和觸發(fā)器,其次是用建M視圖與運(yùn)行視圖的方法進(jìn)行大量的

數(shù)據(jù)統(tǒng)計處理,最后是用SQL語句進(jìn)行各種查詢統(tǒng)計和報表輸出。

3.需求分析的基本思路是什么?

需求分析的思路,是從用戶的功能需求(系統(tǒng)需要做什么)出發(fā),由系統(tǒng)的業(yè)務(wù)流程和數(shù)據(jù)流程

導(dǎo)出系統(tǒng)的業(yè)務(wù)模型和功能模型,識別出系統(tǒng)的元數(shù)據(jù)和中間數(shù)據(jù),為今后設(shè)計數(shù)據(jù)模型做好充分準(zhǔn)

備。同時,對系統(tǒng)的軟、硬件環(huán)境配置,開發(fā)工具,開發(fā)工期,費(fèi)用,開發(fā)進(jìn)度,培訓(xùn),系統(tǒng)風(fēng)險進(jìn)

行評估。

4.業(yè)界存在哪三種需求分析方法?你認(rèn)為哪種更好?

業(yè)界存在三種需求分析方法:面向功能分析、面向?qū)ο蠓治?、面向?shù)據(jù)分析。

以上這三種方法,各自適用于不同的目標(biāo)系統(tǒng)。目前時尚的方法是面向?qū)ο?,包括面向主體和面向

方法.總的來說,對于系統(tǒng)軟件和應(yīng)用軟件來說,面向功能需求分析的方法簡單明了,而面向?qū)ο蟮?/p>

需求分析方法則負(fù)責(zé)抽象。對于以關(guān)系數(shù)據(jù)庫為平臺的信息系統(tǒng)軟件來說,面向數(shù)據(jù)需求分析方法的

特點(diǎn)是抓住了本質(zhì)。但是,這三種分析方法都離不開面向流程分析這根總線:功能、對象、數(shù)據(jù)都是

在流程中產(chǎn)生的,又都是為流程服務(wù)的。

5.概要設(shè)計說明書和詳細(xì)設(shè)計說明書有何區(qū)別?

《概要設(shè)計說明書》,?是要覆蓋《需求規(guī)格說明書》的全部內(nèi)容,二是要作為指導(dǎo)詳細(xì)設(shè)計的依據(jù)。

他注重框架上的設(shè)計,它是軟件系統(tǒng)的總體結(jié)構(gòu)設(shè)計、全局?jǐn)?shù)據(jù)庫(包括數(shù)據(jù)結(jié)構(gòu))設(shè)計、外部接口

設(shè)計、功能部件分配設(shè)計、部件之間的內(nèi)部接口設(shè)計,它要覆蓋需求規(guī)格說明書中的功能點(diǎn)列表、性

能點(diǎn)列表、接口列表。

《詳細(xì)設(shè)計說明書》,一是要覆蓋概要設(shè)計說明書的全部內(nèi)容,而是要作為指導(dǎo)程序設(shè)計的依據(jù),他

注重微觀上和框架內(nèi)的設(shè)計,它是各子系統(tǒng)的公用部件實(shí)現(xiàn)設(shè)計、專業(yè)部件實(shí)現(xiàn)設(shè)計、存儲過程實(shí)現(xiàn)

設(shè)計、觸發(fā)器實(shí)現(xiàn)設(shè)計、外部接口實(shí)現(xiàn)設(shè)計、部門角色授權(quán)設(shè)計和其他詳細(xì)設(shè)計等。

兩者的設(shè)計者不同,在一般情況下,《概要設(shè)計說明書》是由系統(tǒng)設(shè)計師負(fù)責(zé),《詳細(xì)設(shè)計說明書》則

由高級程序員負(fù)責(zé)。

6.怎樣理解”面向數(shù)據(jù)方法用在數(shù)據(jù)庫服務(wù)器層次上系統(tǒng)的設(shè)計與實(shí)現(xiàn),面向?qū)ο蠓椒ㄓ迷诔龜?shù)據(jù)庫

服務(wù)器層次外的其他層次上系統(tǒng)的設(shè)計與實(shí)現(xiàn),面向過程方法用在其他兩種方法本身內(nèi)部函數(shù)的設(shè)計

與實(shí)現(xiàn)”?

上述提法是實(shí)事求是的。我們知道,所謂的“面向過程的方法是傳統(tǒng)的軟件工程方法,面向?qū)ο蟮姆?/p>

法是現(xiàn)代軟件工程方法”的觀點(diǎn)是膚淺的。這三種方法不是互相孤立、亳無聯(lián)系、彼此對立的,而是

相互幫助、取長補(bǔ)短、彼此有關(guān)的。三種設(shè)計方法各有所長,所以各有應(yīng)用空間。又各有所短,所以

各有局限性。我們只能揚(yáng)長避短、為我所用。

一般而言,對于一個大型信息系統(tǒng)的建設(shè),由于其分析、設(shè)計、實(shí)現(xiàn)、測試、維護(hù)的重點(diǎn)是數(shù)據(jù)庫

服務(wù)器上的數(shù)據(jù),所以在實(shí)施的過程中,在宏觀上仍然要遵守',五個面向”的實(shí)施理論,即?,面向流程

分析?、面向數(shù)據(jù)設(shè)計、面向?qū)ο髮?shí)現(xiàn)、面向功能測試、面向過程管理

7.請說明“三個模型”的定義及三者之間的關(guān)系。

功能模型是描述系統(tǒng)能做什么,即對系統(tǒng)的功能、性能、接口和界面進(jìn)行定義。

業(yè)務(wù)模型是描述系統(tǒng)在何時、何地、由何角色、按什么業(yè)務(wù)規(guī)則去做,以及做的步驟或流程,即對

系統(tǒng)的操作流程進(jìn)行定義。

數(shù)據(jù)模型是描述系統(tǒng)工作前的數(shù)據(jù)來

溫馨提示

  • 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

提交評論