CodeTEST嵌入式軟件測試系統(tǒng)簡介課件_第1頁
CodeTEST嵌入式軟件測試系統(tǒng)簡介課件_第2頁
CodeTEST嵌入式軟件測試系統(tǒng)簡介課件_第3頁
CodeTEST嵌入式軟件測試系統(tǒng)簡介課件_第4頁
CodeTEST嵌入式軟件測試系統(tǒng)簡介課件_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第五章 智能儀器軟件設(shè)計(jì)軟件開發(fā)模型與設(shè)計(jì)方法基于裸機(jī)的軟件設(shè)計(jì)基于操作系統(tǒng)的軟件設(shè)計(jì)軟件測試第1頁,共61頁。 智能儀器已不再是簡單的硬件實(shí)體,而是硬件、軟件相結(jié)合,軟件決定儀器智能高低的新型儀器。第2頁,共61頁。第一節(jié) 軟件開發(fā)模型與設(shè)計(jì)方法軟件的含義與軟件工程智能儀器中軟件的主要功能軟件工程開發(fā)模式軟件開發(fā)階段模塊化與結(jié)構(gòu)化程序設(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)第3頁,共61頁。(一) 軟件的含義與軟件工程軟件的含義、特點(diǎn)和種類軟件工程的定義 運(yùn)用系統(tǒng)的、規(guī)范的和可定量的方法來開發(fā)、運(yùn)行和維護(hù)軟件。第4頁,共61頁。軟件的含義(1)當(dāng)運(yùn)行時(shí),能夠提供所要求功能和性能的指令或計(jì)算機(jī)程序集合;(2)該程

2、序能夠滿意地處理信息的數(shù)據(jù)結(jié)構(gòu);(3)描述程序功能需求以及如何操作和使用所要求的文檔。 第5頁,共61頁。軟件的特點(diǎn)(1)表現(xiàn)形式不同,軟件是無形的;(2)生產(chǎn)方式不同,軟件的開發(fā),是人智力的高度發(fā)揮;(3)要求不同,軟件產(chǎn)品不允許有誤差;(4)維護(hù)不同,軟件維護(hù)要比硬件復(fù)雜。 第6頁,共61頁。軟件的種類(1)系統(tǒng)軟件,是服務(wù)于其他程序的程序集,一般由計(jì)算機(jī)生產(chǎn)廠家配置;(2)應(yīng)用軟件,是在系統(tǒng)軟件的基礎(chǔ)上為解決特定領(lǐng)域應(yīng)用開發(fā)的軟件,可分為: 1)事物軟件 2)實(shí)時(shí)軟件 3)工程和科學(xué)軟件 4)嵌入式軟件 5)個(gè)人計(jì)算機(jī)軟件 6)人工智能軟件 第7頁,共61頁。軟件的種類(3)工具軟件,是

3、系統(tǒng)軟件和應(yīng)用軟件之間的支持軟件,用來輔助和支持開發(fā)人員開發(fā)和維護(hù)應(yīng)用軟件,包括:需求分析工具,設(shè)計(jì)工具,編碼工具,測試工具,維護(hù)工具和管理工具;第8頁,共61頁。軟件的種類(4)可重用軟件,包括各種標(biāo)準(zhǔn)程序庫,是計(jì)算機(jī)廠家提供的系統(tǒng)軟件的一部分,這些標(biāo)準(zhǔn)程序庫里的標(biāo)準(zhǔn)子程序,稍加改造,甚至不經(jīng)改造就可以把它們編入新開發(fā)的程序中。第9頁,共61頁。(二) 智能儀器中軟件的主要功能1)采集信息2)與外界對話3)記憶信息4)處理信息5)控制功能6)自檢自診斷7)自補(bǔ)償自適應(yīng)8)自校準(zhǔn)自學(xué)習(xí)第10頁,共61頁。(三) 軟件工程開發(fā)模式 軟件工程是由硬件和系統(tǒng)工程派生出來的,他包括四個(gè)關(guān)鍵元素:方法、

4、語言、工具和過程。 方法是提供如何構(gòu)造軟件的技術(shù)、包括一組廣泛的任務(wù)。 語言是以支持軟件的分析、設(shè)計(jì)和實(shí)現(xiàn)。 工具為方法和語言提供自動(dòng)化或半自動(dòng)化的支持。 過程是粘結(jié)劑,把方法、語言和工具粘結(jié)在一起,它能使計(jì)算機(jī)軟件開發(fā)理性化和適時(shí)化。第11頁,共61頁。軟件工程開發(fā)模式 軟件工程是一系列方法、語言、工具和過程的步驟所組成。這些步驟通常叫做軟件工程模式。 生存期模型是系統(tǒng)開發(fā)項(xiàng)目總貌的一種描述,生存期模型著眼于對項(xiàng)目管理的控制和逐步逼近的策略。其目的是給出軟件開發(fā)項(xiàng)目一個(gè)降低風(fēng)險(xiǎn)的結(jié)構(gòu)。第12頁,共61頁。軟件工程開發(fā)模式瀑布式模型是傳統(tǒng)的軟件工程生存期模式,是一種系統(tǒng)的和順序的軟件開發(fā)方法。

5、系統(tǒng)需求分析軟件需求分析設(shè) 計(jì)編 碼調(diào) 試維 護(hù)第13頁,共61頁。原型開發(fā)模型四代技術(shù)(4GT)面向?qū)ο笊嫫谀P瓦^程開發(fā)模型(混合模型)軟件工程開發(fā)模式其他開發(fā)模型第14頁,共61頁。軟件工程開發(fā)模式 軟件開發(fā),特別是開發(fā)的早期階段,應(yīng)該是一個(gè)學(xué)習(xí)和實(shí)踐的過程,它的活動(dòng)應(yīng)該包括開發(fā)人員和用戶兩個(gè)方面。為了使其更有效,不僅要求開發(fā)人員要與用戶緊密合作,而且還要有一個(gè)實(shí)際的工作系統(tǒng),只有這樣才能獲得成功。盡管用戶在開始時(shí)說不清楚所要求的未來軟件系統(tǒng)是什么樣子,但他們卻可以對現(xiàn)有系統(tǒng)非常熟練地進(jìn)行挑剔。第15頁,共61頁。軟件工程開發(fā)模式 原型開發(fā)模型的主要哲學(xué)論點(diǎn)就是允許失敗,它的目標(biāo)之一就是

6、減少維護(hù)的工作量,原型開發(fā)可采用三種形式:1)一種紙面的原型或基于PC 的原型,它描繪了人機(jī)對話的形式,使用戶據(jù)此能夠了解對話如何進(jìn)行。2)一種可運(yùn)行的原型,它可以實(shí)現(xiàn)開發(fā)軟件所要求功能的一些子集。3)一種現(xiàn)有程序,它能夠完成部分或全部所期望的功能,但應(yīng)有其他一些特性,即它能夠在此基礎(chǔ)上形成所需的新系統(tǒng)。第16頁,共61頁。軟件工程開發(fā)模式原型開發(fā)模型需求分析快速設(shè)計(jì)建立原型用戶評價(jià)原型修改原型生產(chǎn)產(chǎn)品第17頁,共61頁。軟件工程開發(fā)模式四代技術(shù)(4GT):擁有一組工具,它們都有一個(gè)共同的特點(diǎn),即每種工具都能使軟件開發(fā)人員在高層次上定義軟件的某些特性,并把開發(fā)人員定義的這些特性自動(dòng)地生成源代碼

7、。需求分析設(shè)計(jì)策略用4GT實(shí)現(xiàn)測 試第18頁,共61頁。軟件工程開發(fā)模式面向?qū)ο螅∣bject-Oriented,OO)生存期模型有五種方案可以選擇:1)在整個(gè)開發(fā)過程中,都采用OO的方法(O-O-O)2)保留傳統(tǒng)的分析方法,采用OO的設(shè)計(jì)與實(shí)現(xiàn) (T-O-O) ;3)保留傳統(tǒng)的實(shí)現(xiàn)(用過程性語言),采用OO的分析與設(shè)計(jì)(O-O-T) ;4)采用OO的分析和傳統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(O-T-T);5)采用OO的實(shí)現(xiàn)和傳統(tǒng)的分析與設(shè)計(jì)(T-T-O) 。第19頁,共61頁。軟件工程開發(fā)模式過程開發(fā)模型(混合模型) 是把幾種不同的模型組合為一種混合模型,它允許一個(gè)項(xiàng)目沿著最有效的路徑發(fā)展。第20頁,共61頁

8、。(四) 軟件開發(fā)階段不管選用哪種軟件工程模式,不管軟件的應(yīng)用領(lǐng)域、項(xiàng)目規(guī)?;驈?fù)雜程度如何,軟件開發(fā)都要經(jīng)歷三個(gè)階段: 定義、開發(fā)和維護(hù)階段。第21頁,共61頁。 定義階段主要是要弄清軟件做什么?即軟件開發(fā)人員必須確定處理的是什么信息,它們要達(dá)到哪些功能和性能,建立什么樣的界面,存在什么樣的設(shè)計(jì)限制,以及要求什么樣的確認(rèn)準(zhǔn)則來確定系統(tǒng)是否成功,還要弄清系統(tǒng)的關(guān)鍵需求,才能確定該軟件。 雖然根據(jù)不同的軟件工程模式,定義階段所使用的方法不同,但有三個(gè)基本步驟:第22頁,共61頁。系統(tǒng)分析:主要定義計(jì)算機(jī)系統(tǒng)中每個(gè)元素的任務(wù)。軟件項(xiàng)目計(jì)劃:包括確定工作域、風(fēng)險(xiǎn)分析、資源規(guī)定、成本估算、以及工作任務(wù)和

9、進(jìn)度安排等。需求分析:軟件工作域的定義只給軟件提出了方向,但還要對信息域和軟件功能進(jìn)行細(xì)節(jié)的定義,這是工作開始前及其重要的。第23頁,共61頁。 開發(fā)階段主要是確定這樣的軟件怎么做,即軟件開發(fā)人員必須確定對所開發(fā)軟件采用怎樣的數(shù)據(jù)結(jié)構(gòu)和體系結(jié)構(gòu),怎樣的過程細(xì)節(jié),怎樣把設(shè)計(jì)轉(zhuǎn)換成編程語言,以及怎樣進(jìn)行測試等。開發(fā)階段各異,但一般有三個(gè)具體步驟:軟件設(shè)計(jì):主要是把軟件的需求翻譯為一系列的表達(dá)式來描述數(shù)據(jù)結(jié)構(gòu)、體系結(jié)構(gòu)、算法過程,以及界面特征等。第24頁,共61頁。編碼:設(shè)計(jì)表達(dá)式必須翻譯為一種人工語言。最后,這種語言可以生成機(jī)器能夠執(zhí)行的指令系統(tǒng)。軟件測試:軟件一旦成為機(jī)器可執(zhí)行的形式,還必須對其

10、進(jìn)行測試,以發(fā)現(xiàn)功能、邏輯和實(shí)現(xiàn)上的缺陷。第25頁,共61頁。 維護(hù)階段主要是各種修改,維護(hù)階段要進(jìn)行的再定義和再開發(fā)是在軟件已經(jīng)存在的基礎(chǔ)上進(jìn)行。維護(hù)階段有三種類型的修改:改正:就是修改軟件在測試中沒有被發(fā)現(xiàn)的缺陷。適應(yīng):軟件最初的開發(fā)環(huán)境,隨著時(shí)間的推進(jìn)很可能發(fā)生很大的變化。適應(yīng)性維護(hù)就是修改軟件,使之能適應(yīng)這種外部環(huán)境的變化。第26頁,共61頁。提高:隨著軟件的使用,用戶會認(rèn)識到,為了提高效益需要增加一些功能或提高一些性能。完善性維護(hù)就是在軟件超出它最初的需求上的擴(kuò)展。第27頁,共61頁。(五)模塊化與結(jié)構(gòu)化程序設(shè)計(jì) 模塊化程序設(shè)計(jì)的出發(fā)點(diǎn)是把一個(gè)復(fù)雜的系統(tǒng)軟件,分解為若干個(gè)功能模塊,每

11、個(gè)模塊執(zhí)行單一的功能,并且具有單入口單出口結(jié)構(gòu)。自底向上模塊化程序設(shè)計(jì)自頂向下模塊化程序設(shè)計(jì)第28頁,共61頁。模塊化與結(jié)構(gòu)化程序設(shè)計(jì) 結(jié)構(gòu)化程序設(shè)計(jì)1966年的Bohm C和Jacopini G證明了只用三種基本的控制結(jié)構(gòu)就能實(shí)現(xiàn)如何單入口和單出口的程序。這三種基本的控制結(jié)構(gòu)是:順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)第29頁,共61頁。模塊化與結(jié)構(gòu)化程序設(shè)計(jì) 結(jié)構(gòu)化程序設(shè)計(jì)是一種程序設(shè)計(jì)技術(shù),它采用自頂向下逐步求精的設(shè)計(jì)方法和單入口單出口的控制結(jié)構(gòu)。 程序設(shè)計(jì)通常分為五個(gè)步驟:即問題定義、程序設(shè)計(jì)、編碼、調(diào)試、改進(jìn)和再設(shè)計(jì)。第30頁,共61頁。模塊化與結(jié)構(gòu)化程序設(shè)計(jì)問題定義階段是要明確計(jì)算機(jī)完成哪些任務(wù)、

12、執(zhí)行什么程序,決定輸入輸出的形式與硬件接口電路的連接配合以及出錯(cuò)處理方法;程序設(shè)計(jì)是利用程序?qū)θ蝿?wù)作出描述,使用的方法有模塊程序設(shè)計(jì)法和結(jié)構(gòu)化程序設(shè)計(jì)法;第31頁,共61頁。模塊化與結(jié)構(gòu)化程序設(shè)計(jì)編碼是指程序設(shè)計(jì)人員選取一種適當(dāng)?shù)母呒墸ɑ騾R編)語言,書寫程序;調(diào)試就是利用各種測試方法檢查程序的正確性;改進(jìn)和再設(shè)計(jì)是根據(jù)調(diào)試中的問題對原設(shè)計(jì)做修改,并對程序進(jìn)行改進(jìn)設(shè)計(jì)和補(bǔ)充。第32頁,共61頁。(六)面向?qū)ο蟮某绦蛟O(shè)計(jì) 基本概念和特征 面向?qū)ο蟮姆椒ㄊ窃诿枋龊屠斫饪陀^事物方面與以往的系統(tǒng)分析方法截然不同的一種新方法。第33頁,共61頁。(六)面向?qū)ο蟮某绦蛟O(shè)計(jì) 面向?qū)ο蠓椒ㄖ袔讉€(gè)重要的基本概念對

13、象:是一個(gè)封裝了數(shù)據(jù)和操作的實(shí)體。對象的結(jié)構(gòu)特性由屬性表示,數(shù)據(jù)描述了對象的狀態(tài),操作可操縱私有數(shù)據(jù),改變對象的狀態(tài)。消息:請求對象執(zhí)行某一操作或回答某些信息的要求。第34頁,共61頁。(六)面向?qū)ο蟮某绦蛟O(shè)計(jì)類:是具有共同的屬性、共同的操作的對象的集合。繼承性:軟件的可重用性、程序成分的可重用性都是通過繼承類中的屬性和操作而實(shí)現(xiàn)的。第35頁,共61頁。面向?qū)ο蟮某绦蛟O(shè)計(jì) 面向?qū)ο蟪绦蛟O(shè)計(jì)準(zhǔn)則模塊化:面向?qū)ο筌浖_發(fā)模式,很自然地支持了把系統(tǒng)分解成模塊的設(shè)計(jì)原理,對象就是模塊。它是把數(shù)據(jù)結(jié)構(gòu)和操作這些數(shù)據(jù)的方法緊密地結(jié)合在一起所構(gòu)成的模塊。抽象:面向?qū)ο蟮姆椒ú粌H支持過程抽象,而且支持?jǐn)?shù)據(jù)抽象

14、。信息隱藏:通過對象的封裝性實(shí)現(xiàn)。第36頁,共61頁。面向?qū)ο蟮某绦蛟O(shè)計(jì)弱耦合:耦合是指一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連的緊密程度。在此,耦合主要指不同對象之間相互關(guān)聯(lián)的緊密程度。弱耦合是優(yōu)秀設(shè)計(jì)的一個(gè)重要標(biāo)準(zhǔn),這有助于使得系統(tǒng)中某一部分的變化對其他部分的影響降到最低程度。第37頁,共61頁。面向?qū)ο蟮某绦蛟O(shè)計(jì)強(qiáng)內(nèi)聚:內(nèi)聚衡量一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度。設(shè)計(jì)中使用的一個(gè)構(gòu)件內(nèi)的各元素,對完成一個(gè)定義明確的目的所做出的貢獻(xiàn)程度。在設(shè)計(jì)時(shí)應(yīng)該力求做到高內(nèi)聚。第38頁,共61頁。面向?qū)ο蟮某绦蛟O(shè)計(jì)可重用:軟件重用是提高軟件開發(fā)生產(chǎn)率和目標(biāo)系統(tǒng)質(zhì)量的重要途徑。重用基本上從設(shè)計(jì)階段開始。有兩方面

15、含義:一是盡量使用已有的類,二是如果確實(shí)需要?jiǎng)?chuàng)建新類,則在設(shè)計(jì)這些新類的協(xié)議時(shí),應(yīng)該考慮將來的可重復(fù)使用性。第39頁,共61頁。習(xí)題軟件的含義是什么?軟件具有哪些與硬件不同的特點(diǎn)?軟件的種類有哪些?智能儀器軟件的主要功能是什么?什么是軟件工程?試列出5種軟件工程模式?軟件開發(fā)要經(jīng)過哪三個(gè)階段?模塊化程序設(shè)計(jì)方法有哪些?什么是結(jié)構(gòu)化程序設(shè)計(jì)?面向?qū)ο蟮某绦蛟O(shè)計(jì)準(zhǔn)則是什么?第40頁,共61頁。第二節(jié) 基于裸機(jī)的軟件設(shè)計(jì)設(shè)計(jì)步驟程序流程圖與子程序設(shè)計(jì)系統(tǒng)監(jiān)控程序設(shè)計(jì)常用功能模塊的設(shè)計(jì)第41頁,共61頁。 基于裸機(jī)的軟件設(shè)計(jì)是指以空白的微處理器/控制器為基礎(chǔ),完成全部的軟件設(shè)計(jì),沒有將系統(tǒng)軟件和應(yīng)用軟

16、件分開處理,其實(shí)時(shí)性和可靠性與設(shè)計(jì)人員的水平密切相關(guān),適用于功能較為簡單的中小型應(yīng)用系統(tǒng)。第42頁,共61頁。設(shè)計(jì)步驟編寫設(shè)計(jì)任務(wù)書硬件電路設(shè)計(jì)軟件任務(wù)分析數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu)規(guī)劃資源分配編程調(diào)試第43頁,共61頁。程序流程圖與子程序設(shè)計(jì)程序流程圖的畫法 先粗后細(xì),逐步細(xì)化第44頁,共61頁。程序流程圖與子程序設(shè)計(jì)子程序設(shè)計(jì) 應(yīng)采用模塊化,結(jié)構(gòu)化的程序設(shè)計(jì)方法第45頁,共61頁。系統(tǒng)監(jiān)控程序設(shè)計(jì)監(jiān)控程序的任務(wù) 系統(tǒng)監(jiān)控程序是控制系統(tǒng)按預(yù)定操作方式運(yùn)轉(zhuǎn)的程序。它完成人機(jī)對話和遠(yuǎn)程控制等功能,使系統(tǒng)按操作者的意圖或遙控命令來完成指定的作業(yè)。它是系統(tǒng)程序的框架。 第46頁,共61頁。系統(tǒng)監(jiān)控程序設(shè)計(jì)監(jiān)

17、控程序的結(jié)構(gòu) 作業(yè)順序調(diào)度型 作業(yè)優(yōu)先調(diào)度型 鍵碼分析作業(yè)調(diào)度型 第47頁,共61頁。常用功能模塊的設(shè)計(jì)自檢模塊初始化模塊時(shí)鐘模塊通信模塊信息采集模塊數(shù)據(jù)處理模塊控制決策模塊顯示模塊第48頁,共61頁。第三節(jié) 基于嵌入式操作系統(tǒng)的軟件設(shè)計(jì)嵌入式操作系統(tǒng)嵌入式軟件開發(fā)方法常用開發(fā)工具及開發(fā)環(huán)境第49頁,共61頁。嵌入式操作系統(tǒng)許多簡單的嵌入式系統(tǒng)并不需要嵌入式操作系統(tǒng)(如單片機(jī)控制)。但是,隨著嵌入式系統(tǒng)復(fù)雜性的增加,操作系統(tǒng)顯得越來越重要。因此,必須對復(fù)雜的嵌入式軟件系統(tǒng)進(jìn)行合理的控制。 第50頁,共61頁。嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)的分類 商用系統(tǒng) 專用系統(tǒng) 開放系統(tǒng)第51頁,共61頁。嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)的體系結(jié)構(gòu)第52頁,共61頁。嵌入式軟件開發(fā)增量式迭代開發(fā)模型第53頁,共61頁。 嵌入式應(yīng)用程序開發(fā)過程第54頁,共61頁。嵌入式應(yīng)用程序的調(diào)試第55頁,共61頁。嵌入式程序開發(fā)工具及開發(fā)環(huán)境交叉開發(fā)系統(tǒng)第56頁,共61頁。開發(fā)方法崩潰與燒制ROM監(jiān)控程序ROM仿真器在線仿真器ICE片上調(diào)試OCD 包括BDM和JTAG模擬器第57頁,共61頁。第四節(jié) 軟件測試通用軟件測試方法嵌入式軟件測試Code

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論