




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
目錄
第1章軟件工程概述..................................................2
1.軟件具有如下特點(diǎn):........................................................................................................2
2.軟件危機(jī)..................................................................3
3.軟件工程的定義............................................................4
4.軟件工程的目標(biāo)和內(nèi)容.....................................................4
5.軟件工程的原則............................................................6
6.軟件過程..................................................................7
7.軟件生命周期..............................................................7
第2章需求分析.....................................................10
1.概述.....................................................................10
2.需求分析階段的工作.......................................................10
3.需求分析方法.............................................................11
4.結(jié)構(gòu)化分析方法...........................................................12
第3章結(jié)構(gòu)化設(shè)計(jì)方法...............................................13
1.軟件設(shè)計(jì)的基礎(chǔ)............................................................13
2軟件設(shè)計(jì)的基本原理和原則..................................................15
第4章概要設(shè)計(jì).....................................................17
1.概要設(shè)計(jì)的任務(wù)...........................................................17
2.結(jié)構(gòu)圖...................................................................18
3.面向數(shù)據(jù)流的設(shè)計(jì)方法....................................................20
4.面向數(shù)據(jù)流的結(jié)構(gòu)化設(shè)計(jì)過程..............................................22
5.結(jié)構(gòu)化設(shè)計(jì)的準(zhǔn)則........................................................22
第5章詳細(xì)設(shè)計(jì).....................................................23
第6章軟件測試.....................................................24
L軟件測試的目的...........................................................24
2.軟件測試的準(zhǔn)則...........................................................25
3.軟件測試方法.............................................................26
4.白盒測試的測試用例設(shè)計(jì)..................................................27
5.黑盒測試的測試用例設(shè)計(jì)..................................................27
6.軟件測試的實(shí)施...........................................................29
第7章程序的調(diào)試...................................................32
1.程序調(diào)試的基本概念.......................................................32
2.軟件調(diào)試的方法...........................................................33
1
第1章軟件工程概述
L軟件具有如下特點(diǎn):
⑴軟件是一種邏輯實(shí)體,具有抽象性
軟件區(qū)別于一般的、看的見摸得著的、屬于物理實(shí)體的工程對象,
人們只能看見它的存儲介質(zhì),而尢法看到它本身的形態(tài)。只有運(yùn)用邏
輯思維才能把握軟件的功能和特性。
⑵軟件沒有明顯的制作過程
硬件研制成功后,在重復(fù)制造時,要進(jìn)行質(zhì)量控制,才能保證產(chǎn)
品合格;而軟件一旦研制成功,就可以得到大量的、成本極低的,并
且完整精確的副本c因此,軟件的質(zhì)量控制必須著重于軟件開發(fā)。
⑶軟件在使用期間不存在磨損、老化問題
軟件價(jià)值的損失方式是很特殊的,軟件會為了適應(yīng)硬件、環(huán)境以
及需求的變化而進(jìn)行修改,而這些修改不可避免地引入錯誤,導(dǎo)致軟
件失效率升高,從而使得軟件退化。當(dāng)修改的成本變得難以接受時,
軟件就會被拋棄。
⑷對硬件和環(huán)境具有依賴性
軟件的開發(fā)、運(yùn)行對計(jì)算機(jī)硬件和環(huán)境具有不同程度的依賴性,
這給軟件的移植帶來了新的問題。
⑸軟件復(fù)雜性高,成本昂貴
軟件涉及人類社會的各行各業(yè)、方方面面,軟件開發(fā)常常涉及其
他領(lǐng)域的專業(yè)知識c軟件開發(fā)需要投入大量、高強(qiáng)度的腦力勞動,成
本高,風(fēng)險(xiǎn)大。現(xiàn)在軟件的成本已大大地超過了硬件的成本。
2
⑹軟件開發(fā)涉及諸多的社會因素
軟件除了本身具有的復(fù)雜性以外,在開發(fā)過程中,涉及的社會因
素也是非常復(fù)雜的C
下列描述中正確的是()
A)桂序就是軟件
B)軟件開發(fā)不受計(jì)算機(jī)系統(tǒng)的限制
C)軟件既是邏輯實(shí)體,又是物理實(shí)體
D)軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合
2,軟件危機(jī)
軟件危機(jī)泛指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系
列嚴(yán)重問題。這些問題絕不僅僅是不能正常運(yùn)行的軟件才具有的,實(shí)
際上,幾乎所有軟件都不同程度地存在這些問題。
具體地說,在軟件開發(fā)和維護(hù)過程中,軟件危機(jī)主要表現(xiàn)在以下
幾個方面:
(1)不能滿足軟件需求的增長。經(jīng)常會有用戶對系統(tǒng)不滿意的情況
出現(xiàn)。
(2)軟件開發(fā)的成本和進(jìn)度無法控制。開發(fā)成本過高以及開發(fā)周期
過長的情況經(jīng)常發(fā)生。
(3)軟件質(zhì)量難以保證。
(4)軟件可維護(hù)程度低或者不可維護(hù)。
(5)軟件的成本不斷提高。
(6)軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長。
3
總之,可以將軟件危機(jī)歸結(jié)為成本、質(zhì)量、生產(chǎn)率等問題。
下面描述中,不屬于軟件危機(jī)表現(xiàn)的是0
A)軟件過程不規(guī)范
B)軟件開發(fā)生產(chǎn)率低
C)軟件質(zhì)量難以控制
D)軟件成本不斷提高
3.軟件工程的定義
軟件工程概念的出現(xiàn)源自軟件危機(jī)。通過認(rèn)真研究消除軟件危機(jī)
的途徑,逐漸形成了一門新興的工程學(xué)科——計(jì)算機(jī)軟件工程學(xué)(簡
稱為軟件工程)。
國家標(biāo)準(zhǔn)(GB)中指出:軟件工程是指應(yīng)用于計(jì)算機(jī)軟件的定義、
開發(fā)和維護(hù)的一整套方法、工具、文檔、實(shí)踐標(biāo)準(zhǔn)和工序。
軟件工程包含3個要素:方法、工具和過程。
方法:方法是完成軟件開發(fā)各項(xiàng)任務(wù)的技術(shù)手段。
工具:工具支持軟件的開發(fā)、管理、文檔生成。
過程:過程支持軟件開發(fā)的各個環(huán)節(jié)的控制、管理。
下面不屬于軟件工程的3個要素是()
A)工具B)過程C)方法D)環(huán)境
4,軟件工程的目標(biāo)和內(nèi)容
軟件工程的目標(biāo)是:在給定成本、進(jìn)度的前提下,開發(fā)出具有有
效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植
性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品。為了實(shí)現(xiàn)其目標(biāo),
4
軟件工程提出了工程化的思想。
工程是對技術(shù)(或社會)實(shí)體的分析、設(shè)計(jì)、建造、驗(yàn)證和管理。
軟件工程從管理和技術(shù)兩方面指導(dǎo)軟件開發(fā)。它們各自包含的內(nèi)容如
下圖所示。
「軟件開發(fā)方法學(xué)一U的是使軟件的開發(fā)規(guī)范化和I.程化,以克服
Y期的下[作坊生產(chǎn)時的隨意性和作現(xiàn)能性
軟件開J開發(fā)過程
發(fā)技術(shù))開發(fā)工八
I軟件I:程環(huán)境
包括人員組織、進(jìn)度安排、質(zhì)瞅保證、
/軟件管理學(xué)一
配置管理和項(xiàng)目計(jì)劃等
由件工J
程管理〈軟件Ib經(jīng)濟(jì)學(xué)——用經(jīng)濟(jì)學(xué)的林本原理來研究軟件開發(fā)中的經(jīng)濟(jì)
效益問題.包括成本的估算、成本效益分析等
L.w、血/從個體心理、人類行為、組織行為和企業(yè)
“欠仃心理字一文化等角度來研究軟件管理和軟件]:科
圖3.2軟件匚程的理論和技術(shù)性研究
軟件工程研究內(nèi)容:
軟件開發(fā)模型。如:瀑布模型、增量模型、迭代模型。
軟件開發(fā)方法。如:面向過程方法、面向數(shù)據(jù)方法、面向?qū)ο蠓椒ā?/p>
目前使用最廣泛的軟件工程方法學(xué)是結(jié)構(gòu)化方法學(xué)和面向?qū)ο?/p>
方法學(xué)。結(jié)構(gòu)化方法學(xué)也稱為傳統(tǒng)方法學(xué),它采用結(jié)構(gòu)化方法來完成
軟件開發(fā)的各項(xiàng)任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ汰h(huán)境來支持
結(jié)構(gòu)化方法的運(yùn)用它包括結(jié)構(gòu)化分析結(jié)構(gòu)
c(StructuredAnalysis)s
化設(shè)計(jì)(StructuredDesign)和結(jié)構(gòu)化程序設(shè)計(jì)(Structured
Programming)三部分組成。結(jié)構(gòu)化方法的基本指導(dǎo)思想是自頂向下,
逐步求精,它的基本原則是抽象與分解。
軟件支持過程。如:工具、
CASERosePowerDesigner0
軟件管理過程。如:IS09000、CMM、軟件企業(yè)文化。
5
例如,要開發(fā)一個軟件系統(tǒng)(如圖書館信息系統(tǒng)),為了完成這
項(xiàng)任務(wù),首先要選擇軟件開發(fā)模型,確定開發(fā)方法、準(zhǔn)備開發(fā)工具、
設(shè)計(jì)開發(fā)環(huán)境和運(yùn)行環(huán)境,然后進(jìn)行需求分析、設(shè)計(jì)、編程、測試、
試運(yùn)行、正式運(yùn)行、驗(yàn)收和交付,最后是系統(tǒng)維護(hù)或系統(tǒng)升級換代。
這樣就按照所選擇的開發(fā)模型,走完了軟件的一個生命周期,這一系
列的軟件開發(fā)過程和管理過程,就是軟件工程。
下列關(guān)于軟件工程的描述中正確的是0
A)軟件工程只是解決軟件項(xiàng)目的管理問題。
B)軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題。
C)軟件工程的主要思想是強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化
原則。
D)軟件工程只是解決軟件開發(fā)中的技術(shù)問題。
5.軟件工程的原則
軟件工程發(fā)展到現(xiàn)在,已經(jīng)總結(jié)出若干基本原則,所有的軟件項(xiàng)
目都應(yīng)遵循這些原則,以達(dá)到軟件工程的目標(biāo)。軟件工程原則包括抽
象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗(yàn)證
性。具體描述如表3?2所示。
表3-2軟件工程原則
軟件工程原則原則具體描述
采用分層次抽象、“頂向卜二逐層細(xì)化的辦法控制軟件開發(fā)過程的
抽象
復(fù)雜性
6
將模塊設(shè)計(jì)成“黑箱實(shí)現(xiàn)的細(xì)。隱藏在模塊內(nèi)部.不讓模塊的
信總隱蔽
使用者1'[接訪問這就是信息封裝,使用。實(shí)現(xiàn)分離的原則
模塊化模塊化石助產(chǎn)信息隱蔽和抽象.石助于我示狂雜的系統(tǒng)
翟求在一個物理模塊內(nèi)集中邏軾上相互關(guān)聯(lián)的計(jì)算機(jī)資源,保證模
局部化塊之間具行松散的泗A關(guān)系,模塊內(nèi)部具彳j較強(qiáng)的內(nèi)聚.這仃助r
控制分解的融雜性
確定性軟件開發(fā)過程中所有概念的表達(dá)應(yīng)是確定的、無歧義的、規(guī)他的
整個軟件系統(tǒng)的各個楨塊應(yīng)使川一致的概念、符號和術(shù)語;程序內(nèi)
一致性外部接口應(yīng)保持-致;軟件和硬件、操作系統(tǒng)的接口應(yīng)保持?致;
系統(tǒng)規(guī)格說明與系統(tǒng)行為應(yīng)保持一致
軟件系統(tǒng)不上?失任何幣要成分,可以完全實(shí)現(xiàn)系統(tǒng)所要求的功能;
完備性為了保證系統(tǒng)的完備性.在軟件開發(fā)和運(yùn)行過程中需要嚴(yán)格的技術(shù)
評審
開發(fā)大網(wǎng)的軟件系統(tǒng)需要對系統(tǒng)H頂向下、逐U分解系統(tǒng)分解時
可驗(yàn)證性
應(yīng)遵循系統(tǒng)易于檢作、測試、評審的原則,以確保系統(tǒng)的正確性
下面不屬于軟件設(shè)計(jì)原則的是()
A)抽象B)模塊化C)自底向上D)信息隱蔽
6.軟件過程
IS09000定義:軟件過程是把輸人轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源
和活動。
軟件工程過程是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框
架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。
軟件工程過程所進(jìn)行的基本活動主要包含4種,如表3-3所示。
表3-3軟件工程的基本活動
活動名稱含義
軟件規(guī)格說明規(guī)定軟件的功能及其運(yùn)行時的限制
軟件開發(fā)產(chǎn)生滿足規(guī)格說明的軟件
軟件確認(rèn)確認(rèn)傕夠滿足用戶提出的必求
軟件演進(jìn)為滿足客戶要求的變更,軟件必須在使用的過程中不斷演進(jìn)
下面哪個不屬于軟件工程過程的4種基本活動()
A)軟件規(guī)格說明B)軟件開發(fā)
C)軟件演進(jìn)D)軟件測試
7,軟件生命周期
7
軟件生命周期是指把軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用、要/學(xué)習(xí)提示
維護(hù)到停止使用、退役的過程。也就是說,軟件產(chǎn)T魯器舞黑舞
各階段的主要任務(wù)
品從其概念提出開始,到該軟件產(chǎn)品不能使用為止
的整個時間段都屬于軟件生命周期。
軟件生命周期分為3個時期共8個階段。
①軟件定義期:包括問題定義、可行性研究和需求分析3個階段;
②軟件開發(fā)期:包括概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)和測試4個階段;
③運(yùn)行維護(hù)期:即運(yùn)行維護(hù)階段。
軟件生命周期各個階段的活動可以有重復(fù),執(zhí)行時也可以有迭代,如
圖3-4所示。
圖3?4軟件生命周期
軟件生命周期是指()
A)軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程
B)軟件從需求分析、設(shè)計(jì)、實(shí)現(xiàn)到測試完成的過程
C)軟件的開發(fā)過程
D)軟件的運(yùn)行維護(hù)過程
8
下列選項(xiàng)中不屬于軟件生命周期開發(fā)階段任務(wù)的是()
A)軟件測試B)概要設(shè)計(jì)C)軟件維護(hù)D)詳細(xì)設(shè)計(jì)
軟件生命周期可分為定義階段、開發(fā)階段和維護(hù)階段,詳細(xì)設(shè)計(jì)
屬于0
A)定義階段B)開發(fā)階段
C)維護(hù)階段D)上述3個階段
軟件生命周期各階段的主要任務(wù)
在圖3-4中的軟件生命周期各階段的主要任務(wù)是:
①問題定義。確定要求解決的問題是什么。
②可行性研究與計(jì)劃制定。決定該問題是否存在一個可行的解決辦
法,指定完成開發(fā)任務(wù)的實(shí)施計(jì)劃。
③需求分析。對待開發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)定義。
編寫軟件規(guī)格說明書及初步的用戶手冊,理交評審。
④軟件設(shè)計(jì)。通常又分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個階段,給出軟件
的結(jié)構(gòu)、模塊的劃分、功能的分配以及處理流程。該階段提交評審
的文檔有概要設(shè)計(jì)說明書、詳細(xì)設(shè)計(jì)說明書和測試計(jì)劃初稿。
⑤軟件實(shí)現(xiàn)。在軟件設(shè)計(jì)的基礎(chǔ)上編寫程序。該階段完成的文檔有
用戶手冊、操作手冊等面向用戶的文檔,以及為下一步作準(zhǔn)備而編
寫的單元測試計(jì)劃c
⑥軟件測試。在設(shè)計(jì)測試用例的基礎(chǔ)上,檢驗(yàn)軟件的各個組成部
分。編寫測試分析報(bào)告。
⑦運(yùn)行維護(hù)。將已交付的軟件投入運(yùn)行,同時不斷地維護(hù),進(jìn)行必
9
要而且可行的擴(kuò)充和刪改。
下列描述中正確的是()
A)軟件交付使用后還需要再進(jìn)行維護(hù)
B)軟件工具交付使用就不需要再進(jìn)行維護(hù)
C)軟件交付使用后其生命周期就結(jié)束
D)軟件維護(hù)是指修復(fù)程序中被破壞的指令
第2章需求分析
1.概述
軟件需求是指用戶對目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)
約束等方面的期望c需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定
義需求的過程。需求分析將創(chuàng)建所需的數(shù)據(jù)模型、功能模型和控制
模型。
需求分析的過程是開發(fā)人員與用戶共同協(xié)商,明確系統(tǒng)的全部
功能、性能以及運(yùn)行規(guī)格,并且使用軟件開發(fā)人員和用戶都能理解
的語言準(zhǔn)確地表達(dá)出來,即完成需求規(guī)格說明的過程。
2.需求分析階段的工作
概括地說,需求分析階段的工作可以分為4個小“學(xué)”示
方面:需求獲取、需求分析、編寫需求規(guī)格說明書界匕T分析階履的,
和需求評審。
⑴需求獲取
了解用戶當(dāng)前所處的情況,發(fā)現(xiàn)用戶所面臨的問題和對目標(biāo)系
統(tǒng)的基本需求;接下來應(yīng)該與用戶深入交流,對用戶的基本需求反復(fù)
10
細(xì)化逐步求精,以得出對目標(biāo)系統(tǒng)的完整、準(zhǔn)確和具體的需求。
(2)需求分析
對獲取的需求進(jìn)行分析和綜合,最終給出系統(tǒng)的解決方案和目
標(biāo)系統(tǒng)的邏輯模型C
⑶編寫需求規(guī)格說明書
需求規(guī)格說明書是需求分析的階段性成果,它可以為用戶、分
析人員和設(shè)計(jì)人員之間的交流提供方便,可以直接支持目標(biāo)系統(tǒng)的
確認(rèn),又可以作為控制軟件開發(fā)進(jìn)程的依據(jù)。
⑷需求評審
通常主要從一致性、完整性、現(xiàn)實(shí)性和有效性4個方面復(fù)審軟
件需求規(guī)格說明書C
下面不屬于軟件需求分析階段主要工作的是0
A)需求變更申請B)需求分析
C)需求評審D)需求獲取
3?需求分析方法
需求分析方法可以分為結(jié)構(gòu)化分析方法和面向?qū)ο蟮姆治龇椒?/p>
兩大類。
(1)結(jié)構(gòu)化分析方法
主要包括:面向數(shù)據(jù)流的結(jié)構(gòu)化分析(StructuredAnalysis,SA)方
法、面向數(shù)據(jù)結(jié)構(gòu)的Jackson系統(tǒng)開發(fā)(JacksonSystem
DevelopmentMethod,JSD)方法和面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)
開發(fā)(DataStructuredSystemDevelopmentMethod,DSSD)方法。
li
⑵面向?qū)ο蟮姆治觯∣bject-OrientedAnalysis,00A)方法面向?qū)?/p>
象分析是面向?qū)ο筌浖こ谭椒ǖ牡谝粋€環(huán)節(jié),包括一套概念原
則、過程步驟、表示方法、提交文檔等規(guī)范要求。
4,結(jié)構(gòu)化分析方法
DeMarco對面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法有如卜定義:
使用數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、結(jié)構(gòu)化英語、判定表
和判定樹等工具,來建立一種新的、稱為結(jié)構(gòu)化規(guī)格說明的目標(biāo)文
檔。
SA方法的實(shí)質(zhì)是著眼于數(shù)據(jù)流、自頂向下、對系統(tǒng)的功能進(jìn)行
逐層分解、以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模
型。
數(shù)據(jù)流程圖(DFD圖)是()
A)軟件概要設(shè)計(jì)的工具B)軟件詳細(xì)設(shè)計(jì)的工具
C)結(jié)構(gòu)化方法的需求分析工具D)面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ?/p>
在軟件開發(fā)中,需求分析階段可以使用的工具是()
A)N-S圖B)DFD圖C)PAD圖D)程序流程圖
數(shù)據(jù)流圖中帶有箭頭的線段表示的是()
A)控制流B)事件驅(qū)動C)模塊調(diào)用D)數(shù)據(jù)流
數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特
定的圖符構(gòu)成。下面圖符名標(biāo)識的圖符不屬于數(shù)據(jù)流圖合法圖符
的是()
A)控制流B)加工C)數(shù)據(jù)存儲D)源和潭
12
數(shù)據(jù)字典(DD)所定義的對象都包含于()
A)數(shù)據(jù)流圖(DFD圖)B)程序流程圖
C)軟件結(jié)構(gòu)圖D)方框圖
下列關(guān)于數(shù)據(jù)庫設(shè)計(jì)的敘述中,正確的是()
A)在需求分析階段建立數(shù)據(jù)字典
B)在概念設(shè)計(jì)階段建立數(shù)據(jù)字典
C)在邏輯設(shè)計(jì)階段建立數(shù)據(jù)字典
D)在物理設(shè)計(jì)階段建立數(shù)據(jù)字典
下面不能作為結(jié)構(gòu)化方法軟件需求分析工具的是()
A)系統(tǒng)結(jié)構(gòu)圖B)數(shù)據(jù)字典(DD)
C)數(shù)據(jù)流程圖(DFD圖)D)判定表
在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()
A)軟件集成測試計(jì)劃B)軟件詳細(xì)設(shè)計(jì)說明書
C)用戶手冊D)軟件需求規(guī)格說明書
軟件需求規(guī)格說明書的作用不包括0
A)軟件驗(yàn)收的依據(jù)
B)用戶與開發(fā)人員對軟件要做什么的共同理解
C)軟件設(shè)計(jì)的依據(jù)
D)軟件可行性研究的依據(jù)
第3章結(jié)構(gòu)化設(shè)計(jì)方法
L軟件設(shè)計(jì)的基礎(chǔ)
在需求分析階段,使用數(shù)據(jù)流圖和數(shù)據(jù)字典等工具已經(jīng)建立了
13
系統(tǒng)的邏輯模型,解決了“做什么”的問題。接下來的軟件設(shè)計(jì)階
段,是解決“怎么做”的問題。本節(jié)主要介紹軟件工程的軟件設(shè)計(jì)
階段。軟件設(shè)計(jì)可分為兩步:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。
在軟件生命周期中,能準(zhǔn)確確定軟件系統(tǒng)必須做什么和必須具備
哪些功能的階段是()
A)概要設(shè)計(jì)B)詳細(xì)設(shè)計(jì)
C)可行性分析D)需求分析
軟件設(shè)計(jì)的基本目標(biāo)是用比較抽象概括的方式確定目標(biāo)系統(tǒng)如
何完成預(yù)定的任務(wù),也就是說,軟件設(shè)計(jì)是確定系統(tǒng)的物理模型。
軟件設(shè)計(jì)是開發(fā)階段最重要的步驟。從工程管理的角度來看可
分為兩步:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。從技術(shù)觀點(diǎn)來看,軟件設(shè)計(jì)包括軟
件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)、過程沒計(jì)4個步驟,如表3-7
所示。
表3-7軟件設(shè)計(jì)的劃分
劃分名稱含義
將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu).確定系統(tǒng)及接【1、全局?jǐn)?shù)據(jù)結(jié)構(gòu)
糊耍設(shè)it
或數(shù)據(jù)庫模式
按工程管理角度則分
確迎每個模塊的實(shí)現(xiàn)算法和用部數(shù)據(jù)結(jié)構(gòu).用適當(dāng)方法表示算法和
詳細(xì)設(shè)計(jì)
數(shù)據(jù)結(jié)構(gòu)的細(xì)H
結(jié)構(gòu)設(shè)計(jì)定義軟件系統(tǒng)各主饕部件之間的美系
數(shù)據(jù)沒什將分析時創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義
按技術(shù)觀點(diǎn)劃分
接U設(shè)計(jì)描述軟件內(nèi)部、軟件和協(xié)作系統(tǒng)之間以及軟件與人之間如何通信
過程設(shè)計(jì)把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述
從工程管理角度看,軟件設(shè)計(jì)一般分兩步完成,它們是()
A)概要設(shè)計(jì)與詳細(xì)設(shè)計(jì)B)數(shù)據(jù)設(shè)計(jì)與接口設(shè)計(jì)
C)軟件結(jié)構(gòu)設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì)D)過程設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì)
14
2軟件設(shè)計(jì)的基本原理和原則
軟件設(shè)計(jì)過程中應(yīng)該遵循的基本原理和原則如下所述。
(1)模塊化
模塊化把軟件劃分成獨(dú)立命名且可獨(dú)立訪問的模塊,每個模塊
完成一個子功能,把這些模塊集成起來構(gòu)成一個整體,可以完成指
定的功能滿足用戶的需求。
模塊化是為了把復(fù)雜的問題自頂向下逐層分解成許多容易解決
的小問題,原來的問題也就容易解決了。模塊化使程序結(jié)構(gòu)清晰,
容易閱讀、理解、測試和調(diào)試。
在考慮模塊化的過程中,應(yīng)該避免模決劃分的數(shù)目過多或者過
少。
(2)抽象
抽象是人類在認(rèn)識復(fù)雜現(xiàn)象的過程中使用的最強(qiáng)有力的思維工
具。抽象就是抽出事物的本質(zhì)特性,將相似的方面集中和概括起
來,而暫時不考慮它們的細(xì)節(jié),暫時忽略它們之間的差異。
(3)信息隱藏
應(yīng)用模塊化原理時,自然會產(chǎn)生的一個問題是“為了得到最好
的一組模塊,應(yīng)該怎樣分解軟件二
信息隱藏原理指出:設(shè)計(jì)和確定模塊時,應(yīng)使得一個模塊內(nèi)包含
的信息(過程和數(shù)據(jù))對于不需要這些信息的模塊來說,是不能訪問
的。
⑷模塊獨(dú)立性
15
模塊獨(dú)立性含義是每個模塊完成一個相對獨(dú)立的特定子功能,
并且和其他模塊之間的關(guān)系很簡單。
模塊獨(dú)立性的高低是設(shè)計(jì)好壞的關(guān)鍵,而設(shè)計(jì)又是決定軟件質(zhì)
量的關(guān)鍵環(huán)節(jié)。模塊的獨(dú)立程度可以由兩個定性標(biāo)準(zhǔn)度量:內(nèi)聚性和
耦合性。
①耦合衡量不同模塊彼此間互相依賴(連接)的緊密程度。
②內(nèi)聚衡量一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度。
一般來說,要求模塊之間的耦合盡可能弱,即模塊盡可能獨(dú)
立,且要求模塊的內(nèi)聚程度盡可能高。內(nèi)聚性和耦合性是一個問題
的兩個方面,耦合性程度弱的模塊,其內(nèi)聚程度一定高。
軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的準(zhǔn)則是()
A)低內(nèi)聚低耦合B)高內(nèi)聚低耦合
C)低內(nèi)聚高耦合D)高內(nèi)聚高耦合
耦合性和內(nèi)聚性是對模塊獨(dú)立性度量的兩個標(biāo)準(zhǔn),下列敘述中正
確的是()
A)提高耦合性降低內(nèi)聚性有利于提高模塊的獨(dú)立性
B)降低耦合性提高內(nèi)聚性有利于提高模塊的獨(dú)立性
C)耦合性是指一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度
D)內(nèi)聚性是指模塊間互相連接的緊密程度
兩個或兩個以上模塊之間關(guān)聯(lián)的緊密程度稱為()
A)耦合度B)內(nèi)聚度C)復(fù)雜度D)數(shù)據(jù)傳輸特性
在結(jié)構(gòu)化設(shè)計(jì)中,模塊劃分的原則是()
16
A)各模塊應(yīng)包括盡量多的功能
B)各模塊的規(guī)模應(yīng)盡量大
C)各模塊之間的聯(lián)系應(yīng)盡量緊密
D)模塊內(nèi)具有高內(nèi)聚度、模塊間具有低耦合度
第4章概要設(shè)計(jì)
L概要設(shè)計(jì)的任務(wù)
概要設(shè)計(jì)又稱總體設(shè)計(jì),軟件概要設(shè)計(jì)的基本任務(wù)如下所述。
(1)設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu)
為了實(shí)現(xiàn)目標(biāo)系統(tǒng),先進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì),具體過程如圖3-6所
按功能劃分模塊
確定旬個模塊功能I
確定模塊調(diào)用關(guān)系
確定模塊之間接”
評估模塊結(jié)構(gòu)質(zhì)照
3-6軟件系統(tǒng)結(jié)構(gòu)
設(shè)計(jì)過程
(2)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計(jì)
數(shù)據(jù)設(shè)計(jì)是實(shí)現(xiàn)需求定義和規(guī)格說明中提出的數(shù)據(jù)對象的邏輯表
不。
⑶編寫概要設(shè)計(jì)文當(dāng)
概要設(shè)計(jì)階段的文檔有概要設(shè)計(jì)說明書、數(shù)據(jù)庫設(shè)計(jì)說明書和集成
測試計(jì)劃等。
(4)概要設(shè)計(jì)文檔評審
在文檔編寫完成后,要對設(shè)計(jì)部分是否完整地實(shí)現(xiàn)了需求中規(guī)定的
17
功能、性能等要求,設(shè)計(jì)方案的可行性,關(guān)鍵的處理及內(nèi)外部接口
定義的正確性、有效性,各部分之間的一致性等進(jìn)行評審似免在以
后的設(shè)計(jì)中出現(xiàn)大的問題而返工。
綜上所述,概要設(shè)計(jì)的主要任務(wù)可以分為兩部分,如圖3-7所示。
設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu)
(設(shè)計(jì)
[設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫
概要設(shè)計(jì),
[編。概要設(shè)計(jì)文檔
【文檔
I評審
圖3-7概要設(shè)計(jì)的任務(wù)
2.結(jié)構(gòu)圖
在結(jié)構(gòu)化設(shè)計(jì)方法中,常用的結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖(Stucture
Chart,SC),也稱為程序結(jié)構(gòu)圖。結(jié)構(gòu)圖的基本圖符及含義如表3-
10所示。
表3-10結(jié)構(gòu)圖基本圖符及含義
概念含義圖符
一個矩形代表?個模塊.矩形內(nèi)注明模塊的名字或主?■■
模塊一般模塊
要功能
調(diào)用關(guān)系矩形之間的脩頭(或直線)表示模塊的利用關(guān)系-------調(diào)用關(guān)系
用帶注耗的箭頭表示模塊調(diào)用過程中來mi傳遞的信息
如果心中進(jìn)一步標(biāo)明傳遞的信息是數(shù)據(jù)信息還是控制---------A數(shù)據(jù)信息
信息
信息,則可用帶實(shí)心網(wǎng)的箭頭表示是控制信息.空心?--------?控制信息
圈表示數(shù)搟信息
根據(jù)結(jié)構(gòu)化設(shè)計(jì)思想,結(jié)構(gòu)圖構(gòu)成的基本形LULML±J
Jt/\0
式有3種:順序形式、選擇形式和重復(fù)形
EEEE
式。⑶.(0
圖3-8結(jié)構(gòu)圖的圖形表示
圖3-8(a)是最基本的調(diào)用形式—順序形
式。此外還有一些附加的符號,可以表示模塊的選擇調(diào)用或循環(huán)調(diào)
用。
圖3-8(b)表示當(dāng)模塊M中某個判定為真時調(diào)用模塊A,為假時調(diào)用模
18
塊B。
圖3-8⑹表示模塊M循環(huán)調(diào)用模
塊A。結(jié)構(gòu)圖有4種經(jīng)常使用的
模塊類型:傳入模塊、傳出模塊、
變換模塊和協(xié)調(diào)模塊。其表示形
式如圖3-9所示,含義如表3-圖3-9結(jié)構(gòu)圖4種模塊類型
11所不。
表3?11結(jié)構(gòu)圖模塊類型及含義
協(xié)網(wǎng)模塊時所有嚇屬模塊進(jìn)行協(xié)謝和管理
從下級模塊取得數(shù)據(jù),經(jīng)處理再將K傳
傳入模塊
送紿上級快塊
從上級模塊取得數(shù)據(jù),進(jìn)行特定的處理.
變換模塊
轉(zhuǎn)換成其他形式.再傳送給上級模塊
從上級模塊取得數(shù)據(jù).經(jīng)處理再將此佐
傳出模塊
送給下屬模塊
軟件的結(jié)構(gòu)是一種層次化的表示,它指出了軟件的各個模塊之間的
關(guān)系,如圖3-10所不。
圖3.10軟件結(jié)構(gòu)
圖3-10的結(jié)構(gòu)圖中涉及幾個術(shù)語,現(xiàn)簡述如表3-12所示。
*3-12結(jié)構(gòu)圖術(shù)語
1???他MJG他怏塊的K!欣
從舊模塊被另一個慢快一州的模城
軻中位于葉子鋁點(diǎn)的模塊.也就是沒〃從M
堵點(diǎn)的模塊
Wtt表示控制的以數(shù)
寬度U大模塊數(shù)的小的打M的度
WA兩川個吩定校塊的懵塊個數(shù)
AM由一個模塊在接網(wǎng)用的其偷模塊收
19
對軟件系統(tǒng)總體結(jié)構(gòu)圖描述正確的是()。
A、從屬模塊一定是原子模塊
B、扇入是一個模塊直接調(diào)用的其他模塊數(shù)
C、結(jié)構(gòu)圖是描述軟件系統(tǒng)功能的
D、深度等于控制的層數(shù)
某系統(tǒng)總體結(jié)構(gòu)如下圖所示該系統(tǒng)結(jié)構(gòu)圖的寬度是()o
A、2B、3C、4Ds5
某系統(tǒng)總體結(jié)構(gòu)如下圖所示,該系統(tǒng)結(jié)構(gòu)圖的深度是()。
As1B、2C、3D、4
3.面向數(shù)據(jù)流的設(shè)計(jì)方法
在需求分析階段,用SA方法產(chǎn)生了數(shù)據(jù)流圖。面向數(shù)據(jù)流的結(jié)構(gòu)化
設(shè)計(jì)(SD),能夠方便地將數(shù)據(jù)流圖DFD轉(zhuǎn)換成程序結(jié)構(gòu)圖。DFD從
系統(tǒng)的輸入數(shù)據(jù)流到系統(tǒng)的輸出數(shù)據(jù)流的一連串連續(xù)加工形成了一
20
條信息流。下面首先介紹數(shù)據(jù)流圖的不同類型,然后介紹針對不同
的類型所作的處理C
⑴數(shù)據(jù)流圖的類型
數(shù)據(jù)流圖的信息流可分為兩種類型:變換流和事務(wù)流。相應(yīng)地,數(shù)據(jù)
流圖有兩種典型的結(jié)構(gòu)形式:變換型和事務(wù)型。
①變換型。信息沿輸入通路進(jìn)入系統(tǒng),同時由外部形式變換成內(nèi)部
形式,然后通過變換中心(也叫主加工),經(jīng)加工處理以后再沿輸出
通路變換成外部形式離開軟件系統(tǒng)。當(dāng)數(shù)據(jù)流圖具有這些特征時,
這種信息流就稱為變換流,這種數(shù)據(jù)流圖,稱為變換型數(shù)據(jù)流圖。
變換型數(shù)據(jù)流圖可以明顯地分成輸入、變疾中心、輸出3大部分,
如圖3-11所示。
②事務(wù)型。信息沿著輸入通路到達(dá)一個事務(wù)中心,事務(wù)中心根據(jù)輸
入信息(稱為事務(wù))的類型在若干個處理序列(稱為活動流)中選擇
一個來執(zhí)行,這種信息流稱為事物流,這種數(shù)據(jù)流圖,稱為事務(wù)型
數(shù)據(jù)流圖。事務(wù)型數(shù)據(jù)流圖有明顯的事務(wù)中心,各活動流以事物中
心為起點(diǎn)呈輻射狀流出,如圖3-12所示。
21
4.面向數(shù)據(jù)流的結(jié)構(gòu)化設(shè)計(jì)過程
步驟1確認(rèn)數(shù)據(jù)流圖的類型(是事務(wù)型還是變換型)
步驟2說明數(shù)據(jù)流的邊界。
步驟3把數(shù)據(jù)流圖映射為結(jié)構(gòu)圖。根據(jù)數(shù)據(jù)流圖的類型進(jìn)行事務(wù)分
析或變換分析。
步驟4根據(jù)下面介紹的設(shè)計(jì)準(zhǔn)則對產(chǎn)生的結(jié)構(gòu)進(jìn)行優(yōu)化。
5.結(jié)構(gòu)化設(shè)計(jì)的準(zhǔn)則
大量的實(shí)踐表明,以下的設(shè)計(jì)準(zhǔn)則可以借鑒為設(shè)計(jì)的指導(dǎo)和對軟件
結(jié)構(gòu)圖進(jìn)行優(yōu)化的條件。
①提高模塊獨(dú)立性c模塊獨(dú)立性是結(jié)構(gòu)設(shè)計(jì)好壞的最重要標(biāo)準(zhǔn)。設(shè)
計(jì)出軟件的初步結(jié)構(gòu)以后,應(yīng)該分析這個結(jié)構(gòu),通過模塊分解或合
并,力求降低耦合提高內(nèi)聚。
②模塊規(guī)模應(yīng)該適中。過大的模塊往往是因?yàn)榉纸獠怀浞郑荒K過
小,則開銷大于有效操作,而且模塊數(shù)目近多將使系統(tǒng)接口復(fù)雜。
③深度、寬度、扇出和扇入都應(yīng)適當(dāng)。深度表示軟件結(jié)構(gòu)中控制的
層數(shù),如果層數(shù)過多則應(yīng)該考慮是否有許多管理模塊過于簡單了,
要考慮能否適當(dāng)合并。
如果寬度過大說明系統(tǒng)的控制過于集中。
扇出過大意味著模塊過分復(fù)雜,需要控制和協(xié)調(diào)過多的下級模塊扇
出過小時可以把下級模塊進(jìn)一步分解成若干個子功能模塊,或者合
并到它的上級模塊中去。
扇入越大則共享該模塊的上級模塊數(shù)目越多,這是有好處的,但
22
是,不能犧牲模塊的獨(dú)立性單純追求高扇入。
大量實(shí)踐表明,設(shè)計(jì)得很好的軟件結(jié)構(gòu)通常頂層扇出比較高,中層
扇出較少,底層模塊有高扇入。
④模塊的作用域應(yīng)該在控制域之內(nèi)。在一個設(shè)計(jì)得很好的系統(tǒng)中,
所有受判定影響的模塊應(yīng)該都從屬于作出判定的那個模塊,最好局
限于作出判定的那個模塊本身及它的直屬下級模塊。
⑤降低模塊之間接口的復(fù)雜程度。應(yīng)該仔細(xì)設(shè)計(jì)模塊接口,使得信
息傳遞簡單并且和模塊的功能一致。
⑥設(shè)計(jì)單入口單出口的模塊,不要使模塊間出現(xiàn)內(nèi)容耦合。
⑦模塊功能應(yīng)該可以預(yù)測。如果一個模塊可以當(dāng)作一個黑盒,也就
是說,只要輸入的數(shù)據(jù)相同就產(chǎn)生同樣的輸出,這個模塊的功能就
是可以預(yù)測的。
第5章詳細(xì)設(shè)計(jì)
詳細(xì)設(shè)計(jì)的任務(wù),是為軟件結(jié)構(gòu)圖中的每一個模塊12北靠
確定實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工具表示算法和數(shù)
據(jù)結(jié)構(gòu)的細(xì)節(jié)。
常用的過程設(shè)計(jì)工具如下所述。
?圖形工具:程序流程圖、N-S圖、PAD圖、HIPO.
表格工具:判定表。
,語言工具:PDL(偽碼)。
在軟件設(shè)計(jì)階段不使用()
A、DFD圖(數(shù)據(jù)流程圖)
23
B、PAD圖
C、程序流程圖
D、判定表
第6章軟件測試3^^學(xué)”家
軟件測試就是在軟件投入運(yùn)行之前,盡可能多地”皿|
發(fā)現(xiàn)軟件中的錯誤c軟件測試是保證軟件質(zhì)量、可靠性的關(guān)鍵步
驟。它是對軟件規(guī)格說明、設(shè)計(jì)和編碼的最后復(fù)審。通常,軟件測
試的工作量往往占軟件開發(fā)總工作量的4。%以上。
SA學(xué)習(xí)提爾
【熟記】軟件測試的目的
L軟件測試的目的
GrenfordJ.Myers給出了軟件測試的目的。
⑴測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程。
⑵好的測試用例(testcase)很可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤。
⑶一次成功的測試是指發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤。
測試的目的是發(fā)現(xiàn)軟件中的錯誤,但是,暴露錯誤并不是軟件測試
的最終目的,測試的根本目的是盡可能多地發(fā)現(xiàn)并排除軟件中隱藏
的錯誤。
軟件測試的目的是()
A)評估軟件可靠性B)發(fā)現(xiàn)并改正程序中的錯誤
C)改正程序中的錯誤D)發(fā)現(xiàn)程序中的錯誤
下列對于軟件測試的描述中正確的是()
24
A)軟件測試的目的是證明程序是否正確
B)軟件測試的目的是使程序運(yùn)行結(jié)果正確
C)軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯誤
D)軟件測試的目的是使程序符合結(jié)構(gòu)化原則
2.軟件測試的準(zhǔn)則
根據(jù)上述軟件測試的目的,為了能設(shè)計(jì)出有效的測試方案,以及好
的測試用例,軟件測試人員必須深入理解,并正確運(yùn)用以下軟件測
試的基本準(zhǔn)則。
⑴所有測試都應(yīng)追溯到用戶需求。
⑵在測試之前制定測試計(jì)劃,并嚴(yán)格執(zhí)行。
(3)充分注意測試中的群集現(xiàn)象。
⑷避免由程序的編寫者測試自己的程序。
(5)不可能進(jìn)行窮舉測試。
(6)妥善保存測試計(jì)劃、測試用例、出錯統(tǒng)計(jì)和最終分析報(bào)告,為
維護(hù)提供方便。
下列描述中正確的是0
A)軟件測試的主要目的是發(fā)現(xiàn)程序中的錯誤
B)軟件測試的主要目的是確定程序中錯誤的位置
C)為了提高軟件測試的效率,最好由程序編制者自己來完成軟件
測試的工作
D)軟件測試是證明軟件沒有錯誤
25
3.軟件測試方法
軟件測試具有多種方法,根據(jù)軟件是否需要被執(zhí)行,可以分為靜態(tài)測
試和動態(tài)測試。如果按照功能劃分,可以分為白盒測試和黑盒測
試。
(1)靜態(tài)測試
包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量等。
其中代碼檢查分為代碼審查、代碼走查、桌面檢查、靜態(tài)分析等具
體形式。
(2)動態(tài)測試
靜態(tài)測試不實(shí)際運(yùn)行軟件,主要通過人工進(jìn)行分析。動態(tài)測試就是
通常所說的上機(jī)測試,通過運(yùn)行軟件來檢驗(yàn)軟件中的動態(tài)行為和運(yùn)
行結(jié)果的正確性。
動態(tài)測試的關(guān)鍵是設(shè)計(jì)高效、合理的測試用例。測試用例就是為測
試設(shè)計(jì)的數(shù)據(jù),由測試輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果兩部分組成。測
試用例的設(shè)計(jì)方法一般分為兩類:黑盒測試方法和白盒測試方法。
Q)白盒測試
白盒測試是把程序看成裝在一只透明的白盒子里,測試者完全了解
程序的結(jié)構(gòu)和處理過程。它根據(jù)程序的內(nèi)部邏輯來設(shè)計(jì)測試用例,
檢查程序中的邏輯通路是否都按預(yù)定的要求正確地工作。
(2)黑盒測試
黑盒測試是把程序看成一只黑盒子,測試者完全不了解,或不考慮
程序的結(jié)構(gòu)和處理過程。它根據(jù)規(guī)格說明書的功能來設(shè)計(jì)測試用
26
例,檢查程序的功能是否符合規(guī)格說明的要求。
4?白盒測試的測試用例設(shè)計(jì)
白盒測試又稱為結(jié)構(gòu)測試或邏輯驅(qū)動測試。它允許測試人員利用程
序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息來設(shè)計(jì)或選擇測試用例,對程序所有
的邏輯路徑進(jìn)行測試。白盒測試是在程序內(nèi)部
進(jìn)行,主要用于完成軟件內(nèi)部操作的驗(yàn)證。
白盒測試的主要技術(shù)有邏輯覆蓋測試、基本路徑測試等
邏輯覆蓋泛指一系列以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的測試用例設(shè)計(jì)
技術(shù)。程序中的邏輯表示主要有判斷、分支、條件3種表示方式。
基本路徑測試的思路和步驟是:根據(jù)軟件過程性描述中的控制流程
確定程序的環(huán)路復(fù)雜性度量,用此度量定義基本路徑集合,并由此
導(dǎo)出一組測試用例對每一條獨(dú)立執(zhí)行路徑進(jìn)行測試。
?LA學(xué)習(xí)提示
【M3」JK1T■4的手■
技術(shù)
(3M]黑盒涌試的測試用
5.黑盒測試的測試用例設(shè)計(jì)則設(shè)計(jì)
黑盒測試方法又稱功能測試或數(shù)據(jù)驅(qū)動測試,著重測試軟件功能。白
盒測試在測試過程的早期階段進(jìn)行,而黑盒測試主要用于軟件的確
認(rèn)測試。
黑盒測試完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和處理過程,黑盒測試是
在軟件接口處進(jìn)行,檢查和驗(yàn)證程序的功能是否符合需求規(guī)格說明
書的功能說明。
常用的黑盒測試方法和技術(shù)有:等價(jià)類劃分法、邊界值分析法、錯誤
推測法和因果圖等C
27
(1)等價(jià)類劃分法
等價(jià)類劃分是一種常用的黑盒測試方法,這種技術(shù)的方法是先把程
序的所有可能的輸入劃分成若干個等價(jià)類,然后根據(jù)等價(jià)類選取相
應(yīng)的測試用例。每個等價(jià)類中各個輸入數(shù)據(jù)對發(fā)現(xiàn)程序中錯誤的幾
率兒乎是相同的。因此,從每個等價(jià)類中只取一組數(shù)據(jù)作為測試數(shù)
據(jù),這樣選取的測試數(shù)據(jù)最有代表性,最可能發(fā)現(xiàn)程序中的錯誤,
并且大大減少了需要的測試數(shù)據(jù)的數(shù)量。
(2)邊界值分析法
邊界值分析法是對各種輸入、輸出范圍的邊界情況設(shè)計(jì)測試用例的
方法。
大量的實(shí)踐表明,程序在處理邊界值時容易出錯,因此設(shè)計(jì)一些測
試用例,使程序運(yùn)行在邊界情況附近,這樣揭露程序中錯誤的可能
性就更大。
選取的測試數(shù)據(jù)應(yīng)該剛好等于、小于和大于邊界值。也就是說,按
照邊界值分析法,應(yīng)該選取剛好等于、稍小于和稍大于等價(jià)類邊界
值的數(shù)據(jù)作為測試數(shù)據(jù),而不是選取每個等價(jià)類內(nèi)的典型值或任意
值作為測試數(shù)據(jù)。
通常設(shè)計(jì)測試方案E寸總是把等價(jià)劃分和邊界值分析法結(jié)合使用。
(3)錯誤推測法
錯誤推測法是一種憑直覺和經(jīng)驗(yàn)推測某些可能存在的錯誤,從而針
對這些可能存在的錯誤設(shè)計(jì)測試用例的方法。這種方法沒有機(jī)械的
執(zhí)行過程,主要依靠直覺和經(jīng)驗(yàn)。
28
錯誤推測法針對性強(qiáng),可以直接切入可能的錯誤,直接定位,是一
種非常實(shí)用、有效的方法,但是需要非常豐富的經(jīng)驗(yàn)。
下面屬于白盒測試方法的是()
A)等價(jià)類劃分法B)邏輯覆蓋
C)邊界值分析法D)錯誤推測法
在黑盒測試方法中,設(shè)計(jì)測試用例的主要根據(jù)是()
A)程序內(nèi)部邏輯B)程序外部功能
C)程序數(shù)據(jù)結(jié)構(gòu)D)程序流程圖
6,軟件測試的實(shí)施
軟件測試的實(shí)施過程主要有4個步驟:單元測試、集成測試、確認(rèn)測
試(驗(yàn)收測試)和系統(tǒng)測試。
(1)單元測試
單元測試也稱模塊測試,模塊是軟件設(shè)計(jì)的最小單位,單元測試是
對模塊進(jìn)行正確性的檢驗(yàn),以期盡早發(fā)現(xiàn)各模塊內(nèi)部可能存在的各
種錯誤。
通常單元測試在編碼階段進(jìn)行,單元測試的依據(jù)除了源程序以外還
有詳細(xì)設(shè)計(jì)說明書c單元測試可以采用靜態(tài)測試或者動態(tài)測試。動
態(tài)測試通常以白盒測試法為主,測試其結(jié)構(gòu),以黑盒測試法為輔,測
試其功能。
單元測試是針對單個模
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字鴻溝與政策應(yīng)對探討試題及答案
- 西方國家政策管理與社會變化的適應(yīng)試題及答案
- 現(xiàn)代材料力學(xué)試題及答案
- 政策過程中的利益代表與博弈試題及答案
- 2024年上海二醫(yī)投資管理有限公司招聘筆試真題
- 復(fù)雜社會中公共政策的適應(yīng)性試題及答案
- 強(qiáng)化學(xué)習(xí)的網(wǎng)絡(luò)工程師試題及答案
- 上海中智科創(chuàng)服務(wù)外包有限公司招聘考試真題2024
- 榕江縣樂里鎮(zhèn)中心衛(wèi)生院鄉(xiāng)村醫(yī)生招聘考試真題2024
- 地方政府在公共政策中的實(shí)踐和挑戰(zhàn)試題及答案
- 銀華紹興原水水利REIT:銀華紹興原水水利封閉式基礎(chǔ)設(shè)施證券投資基金2024年度資產(chǎn)評估報(bào)告
- 2025至2030年中國聚己內(nèi)酯(PCL)行業(yè)深度調(diào)研與投資戰(zhàn)略咨詢報(bào)告
- 2025年部編版新教材語文一年級下冊期末復(fù)習(xí)計(jì)劃及全冊單元復(fù)習(xí)課教案
- 早自習(xí)遲到檢討書綜合(總結(jié)19篇)
- 中考語文試卷名著閱讀專題匯編《艾青詩選》詩歌賞析題(截至2024年)
- 塑料零件的快速換模技術(shù)考核試卷
- 足療技師2025年度買鐘外出安全協(xié)議細(xì)則
- 大學(xué)生創(chuàng)業(yè)基礎(chǔ)知到智慧樹章節(jié)測試課后答案2024年秋湖北工業(yè)大學(xué)
- 人教版七年級生物下冊第四單元測試題及答案
- 硫酸的安全培訓(xùn)
- 《化工過程本質(zhì)安全化評估技術(shù)指南》
評論
0/150
提交評論