




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第五章智能儀器軟件設(shè)計(jì)軟件開發(fā)模型與設(shè)計(jì)方法基于裸機(jī)的軟件設(shè)計(jì)基于操作系統(tǒng)的軟件設(shè)計(jì)軟件測(cè)試
智能儀器已不再是簡(jiǎn)單的硬件實(shí)體,而是硬件、軟件相結(jié)合,軟件決定儀器智能高低的新型儀器。第一節(jié)軟件開發(fā)模型與設(shè)計(jì)方法軟件的含義與軟件工程智能儀器中軟件的主要功能軟件工程開發(fā)模式軟件開發(fā)階段模塊化與結(jié)構(gòu)化程序設(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)(一)軟件的含義與軟件工程軟件的含義、特點(diǎn)和種類軟件工程的定義運(yùn)用系統(tǒng)的、規(guī)范的和可定量的方法來開發(fā)、運(yùn)行和維護(hù)軟件。軟件的含義(1)當(dāng)運(yùn)行時(shí),能夠提供所要求功能和性能的指令或計(jì)算機(jī)程序集合;(2)該程序能夠滿意地處理信息的數(shù)據(jù)結(jié)構(gòu);(3)描述程序功能需求以及如何操作和使用所要求的文檔。
軟件的特點(diǎn)(1)表現(xiàn)形式不同,軟件是無形的;(2)生產(chǎn)方式不同,軟件的開發(fā),是人智力的高度發(fā)揮;(3)要求不同,軟件產(chǎn)品不允許有誤差;(4)維護(hù)不同,軟件維護(hù)要比硬件復(fù)雜。
軟件的種類(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)人工智能軟件軟件的種類(3)工具軟件,是系統(tǒng)軟件和應(yīng)用軟件之間的支持軟件,用來輔助和支持開發(fā)人員開發(fā)和維護(hù)應(yīng)用軟件,包括:需求分析工具,設(shè)計(jì)工具,編碼工具,測(cè)試工具,維護(hù)工具和管理工具;軟件的種類(4)可重用軟件,包括各種標(biāo)準(zhǔn)程序庫,是計(jì)算機(jī)廠家提供的系統(tǒng)軟件的一部分,這些標(biāo)準(zhǔn)程序庫里的標(biāo)準(zhǔn)子程序,稍加改造,甚至不經(jīng)改造就可以把它們編入新開發(fā)的程序中。(二)智能儀器中軟件的主要功能1)采集信息2)與外界對(duì)話3)記憶信息4)處理信息5)控制功能6)自檢自診斷7)自補(bǔ)償自適應(yīng)8)自校準(zhǔn)自學(xué)習(xí)(三)軟件工程開發(fā)模式
軟件工程是由硬件和系統(tǒng)工程派生出來的,他包括四個(gè)關(guān)鍵元素:方法、語言、工具和過程。方法是提供如何構(gòu)造軟件的技術(shù)、包括一組廣泛的任務(wù)。語言是以支持軟件的分析、設(shè)計(jì)和實(shí)現(xiàn)。工具為方法和語言提供自動(dòng)化或半自動(dòng)化的支持。過程是粘結(jié)劑,把方法、語言和工具粘結(jié)在一起,它能使計(jì)算機(jī)軟件開發(fā)理性化和適時(shí)化。軟件工程開發(fā)模式
軟件工程是一系列方法、語言、工具和過程的步驟所組成。這些步驟通常叫做軟件工程模式。生存期模型是系統(tǒng)開發(fā)項(xiàng)目總貌的一種描述,生存期模型著眼于對(duì)項(xiàng)目管理的控制和逐步逼近的策略。其目的是給出軟件開發(fā)項(xiàng)目一個(gè)降低風(fēng)險(xiǎn)的結(jié)構(gòu)。軟件工程開發(fā)模式瀑布式模型是傳統(tǒng)的軟件工程生存期模式,是一種系統(tǒng)的和順序的軟件開發(fā)方法。系統(tǒng)需求分析軟件需求分析設(shè)計(jì)編碼調(diào)試維護(hù)原型開發(fā)模型四代技術(shù)(4GT)面向?qū)ο笊嫫谀P瓦^程開發(fā)模型(混合模型)軟件工程開發(fā)模式其他開發(fā)模型軟件工程開發(fā)模式
軟件開發(fā),特別是開發(fā)的早期階段,應(yīng)該是一個(gè)學(xué)習(xí)和實(shí)踐的過程,它的活動(dòng)應(yīng)該包括開發(fā)人員和用戶兩個(gè)方面。為了使其更有效,不僅要求開發(fā)人員要與用戶緊密合作,而且還要有一個(gè)實(shí)際的工作系統(tǒng),只有這樣才能獲得成功。盡管用戶在開始時(shí)說不清楚所要求的未來軟件系統(tǒng)是什么樣子,但他們卻可以對(duì)現(xiàn)有系統(tǒng)非常熟練地進(jìn)行挑剔。軟件工程開發(fā)模式原型開發(fā)模型的主要哲學(xué)論點(diǎn)就是允許失敗,它的目標(biāo)之一就是減少維護(hù)的工作量,原型開發(fā)可采用三種形式:1)一種紙面的原型或基于PC的原型,它描繪了人機(jī)對(duì)話的形式,使用戶據(jù)此能夠了解對(duì)話如何進(jìn)行。2)一種可運(yùn)行的原型,它可以實(shí)現(xiàn)開發(fā)軟件所要求功能的一些子集。3)一種現(xiàn)有程序,它能夠完成部分或全部所期望的功能,但應(yīng)有其他一些特性,即它能夠在此基礎(chǔ)上形成所需的新系統(tǒng)。軟件工程開發(fā)模式原型開發(fā)模型需求分析快速設(shè)計(jì)建立原型用戶評(píng)價(jià)原型修改原型生產(chǎn)產(chǎn)品軟件工程開發(fā)模式四代技術(shù)(4GT):擁有一組工具,它們都有一個(gè)共同的特點(diǎn),即每種工具都能使軟件開發(fā)人員在高層次上定義軟件的某些特性,并把開發(fā)人員定義的這些特性自動(dòng)地生成源代碼。需求分析設(shè)計(jì)策略用4GT實(shí)現(xiàn)測(cè)試軟件工程開發(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)。軟件工程開發(fā)模式過程開發(fā)模型(混合模型)是把幾種不同的模型組合為一種混合模型,它允許一個(gè)項(xiàng)目沿著最有效的路徑發(fā)展。(四)軟件開發(fā)階段不管選用哪種軟件工程模式,不管軟件的應(yīng)用領(lǐng)域、項(xiàng)目規(guī)模或復(fù)雜程度如何,軟件開發(fā)都要經(jīng)歷三個(gè)階段:定義、開發(fā)和維護(hù)階段。
定義階段主要是要弄清軟件做什么?即軟件開發(fā)人員必須確定處理的是什么信息,它們要達(dá)到哪些功能和性能,建立什么樣的界面,存在什么樣的設(shè)計(jì)限制,以及要求什么樣的確認(rèn)準(zhǔn)則來確定系統(tǒng)是否成功,還要弄清系統(tǒng)的關(guān)鍵需求,才能確定該軟件。雖然根據(jù)不同的軟件工程模式,定義階段所使用的方法不同,但有三個(gè)基本步驟:系統(tǒng)分析:主要定義計(jì)算機(jī)系統(tǒng)中每個(gè)元素的任務(wù)。軟件項(xiàng)目計(jì)劃:包括確定工作域、風(fēng)險(xiǎn)分析、資源規(guī)定、成本估算、以及工作任務(wù)和進(jìn)度安排等。需求分析:軟件工作域的定義只給軟件提出了方向,但還要對(duì)信息域和軟件功能進(jìn)行細(xì)節(jié)的定義,這是工作開始前及其重要的。
開發(fā)階段主要是確定這樣的軟件怎么做,即軟件開發(fā)人員必須確定對(duì)所開發(fā)軟件采用怎樣的數(shù)據(jù)結(jié)構(gòu)和體系結(jié)構(gòu),怎樣的過程細(xì)節(jié),怎樣把設(shè)計(jì)轉(zhuǎn)換成編程語言,以及怎樣進(jìn)行測(cè)試等。開發(fā)階段各異,但一般有三個(gè)具體步驟:軟件設(shè)計(jì):主要是把軟件的需求翻譯為一系列的表達(dá)式來描述數(shù)據(jù)結(jié)構(gòu)、體系結(jié)構(gòu)、算法過程,以及界面特征等。編碼:設(shè)計(jì)表達(dá)式必須翻譯為一種人工語言。最后,這種語言可以生成機(jī)器能夠執(zhí)行的指令系統(tǒng)。軟件測(cè)試:軟件一旦成為機(jī)器可執(zhí)行的形式,還必須對(duì)其進(jìn)行測(cè)試,以發(fā)現(xiàn)功能、邏輯和實(shí)現(xiàn)上的缺陷。
維護(hù)階段主要是各種修改,維護(hù)階段要進(jìn)行的再定義和再開發(fā)是在軟件已經(jīng)存在的基礎(chǔ)上進(jìn)行。維護(hù)階段有三種類型的修改:改正:就是修改軟件在測(cè)試中沒有被發(fā)現(xiàn)的缺陷。適應(yīng):軟件最初的開發(fā)環(huán)境,隨著時(shí)間的推進(jìn)很可能發(fā)生很大的變化。適應(yīng)性維護(hù)就是修改軟件,使之能適應(yīng)這種外部環(huán)境的變化。提高:隨著軟件的使用,用戶會(huì)認(rèn)識(shí)到,為了提高效益需要增加一些功能或提高一些性能。完善性維護(hù)就是在軟件超出它最初的需求上的擴(kuò)展。(五)模塊化與結(jié)構(gòu)化程序設(shè)計(jì)模塊化程序設(shè)計(jì)的出發(fā)點(diǎn)是把一個(gè)復(fù)雜的系統(tǒng)軟件,分解為若干個(gè)功能模塊,每個(gè)模塊執(zhí)行單一的功能,并且具有單入口單出口結(jié)構(gòu)。自底向上模塊化程序設(shè)計(jì)自頂向下模塊化程序設(shè)計(jì)模塊化與結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)1966年的BohmC和JacopiniG證明了只用三種基本的控制結(jié)構(gòu)就能實(shí)現(xiàn)如何單入口和單出口的程序。這三種基本的控制結(jié)構(gòu)是:順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)模塊化與結(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ì)。模塊化與結(jié)構(gòu)化程序設(shè)計(jì)問題定義階段是要明確計(jì)算機(jī)完成哪些任務(wù)、執(zhí)行什么程序,決定輸入輸出的形式與硬件接口電路的連接配合以及出錯(cuò)處理方法;程序設(shè)計(jì)是利用程序?qū)θ蝿?wù)作出描述,使用的方法有模塊程序設(shè)計(jì)法和結(jié)構(gòu)化程序設(shè)計(jì)法;模塊化與結(jié)構(gòu)化程序設(shè)計(jì)編碼是指程序設(shè)計(jì)人員選取一種適當(dāng)?shù)母呒?jí)(或匯編)語言,書寫程序;調(diào)試就是利用各種測(cè)試方法檢查程序的正確性;改進(jìn)和再設(shè)計(jì)是根據(jù)調(diào)試中的問題對(duì)原設(shè)計(jì)做修改,并對(duì)程序進(jìn)行改進(jìn)設(shè)計(jì)和補(bǔ)充。(六)面向?qū)ο蟮某绦蛟O(shè)計(jì)基本概念和特征
面向?qū)ο蟮姆椒ㄊ窃诿枋龊屠斫饪陀^事物方面與以往的系統(tǒng)分析方法截然不同的一種新方法。(六)面向?qū)ο蟮某绦蛟O(shè)計(jì)面向?qū)ο蠓椒ㄖ袔讉€(gè)重要的基本概念對(duì)象:是一個(gè)封裝了數(shù)據(jù)和操作的實(shí)體。對(duì)象的結(jié)構(gòu)特性由屬性表示,數(shù)據(jù)描述了對(duì)象的狀態(tài),操作可操縱私有數(shù)據(jù),改變對(duì)象的狀態(tài)。消息:請(qǐng)求對(duì)象執(zhí)行某一操作或回答某些信息的要求。(六)面向?qū)ο蟮某绦蛟O(shè)計(jì)類:是具有共同的屬性、共同的操作的對(duì)象的集合。繼承性:軟件的可重用性、程序成分的可重用性都是通過繼承類中的屬性和操作而實(shí)現(xiàn)的。面向?qū)ο蟮某绦蛟O(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)準(zhǔn)則模塊化:面向?qū)ο筌浖_發(fā)模式,很自然地支持了把系統(tǒng)分解成模塊的設(shè)計(jì)原理,對(duì)象就是模塊。它是把數(shù)據(jù)結(jié)構(gòu)和操作這些數(shù)據(jù)的方法緊密地結(jié)合在一起所構(gòu)成的模塊。抽象:面向?qū)ο蟮姆椒ú粌H支持過程抽象,而且支持?jǐn)?shù)據(jù)抽象。信息隱藏:通過對(duì)象的封裝性實(shí)現(xiàn)。面向?qū)ο蟮某绦蛟O(shè)計(jì)弱耦合:耦合是指一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連的緊密程度。在此,耦合主要指不同對(duì)象之間相互關(guān)聯(lián)的緊密程度。弱耦合是優(yōu)秀設(shè)計(jì)的一個(gè)重要標(biāo)準(zhǔn),這有助于使得系統(tǒng)中某一部分的變化對(duì)其他部分的影響降到最低程度。面向?qū)ο蟮某绦蛟O(shè)計(jì)強(qiáng)內(nèi)聚:內(nèi)聚衡量一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度。設(shè)計(jì)中使用的一個(gè)構(gòu)件內(nèi)的各元素,對(duì)完成一個(gè)定義明確的目的所做出的貢獻(xiàn)程度。在設(shè)計(jì)時(shí)應(yīng)該力求做到高內(nèi)聚。面向?qū)ο蟮某绦蛟O(shè)計(jì)可重用:軟件重用是提高軟件開發(fā)生產(chǎn)率和目標(biāo)系統(tǒng)質(zhì)量的重要途徑。重用基本上從設(shè)計(jì)階段開始。有兩方面含義:一是盡量使用已有的類,二是如果確實(shí)需要?jiǎng)?chuàng)建新類,則在設(shè)計(jì)這些新類的協(xié)議時(shí),應(yīng)該考慮將來的可重復(fù)使用性。習(xí)題軟件的含義是什么?軟件具有哪些與硬件不同的特點(diǎn)?軟件的種類有哪些?智能儀器軟件的主要功能是什么?什么是軟件工程?試列出5種軟件工程模式?軟件開發(fā)要經(jīng)過哪三個(gè)階段?模塊化程序設(shè)計(jì)方法有哪些?什么是結(jié)構(gòu)化程序設(shè)計(jì)?面向?qū)ο蟮某绦蛟O(shè)計(jì)準(zhǔn)則是什么?第二節(jié)基于裸機(jī)的軟件設(shè)計(jì)設(shè)計(jì)步驟程序流程圖與子程序設(shè)計(jì)系統(tǒng)監(jiān)控程序設(shè)計(jì)常用功能模塊的設(shè)計(jì)
基于裸機(jī)的軟件設(shè)計(jì)是指以空白的微處理器/控制器為基礎(chǔ),完成全部的軟件設(shè)計(jì),沒有將系統(tǒng)軟件和應(yīng)用軟件分開處理,其實(shí)時(shí)性和可靠性與設(shè)計(jì)人員的水平密切相關(guān),適用于功能較為簡(jiǎn)單的中小型應(yīng)用系統(tǒng)。設(shè)計(jì)步驟編寫設(shè)計(jì)任務(wù)書硬件電路設(shè)計(jì)軟件任務(wù)分析數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu)規(guī)劃資源分配編程調(diào)試程序流程圖與子程序設(shè)計(jì)程序流程圖的畫法
先粗后細(xì),逐步細(xì)化程序流程圖與子程序設(shè)計(jì)子程序設(shè)計(jì)應(yīng)采用模塊化,結(jié)構(gòu)化的程序設(shè)計(jì)方法系統(tǒng)監(jiān)控程序設(shè)計(jì)監(jiān)控程序的任務(wù)系統(tǒng)監(jiān)控程序是控制系統(tǒng)按預(yù)定操作方式運(yùn)轉(zhuǎn)的程序。它完成人機(jī)對(duì)話和遠(yuǎn)程控制等功能,使系統(tǒng)按操作者的意圖或遙控命令來完成指定的作業(yè)。它是系統(tǒng)程序的框架。系統(tǒng)監(jiān)控程序設(shè)計(jì)監(jiān)控程序的結(jié)構(gòu)作業(yè)順序調(diào)度型作業(yè)優(yōu)先調(diào)度型鍵碼分析作業(yè)調(diào)度型常用功能模塊的設(shè)計(jì)自檢模塊初始化模塊時(shí)鐘模塊通信模塊信息采集模塊數(shù)據(jù)處理模塊控制決策模塊顯示模塊第三節(jié)基于嵌入式操作系統(tǒng)的軟件設(shè)計(jì)嵌入式操作系統(tǒng)嵌入式軟件開發(fā)方法常用開發(fā)工具及開發(fā)環(huán)境嵌入式操作系統(tǒng)許多簡(jiǎn)單的嵌入式系統(tǒng)并不需要嵌入式操作系統(tǒng)(如單片機(jī)控制)。但是,隨著嵌入式系統(tǒng)復(fù)雜性的增加,操作系統(tǒng)顯得越來越重要。因此,必須對(duì)復(fù)雜的嵌入式軟件系統(tǒng)進(jìn)行合理的控制。嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)的分類商用系統(tǒng)專用系統(tǒng)開放系統(tǒng)嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)的體系結(jié)構(gòu)嵌入式軟件開發(fā)增量式迭代開發(fā)模型
嵌入式應(yīng)用程序開發(fā)過程嵌入式應(yīng)用程序的調(diào)試嵌入式程序開發(fā)工具及開發(fā)環(huán)境交叉開發(fā)系統(tǒng)開發(fā)方法崩潰與燒制ROM監(jiān)控程序ROM仿真器在線仿真器[ICE]片上調(diào)試[OCD]包括BDM和JTAG模擬器第四節(jié)軟件測(cè)試通用軟件測(cè)試方法嵌
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞務(wù)派遣合同范本南京
- 農(nóng)村煙酒供應(yīng)合同范本
- 臺(tái)歷打孔合同范本
- 出售舊鋼骨架合同范本
- 前期物業(yè)管理合同范例
- 單位購買二手房合同范本
- 發(fā)票增額購銷合同范例
- 合股經(jīng)營(yíng)學(xué)校合同范本
- 入股鏟車合同范本
- 廠房銷售合同范本
- JTG∕T F30-2014 公路水泥混凝土路面施工技術(shù)細(xì)則
- 建設(shè)工程施工專業(yè)分包合同(GF-2003-0213)
- 司法心理學(xué)課件
- 耳鼻喉科各項(xiàng)規(guī)章制度
- 湖南科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試參考試題庫(含答案)
- 玻璃分化板制作工藝
- 減鹽減油健康教育
- 電動(dòng)平車使用說明書
- 2024年智能鑄造生產(chǎn)線項(xiàng)目建設(shè)方案
- 中藥臨床藥師的溝通與協(xié)作技巧
- 設(shè)備采購計(jì)劃書
評(píng)論
0/150
提交評(píng)論