第3章-公共基礎(chǔ)軟件工程基礎(chǔ)課件_第1頁(yè)
第3章-公共基礎(chǔ)軟件工程基礎(chǔ)課件_第2頁(yè)
第3章-公共基礎(chǔ)軟件工程基礎(chǔ)課件_第3頁(yè)
第3章-公共基礎(chǔ)軟件工程基礎(chǔ)課件_第4頁(yè)
第3章-公共基礎(chǔ)軟件工程基礎(chǔ)課件_第5頁(yè)
已閱讀5頁(yè),還剩101頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

全國(guó)計(jì)算機(jī)等級(jí)考試

二級(jí)公共基礎(chǔ)知識(shí)

鹽城工學(xué)院計(jì)算機(jī)基礎(chǔ)中心軟件工程基礎(chǔ)全國(guó)計(jì)算機(jī)等級(jí)考試

二級(jí)公共基礎(chǔ)知識(shí)

軟件工程基礎(chǔ)學(xué)習(xí)內(nèi)容

軟件工程基本概念,軟件生命周期概念,軟件工具與軟件開(kāi)發(fā)環(huán)境。結(jié)構(gòu)化分析方法,數(shù)據(jù)流圖,數(shù)據(jù)字典,軟件需求規(guī)格說(shuō)明書(shū)。結(jié)構(gòu)化設(shè)計(jì)方法,總體設(shè)計(jì)與詳細(xì)設(shè)計(jì)。軟件測(cè)試的方法,白盒測(cè)試與黑盒測(cè)試,測(cè)試用例設(shè)計(jì),軟件測(cè)試的實(shí)施,單元測(cè)試、集成測(cè)試和系統(tǒng)測(cè)試。程序的調(diào)試,靜態(tài)調(diào)試與動(dòng)態(tài)調(diào)試。學(xué)習(xí)內(nèi)容軟件工程基本概念,軟件生命周期概念,軟件工具與軟件第3章軟件工程基礎(chǔ)3.1軟件工程基本概念3.2結(jié)構(gòu)化分析方法3.3結(jié)構(gòu)化設(shè)計(jì)方法3.4軟件測(cè)試3.5軟件調(diào)試第3章軟件工程基礎(chǔ)3.1軟件工程基本概念3.1軟件工程基本概念1.軟件工程軟件工程是指應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,以工程化的原則和方法來(lái)解決軟件問(wèn)題的工程。其目的是提高軟件生產(chǎn)率、提高軟件質(zhì)量、降低軟件成本。2.軟件危機(jī)早期的軟件主要指程序,采用個(gè)體工作方式,缺少相關(guān)文檔,質(zhì)量低,維護(hù)困難,這些問(wèn)題稱為“軟件危機(jī)”,軟件工程概念的出現(xiàn)源自于軟件危機(jī)。例題3.1軟件工程基本概念1.軟件工程例題3.軟件生命周期將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程稱為軟件生命周期分為軟件定義、軟件開(kāi)發(fā)及軟件運(yùn)行維護(hù)3個(gè)階段。維護(hù)是持續(xù)時(shí)間最長(zhǎng),花費(fèi)代價(jià)最大的一個(gè)階段,軟件工程學(xué)的一個(gè)目的就是提高軟件的可維護(hù)性,降低維護(hù)代價(jià)6個(gè)活動(dòng)階段可行性研究與計(jì)劃制定:確定系統(tǒng)的總體目標(biāo)。參加人員有用戶、項(xiàng)目負(fù)責(zé)人和系統(tǒng)分析員,產(chǎn)生文檔有可行性分析報(bào)告、項(xiàng)目計(jì)劃書(shū)等需求分析:確定系統(tǒng)的邏輯模型。參加人員有用戶、項(xiàng)目負(fù)責(zé)人和系統(tǒng)分析員。產(chǎn)生文檔為需求規(guī)格說(shuō)明書(shū),其作用:(1)便于用戶、開(kāi)發(fā)人員進(jìn)行理解交流;(2)反映用戶問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù);(3)作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)。例題3.軟件生命周期例題軟件設(shè)計(jì):包括軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)和過(guò)程設(shè)計(jì)。其中結(jié)構(gòu)設(shè)計(jì)是定義軟件系統(tǒng)各部件之間的關(guān)系;數(shù)據(jù)設(shè)計(jì)是將分析時(shí)創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義;接口設(shè)計(jì)是描述軟件內(nèi)部、軟件和操作系統(tǒng)之間及軟件與人之間如何通信;過(guò)程設(shè)計(jì)則是把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過(guò)程性描述。軟件設(shè)計(jì)分概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。參加人員有系統(tǒng)分析員和高級(jí)程序員。產(chǎn)生的文檔有設(shè)計(jì)規(guī)格說(shuō)明書(shū)。編碼:編程。高級(jí)程序員和程序員產(chǎn)生源程序清單測(cè)試:由另一部門的高級(jí)程序員或系統(tǒng)分析員產(chǎn)生軟件測(cè)試計(jì)劃和軟件測(cè)試報(bào)告運(yùn)行維護(hù)例題軟件設(shè)計(jì):包括軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)和過(guò)程設(shè)計(jì)。其4.軟件工程三要素方法:完成軟件工程項(xiàng)目的技術(shù)手段工具:支持軟件的開(kāi)發(fā)、管理、文檔生成過(guò)程:支持軟件開(kāi)發(fā)的各個(gè)環(huán)節(jié)的控制、管理5.軟件工程的理論和技術(shù)研究的內(nèi)容軟件開(kāi)發(fā)技術(shù)和軟件工程管理6.軟件工程的目標(biāo)在給定的成本、進(jìn)度的前提下,開(kāi)發(fā)出具有有效性、可靠性、可理解性、可維護(hù)性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品軟件工程鼓勵(lì)研制和采用各種先進(jìn)的軟件開(kāi)發(fā)方法、工具和環(huán)境例題4.軟件工程三要素例題6軟件工程的目標(biāo)和與原則(1)軟件工程目標(biāo):在給定成本、進(jìn)度的前提下,開(kāi)發(fā)出具有有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品。(2)軟件工程需要達(dá)到的基本目標(biāo)應(yīng)是:付出較低的開(kāi)發(fā)成本;達(dá)到要求的軟件功能;取得較好的軟件性能;開(kāi)發(fā)的軟件易于移植;需要較低的維護(hù)費(fèi)用;能按時(shí)完成開(kāi)發(fā),及時(shí)交付使用。6軟件工程的目標(biāo)和與原則

(3)軟件工程原則:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗(yàn)證性。1)抽象:抽象是事物最基本的特性和行為,忽略非本質(zhì)細(xì)節(jié),采用分層次抽象,自頂向下,逐層細(xì)化的辦法控制軟件開(kāi)發(fā)過(guò)程的復(fù)雜性。2)信息隱蔽:采用封裝技術(shù),將程序模塊的實(shí)現(xiàn)細(xì)節(jié)隱蔽起來(lái),使模塊接口盡量簡(jiǎn)單。3)模塊化:模塊是程序中相對(duì)獨(dú)立的成分,一個(gè)獨(dú)立的編程單位,應(yīng)有良好的接口定義。模塊的大小要適中,模塊過(guò)大會(huì)使模塊內(nèi)部的復(fù)雜性增加,不利于模塊的理解和修改,也不利于模塊的調(diào)試和重用;模塊太小會(huì)導(dǎo)致整個(gè)系統(tǒng)表示過(guò)于復(fù)雜,不利于控制系統(tǒng)的復(fù)雜性。4)局部化:保證模塊間具有松散的耦合關(guān)系,模塊內(nèi)部有較強(qiáng)的內(nèi)聚性。5)確定性:軟件開(kāi)發(fā)過(guò)程中所有概念的表達(dá)應(yīng)是確定、無(wú)歧義且規(guī)范的。6)一致性:程序內(nèi)外部接口應(yīng)保持一致,系統(tǒng)規(guī)格說(shuō)明與系統(tǒng)行為應(yīng)保持一致。7)完備性:軟件系統(tǒng)不丟失任何重要成分,完全實(shí)現(xiàn)系統(tǒng)所需的功能。8)可驗(yàn)證性:應(yīng)遵循容易檢查、測(cè)評(píng)、評(píng)審的原則,以確保系統(tǒng)的正確性。

(3)軟件工程原則:抽象、信息隱蔽、模塊化、局部化、確定性7.軟件工具和軟件開(kāi)發(fā)環(huán)境軟件工具(CASE):用來(lái)輔助軟件開(kāi)、運(yùn)行、維護(hù)、管理、支持等過(guò)程中的活動(dòng)的軟件軟件開(kāi)發(fā)環(huán)境:支持軟件產(chǎn)品開(kāi)發(fā)的軟件系統(tǒng),它由軟件工具集和環(huán)境集成機(jī)制構(gòu)成7.軟件工具和軟件開(kāi)發(fā)環(huán)境3.2結(jié)構(gòu)化分析方法基本思想將系統(tǒng)分析看成工程項(xiàng)目,有計(jì)劃、有步驟地進(jìn)行工作。開(kāi)發(fā)策略自頂向下,逐層分解分析結(jié)果一套分層的數(shù)據(jù)流圖(DFD):用來(lái)描述數(shù)據(jù)流從輸入到輸出的變換流程一個(gè)數(shù)據(jù)字典(DD):用來(lái)描述DFD中的每個(gè)數(shù)據(jù)流、文件以及組成數(shù)據(jù)流或文件的數(shù)據(jù)項(xiàng)一組小說(shuō)明(加工邏輯說(shuō)明):用來(lái)描述每個(gè)基本加工的加工邏輯3.2結(jié)構(gòu)化分析方法基本思想結(jié)構(gòu)化分析方法是結(jié)構(gòu)化程序設(shè)計(jì)理論在軟件需求分析階段的應(yīng)用。結(jié)構(gòu)化分析方法的實(shí)質(zhì):著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。結(jié)構(gòu)化分析的常用工具:1)數(shù)據(jù)流圖(DFD);2)數(shù)據(jù)字典(DD);3)判定樹(shù);4)判定表。

數(shù)據(jù)流圖以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過(guò)程,它反映了系統(tǒng)必須完成的邏輯功能,是結(jié)構(gòu)化分析方法中用于表示系統(tǒng)邏輯模型的一種工具。例題結(jié)構(gòu)化分析方法是結(jié)構(gòu)化程序設(shè)計(jì)理論在軟件需求分析階段的應(yīng)用。加工(轉(zhuǎn)換):輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出。數(shù)據(jù)流:沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標(biāo)注數(shù)據(jù)流名。存儲(chǔ)文件(數(shù)據(jù)源):表示處理過(guò)程中存放各種數(shù)據(jù)的文件。源,潭:表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實(shí)體。畫(huà)數(shù)據(jù)流圖的基本步驟:自外向內(nèi),自頂向下,逐層細(xì)化,完善求精。例題加工(轉(zhuǎn)換):輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出。例題數(shù)據(jù)字典:對(duì)所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個(gè)有組織的列表,以及精確的、嚴(yán)格的定義,使得用戶和系統(tǒng)分析員對(duì)于輸入、輸出、存儲(chǔ)成分和中間計(jì)算結(jié)果有共同的理解。*:數(shù)據(jù)字典的作用是對(duì)數(shù)據(jù)流圖中出現(xiàn)的被命名的圖形元素的確切解釋。

*:數(shù)據(jù)字典是結(jié)構(gòu)化分析方法的核心。軟件需求規(guī)格說(shuō)明書(shū)(SRS)軟件需求規(guī)格說(shuō)明書(shū)是需求分析階段的最后成果,通過(guò)建立完整的信息描述、詳細(xì)的功能和行為描述、性能需求和設(shè)計(jì)約束的說(shuō)明、合適的驗(yàn)收標(biāo)準(zhǔn),給出對(duì)目標(biāo)軟件的各種需求。數(shù)據(jù)字典:對(duì)所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個(gè)有組織的列表,以及3.3結(jié)構(gòu)化設(shè)計(jì)方法1、軟件設(shè)計(jì)的基礎(chǔ)從技術(shù)觀點(diǎn)來(lái)看,軟件設(shè)計(jì)包括軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)、過(guò)程設(shè)計(jì)。從工程角度來(lái)看,軟件設(shè)計(jì)分兩步完成,即概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。例題3.3結(jié)構(gòu)化設(shè)計(jì)方法1、軟件設(shè)計(jì)的基礎(chǔ)例題軟件設(shè)計(jì)的基本原理包括:抽象、模塊化、信息隱蔽和模塊獨(dú)立性。模塊的耦合性和內(nèi)聚性是衡量軟件的模塊獨(dú)立性的兩個(gè)定性指標(biāo)。一個(gè)設(shè)計(jì)良好的軟件系統(tǒng)應(yīng)具有高內(nèi)聚、低耦合的特征。在結(jié)構(gòu)化程序設(shè)計(jì)中,模塊劃分的原則是:模塊內(nèi)具有高內(nèi)聚度,模塊間具有低耦合度。例題軟件設(shè)計(jì)的基本原理包括:抽象、模塊化、信息隱蔽和模塊獨(dú)立性。2總體設(shè)計(jì)(概要設(shè)計(jì))設(shè)計(jì)原則分解—協(xié)調(diào)原則自頂向下的原則信息屏蔽、抽象的原則一致性原則明確性原則模塊間的耦合度盡可能小,模塊內(nèi)部組合盡可能緊湊(內(nèi)聚性高)模塊的扇入和扇出系數(shù)合理模塊的規(guī)模適當(dāng)例題2總體設(shè)計(jì)(概要設(shè)計(jì))例題軟件概要設(shè)計(jì)的基本任務(wù)是:1)設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu);2)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù)設(shè)計(jì);3)編寫(xiě)概要設(shè)計(jì)文檔;4)概要設(shè)計(jì)文檔評(píng)審。常用的軟件結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖,也稱程序結(jié)構(gòu)圖。程序結(jié)構(gòu)圖的基本圖符:模塊用一個(gè)矩形表示,箭頭表示模塊間的調(diào)用關(guān)系。在結(jié)構(gòu)圖中還可以用帶注釋的箭頭表示模塊調(diào)用過(guò)程中來(lái)回傳遞的信息。還可用帶實(shí)心圓的箭頭表示傳遞的是控制信息,空心圓箭心表示傳遞的是數(shù)據(jù)信息。

軟件概要設(shè)計(jì)的基本任務(wù)是:1)設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu);2)數(shù)據(jù)結(jié)構(gòu)經(jīng)常使用的結(jié)構(gòu)圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和協(xié)調(diào)模塊。傳入模塊:從下屬模塊取得數(shù)據(jù),經(jīng)處理再將其傳送給上級(jí)模塊。傳出模塊:從上級(jí)模塊取得數(shù)據(jù),經(jīng)處理再將其傳送給下屬模塊。變換模塊:從上級(jí)模塊取得數(shù)據(jù),進(jìn)行特定的處理,轉(zhuǎn)換成其他形式,再傳送給上級(jí)模塊。協(xié)調(diào)模塊:對(duì)所有下屬模塊進(jìn)行協(xié)調(diào)和管理的模塊。經(jīng)常使用的結(jié)構(gòu)圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊深度:表示控制的層數(shù)。上級(jí)模塊、從屬模塊:上、下兩層模塊a和b,且有a調(diào)用b,則a是上級(jí)模塊,b是從屬模塊。寬度:整體控制跨度(最大模塊數(shù)的層)的表示。扇入:調(diào)用一個(gè)給定模塊的模塊個(gè)數(shù)。扇出:一個(gè)模塊直接調(diào)用的其他模塊數(shù)。原子模塊:樹(shù)中位于葉子結(jié)點(diǎn)的模塊。深度:表示控制的層數(shù)。3詳細(xì)設(shè)計(jì)根本目標(biāo)確定應(yīng)用怎樣具體的實(shí)現(xiàn)所要求的系統(tǒng),不是具體的編寫(xiě)程序,而是要設(shè)計(jì)程序的“藍(lán)圖”此階段的結(jié)果基本上決定了最終的程序代碼的質(zhì)量包括內(nèi)容:代碼設(shè)計(jì)輸入設(shè)計(jì)輸出設(shè)計(jì)處理過(guò)程設(shè)計(jì)用戶界面設(shè)計(jì)安全控制設(shè)計(jì)3詳細(xì)設(shè)計(jì)常用的過(guò)程設(shè)計(jì)(即詳細(xì)設(shè)計(jì))工具有以下幾種:圖形工具:程序流程圖、N-S(方盒圖)、PAD(問(wèn)題分析圖)和HIPO(層次圖+輸入/處理/輸出圖)。表格工具:判定表。語(yǔ)言工具:PDL(偽碼)

PDL(偽碼)

:過(guò)程設(shè)計(jì)語(yǔ)言,它是用正文形式表示數(shù)據(jù)和處理過(guò)程的設(shè)計(jì)工具。常用的過(guò)程設(shè)計(jì)(即詳細(xì)設(shè)計(jì))工具有以下幾種:3.4軟件測(cè)試1意義目的為了發(fā)現(xiàn)錯(cuò)誤希望能以最少的人力和時(shí)間發(fā)現(xiàn)潛在的各種錯(cuò)誤和缺陷保證系統(tǒng)質(zhì)量和可靠性的關(guān)鍵步驟2測(cè)試方法人工測(cè)試機(jī)器測(cè)試3.4軟件測(cè)試1意義目的軟件測(cè)試定義:使用人工或自動(dòng)手段來(lái)運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過(guò)程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。*:軟件測(cè)試的目的:盡可能地多發(fā)現(xiàn)程序中的錯(cuò)誤,不能也不可能證明程序沒(méi)有錯(cuò)誤。軟件測(cè)試的關(guān)鍵是設(shè)計(jì)測(cè)試用例

,一個(gè)好的測(cè)試用例能找到迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤。

測(cè)試用例是指對(duì)一項(xiàng)特定的軟件產(chǎn)品進(jìn)行測(cè)試任務(wù)的描述,體現(xiàn)測(cè)試方案、方法、技術(shù)和策略。軟件測(cè)試定義:使用人工或自動(dòng)手段來(lái)運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過(guò)程,軟件測(cè)試方法:靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。靜態(tài)測(cè)試:包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量。不實(shí)際運(yùn)行軟件,主要通過(guò)人工進(jìn)行。動(dòng)態(tài)測(cè)試:是基于計(jì)算機(jī)的測(cè)試,主要包括白盒測(cè)試方法和黑盒測(cè)試方法。

軟件測(cè)試方法:靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。3白盒測(cè)試結(jié)構(gòu)測(cè)試將軟件看成透明的白盒,根據(jù)程序的內(nèi)部結(jié)構(gòu)和邏輯結(jié)構(gòu)來(lái)設(shè)計(jì)測(cè)試?yán)?,?duì)程序的路徑和過(guò)程進(jìn)行測(cè)試,檢查是否滿足設(shè)計(jì)的要求4黑盒測(cè)試功能測(cè)試將軟件看成黑盒子,在完全不考慮軟件內(nèi)部結(jié)構(gòu)和特性的情況下,測(cè)試軟件的外部特性5軟件測(cè)試的實(shí)施單元測(cè)試(模塊測(cè)試):白盒測(cè)試法組裝測(cè)試(集成測(cè)試)確認(rèn)測(cè)試系統(tǒng)測(cè)試?yán)}3白盒測(cè)試?yán)}(1)單元測(cè)試單元測(cè)試是對(duì)軟件設(shè)計(jì)的最小單位——模塊(程序單元)進(jìn)行正確性檢測(cè)的測(cè)試,目的是發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種錯(cuò)誤。單元測(cè)試根據(jù)程序的內(nèi)部結(jié)構(gòu)來(lái)設(shè)計(jì)測(cè)試用例,其依據(jù)是詳細(xì)設(shè)計(jì)說(shuō)明書(shū)和源程序。單元測(cè)試的技術(shù)可以采用靜態(tài)分析和動(dòng)態(tài)測(cè)試。對(duì)動(dòng)態(tài)測(cè)試通常以白盒測(cè)試為主,輔之以黑盒測(cè)試。單元測(cè)試的內(nèi)容包括:模塊接口測(cè)試、局部數(shù)據(jù)結(jié)構(gòu)測(cè)試、錯(cuò)誤處理測(cè)試和邊界測(cè)試。*:在進(jìn)行單元測(cè)試時(shí),要用一些輔助模塊去模擬與被測(cè)模塊相聯(lián)系的其他模塊,即為被測(cè)模塊設(shè)計(jì)和搭建驅(qū)動(dòng)模塊和樁模塊。其中,驅(qū)動(dòng)模塊相當(dāng)于被測(cè)模塊的主程序,它接收測(cè)試數(shù)據(jù),并傳給被測(cè)模塊,輸出實(shí)際測(cè)試結(jié)果;而樁模塊是模擬其他被調(diào)用模塊,不必將子模塊的所有功能帶入。(1)單元測(cè)試(2)集成測(cè)試集成測(cè)試是測(cè)試和組裝軟件的過(guò)程,它是把模塊在按照設(shè)計(jì)要求組裝起來(lái)的同時(shí)進(jìn)行測(cè)試,主要目的是發(fā)現(xiàn)與接口有關(guān)的錯(cuò)誤。集成測(cè)試的依據(jù)是概要設(shè)計(jì)說(shuō)明書(shū)。集成測(cè)試所涉及的內(nèi)容包括:軟件單元的接口測(cè)試、全局?jǐn)?shù)據(jù)結(jié)構(gòu)測(cè)試、邊界條件和非法輸入的測(cè)試等。集成測(cè)試通常采用兩種方式:非增量方式組裝與增量方式組裝。非增量方式組裝:也稱為一次性組裝方式。首先對(duì)每個(gè)模塊分別進(jìn)行模塊測(cè)試,然后再把所有模塊組裝在一起進(jìn)行測(cè)試,最終得到要求的軟件系統(tǒng)。增量方式組裝:又稱漸增式集成方式。首先對(duì)一個(gè)個(gè)模塊進(jìn)行模塊測(cè)試,然后將這些模塊逐步組裝成較大的系統(tǒng),在組裝的過(guò)程中邊連接邊測(cè)試,以發(fā)現(xiàn)連接過(guò)程中產(chǎn)生的問(wèn)題。最后通過(guò)增殖逐步組裝成要求的軟件系統(tǒng)。增量方式組裝又包括自頂向下、自底向上、自頂向下與自底向上相結(jié)合等三種方式。(2)集成測(cè)試(3)確認(rèn)測(cè)試確認(rèn)測(cè)試的任務(wù)是驗(yàn)證軟件的有效性,即驗(yàn)證軟件的功能和性能及其他特性是否與用戶的要求一致。確認(rèn)測(cè)試的主要依據(jù)是軟件需求規(guī)格說(shuō)明書(shū)。確認(rèn)測(cè)試主要運(yùn)用黑盒測(cè)試法。

例題(3)確認(rèn)測(cè)試?yán)}(4)系統(tǒng)測(cè)試系統(tǒng)測(cè)試的目的在于通過(guò)與系統(tǒng)的需求定義進(jìn)行比較,發(fā)現(xiàn)軟件與系統(tǒng)定義不符合或與之矛盾的地方。系統(tǒng)測(cè)試的測(cè)試用例應(yīng)根據(jù)需求分析規(guī)格說(shuō)明來(lái)設(shè)計(jì),并在實(shí)際使用環(huán)境下來(lái)運(yùn)行。系統(tǒng)測(cè)試的具體實(shí)施一般包括:功能測(cè)試、性能測(cè)試、操作測(cè)試、配置測(cè)試、外部接口測(cè)試、安全性測(cè)試等。(4)系統(tǒng)測(cè)試3.5程序調(diào)試1任務(wù)根據(jù)測(cè)試時(shí)發(fā)現(xiàn)的錯(cuò)誤,找出原因和具體的位置,進(jìn)行改正有程序開(kāi)發(fā)人員來(lái)進(jìn)行,誰(shuí)開(kāi)發(fā)的程序就由誰(shuí)來(lái)進(jìn)行調(diào)試方法:強(qiáng)行排錯(cuò)法回溯法原因排除法(演繹、歸納、二分法)例題3.5程序調(diào)試1任務(wù)例題2靜態(tài)調(diào)試通過(guò)人的思維來(lái)分析源程序代碼和排錯(cuò),是主要的調(diào)試手段3動(dòng)態(tài)調(diào)試輔助靜態(tài)調(diào)試2靜態(tài)調(diào)試?yán)}軟件工程的出現(xiàn)是由于()

A)程序設(shè)計(jì)方法學(xué)的影響B(tài))軟件產(chǎn)業(yè)化的需要C)軟件危機(jī)的出現(xiàn) D)計(jì)算機(jī)的發(fā)展C返回例題軟件工程的出現(xiàn)是由于()

例題軟件開(kāi)發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成()A)定義、開(kāi)發(fā)、運(yùn)行維護(hù)B)設(shè)計(jì)階段、編程階段、測(cè)試階段C)總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程調(diào)試D)需求分析、功能定義、系統(tǒng)設(shè)計(jì)A下一題例題軟件開(kāi)發(fā)的結(jié)構(gòu)化生命周期方法將軟件A下一題例題需求分析階段的任務(wù)是確定()A.軟件開(kāi)發(fā)方法B.軟件開(kāi)發(fā)工具C.軟件開(kāi)發(fā)費(fèi)D.軟件系統(tǒng)功能D返回上一題例題需求分析階段的任務(wù)是確定()D返回上例題軟件定義階段包括()制定計(jì)劃:確定總目標(biāo);可行性研究;探討解決方案;制定開(kāi)發(fā)計(jì)劃。需求分析:對(duì)待開(kāi)發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)的定義。制定計(jì)劃和需求分析下一題例題軟件定義階段包括(例題軟件開(kāi)發(fā)階段:軟件設(shè)計(jì):分為()兩個(gè)部分。軟件實(shí)現(xiàn):把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼。軟件測(cè)試:在設(shè)計(jì)測(cè)試用例的基礎(chǔ)上檢驗(yàn)軟件的各個(gè)組成部分。下一題概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)上一題例題軟件開(kāi)發(fā)階段:下一題概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)上一題例題軟件運(yùn)行維護(hù)階段:軟件投入運(yùn)行,并在使用中不斷地維護(hù),進(jìn)行必要的擴(kuò)充和刪改。軟件生命周期中所花費(fèi)最多的階段是()。下一題軟件運(yùn)行維護(hù)階段上一題例題軟件運(yùn)行維護(hù)階段:軟件投入運(yùn)行,并在下一題軟件運(yùn)行維護(hù)階例題軟件需求分析階段的工作,可以分為四個(gè)方面:需求獲取、需求分析、編寫(xiě)需求規(guī)格說(shuō)明書(shū)以及()A.階段性報(bào)告B.需求評(píng)審C.總結(jié)D.都不正確

B上一題返回例題軟件需求分析階段的工作,可以分為B上一題返回例題軟件工程的主要思想是將()原則運(yùn)用到軟件開(kāi)發(fā)過(guò)程,它包括3個(gè)要素:()。下一題工程化方法、工具和過(guò)程例題軟件工程的主要思想是將()原例題軟件工程過(guò)程是把()轉(zhuǎn)化為()的一組彼此相關(guān)的資源和活動(dòng)。返回上一題輸出輸入例題軟件工程過(guò)程是把()轉(zhuǎn)化為(例題下列不屬于結(jié)構(gòu)化分析的常用工具的是()A.數(shù)據(jù)流圖B.數(shù)據(jù)字典C.判定樹(shù)D.PAD圖下一題D例題下列不屬于結(jié)構(gòu)化分析的常用工具的是下一題D例題數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是()A.控制流B.加工C.數(shù)據(jù)存儲(chǔ)D.源和潭返回上一題A例題數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯返回上一題A例題在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示()控制程序的執(zhí)行順序B.模塊之間的調(diào)用關(guān)系C.數(shù)據(jù)的流向D.程序的組成成分返回C例題在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭返回C例題軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過(guò)程設(shè)計(jì),其中軟件的過(guò)程設(shè)計(jì)是指()A.模塊間的關(guān)系B.系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過(guò)程描述C.軟件層次結(jié)構(gòu)D.軟件開(kāi)發(fā)過(guò)程返回B例題軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和返回B例題信息隱蔽的概念與下述哪一種概念直接相關(guān)()A.軟件結(jié)構(gòu)定義B.模塊獨(dú)立性C.模塊類型劃分D.模擬耦合度返回B例題信息隱蔽的概念與下述哪一種概念直接返回B例題在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開(kāi)發(fā)中的階段是()。A.詳細(xì)設(shè)計(jì)B.需求分析C.總體設(shè)計(jì)D.編程調(diào)試返回C例題在結(jié)構(gòu)化方法中,軟件功能分解屬于下列返回C例題白盒測(cè)試法的測(cè)試用例是根據(jù)程序的內(nèi)部邏輯來(lái)設(shè)計(jì)的,主要用軟件的單元測(cè)試,主要方法有邏輯覆蓋、基本路徑測(cè)試等。返回例題白盒測(cè)試法的測(cè)試用例是根據(jù)程序的返回例題黑盒測(cè)試不關(guān)心程序內(nèi)部的邏輯,只是根據(jù)程序的功能說(shuō)明來(lái)設(shè)計(jì)測(cè)試用例,主要方法有等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測(cè)法等,主要用軟件的確認(rèn)測(cè)試。返回例題黑盒測(cè)試不關(guān)心程序內(nèi)部的邏輯,只是返回例題在軟件工程中,白箱測(cè)試法可用于測(cè)試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是()。A.循環(huán)的集合B.地址的集合C.路徑的集合D.目標(biāo)的集合返回C例題在軟件工程中,白箱測(cè)試法可用于測(cè)試返回C例題檢查軟件產(chǎn)品是否符合需求定義的過(guò)程稱為()。A.確認(rèn)測(cè)試B.集成測(cè)試C.驗(yàn)證測(cè)試D.驗(yàn)收測(cè)試返回A例題檢查軟件產(chǎn)品是否符合需求定義的返回A例題軟件調(diào)試的目的是()。A.發(fā)現(xiàn)錯(cuò)誤B.改正錯(cuò)誤C.改善軟件的性能D.挖掘軟件的潛能下一題B例題軟件調(diào)試的目的是()。下一題B例題下列不屬于軟件調(diào)試技術(shù)的是()。A.強(qiáng)行排錯(cuò)法B.集成測(cè)試法C.回溯法D.原因排除法返回上一題B例題下列不屬于軟件調(diào)試技術(shù)的是()。返全國(guó)計(jì)算機(jī)等級(jí)考試

二級(jí)公共基礎(chǔ)知識(shí)

鹽城工學(xué)院計(jì)算機(jī)基礎(chǔ)中心軟件工程基礎(chǔ)全國(guó)計(jì)算機(jī)等級(jí)考試

二級(jí)公共基礎(chǔ)知識(shí)

軟件工程基礎(chǔ)學(xué)習(xí)內(nèi)容

軟件工程基本概念,軟件生命周期概念,軟件工具與軟件開(kāi)發(fā)環(huán)境。結(jié)構(gòu)化分析方法,數(shù)據(jù)流圖,數(shù)據(jù)字典,軟件需求規(guī)格說(shuō)明書(shū)。結(jié)構(gòu)化設(shè)計(jì)方法,總體設(shè)計(jì)與詳細(xì)設(shè)計(jì)。軟件測(cè)試的方法,白盒測(cè)試與黑盒測(cè)試,測(cè)試用例設(shè)計(jì),軟件測(cè)試的實(shí)施,單元測(cè)試、集成測(cè)試和系統(tǒng)測(cè)試。程序的調(diào)試,靜態(tài)調(diào)試與動(dòng)態(tài)調(diào)試。學(xué)習(xí)內(nèi)容軟件工程基本概念,軟件生命周期概念,軟件工具與軟件第3章軟件工程基礎(chǔ)3.1軟件工程基本概念3.2結(jié)構(gòu)化分析方法3.3結(jié)構(gòu)化設(shè)計(jì)方法3.4軟件測(cè)試3.5軟件調(diào)試第3章軟件工程基礎(chǔ)3.1軟件工程基本概念3.1軟件工程基本概念1.軟件工程軟件工程是指應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,以工程化的原則和方法來(lái)解決軟件問(wèn)題的工程。其目的是提高軟件生產(chǎn)率、提高軟件質(zhì)量、降低軟件成本。2.軟件危機(jī)早期的軟件主要指程序,采用個(gè)體工作方式,缺少相關(guān)文檔,質(zhì)量低,維護(hù)困難,這些問(wèn)題稱為“軟件危機(jī)”,軟件工程概念的出現(xiàn)源自于軟件危機(jī)。例題3.1軟件工程基本概念1.軟件工程例題3.軟件生命周期將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程稱為軟件生命周期分為軟件定義、軟件開(kāi)發(fā)及軟件運(yùn)行維護(hù)3個(gè)階段。維護(hù)是持續(xù)時(shí)間最長(zhǎng),花費(fèi)代價(jià)最大的一個(gè)階段,軟件工程學(xué)的一個(gè)目的就是提高軟件的可維護(hù)性,降低維護(hù)代價(jià)6個(gè)活動(dòng)階段可行性研究與計(jì)劃制定:確定系統(tǒng)的總體目標(biāo)。參加人員有用戶、項(xiàng)目負(fù)責(zé)人和系統(tǒng)分析員,產(chǎn)生文檔有可行性分析報(bào)告、項(xiàng)目計(jì)劃書(shū)等需求分析:確定系統(tǒng)的邏輯模型。參加人員有用戶、項(xiàng)目負(fù)責(zé)人和系統(tǒng)分析員。產(chǎn)生文檔為需求規(guī)格說(shuō)明書(shū),其作用:(1)便于用戶、開(kāi)發(fā)人員進(jìn)行理解交流;(2)反映用戶問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù);(3)作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)。例題3.軟件生命周期例題軟件設(shè)計(jì):包括軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)和過(guò)程設(shè)計(jì)。其中結(jié)構(gòu)設(shè)計(jì)是定義軟件系統(tǒng)各部件之間的關(guān)系;數(shù)據(jù)設(shè)計(jì)是將分析時(shí)創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義;接口設(shè)計(jì)是描述軟件內(nèi)部、軟件和操作系統(tǒng)之間及軟件與人之間如何通信;過(guò)程設(shè)計(jì)則是把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過(guò)程性描述。軟件設(shè)計(jì)分概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。參加人員有系統(tǒng)分析員和高級(jí)程序員。產(chǎn)生的文檔有設(shè)計(jì)規(guī)格說(shuō)明書(shū)。編碼:編程。高級(jí)程序員和程序員產(chǎn)生源程序清單測(cè)試:由另一部門的高級(jí)程序員或系統(tǒng)分析員產(chǎn)生軟件測(cè)試計(jì)劃和軟件測(cè)試報(bào)告運(yùn)行維護(hù)例題軟件設(shè)計(jì):包括軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)和過(guò)程設(shè)計(jì)。其4.軟件工程三要素方法:完成軟件工程項(xiàng)目的技術(shù)手段工具:支持軟件的開(kāi)發(fā)、管理、文檔生成過(guò)程:支持軟件開(kāi)發(fā)的各個(gè)環(huán)節(jié)的控制、管理5.軟件工程的理論和技術(shù)研究的內(nèi)容軟件開(kāi)發(fā)技術(shù)和軟件工程管理6.軟件工程的目標(biāo)在給定的成本、進(jìn)度的前提下,開(kāi)發(fā)出具有有效性、可靠性、可理解性、可維護(hù)性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品軟件工程鼓勵(lì)研制和采用各種先進(jìn)的軟件開(kāi)發(fā)方法、工具和環(huán)境例題4.軟件工程三要素例題6軟件工程的目標(biāo)和與原則(1)軟件工程目標(biāo):在給定成本、進(jìn)度的前提下,開(kāi)發(fā)出具有有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品。(2)軟件工程需要達(dá)到的基本目標(biāo)應(yīng)是:付出較低的開(kāi)發(fā)成本;達(dá)到要求的軟件功能;取得較好的軟件性能;開(kāi)發(fā)的軟件易于移植;需要較低的維護(hù)費(fèi)用;能按時(shí)完成開(kāi)發(fā),及時(shí)交付使用。6軟件工程的目標(biāo)和與原則

(3)軟件工程原則:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗(yàn)證性。1)抽象:抽象是事物最基本的特性和行為,忽略非本質(zhì)細(xì)節(jié),采用分層次抽象,自頂向下,逐層細(xì)化的辦法控制軟件開(kāi)發(fā)過(guò)程的復(fù)雜性。2)信息隱蔽:采用封裝技術(shù),將程序模塊的實(shí)現(xiàn)細(xì)節(jié)隱蔽起來(lái),使模塊接口盡量簡(jiǎn)單。3)模塊化:模塊是程序中相對(duì)獨(dú)立的成分,一個(gè)獨(dú)立的編程單位,應(yīng)有良好的接口定義。模塊的大小要適中,模塊過(guò)大會(huì)使模塊內(nèi)部的復(fù)雜性增加,不利于模塊的理解和修改,也不利于模塊的調(diào)試和重用;模塊太小會(huì)導(dǎo)致整個(gè)系統(tǒng)表示過(guò)于復(fù)雜,不利于控制系統(tǒng)的復(fù)雜性。4)局部化:保證模塊間具有松散的耦合關(guān)系,模塊內(nèi)部有較強(qiáng)的內(nèi)聚性。5)確定性:軟件開(kāi)發(fā)過(guò)程中所有概念的表達(dá)應(yīng)是確定、無(wú)歧義且規(guī)范的。6)一致性:程序內(nèi)外部接口應(yīng)保持一致,系統(tǒng)規(guī)格說(shuō)明與系統(tǒng)行為應(yīng)保持一致。7)完備性:軟件系統(tǒng)不丟失任何重要成分,完全實(shí)現(xiàn)系統(tǒng)所需的功能。8)可驗(yàn)證性:應(yīng)遵循容易檢查、測(cè)評(píng)、評(píng)審的原則,以確保系統(tǒng)的正確性。

(3)軟件工程原則:抽象、信息隱蔽、模塊化、局部化、確定性7.軟件工具和軟件開(kāi)發(fā)環(huán)境軟件工具(CASE):用來(lái)輔助軟件開(kāi)、運(yùn)行、維護(hù)、管理、支持等過(guò)程中的活動(dòng)的軟件軟件開(kāi)發(fā)環(huán)境:支持軟件產(chǎn)品開(kāi)發(fā)的軟件系統(tǒng),它由軟件工具集和環(huán)境集成機(jī)制構(gòu)成7.軟件工具和軟件開(kāi)發(fā)環(huán)境3.2結(jié)構(gòu)化分析方法基本思想將系統(tǒng)分析看成工程項(xiàng)目,有計(jì)劃、有步驟地進(jìn)行工作。開(kāi)發(fā)策略自頂向下,逐層分解分析結(jié)果一套分層的數(shù)據(jù)流圖(DFD):用來(lái)描述數(shù)據(jù)流從輸入到輸出的變換流程一個(gè)數(shù)據(jù)字典(DD):用來(lái)描述DFD中的每個(gè)數(shù)據(jù)流、文件以及組成數(shù)據(jù)流或文件的數(shù)據(jù)項(xiàng)一組小說(shuō)明(加工邏輯說(shuō)明):用來(lái)描述每個(gè)基本加工的加工邏輯3.2結(jié)構(gòu)化分析方法基本思想結(jié)構(gòu)化分析方法是結(jié)構(gòu)化程序設(shè)計(jì)理論在軟件需求分析階段的應(yīng)用。結(jié)構(gòu)化分析方法的實(shí)質(zhì):著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。結(jié)構(gòu)化分析的常用工具:1)數(shù)據(jù)流圖(DFD);2)數(shù)據(jù)字典(DD);3)判定樹(shù);4)判定表。

數(shù)據(jù)流圖以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過(guò)程,它反映了系統(tǒng)必須完成的邏輯功能,是結(jié)構(gòu)化分析方法中用于表示系統(tǒng)邏輯模型的一種工具。例題結(jié)構(gòu)化分析方法是結(jié)構(gòu)化程序設(shè)計(jì)理論在軟件需求分析階段的應(yīng)用。加工(轉(zhuǎn)換):輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出。數(shù)據(jù)流:沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標(biāo)注數(shù)據(jù)流名。存儲(chǔ)文件(數(shù)據(jù)源):表示處理過(guò)程中存放各種數(shù)據(jù)的文件。源,潭:表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實(shí)體。畫(huà)數(shù)據(jù)流圖的基本步驟:自外向內(nèi),自頂向下,逐層細(xì)化,完善求精。例題加工(轉(zhuǎn)換):輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出。例題數(shù)據(jù)字典:對(duì)所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個(gè)有組織的列表,以及精確的、嚴(yán)格的定義,使得用戶和系統(tǒng)分析員對(duì)于輸入、輸出、存儲(chǔ)成分和中間計(jì)算結(jié)果有共同的理解。*:數(shù)據(jù)字典的作用是對(duì)數(shù)據(jù)流圖中出現(xiàn)的被命名的圖形元素的確切解釋。

*:數(shù)據(jù)字典是結(jié)構(gòu)化分析方法的核心。軟件需求規(guī)格說(shuō)明書(shū)(SRS)軟件需求規(guī)格說(shuō)明書(shū)是需求分析階段的最后成果,通過(guò)建立完整的信息描述、詳細(xì)的功能和行為描述、性能需求和設(shè)計(jì)約束的說(shuō)明、合適的驗(yàn)收標(biāo)準(zhǔn),給出對(duì)目標(biāo)軟件的各種需求。數(shù)據(jù)字典:對(duì)所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個(gè)有組織的列表,以及3.3結(jié)構(gòu)化設(shè)計(jì)方法1、軟件設(shè)計(jì)的基礎(chǔ)從技術(shù)觀點(diǎn)來(lái)看,軟件設(shè)計(jì)包括軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)、過(guò)程設(shè)計(jì)。從工程角度來(lái)看,軟件設(shè)計(jì)分兩步完成,即概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。例題3.3結(jié)構(gòu)化設(shè)計(jì)方法1、軟件設(shè)計(jì)的基礎(chǔ)例題軟件設(shè)計(jì)的基本原理包括:抽象、模塊化、信息隱蔽和模塊獨(dú)立性。模塊的耦合性和內(nèi)聚性是衡量軟件的模塊獨(dú)立性的兩個(gè)定性指標(biāo)。一個(gè)設(shè)計(jì)良好的軟件系統(tǒng)應(yīng)具有高內(nèi)聚、低耦合的特征。在結(jié)構(gòu)化程序設(shè)計(jì)中,模塊劃分的原則是:模塊內(nèi)具有高內(nèi)聚度,模塊間具有低耦合度。例題軟件設(shè)計(jì)的基本原理包括:抽象、模塊化、信息隱蔽和模塊獨(dú)立性。2總體設(shè)計(jì)(概要設(shè)計(jì))設(shè)計(jì)原則分解—協(xié)調(diào)原則自頂向下的原則信息屏蔽、抽象的原則一致性原則明確性原則模塊間的耦合度盡可能小,模塊內(nèi)部組合盡可能緊湊(內(nèi)聚性高)模塊的扇入和扇出系數(shù)合理模塊的規(guī)模適當(dāng)例題2總體設(shè)計(jì)(概要設(shè)計(jì))例題軟件概要設(shè)計(jì)的基本任務(wù)是:1)設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu);2)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù)設(shè)計(jì);3)編寫(xiě)概要設(shè)計(jì)文檔;4)概要設(shè)計(jì)文檔評(píng)審。常用的軟件結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖,也稱程序結(jié)構(gòu)圖。程序結(jié)構(gòu)圖的基本圖符:模塊用一個(gè)矩形表示,箭頭表示模塊間的調(diào)用關(guān)系。在結(jié)構(gòu)圖中還可以用帶注釋的箭頭表示模塊調(diào)用過(guò)程中來(lái)回傳遞的信息。還可用帶實(shí)心圓的箭頭表示傳遞的是控制信息,空心圓箭心表示傳遞的是數(shù)據(jù)信息。

軟件概要設(shè)計(jì)的基本任務(wù)是:1)設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu);2)數(shù)據(jù)結(jié)構(gòu)經(jīng)常使用的結(jié)構(gòu)圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和協(xié)調(diào)模塊。傳入模塊:從下屬模塊取得數(shù)據(jù),經(jīng)處理再將其傳送給上級(jí)模塊。傳出模塊:從上級(jí)模塊取得數(shù)據(jù),經(jīng)處理再將其傳送給下屬模塊。變換模塊:從上級(jí)模塊取得數(shù)據(jù),進(jìn)行特定的處理,轉(zhuǎn)換成其他形式,再傳送給上級(jí)模塊。協(xié)調(diào)模塊:對(duì)所有下屬模塊進(jìn)行協(xié)調(diào)和管理的模塊。經(jīng)常使用的結(jié)構(gòu)圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊深度:表示控制的層數(shù)。上級(jí)模塊、從屬模塊:上、下兩層模塊a和b,且有a調(diào)用b,則a是上級(jí)模塊,b是從屬模塊。寬度:整體控制跨度(最大模塊數(shù)的層)的表示。扇入:調(diào)用一個(gè)給定模塊的模塊個(gè)數(shù)。扇出:一個(gè)模塊直接調(diào)用的其他模塊數(shù)。原子模塊:樹(shù)中位于葉子結(jié)點(diǎn)的模塊。深度:表示控制的層數(shù)。3詳細(xì)設(shè)計(jì)根本目標(biāo)確定應(yīng)用怎樣具體的實(shí)現(xiàn)所要求的系統(tǒng),不是具體的編寫(xiě)程序,而是要設(shè)計(jì)程序的“藍(lán)圖”此階段的結(jié)果基本上決定了最終的程序代碼的質(zhì)量包括內(nèi)容:代碼設(shè)計(jì)輸入設(shè)計(jì)輸出設(shè)計(jì)處理過(guò)程設(shè)計(jì)用戶界面設(shè)計(jì)安全控制設(shè)計(jì)3詳細(xì)設(shè)計(jì)常用的過(guò)程設(shè)計(jì)(即詳細(xì)設(shè)計(jì))工具有以下幾種:圖形工具:程序流程圖、N-S(方盒圖)、PAD(問(wèn)題分析圖)和HIPO(層次圖+輸入/處理/輸出圖)。表格工具:判定表。語(yǔ)言工具:PDL(偽碼)

PDL(偽碼)

:過(guò)程設(shè)計(jì)語(yǔ)言,它是用正文形式表示數(shù)據(jù)和處理過(guò)程的設(shè)計(jì)工具。常用的過(guò)程設(shè)計(jì)(即詳細(xì)設(shè)計(jì))工具有以下幾種:3.4軟件測(cè)試1意義目的為了發(fā)現(xiàn)錯(cuò)誤希望能以最少的人力和時(shí)間發(fā)現(xiàn)潛在的各種錯(cuò)誤和缺陷保證系統(tǒng)質(zhì)量和可靠性的關(guān)鍵步驟2測(cè)試方法人工測(cè)試機(jī)器測(cè)試3.4軟件測(cè)試1意義目的軟件測(cè)試定義:使用人工或自動(dòng)手段來(lái)運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過(guò)程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。*:軟件測(cè)試的目的:盡可能地多發(fā)現(xiàn)程序中的錯(cuò)誤,不能也不可能證明程序沒(méi)有錯(cuò)誤。軟件測(cè)試的關(guān)鍵是設(shè)計(jì)測(cè)試用例

,一個(gè)好的測(cè)試用例能找到迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤。

測(cè)試用例是指對(duì)一項(xiàng)特定的軟件產(chǎn)品進(jìn)行測(cè)試任務(wù)的描述,體現(xiàn)測(cè)試方案、方法、技術(shù)和策略。軟件測(cè)試定義:使用人工或自動(dòng)手段來(lái)運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過(guò)程,軟件測(cè)試方法:靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。靜態(tài)測(cè)試:包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量。不實(shí)際運(yùn)行軟件,主要通過(guò)人工進(jìn)行。動(dòng)態(tài)測(cè)試:是基于計(jì)算機(jī)的測(cè)試,主要包括白盒測(cè)試方法和黑盒測(cè)試方法。

軟件測(cè)試方法:靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。3白盒測(cè)試結(jié)構(gòu)測(cè)試將軟件看成透明的白盒,根據(jù)程序的內(nèi)部結(jié)構(gòu)和邏輯結(jié)構(gòu)來(lái)設(shè)計(jì)測(cè)試?yán)?,?duì)程序的路徑和過(guò)程進(jìn)行測(cè)試,檢查是否滿足設(shè)計(jì)的要求4黑盒測(cè)試功能測(cè)試將軟件看成黑盒子,在完全不考慮軟件內(nèi)部結(jié)構(gòu)和特性的情況下,測(cè)試軟件的外部特性5軟件測(cè)試的實(shí)施單元測(cè)試(模塊測(cè)試):白盒測(cè)試法組裝測(cè)試(集成測(cè)試)確認(rèn)測(cè)試系統(tǒng)測(cè)試?yán)}3白盒測(cè)試?yán)}(1)單元測(cè)試單元測(cè)試是對(duì)軟件設(shè)計(jì)的最小單位——模塊(程序單元)進(jìn)行正確性檢測(cè)的測(cè)試,目的是發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種錯(cuò)誤。單元測(cè)試根據(jù)程序的內(nèi)部結(jié)構(gòu)來(lái)設(shè)計(jì)測(cè)試用例,其依據(jù)是詳細(xì)設(shè)計(jì)說(shuō)明書(shū)和源程序。單元測(cè)試的技術(shù)可以采用靜態(tài)分析和動(dòng)態(tài)測(cè)試。對(duì)動(dòng)態(tài)測(cè)試通常以白盒測(cè)試為主,輔之以黑盒測(cè)試。單元測(cè)試的內(nèi)容包括:模塊接口測(cè)試、局部數(shù)據(jù)結(jié)構(gòu)測(cè)試、錯(cuò)誤處理測(cè)試和邊界測(cè)試。*:在進(jìn)行單元測(cè)試時(shí),要用一些輔助模塊去模擬與被測(cè)模塊相聯(lián)系的其他模塊,即為被測(cè)模塊設(shè)計(jì)和搭建驅(qū)動(dòng)模塊和樁模塊。其中,驅(qū)動(dòng)模塊相當(dāng)于被測(cè)模塊的主程序,它接收測(cè)試數(shù)據(jù),并傳給被測(cè)模塊,輸出實(shí)際測(cè)試結(jié)果;而樁模塊是模擬其他被調(diào)用模塊,不必將子模塊的所有功能帶入。(1)單元測(cè)試(2)集成測(cè)試集成測(cè)試是測(cè)試和組裝軟件的過(guò)程,它是把模塊在按照設(shè)計(jì)要求組裝起來(lái)的同時(shí)進(jìn)行測(cè)試,主要目的是發(fā)現(xiàn)與接口有關(guān)的錯(cuò)誤。集成測(cè)試的依據(jù)是概要設(shè)計(jì)說(shuō)明書(shū)。集成測(cè)試所涉及的內(nèi)容包括:軟件單元的接口測(cè)試、全局?jǐn)?shù)據(jù)結(jié)構(gòu)測(cè)試、邊界條件和非法輸入的測(cè)試等。集成測(cè)試通常采用兩種方式:非增量方式組裝與增量方式組裝。非增量方式組裝:也稱為一次性組裝方式。首先對(duì)每個(gè)模塊分別進(jìn)行模塊測(cè)試,然后再把所有模塊組裝在一起進(jìn)行測(cè)試,最終得到要求的軟件系統(tǒng)。增量方式組裝:又稱漸增式集成方式。首先對(duì)一個(gè)個(gè)模塊進(jìn)行模塊測(cè)試,然后將這些模塊逐步組裝成較大的系統(tǒng),在組裝的過(guò)程中邊連接邊測(cè)試,以發(fā)現(xiàn)連接過(guò)程中產(chǎn)生的問(wèn)題。最后通過(guò)增殖逐步組裝成要求的軟件系統(tǒng)。增量方式組裝又包括自頂向下、自底向上、自頂向下與自底向上相結(jié)合等三種方式。(2)集成測(cè)試(3)確認(rèn)測(cè)試確認(rèn)測(cè)試的任務(wù)是驗(yàn)證軟件的有效性,即驗(yàn)證軟件的功能和性能及其他特性是否與用戶的要求一致。確認(rèn)測(cè)試的主要依據(jù)是軟件需求規(guī)格說(shuō)明書(shū)。確認(rèn)測(cè)試主要運(yùn)用黑盒測(cè)試法。

例題(3)確認(rèn)測(cè)試?yán)}(4)系統(tǒng)測(cè)試系統(tǒng)測(cè)試的目的在于通過(guò)與系統(tǒng)的需求定義進(jìn)行比較,發(fā)現(xiàn)軟件與系統(tǒng)定義不符合或與之矛盾的地方。系統(tǒng)測(cè)試的測(cè)試用例應(yīng)根據(jù)需求分析規(guī)格說(shuō)明來(lái)設(shè)計(jì),并在實(shí)際使用環(huán)境下來(lái)運(yùn)行。系統(tǒng)測(cè)試的具體實(shí)施一般包括:功能測(cè)試、性能測(cè)試、操作測(cè)試、配置測(cè)試、外部接口測(cè)試、安全性測(cè)試等。(4)系統(tǒng)測(cè)試3.5程序調(diào)試1任務(wù)根據(jù)測(cè)試時(shí)發(fā)現(xiàn)的錯(cuò)誤,找出原因和具體的位置,進(jìn)行改正有程序開(kāi)發(fā)人員來(lái)進(jìn)行,誰(shuí)開(kāi)發(fā)的程序就由誰(shuí)來(lái)進(jìn)行調(diào)試方法:強(qiáng)行排錯(cuò)法回溯法原因排除法(演繹、歸納、二分法)例題3.5程序調(diào)試1任務(wù)例題2靜態(tài)調(diào)試通過(guò)人的思維來(lái)分析源程序代碼和排錯(cuò),是主要的調(diào)試手段3動(dòng)態(tài)調(diào)試輔助靜態(tài)調(diào)試2靜態(tài)調(diào)試?yán)}軟件工程的出現(xiàn)是由于()

A)程序設(shè)計(jì)方法學(xué)的影響B(tài))軟件產(chǎn)業(yè)化的需要C)軟件危機(jī)的出現(xiàn) D)計(jì)算機(jī)的發(fā)展C返回例題軟件工程的出現(xiàn)是由于()

例題軟件開(kāi)發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成()A)定義、開(kāi)發(fā)、運(yùn)行維護(hù)B)設(shè)計(jì)階段、編程階段、測(cè)試階段C)總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程調(diào)試D)需求分析、功能定義、系統(tǒng)設(shè)計(jì)A下一題例題軟件開(kāi)發(fā)的結(jié)構(gòu)化生命周期方法將軟件A下一題例題需求分析階段的任務(wù)是確定()A.軟件開(kāi)發(fā)方法B.軟件開(kāi)發(fā)工具C.軟件開(kāi)發(fā)費(fèi)D.軟件系統(tǒng)功能D返回上一題例題需求分析階段的任務(wù)是確定()D返回上例題軟件定義階段包括()制定計(jì)劃:確定總目標(biāo);可行性研究;探討解決方案;制定開(kāi)發(fā)計(jì)劃。需求分析:對(duì)待開(kāi)發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)的定義。制定計(jì)劃和需求分析下一題例題軟件定義階段包括(例題軟件開(kāi)發(fā)階段:軟件設(shè)計(jì):分為()兩個(gè)部分。軟件實(shí)現(xiàn):把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼。軟件測(cè)試:在設(shè)計(jì)測(cè)試用例的基礎(chǔ)上檢驗(yàn)軟件的各個(gè)組成部分。下一題概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)上一題例題軟件開(kāi)發(fā)階段:下一題概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)上一題例題軟件運(yùn)行維護(hù)階段:軟件投入運(yùn)行,并在使用中不斷地維護(hù),進(jìn)行必要的擴(kuò)充和刪改。軟件生命周期中所花費(fèi)最多的階段是()。下一題軟件運(yùn)行維護(hù)階段上一題例題軟件運(yùn)行維護(hù)階段:軟件投入運(yùn)行,并在下一題軟件運(yùn)行維護(hù)階例題軟件需求分析階段的工作,可以分為四個(gè)方面:需求獲取、需求分析、編寫(xiě)需求規(guī)格說(shuō)明書(shū)以及()A.階段性報(bào)告B.需求評(píng)審

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論