軟件工程知識(軟考備考要點匯總)_第1頁
軟件工程知識(軟考備考要點匯總)_第2頁
軟件工程知識(軟考備考要點匯總)_第3頁
軟件工程知識(軟考備考要點匯總)_第4頁
軟件工程知識(軟考備考要點匯總)_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件工程知識(軟考備考要點匯總)軟件工程知識(軟考備考要點匯總)軟件工程知識(軟考備考要點匯總)xxx公司軟件工程知識(軟考備考要點匯總)文件編號:文件日期:修訂次數(shù):第1.0次更改批準審核制定方案設(shè)計,管理制度軟件工程知識(軟考備考要點匯總)概述軟件由計算機程序、數(shù)據(jù)及文檔組成,同時與硬件、數(shù)據(jù)庫人、過程等共同構(gòu)成計算機系統(tǒng)。軟件工程是1968年在德國的NATO會議上提出的,希望用工程化的原則和方法來克服軟件危機;而軟件危機就是軟件開發(fā)和維護過程中的各種問題,由于軟件開發(fā)階段缺乏好的方法的指導(dǎo)和好的工具的輔助,而且缺少有關(guān)的文檔,使得大量的軟件難以維護。軟件工程是指應(yīng)用計算機科學、數(shù)學及管理科學等原理,以工程化的原則和方法來解決軟件問題的工程。其目的是提高軟件生產(chǎn)率、提高軟件質(zhì)量、減低軟件成本。軟件工程包括三個要素:方法、工具和過程。軟件工程基本原理(7個):n按軟件生存周期分階段指定計劃并認真實施;n堅持進行階段評審;n堅持嚴格的產(chǎn)品控制;n使用現(xiàn)代程序設(shè)計技術(shù);n明確責任,使得工作結(jié)果能夠得到清楚的審查;n用人少而精;n不斷改進開發(fā)過程;軟件生命周期是指由軟件定義、軟件開發(fā)和軟件維護等階段組成的全過程,反映軟件生存期內(nèi)各種工作得組織以及各個階段如何銜接。下表歸納了軟件生存周期各個階段的任務(wù)、參與人員和產(chǎn)生文檔。

階段任務(wù)參與人員產(chǎn)生文檔軟件定義階段——待開發(fā)軟件要“做什么”系統(tǒng)分析確定待開發(fā)軟件的總體要求和適用范圍,以及與之有關(guān)的硬件、支撐軟件的要求用戶、項目負責人、系統(tǒng)分析員可合并項目計劃書中軟件項目計劃確定待開發(fā)軟件的目標,對其進行可行性分析,并對資源分配、進度安排等做出合理的計劃用戶、項目負責人、系統(tǒng)分析員可行性分析報告、項目計劃書需求分析確定待開發(fā)軟件的功能、性能、界面等要求,從而確定系統(tǒng)的邏輯模型用戶、項目負責人、系統(tǒng)分析員需求規(guī)格說明書軟件開發(fā)階段——待開發(fā)軟件“怎么做”軟件設(shè)計概要設(shè)計模塊分解,確定軟件的結(jié)構(gòu),模塊的功能和模塊間的接口,以及全局數(shù)據(jù)結(jié)構(gòu)的設(shè)計系統(tǒng)分析員、高級程序員設(shè)計說明書、數(shù)據(jù)說明書、模塊開發(fā)卷宗詳細設(shè)計設(shè)計每個模塊的實現(xiàn)細節(jié)和局部數(shù)據(jù)結(jié)構(gòu)的設(shè)計高級程序員、程序員編碼用某種程序語言為每個模塊編寫程序高級程序員、程序員程序清單軟件測試發(fā)現(xiàn)軟件中的錯誤,并加以糾正高級程序員或系統(tǒng)分析員(另一部門或單位)軟件測試計劃、軟件測試用例說明,軟件測試報告軟件維護階段—開發(fā)后交付使用的軟件的維護軟件維護使軟件適應(yīng)外界環(huán)境的變化、實現(xiàn)功能的擴充和質(zhì)量的改善而修改軟件維護人員維護計劃、維護報告生命周期法:生命周期法認為:每一個軟件系統(tǒng)都有一定的生命周期。軟件的生命周期是指一個軟件系統(tǒng)從其提出、調(diào)查到分析、設(shè)計和有效使用,直至被淘汰或取代的整個期間。軟件生命周期法就是按軟件生命周期的各個階段劃分任務(wù),按一定的規(guī)則和步驟,有效地進行軟件開發(fā)的方法。通常一個軟件系統(tǒng)的生命周期可分為五個階段:可行性分析、分析階段、設(shè)計階段、實施階段、運行與維護階段原型法:原型法是先根據(jù)用戶的最主要要求,開發(fā)出能實現(xiàn)系統(tǒng)最基本功能的一個原型,再根據(jù)用戶對原型使用與評價的意見,反復(fù)修改完善原型,直到等到用戶滿意的最終系統(tǒng)為止。原型法分4個階段:確定用戶需求;設(shè)計原型;使用、評價原型;修改、完善原型。軟件維護和軟件管理軟件開發(fā)項目管理基礎(chǔ)知識(時間管理、成本管理、質(zhì)量管理、人力資源管理、風險管理等)及其常用管理工具軟件管理工作涉及到軟件開發(fā)工作的方方面面,其直接對象包括人、財、物,簡單地說,人就是指軟件開發(fā)人員,財就是指項目經(jīng)費,物就是指軟件項目。也許還沒有關(guān)于這方面的專門理論,但在工商管理領(lǐng)域已經(jīng)有十分成熟的管理學理論,他山之石,可以攻玉,所以我們完全可以引進到軟件項目方面的管理。作為軟件管理人員,應(yīng)該站在高處來俯瞰整個項目,如果有不識廬山真面目的感覺就不太好了。有了俯瞰全局的意識這一前提,采用適當?shù)墓芾砑夹g(shù),項目開展就容易羅。軟件項目的管理工作可以分位四個方面:軟件項目的計劃、軟件項目的組織、軟件項目的領(lǐng)導(dǎo)和軟件項目的控制.1軟件項目的計劃軟件開發(fā)項目的計劃包括定義項目的目標,以及達到目標的方法。他涉及到項目實施的各個環(huán)節(jié),帶有全局的性質(zhì),是戰(zhàn)略性的。計劃應(yīng)力求完備,要考慮到一些未知因素和不確定因素,考慮到可能的修改。計劃應(yīng)力求準確,盡可能提高所依據(jù)的數(shù)據(jù)的可靠程度。主要工作集中在軟件項目的估算、軟件開發(fā)成本的估算和軟件項目進度安排。軟件項目計劃的目標是提供一個能使項目管理人員對資源、成本和進度做出合理估算的框架。這些估算應(yīng)在軟件項目開始時的一段有限時間內(nèi)作出,并隨著項目的進展進行更新。2軟件項目的估算軟件項目管理過程開始于項目的計劃,在做項目計劃時,第一項活動是估算?,F(xiàn)在已經(jīng)使用的使用技術(shù)是時間和工作量的估算。因為估算是其他項目計劃活動的基石,而且項目計劃又未軟件工程過程提供了工作方向,所以我們不能沒有計劃就著手開發(fā),否則就會陷入盲目性。估算本身帶有風險,估算資源、成本和項目進度時需要經(jīng)驗、有用的歷史信息、足夠的定量數(shù)據(jù)和作定量度量的勇氣。估算的精確程度受到多方面的影響。首先,項目的復(fù)雜性對于增加軟件計劃的不確定性影響很大,復(fù)雜性越高,估算的風險就越高。復(fù)雜性是相對度量的,他與項目參加人員的經(jīng)驗有關(guān),比如如果讓搞MIS的項目組去搞操作系統(tǒng)設(shè)計顯然增加了復(fù)雜性。其次,項目的規(guī)模對于估算的精確性和功效的影響也比較大,因為隨著軟件規(guī)模的擴大,軟件相同元素之間的相互依賴、相互影響也迅速增加,因而估算時進行問題分解也會變得更加困難。還有項目的結(jié)構(gòu)化程度也影響項目估算的風險,這里的結(jié)構(gòu)性是指功能分解的簡便性和處理信息的層次性,結(jié)構(gòu)化程度提高,進行精確估算的能力就提高,相應(yīng)風險將減少。此外,歷史信息的有效性也影響估算的風險,在對過去的項目進行這綜合的軟件度量之后,就可以借用來比較準確地進行估算。影響估算的因素遠不止這些,比如用戶需求的頻繁變更給估算帶來非常大的影響。估算的依據(jù)是軟件的范圍,包括功能,性能、限制、接口和可靠性。在估算開始之前,應(yīng)對軟件的功能進行評價,并對其進行適當?shù)募毣员闾峁└敿毜募毠?jié)。由于成本和進度的估算都與功能有關(guān),因此常常采用功能分解的辦法。性能的考慮主要包括處理和響應(yīng)時間的需求。約束條件則標識外部硬件、可用存儲和其他現(xiàn)有系統(tǒng)對軟件的限制。另外軟件項目計劃還要完成資源估算,包括人力資源、硬件資源和軟件資源。在考慮各種軟件開發(fā)資源時最重要的是人,必須考慮人員的技術(shù)水平、專業(yè)、人數(shù)以及在開發(fā)過程各階段對各種人員的需要。硬件資源作為一種工具投入。軟件資源包括各種幫助開發(fā)的軟件工具,比如編程工具、管理工具、測試工具,還有操作系統(tǒng)和數(shù)據(jù)庫等。軟件開發(fā)工具與環(huán)境(CASE)用來輔助軟件開發(fā)、運行、維護、管理和支持等過程中的活動的軟件稱為軟件工具,通常也稱為CASE(計算機輔助軟件工程)工具。整個軟件開發(fā)過程要使用很多開發(fā)工具,其中包括分析工具、設(shè)計工具、編程工具、測試工具、維護工具等等。軟件開發(fā)工具是指支持軟件產(chǎn)品開發(fā)的軟件系統(tǒng),它由軟件工具集和環(huán)境集成機智構(gòu)成。工具集包括支持軟件開發(fā)相關(guān)過程、活動、任務(wù)的軟件工具;環(huán)境集成機智為工具集成和軟件開發(fā)、維護和管理提供統(tǒng)一的支持。軟件開發(fā)環(huán)境是把一組相關(guān)的工具集成在環(huán)境中,提供數(shù)據(jù)集成、控制集成和界面集成等機制。其中:?數(shù)據(jù)集成機制:提供統(tǒng)一的數(shù)據(jù)模式和數(shù)據(jù)接口規(guī)范,需要相互協(xié)同的工具通過這種統(tǒng)一的規(guī)范交換數(shù)據(jù)。數(shù)據(jù)集成可由共享文件、共享數(shù)據(jù)結(jié)構(gòu)或共享信息庫等不同的層次;?控制集成機制:支持各工具或各開發(fā)活動之間的通信、切換、調(diào)度和協(xié)同工作,并且支持軟件開發(fā)過程的描述、執(zhí)行和轉(zhuǎn)接;通常消息傳送的方式實現(xiàn)控制的集成。?界面集成機制使這些工具具有統(tǒng)一的界面風格,從而為軟件開發(fā)、維護、管理等過程的各項活動提供連續(xù)的、一致的全方位支持。集成型軟件開發(fā)環(huán)境由工具集和環(huán)境集成機制組成,這種環(huán)境應(yīng)該具有開放性和可剪裁性;環(huán)境集成機制的核心是環(huán)境數(shù)據(jù)庫。軟件分析可行性分析的任務(wù)是從技術(shù)上、經(jīng)濟上、使用上、法律上分析需解決的問題是否存在可行的解。需求分析是軟件生存周期中相當重要的一個階段。需求分析主要是確定待開發(fā)軟件的功能、性能、數(shù)據(jù)、界面等要求。具體有以下幾點:?確定軟件系統(tǒng)的綜合要求?分析軟件系統(tǒng)的數(shù)據(jù)要求?導(dǎo)出系統(tǒng)的邏輯模型?修正項目開發(fā)計劃?如有必要,可開發(fā)一個原型系統(tǒng)需求分析的基本原則是能夠表達和理解問題的信息域和功能域;以層次化的方式進行分解和不斷細化;要給出系統(tǒng)的邏輯視圖和物理視圖;描述軟件需求的方法:功能層次模型:一般來講就是系統(tǒng)的功能圖,模塊分布圖等描述整個系統(tǒng)的功能的分布和功能的層次結(jié)構(gòu);數(shù)據(jù)流模型:就是以數(shù)據(jù)流為著眼點的分析方法得到的模型,主要通過數(shù)據(jù)在整個系統(tǒng)的流動情況來確定系統(tǒng)的主要功能主線和流程;控制流模型:通過了解和界定系統(tǒng)中控制線,通過控制流的走向和控制的對象來確定系統(tǒng)的功能分布和控制與被控制的關(guān)系;結(jié)構(gòu)化分析(SA)方法是一種面向數(shù)據(jù)流的需求分析方法,它適用于分析大型數(shù)據(jù)處理系統(tǒng)。結(jié)構(gòu)化分析方法的基本思想是自頂向下逐層分解,這樣做可以把一個大問題分解成若干個小問題,經(jīng)過多次逐層分解,每個最底層的問題都是足夠簡單、容易解決的,這個過程就是分解的過程。結(jié)構(gòu)化方法的分析結(jié)果由數(shù)據(jù)流圖DFD、數(shù)據(jù)詞典和加工邏輯說明幾個部分組成。其中,DFD的基本成分有數(shù)據(jù)流(dataflow)、加工(process)、文件(file)和源/宿(source/sink)。n畫數(shù)據(jù)流圖的基本步驟:自外向內(nèi)、自頂向下、逐層細化、完善求精;n數(shù)據(jù)流圖的父圖與子圖要平衡,即輸入和輸出的數(shù)據(jù)流一致;n數(shù)據(jù)流圖中的每個加工至少有一個輸入數(shù)據(jù)流和一個輸出數(shù)據(jù)流;n局部的數(shù)據(jù)存儲不畫出來,只有當局部數(shù)據(jù)存儲作為某些數(shù)據(jù)加工之間的數(shù)據(jù)接口才畫出,這有利于信息隱蔽;n畫數(shù)據(jù)流的時候不畫控制流,兩者的區(qū)別就是控制流中沒有數(shù)據(jù);n一個加工的數(shù)據(jù)流與輸出流不應(yīng)該同名;n允許一個加工有多條數(shù)據(jù)流流向另一個加工,也允許一個加工有兩個相同的輸出流向兩個不同的加工;n保持數(shù)據(jù)守恒:一個加工的所有輸出數(shù)據(jù)必須能從該加工的所有的輸入流中獲得;n在整套數(shù)據(jù)流圖中,每個文件都必須既有讀文件的數(shù)據(jù)流也有寫文件的數(shù)據(jù)流;軟件設(shè)計軟件設(shè)計原則:軟件設(shè)計的原則對提高軟件的設(shè)計質(zhì)量有很大的幫助。◆抽象抽象是指忽視一個主題中與當前目標無關(guān)的那些方面,以便更充分地注意與當前目標有關(guān)的方面。過程抽象和數(shù)據(jù)抽象是常用的兩種主要抽象手段?!裟K化模塊化是指將一個待開發(fā)的軟件分解成若干個小的簡單的部分——模塊,每個模塊可獨立地開發(fā)、測試、最后組裝成完整的軟件。這是一種復(fù)雜問題的“分而治之”的原則。模塊是指執(zhí)行某一特定任務(wù)的數(shù)據(jù)結(jié)構(gòu)和程序代碼。一個模塊有它的外部特征和內(nèi)部特征?!粜畔㈦[蔽、數(shù)據(jù)封裝信息隱蔽是開發(fā)整體程序結(jié)構(gòu)時使用的法則,即將每個程序的成分隱蔽或封裝在一個單一的設(shè)計模塊中,定義每一個模塊時盡可能少地顯露其內(nèi)部的處理。信息隱蔽原則對提高軟件的可修改性、可測試性和可移植性都有重要的作用?!裟K獨立模塊獨立是指每個模塊完成一個相對獨立的子功能,并且與其他模塊之間的聯(lián)系簡單。衡量模塊獨立程度的度量標準有兩個:耦合和內(nèi)聚。耦合是指模塊之間聯(lián)系的緊密程度。耦合度越高則模塊的獨立性越差。按耦合度從低到高依次有7種耦合方式。?非直接耦合(獨立運行)?數(shù)據(jù)耦合(用參數(shù)表傳遞簡單數(shù)據(jù))?標記耦合(傳遞數(shù)據(jù)結(jié)構(gòu)或者一部分)?控制耦合(傳遞的信息包括控制模塊的信息)?外部耦合(模塊與軟件之外的環(huán)境有關(guān))?公共耦合(多個模塊引用同一全局的數(shù)據(jù)區(qū))?內(nèi)容耦合(訪問內(nèi)部數(shù)據(jù),代碼重疊或者多個入口)內(nèi)聚是指模塊內(nèi)部各元素之間聯(lián)系的緊密程度內(nèi)聚度越低模塊的獨立性越差。按內(nèi)聚度從低到高依次有7種內(nèi)聚種類。?偶然內(nèi)聚(模塊完成的多個任務(wù),任務(wù)之間的關(guān)系松散)?邏輯內(nèi)聚(模塊完成邏輯相關(guān)的一組任務(wù))?瞬時內(nèi)聚(模塊的所有任務(wù)必須在同一時間間隔內(nèi)執(zhí)行)?過程內(nèi)聚(模塊的處理元素相關(guān)而且按照特定的次序執(zhí)行)?通信內(nèi)聚(模塊的所有元素集中在一個數(shù)據(jù)結(jié)構(gòu)區(qū)域上)?順序內(nèi)聚(模塊的處理元素相關(guān),必須順序執(zhí)行)?功能內(nèi)聚(模塊完成單一的功能,各個部分協(xié)調(diào)工作,而且不可缺少)模塊分解原則:?滿足信息隱蔽;?盡量內(nèi)聚度高,模塊間偶合度低;?模塊大小在(50-100語句);?模塊調(diào)用深度不能過大;?模塊的扇入(直接調(diào)用該模塊)應(yīng)盡量大,扇出(直接調(diào)用下級模塊數(shù))不宜過大;?設(shè)計單入口和單出口的模塊;?模塊的作用域應(yīng)在控制域之內(nèi):作用域:受模塊內(nèi)一個判定影響的所有的模塊的集合;控制域:該模塊本身和被該模塊直接或間接調(diào)用的所有的模塊的集合;?模塊的功能應(yīng)是可以預(yù)測的,相同輸入得到相同輸出結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計(SD)方法是一種面向數(shù)據(jù)流的設(shè)計方法,它可以與SA方法銜接。結(jié)構(gòu)化設(shè)計采用結(jié)構(gòu)圖(SC)來描述程序的結(jié)構(gòu)。其基本成分有模塊、調(diào)用和輸入/輸出數(shù)據(jù)。結(jié)構(gòu)圖:在需求分析階段用SA方法產(chǎn)生了數(shù)據(jù)流圖(DFD)。面向數(shù)據(jù)流的設(shè)計可以方便的將DFD轉(zhuǎn)換成程序結(jié)構(gòu)圖。DFD從系統(tǒng)的輸入數(shù)據(jù)流到系統(tǒng)的輸出數(shù)據(jù)流的一連串連續(xù)變換形成一條信息流。DFD的信息流大體可分為兩種類型:變換流和事務(wù)流。與之對應(yīng)的也存在兩種分析,變換分析和事務(wù)分析。變換分析是從變換流型的DFD導(dǎo)出程序結(jié)構(gòu)圖,而事務(wù)分析則是從事務(wù)流行型的DFD導(dǎo)出程序結(jié)構(gòu)圖。SD方法的具體設(shè)計步驟為:?復(fù)查并精化數(shù)據(jù)流圖?確定DFD的信息流類型?根據(jù)信息流類型分別將變換流或事務(wù)流轉(zhuǎn)換成程序結(jié)構(gòu)圖?根據(jù)軟件設(shè)計的原則對程序結(jié)構(gòu)圖作改進結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化程序(SP)設(shè)計采用自頂向下逐步求精的設(shè)計方法和單入口單出口的控制結(jié)構(gòu)。結(jié)構(gòu)化程序設(shè)計的描述工具主要有圖形描述工具、語言描述工具和表格描述工具。常用的圖形描述工具有程序流程圖、盒圖(NS圖)和問題分析圖(PAD)。典型的語言描述工具是PDL(programdesignlanguage)。典型的表格描述工具是判定表和判定樹。面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法也十分常用:Jackson方法是以數(shù)據(jù)結(jié)構(gòu)為設(shè)計基礎(chǔ),設(shè)計目標是得出對程序處理過程的描述,其設(shè)計過程是從描繪數(shù)據(jù)結(jié)構(gòu)的Jackson圖推導(dǎo)出描繪程序結(jié)構(gòu)的Jackson圖。這種方法最適合于詳細設(shè)計階段使用。Jackson方法的具體設(shè)計步驟為:?分析并確定輸入和輸出的數(shù)據(jù)的邏輯結(jié)構(gòu),并用Jackson圖表示?找出輸入數(shù)據(jù)結(jié)構(gòu)與輸出數(shù)據(jù)結(jié)構(gòu)間有對應(yīng)關(guān)系的數(shù)據(jù)單元?從描述數(shù)據(jù)結(jié)構(gòu)的Jackson圖導(dǎo)出描述程序結(jié)構(gòu)的Jackson圖軟件編碼:根據(jù)詳細設(shè)計說明書編寫程序,為開發(fā)項目選擇程序設(shè)計語言需要考慮的因素有應(yīng)用領(lǐng)域、算法和計算的復(fù)雜性、軟件運行環(huán)境、用戶需求、數(shù)據(jù)結(jié)構(gòu)和開發(fā)人員的水平。軟件的設(shè)計質(zhì)量與程序設(shè)計語言的技術(shù)性能無關(guān),但在程序設(shè)計轉(zhuǎn)向程序代碼時,轉(zhuǎn)化的質(zhì)量受語言性能的影響。好的程序應(yīng)該具有模塊化結(jié)構(gòu),系統(tǒng)應(yīng)該有較高的模塊獨立性。從應(yīng)用領(lǐng)域看,COBOL適合商業(yè)領(lǐng)域;FORTRAN適合科學計算;PROLOG和LISP適合人工智能領(lǐng)域;SMALLTALK、C++、JAVA是面向?qū)ο笳Z言;C是開發(fā)系統(tǒng)的程序設(shè)計語言;軟件測試對源程序最基本的質(zhì)量要求是正確性和可靠性,此外還很注重軟件的易使用性、易維護性和易移植性。軟件測試的工作量約占軟件開發(fā)總工作量的40%以上,其目的是盡可能多的發(fā)現(xiàn)軟件產(chǎn)品(主要是指程序)中的錯誤和缺陷。軟件測試是自底向上,逐步集成的過程,低一級測試為上一級測試準備條件;測試的關(guān)鍵是測試用例的設(shè)計,其方法可分為兩類。白盒測試:白盒測試是根據(jù)程序的內(nèi)部邏輯來設(shè)計測試用例,常用的技術(shù)是邏輯覆蓋,即考察用例測試數(shù)據(jù)運行被測程序時對程序邏輯的覆蓋程度。主要的覆蓋標準有6種:I.語句覆蓋指選擇足夠的測試用例,使被測語句的每個語句至少執(zhí)行一次。II.判定覆蓋指選擇足夠的測試用例,使每個判定的所有可能結(jié)果至少出現(xiàn)一次。III.條件覆蓋指選擇足夠的測試用例,使判定中的每個條件的所有可能結(jié)果至少出現(xiàn)一次。IV.判定/條件覆蓋指選擇足夠的測試用例,使判定中的每個條件的所有可能結(jié)果至少出現(xiàn)一次,并且每個判定中條件結(jié)果的所有可能組合也至少出現(xiàn)一次。V.條件組合覆蓋指選擇足夠的測試用例,使每個判定中條件結(jié)果的所有可能組合至少出現(xiàn)一次。VI.路徑覆蓋指選擇足夠的測試用例,使流程圖中的每條路徑至少經(jīng)過一次。黑盒測試:黑盒測試時根據(jù)規(guī)格說明所規(guī)定的功能來設(shè)計測試用例,它不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。常用的黑盒測試技術(shù)有:?等價類劃分?邊值劃分?錯誤猜測軟件測試的主要步驟有單元測試、集成測試和確認測試。單元測試:主要用來發(fā)現(xiàn)編碼和詳細設(shè)計中產(chǎn)生的錯誤,一般在編碼階段,采用白盒測試。集成測試(也稱組裝測試):主要用來發(fā)現(xiàn)設(shè)計階段產(chǎn)生的錯誤,是對各模塊組裝而成的程序進行測試,主要檢查模塊間的接口和通信,采用黑盒測試。集成測試按集成方式又可分成非漸增式集成和漸增式集成,而漸增式集成又可分成自頂向下集成和自底向上集成。確認測試:檢查軟件的功能、性能和其他特征是否與用戶需求一致,它以需求規(guī)格說明書作測試為依據(jù),采用黑盒測試Alpha測試是在開發(fā)者的現(xiàn)場由客戶來實施的,從用戶角度和環(huán)境下進行;Beta測試是在開發(fā)者不在現(xiàn)場下測試,由軟件最終用戶實施;使用各種測試方法的綜合策略:n在任何情況下都必須使用邊界值分析方法,用這種方法設(shè)計出測試用例發(fā)現(xiàn)程序錯誤的能力最強;n必要時用等價類劃分方法補充一些測試用例;n用錯誤推測法再追加一些測試用例n對照程序邏輯,檢查已有測試用例的邏輯覆蓋程度n如果程序的功能說明中含有輸入條件的組合情況,則選用因果圖法面向?qū)ο蠹夹g(shù)面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο?object-oriented,OO)方法是以客觀世界中的對象為中心,其分析和設(shè)計思想符合人們的思維方式,分析和設(shè)計的結(jié)果與客觀世界的實際比較接近,容易被人們所接受。下面列舉幾個面向?qū)ο笤O(shè)計方法中的重要術(shù)語,它們構(gòu)成面向?qū)ο蟮某绦蛟O(shè)計語言的核心。◆對象(Object)對象是和有數(shù)據(jù)及可對這些數(shù)據(jù)施加的操作結(jié)合在一起所構(gòu)成的獨立單位的總稱。一個對象通??捎蓪ο竺?、屬性和操作三部分組成。對象的劃分判定標準:1、子對象之間獨立性要高,即耦合度盡量達到最低,(理想的情況是達到組件化的程度);2、子對象相對其他劃分方法,更易于處理。所以對于復(fù)雜的大系統(tǒng),一般都要經(jīng)過多次的嘗試,以盡量能找到較優(yōu)的劃分方案。對于比較簡單的系統(tǒng),E-R轉(zhuǎn)換也能的到較為滿意的劃分。◆實例(Instance)實例是由某個特定類所描述的一個對象。◆類(Class)類是一組具有相同屬性和相同操作的對象的集合。類是面向?qū)ο蟮某绦蛟O(shè)計語言提供的可再用軟件成分。◆方法(Method)對象所能執(zhí)行的操作稱為方法。方法是類中定義的函數(shù),描述對象執(zhí)行操作的算法?!粝?Message)消息是要求某個對象執(zhí)行類中定義的某個操作的規(guī)格說明。一個消息通常包括接受對象名、調(diào)用的操作名和適當?shù)膮?shù)(如有必要)。主要特點:◆封裝性封裝性是一種信息隱蔽技術(shù),它使系統(tǒng)分析員能夠清晰地標明他們所提供的服務(wù)界面,用戶和應(yīng)用程序員則只看得見對象提供的操作功能(即封裝面上的信息),看不到其中的數(shù)據(jù)或操作代碼細節(jié)。◆多態(tài)性多態(tài)性是指同一個操作作用于不同的對象可以有不同的解釋,產(chǎn)生不同的執(zhí)行結(jié)果。◆繼承性繼承是指在某個類的層次關(guān)聯(lián)中,不同的類共享屬性和操作的一種機制。一個父類可以有多個子類。父類描述了這些子類的公共屬性和操作,子類中還可以定義其自己的屬性和操作。如果一個子類只有唯一的一個父類,這種繼承稱為單一繼承。如果一個子類有多個父類,可以從多個父類中繼承特性,這種繼承稱為多重繼承?!舴植际綄ο驞istributedObject在發(fā)布實施角度上看,對象可分為三種:本地對象,遠地對象,虛擬對象。本地對象LocalObject:指分布在同一個系統(tǒng)中的對象,互稱為本地對象遠地對象RemoteObject:指分布在不同系統(tǒng)中的對象(同一個群體系統(tǒng))。虛擬對象VirtualObject:不同于本地和遠地對象,虛擬對象不屬于真實的對象,而是一個虛設(shè)的類型。真正的操作不在虛擬對象本身,只是遠地對象在本地的映射。本地和遠地對象是相互的關(guān)系。而虛擬對象只是一種映射,用于關(guān)聯(lián)本地和遠地對象,起到分布和負載均衡的作用。面向?qū)ο髷?shù)據(jù)庫技術(shù):是面向?qū)ο蠹夹g(shù)和數(shù)據(jù)庫技術(shù)的有機的結(jié)合,它有著關(guān)系數(shù)據(jù)庫沒有的優(yōu)點。面向?qū)ο髷?shù)據(jù)庫(OODB)+關(guān)系數(shù)據(jù)庫(RDB)→對象-關(guān)系數(shù)據(jù)庫(ORDB)面向?qū)ο蟮奶卣鳎侯惡屠^承性,對象及對象標識、封裝性、信息/實現(xiàn)隱蔽、狀態(tài)保持,消息,多態(tài)性,一般性。u面向?qū)ο蠹夹g(shù)的出現(xiàn)正是彌補了前述關(guān)系模型的固有局限性。u對象數(shù)據(jù)模型是有很強的描述復(fù)雜對象的能力,能包含更多的數(shù)據(jù)語義信息。u面向?qū)ο蠓椒珊芊奖愕谋硎厩短讓ο?,因而很容易表達層次數(shù)據(jù),這點與RDB形成鮮明的對比,RDB強迫用戶用多個關(guān)系的元組表達層次數(shù)據(jù)。u面向?qū)ο蠓椒煞奖愕臉?gòu)造各種類型、而RDB不提供增加用戶定義數(shù)據(jù)類型的手段。面向?qū)ο蟮姆治龇椒嫦驅(qū)ο蟮南到y(tǒng)分析設(shè)計,

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論