




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于網(wǎng)絡(luò)的嵌入式系統(tǒng)設(shè)計(jì)7.1引言7.2設(shè)計(jì)流程 7.3需求分析與規(guī)格說(shuō)明7.4系統(tǒng)分析與體系結(jié)構(gòu)設(shè)計(jì)
7.1引言
多數(shù)真正的嵌入式系統(tǒng)的設(shè)計(jì)實(shí)際上是很復(fù)雜的,其功能要求非常詳細(xì),且必須遵循許多其他要求,如成本、性能、功耗、質(zhì)量、開(kāi)發(fā)周期等。大多數(shù)嵌入式系統(tǒng)的復(fù)雜程度使得無(wú)法由個(gè)人設(shè)計(jì)和完成,而必須在一個(gè)開(kāi)發(fā)團(tuán)隊(duì)中相互協(xié)作來(lái)完成。這樣就使得開(kāi)發(fā)人員必須遵循一定的設(shè)計(jì)過(guò)程,明確分工,相互交流并達(dá)成一致。
設(shè)計(jì)過(guò)程還會(huì)受到內(nèi)在和外在因素的影響。外在影響包括如消費(fèi)者的變化、需求的變化、產(chǎn)品的變化以及元器件的變化等。內(nèi)在影響包括如工作的改進(jìn)、人員的變動(dòng)等。
這些都要求嵌入式系統(tǒng)開(kāi)發(fā)人員必須掌握一定的系統(tǒng)設(shè)計(jì)方面的技術(shù)。因此,本章我們將研究設(shè)計(jì)方法學(xué)方面的一些知識(shí);7.2節(jié)介紹嵌入式系統(tǒng)的設(shè)計(jì)流程,內(nèi)容包括嵌入式系統(tǒng)開(kāi)發(fā)的一般過(guò)程和通常采用的一些設(shè)計(jì)流程;7.3節(jié)介紹系統(tǒng)定義過(guò)程中進(jìn)行需求分析和規(guī)格說(shuō)明的方法;7.4節(jié)介紹在規(guī)格說(shuō)明的基礎(chǔ)上如何進(jìn)行系統(tǒng)的體系結(jié)構(gòu)設(shè)計(jì)。
7.2設(shè)計(jì)流程
7.2.1開(kāi)發(fā)過(guò)程
嵌入式系統(tǒng)是專用的計(jì)算機(jī)系統(tǒng),運(yùn)行在特定的目標(biāo)環(huán)境中,需要同時(shí)滿足功能和性能等方面的要求。在嵌入式系統(tǒng)的開(kāi)發(fā)過(guò)程中,要考慮到實(shí)時(shí)性、可靠性、穩(wěn)定性、可維護(hù)性、可升級(jí)、可配置、易于操作、接口規(guī)范、抗干擾、物理尺寸、重量、功耗、成本、開(kāi)發(fā)周期等多種因素。良好的設(shè)計(jì)方法在嵌入式系統(tǒng)的開(kāi)發(fā)過(guò)程中是必不可少的。首先,好的方法有助于規(guī)劃一個(gè)清晰的工作進(jìn)度,避免遺漏重要的工作,例如性能的優(yōu)化和可靠性測(cè)試對(duì)于一個(gè)合格的嵌入式產(chǎn)品而言是不可或缺的。其次,采用有效的方法可以將整個(gè)復(fù)雜的開(kāi)發(fā)過(guò)程分解成若干可以控制的步驟,通過(guò)一些先進(jìn)計(jì)算機(jī)輔助設(shè)計(jì)工具的輔助,我們可以按部就班、有條不紊地完成整個(gè)項(xiàng)目。最后,通過(guò)定義全面的設(shè)計(jì)過(guò)程,可以使整個(gè)開(kāi)發(fā)團(tuán)隊(duì)的各個(gè)成員更好地理解自身的工作,方便成員之間相互交流與協(xié)作。在嵌入式系統(tǒng)的開(kāi)發(fā)過(guò)程中,團(tuán)隊(duì)的概念至關(guān)重要。圖7-1嵌入式系統(tǒng)開(kāi)發(fā)的一般過(guò)程
1.系統(tǒng)定義階段
系統(tǒng)定義階段需要確定系統(tǒng)開(kāi)發(fā)最終實(shí)現(xiàn)的目標(biāo)、實(shí)現(xiàn)目標(biāo)的可行性、實(shí)現(xiàn)目標(biāo)應(yīng)采用的策略、估計(jì)完成系統(tǒng)開(kāi)發(fā)所需的資源和成本、制定工程進(jìn)度安排計(jì)劃。這一階段的工作主要包括了系統(tǒng)定義、可行性分析、需求分析和規(guī)格說(shuō)明這四方面的內(nèi)容。其中,需求分析是指從用戶那里搜集系統(tǒng)的非形式描述。以此為基礎(chǔ)進(jìn)一步提煉,得到系統(tǒng)的規(guī)格說(shuō)明,并以此來(lái)設(shè)計(jì)系統(tǒng)的體系結(jié)構(gòu)和系統(tǒng)構(gòu)件。
通常,用戶僅了解和關(guān)心實(shí)際使用問(wèn)題及需要具備的功能,但是往往不能完整、準(zhǔn)確地表達(dá)這種需求,更不清楚怎樣利用計(jì)算機(jī)去實(shí)現(xiàn)所需的功能。為了對(duì)系統(tǒng)進(jìn)行準(zhǔn)確無(wú)誤地定義,就要求開(kāi)發(fā)人員和用戶之間充分交流,開(kāi)發(fā)人員需要詳細(xì)考察,最終得出經(jīng)用戶確認(rèn)的、明確的系統(tǒng)實(shí)現(xiàn)邏輯模型。
需求可分為功能部分和非功能部分。非功能性需求包括性能、價(jià)格、物理尺寸和重量、功耗等方面的因素。
確認(rèn)需求最好的方法是建立模型。模型可以使用原始數(shù)據(jù)來(lái)模擬功能,并可以在計(jì)算機(jī)上運(yùn)行。模型還應(yīng)讓用戶了解系統(tǒng)是如何工作的,以及用戶如何與系統(tǒng)交互。通常,系統(tǒng)的非功能模型可以讓用戶了解系統(tǒng)的特性。
對(duì)一個(gè)大型的系統(tǒng)進(jìn)行系統(tǒng)定義和需求分析是一件繁瑣的工作,可以從先獲取相對(duì)少量的、簡(jiǎn)單的信息入手。表7-1為一個(gè)簡(jiǎn)單的需求表格的樣本。
名稱——給項(xiàng)目取一個(gè)好的名稱,可以使設(shè)計(jì)目的更加明確,也便于交流、討論時(shí)使用。
目的——用最精煉的語(yǔ)言來(lái)描述清楚系統(tǒng)需要滿足的需求。
輸入和輸出——系統(tǒng)的輸入和輸出包含了大量的細(xì)節(jié),如數(shù)據(jù)類型,包括模擬信號(hào)、數(shù)字信號(hào)、機(jī)械輸入等;數(shù)據(jù)特性,包括周期性或非周期性數(shù)據(jù)、用戶的輸入、數(shù)據(jù)位數(shù)等;I/O設(shè)備類型,包括按鍵、ADC、顯示器等。
功能——功能的描述可以從對(duì)輸入到輸出的分析中得出,如當(dāng)系統(tǒng)接收到輸入時(shí),執(zhí)行哪些動(dòng)作;用戶通過(guò)界面輸入的數(shù)據(jù)如何對(duì)該功能產(chǎn)生影響;不同功能之間如何相互作用。
性能——系統(tǒng)控制物理設(shè)備或者處理外界輸入的數(shù)據(jù)都需要花費(fèi)一定的時(shí)間。在大部分情況下,嵌入式系統(tǒng)在計(jì)算時(shí)間上都有要求,因此從系統(tǒng)定義和需求分析開(kāi)始,這種性能的要求就必須明確,并在執(zhí)行過(guò)程中加以認(rèn)真考慮,以便隨時(shí)檢查系統(tǒng)能否滿足其性能要求。系統(tǒng)的處理速度通常又是系統(tǒng)實(shí)用性和成本的主要決定因素。在大多數(shù)情況下,軟件的性能在很大程度上決定了系統(tǒng)的性能。
生產(chǎn)成本——產(chǎn)品的成本會(huì)影響其價(jià)格。成本包含兩個(gè)主要部分:生成成本,包括購(gòu)買構(gòu)件以及組裝費(fèi)用等;不可再生的工程成本,包括人力成本以及設(shè)計(jì)費(fèi)用等。生產(chǎn)成本主要包括的是硬件成本。通過(guò)對(duì)硬件成本的估計(jì),可以大略估計(jì)產(chǎn)品形成后的價(jià)格;或者,基于產(chǎn)品最終的粗略價(jià)格來(lái)計(jì)算構(gòu)建系統(tǒng)可以使用的硬件構(gòu)件,因?yàn)閮r(jià)格最終會(huì)影響系統(tǒng)的體系結(jié)構(gòu)。
功耗——由電池供電的系統(tǒng)必須對(duì)功耗問(wèn)題認(rèn)真考慮。而系統(tǒng)的功耗需要在設(shè)計(jì)開(kāi)始時(shí)就至少有一個(gè)粗略的了解。通常,基于這種了解可以使開(kāi)發(fā)者決定系統(tǒng)是采用電池供電還是采用市電。
物理尺寸和重量——產(chǎn)品的物理尺寸和重量因使用領(lǐng)域的不同而不同。例如,對(duì)飛機(jī)上的電子設(shè)備,其重量應(yīng)嚴(yán)格限制。又如,手持設(shè)備對(duì)系統(tǒng)的物理尺寸和重量都有嚴(yán)格限制。對(duì)系統(tǒng)的物理尺寸和重量有一定的了解,有助于系統(tǒng)體系結(jié)構(gòu)的設(shè)計(jì)。
需求分析需要對(duì)其內(nèi)部一致性進(jìn)行檢查。規(guī)格說(shuō)明可以使設(shè)計(jì)者花費(fèi)最少的時(shí)間和精力創(chuàng)建一個(gè)工作系統(tǒng)。規(guī)格說(shuō)明應(yīng)該足夠明晰,以便別人可以驗(yàn)證它是否符合系統(tǒng)需求并且完全滿足客戶的期望;亦不能有歧義,設(shè)計(jì)者應(yīng)知道什么是他們需要構(gòu)造的。設(shè)計(jì)者可能碰到各種不同類型的由于不明確的規(guī)格說(shuō)明而導(dǎo)致的問(wèn)題。
2.總體設(shè)計(jì)階段
總體設(shè)計(jì)是設(shè)計(jì)的第一步,其目的是描述系統(tǒng)如何實(shí)現(xiàn)由系統(tǒng)定義規(guī)定的那些功能。它需要解決嵌入式系統(tǒng)的總體構(gòu)架,從功能實(shí)現(xiàn)上對(duì)軟硬件進(jìn)行劃分;在此基礎(chǔ)上,選定處理器和基本接口器件;根據(jù)系統(tǒng)的復(fù)雜程度確定是否使用操作系統(tǒng),以及選擇哪種操作系統(tǒng);此外,還需要選擇系統(tǒng)的開(kāi)發(fā)環(huán)境。
本階段應(yīng)提供系統(tǒng)總體設(shè)計(jì)報(bào)告,推薦一個(gè)基本的軟硬件配置方案,包括系統(tǒng)中各模塊間的接口關(guān)系。確立總體方案時(shí),要使用系統(tǒng)流程圖或其他工具,描述每一種可能的系統(tǒng)組成,估計(jì)每一種方案的成本和效益,最終使總體方案建立在充分權(quán)衡各種方案利弊的基礎(chǔ)上??傮w設(shè)計(jì)中對(duì)系統(tǒng)體系結(jié)構(gòu)的描述必須同時(shí)滿足功能上和非功能上的需求。一般地,功能約束在構(gòu)建系統(tǒng)總體框圖時(shí)集中考慮,而非功能約束在構(gòu)建硬件和軟件體系結(jié)構(gòu)時(shí)考慮。在構(gòu)建體系結(jié)構(gòu)時(shí)對(duì)非功能約束的估算部分來(lái)源于經(jīng)驗(yàn),而建造一個(gè)簡(jiǎn)化的模型往往有助于做出更精確的估算。
3.構(gòu)件設(shè)計(jì)階段
構(gòu)件通常包括硬件和軟件兩部分。構(gòu)件設(shè)計(jì)使得構(gòu)件、體系結(jié)構(gòu)和規(guī)格說(shuō)明相一致。
一些構(gòu)件是標(biāo)準(zhǔn)的,可以直接使用,如CPU和存儲(chǔ)器。如果采用標(biāo)準(zhǔn)數(shù)據(jù)庫(kù),我們就可以用標(biāo)準(zhǔn)例程對(duì)該數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)。這些數(shù)據(jù)庫(kù)中的數(shù)據(jù)不僅使用預(yù)定義的格式,而且被高度壓縮以節(jié)省存儲(chǔ)空間。在這些訪問(wèn)函數(shù)中使用標(biāo)準(zhǔn)軟件不僅節(jié)約設(shè)計(jì)時(shí)間,而且有可能較快地實(shí)現(xiàn)如數(shù)據(jù)解壓縮這樣的專用函數(shù)。
4.系統(tǒng)集成與性能測(cè)試階段
系統(tǒng)集成與性能測(cè)試階段的工作包括將測(cè)試完成的軟件系統(tǒng)裝入制作好的硬件系統(tǒng)中,進(jìn)行系統(tǒng)綜合測(cè)試,驗(yàn)證系統(tǒng)功能是否能夠準(zhǔn)確無(wú)誤地實(shí)現(xiàn),各方面指標(biāo)是否符合設(shè)計(jì)要求,最后將正確無(wú)誤的軟件固化在目標(biāo)硬件中。在系統(tǒng)集成階段通常會(huì)發(fā)現(xiàn)錯(cuò)誤。按階段構(gòu)建系統(tǒng)并正確運(yùn)行選好的測(cè)試,可以更容易地找出這些錯(cuò)誤。如果每次只對(duì)一部分模塊排錯(cuò),則可以更容易地發(fā)現(xiàn)和識(shí)別較簡(jiǎn)單的錯(cuò)誤。也只有在早期修正這些簡(jiǎn)單的錯(cuò)誤,才能發(fā)現(xiàn)那些只有在系統(tǒng)高負(fù)荷時(shí)才能確定的、較復(fù)雜、較含混的錯(cuò)誤。因此,我們必須確保能夠在體系結(jié)構(gòu)和構(gòu)件設(shè)計(jì)階段盡可能容易地按階段組裝系統(tǒng)和相對(duì)獨(dú)立地測(cè)試系統(tǒng)功能。7.2.2設(shè)計(jì)流程
1.瀑布模型圖7-2軟件開(kāi)發(fā)的瀑布模型
2.螺旋模型
瀑布模型假設(shè)系統(tǒng)被一次性整體建立,而螺旋模型假設(shè)要建立系統(tǒng)的多個(gè)版本,早期的版本只是一個(gè)簡(jiǎn)單的實(shí)驗(yàn)?zāi)P?,用于幫助設(shè)計(jì)者建立對(duì)系統(tǒng)的直觀認(rèn)識(shí)和積累開(kāi)發(fā)此系統(tǒng)的經(jīng)驗(yàn)。隨著設(shè)計(jì)的進(jìn)行,會(huì)創(chuàng)建更加復(fù)雜的系統(tǒng),在每一層設(shè)計(jì)中,設(shè)計(jì)者都會(huì)經(jīng)過(guò)需求、結(jié)構(gòu)設(shè)計(jì)和測(cè)試階段。后期,當(dāng)構(gòu)成更復(fù)雜的系統(tǒng)版本時(shí),每一個(gè)階段都會(huì)有更多的工作,并需要擴(kuò)大設(shè)計(jì)的螺旋。這種逐步求精的方法使得設(shè)計(jì)者可以通過(guò)一系列的設(shè)計(jì)循環(huán)加深對(duì)所開(kāi)發(fā)系統(tǒng)的理解。圖7-3軟件設(shè)計(jì)的螺旋模型3.逐步求精圖7-4逐步求精開(kāi)發(fā)模型
4.分層設(shè)計(jì)流程
許多復(fù)雜的嵌入式系統(tǒng)自身是由更多的小設(shè)計(jì)組成的。完整的系統(tǒng)可能需要有效的軟件構(gòu)件、專用的集成電路(ASIC)等,而且這些部件又可能由尚需設(shè)計(jì)的更小的部件組成。從最抽象的完整系統(tǒng)設(shè)計(jì)到為個(gè)別部件的設(shè)計(jì),設(shè)計(jì)流程隨著系統(tǒng)中的抽象層次而變化。流程的實(shí)現(xiàn)階段從規(guī)格說(shuō)明到測(cè)試,本身是一個(gè)完整的流程。在一個(gè)大項(xiàng)目中,每一個(gè)流程可能會(huì)由單獨(dú)的人或小組來(lái)完成,每個(gè)組必須依靠其他組的結(jié)果。各個(gè)分組從上級(jí)小組獲得要求,同時(shí)上級(jí)小組依靠各個(gè)分組的設(shè)計(jì)質(zhì)量和測(cè)試性能。充分交流在這樣的大項(xiàng)目中非常重要。其設(shè)計(jì)流程如圖7-5所示。圖7-5嵌入式系統(tǒng)分層設(shè)計(jì)工作流程
5.并行工程
當(dāng)眾多的設(shè)計(jì)者一起設(shè)計(jì)一個(gè)大系統(tǒng)時(shí),非常容易偏離完整的設(shè)計(jì)流程,導(dǎo)致每個(gè)設(shè)計(jì)者對(duì)自己在設(shè)計(jì)流程中的角色產(chǎn)生狹隘的看法。并行工程試圖采用一種更寬的方法,使整個(gè)流程優(yōu)化。對(duì)于并行工程而言,縮減設(shè)計(jì)時(shí)間是一個(gè)重要的目標(biāo),它為設(shè)計(jì)流程的很多方面提供了捷徑,例如可靠性、性能、功耗等。特別需要指出的是,要從并行工程中獲得最多收益,通常需要消除設(shè)計(jì)和制造之間的隔閡。為了獲得最優(yōu)結(jié)果,需要注意以下幾點(diǎn):
(1)交叉功能組應(yīng)包括來(lái)自不同學(xué)科的成員,包括制造業(yè)、硬件/軟件設(shè)計(jì)和市場(chǎng)營(yíng)銷等。
(2)并行產(chǎn)品實(shí)現(xiàn)過(guò)程的活動(dòng)是并行工程的中心。同時(shí)做幾件事,例如同時(shí)設(shè)計(jì)幾個(gè)不同的子系統(tǒng),減少設(shè)計(jì)時(shí)間是關(guān)鍵性的。
(3)遞增的信息共享和使用將有助于減少并行產(chǎn)品的實(shí)現(xiàn)導(dǎo)致意外的可能性。一旦新的信息可用,它就被共享并且集成到設(shè)計(jì)中。交叉功能組對(duì)于及時(shí)和高效的信息共享是很重要的。
(4)綜合的工程管理保證有人對(duì)整個(gè)工程負(fù)責(zé),而且這種職責(zé)決不能在工程的某一方面一旦完成就放棄。
(5)提供商盡早地和不間斷地參與,有助于充分利用提供商的能力。
(6)客戶盡早地和不間斷地關(guān)注,有助于確保產(chǎn)品能最好地滿足其需要。
6.其他
軟件工程的方法直接影響到設(shè)計(jì)流程。目前,軟件開(kāi)發(fā)過(guò)程結(jié)合了面向?qū)ο蟮姆椒ê偷谒拇ぞ?。該方法針?duì)嵌入式系統(tǒng)還在不斷完善。
在基于面向?qū)ο蟮拈_(kāi)發(fā)過(guò)程中,開(kāi)發(fā)組成員可以遵循并行過(guò)程的方法,并發(fā)地設(shè)計(jì)組件。例如,一個(gè)小組設(shè)計(jì)設(shè)備驅(qū)動(dòng)程序,另一個(gè)小組設(shè)計(jì)錯(cuò)誤處理程序,還有一個(gè)小組設(shè)計(jì)應(yīng)用程序。
第四代軟件工具能夠根據(jù)較高級(jí)的設(shè)計(jì)規(guī)范生成代碼,例如自動(dòng)報(bào)表生成、自動(dòng)高級(jí)圖形生成、創(chuàng)建數(shù)據(jù)庫(kù)查詢以及在創(chuàng)建網(wǎng)站時(shí)自動(dòng)生成HTML代碼等。
總之,不斷改進(jìn)的模型,其過(guò)程的生命周期是迭代的,直到進(jìn)行驗(yàn)證、確認(rèn)和交付或安裝到系統(tǒng)的ROM中為止。 7.3需求分析與規(guī)格說(shuō)明
7.3.1需求分析
創(chuàng)建一個(gè)需求文檔的目的是使用戶和設(shè)計(jì)者可以有效地交流。設(shè)計(jì)者應(yīng)該知道用戶期望他們?cè)O(shè)計(jì)什么,而用戶應(yīng)該明白他們將得到什么。
需求有兩種類型:功能性需求和非功能性需求。一個(gè)功能性需求說(shuō)明了這個(gè)系統(tǒng)必須做什么,例如FFT運(yùn)算。一個(gè)非功能性需求可以是其他屬性中的一些性質(zhì),包括物理尺寸、價(jià)格、功耗、開(kāi)發(fā)周期、可靠性等。
一套好的需求分析應(yīng)該滿足以下測(cè)試要求:
(1)正確性。需求不能錯(cuò)誤地描述用戶的要求。正確性還包括應(yīng)該避免超出需要的需求,需求不應(yīng)該加上那些不必要的條件。
(2)無(wú)二義性。需求文檔應(yīng)該清晰,并且只用一種明確的語(yǔ)言解釋。
(3)完整性。所有的需求都應(yīng)該被包括。
(4)可檢驗(yàn)性。應(yīng)該有一個(gè)有效的方法來(lái)確保最后的產(chǎn)品滿足每一種需求。例如,在不符合“吸引力”定義的情況下,一個(gè)想使系統(tǒng)組裝吸引人的需求是很難驗(yàn)證的。
(5)一致性。一個(gè)需求不能和另一個(gè)需求相矛盾。
(6)可修改性。需求文檔應(yīng)結(jié)構(gòu)化,以便在不影響一致性、可檢驗(yàn)性等情況下可以被修改以適應(yīng)變化的需求。
(7)可追蹤性。每個(gè)需求應(yīng)滿足以下可追蹤性:
——可以追蹤需求知道每個(gè)需求存在的價(jià)值。
——可以追蹤需求之前創(chuàng)建的文檔來(lái)理解它們?nèi)绾闻c最終的需求相關(guān)聯(lián)。
——可以向前追蹤來(lái)理解每個(gè)需求在實(shí)現(xiàn)中如何被滿足。
——可以向后追蹤以便知道哪一個(gè)需求是用戶滿意的。7.3.2規(guī)格說(shuō)明
1.SDL
SDL(SystemDescriptiveLanguage,系統(tǒng)描述語(yǔ)言)是一種廣泛使用的狀態(tài)機(jī)規(guī)格說(shuō)明語(yǔ)言,這種語(yǔ)言是通信產(chǎn)業(yè)為通信協(xié)議、電話系統(tǒng)等開(kāi)發(fā)的。如圖7-6所示,SDL規(guī)格說(shuō)明包括狀態(tài)、操作以及狀態(tài)間有條件的和非條件的轉(zhuǎn)換。SDL是一個(gè)面向事件的狀態(tài)機(jī)模型,狀態(tài)間的轉(zhuǎn)換由內(nèi)部或外部事件引發(fā)。圖7-6SDL規(guī)格說(shuō)明語(yǔ)言
2.狀態(tài)圖表
狀態(tài)圖表是一種常用的基于狀態(tài)的規(guī)格說(shuō)明的方法,它基于一種事件驅(qū)動(dòng)模型建立。狀態(tài)圖表允許狀態(tài)被組合在一起表示普通的功能。兩種基本的組合是OR(或)和AND(與)。圖7-7通過(guò)用OR狀態(tài)描述的狀態(tài)圖表與傳統(tǒng)的狀態(tài)轉(zhuǎn)換圖的比較演示了一個(gè)OR狀態(tài)的例子。該狀態(tài)機(jī)描述了當(dāng)s1、s2、s3收到輸入i2時(shí),機(jī)器將從s1、s2、s3的任一狀態(tài)轉(zhuǎn)換到狀態(tài)s4。狀態(tài)圖表也可以通過(guò)在s1、s2、s3周圍標(biāo)出OR狀態(tài)來(lái)表示這種特性。s123是OR狀態(tài)的名字,在狀態(tài)上方的小方塊中給出。從OR狀態(tài)s123出來(lái)的唯一轉(zhuǎn)換表明了狀態(tài)機(jī)處于s123包括的任意一個(gè)狀態(tài)時(shí),若接收到i2輸入,狀態(tài)機(jī)都會(huì)進(jìn)入狀態(tài)s4。OR狀態(tài)不但允許成員狀態(tài)間的相互轉(zhuǎn)換,還允許內(nèi)部狀態(tài)間的相互轉(zhuǎn)換(例如從s1到s3、從s2到s3)。OR狀態(tài)僅僅是表明與這些狀態(tài)相關(guān)的轉(zhuǎn)換的一種工具。圖7-7狀態(tài)圖表中的OR狀態(tài)圖7-8狀態(tài)圖表中的AND狀態(tài)
3.AND/OR表
圖7-9演示了一個(gè)AND/OR表的例子及其所描述的布爾表達(dá)式。AND/OR表中的每一行用表達(dá)式中的基本變量標(biāo)記。每一列相當(dāng)于表達(dá)式中的一個(gè)AND項(xiàng)。例如,AND項(xiàng)(條件2與非條件3)在第二列中用使條件2為真、條件3為假、條件1忽略來(lái)表示,這就相當(dāng)于AND條件要為真時(shí),必須有條件2為真且條件3為假。我們用這種表來(lái)估計(jì)一個(gè)給定的條件在系統(tǒng)中是否有效。變量的當(dāng)前狀態(tài)與表中的元素相比較,如果所有當(dāng)前變量的值與該列中給定的要求的值相等,則該列的值就為真。當(dāng)我們期望一個(gè)AND/OR表達(dá)時(shí),若列中任一值為真,則這個(gè)表為真。這個(gè)符號(hào)表和狀態(tài)圖表最大的不同在于“否”的情況在表中明確地表示了出來(lái)。實(shí)踐證明,這樣的表示對(duì)在一個(gè)規(guī)格說(shuō)明表中尋找問(wèn)題有很大幫助。圖7-9AND/OR表
7.4系統(tǒng)分析與體系結(jié)構(gòu)設(shè)計(jì)
把一個(gè)規(guī)格說(shuō)明變成一種體系結(jié)構(gòu)設(shè)計(jì),這對(duì)于理解一個(gè)復(fù)雜系統(tǒng)的整體結(jié)構(gòu)是一種非常有用的方法。
CRC卡方法是幫助分析一個(gè)系統(tǒng)結(jié)構(gòu)的一種普遍、實(shí)用的方法。由于它支持封裝數(shù)據(jù)和功能,因此特別適用于面向?qū)ο蟮脑O(shè)計(jì)。
縮寫CRC代表此方法所要確認(rèn)的以下三個(gè)主要項(xiàng)目:
類(Class)——定義了數(shù)據(jù)和功能的邏輯分組。
責(zé)任(Responsibility)——描述類所要做的工作。
協(xié)作者(Collaborator)——與給定類相關(guān)的其他類。圖7-10CRC卡示意圖
對(duì)于計(jì)算機(jī)系統(tǒng)設(shè)計(jì)而言,CRC卡方法似乎是一種比較原始的方法。然而,它有一些重要的優(yōu)點(diǎn)。首先,它很容易讓非計(jì)算機(jī)專業(yè)人員來(lái)創(chuàng)建CRC卡。在系統(tǒng)設(shè)計(jì)中,獲得領(lǐng)域?qū)<业闹腋媸欠浅V匾?,這些專家可能是擅長(zhǎng)汽車電子設(shè)備方面的汽車設(shè)計(jì)人員,也可能是從事PDA設(shè)計(jì)的人類遺傳因子研究方面的權(quán)威人士。CRC卡方法很簡(jiǎn)便,所以它對(duì)非計(jì)算機(jī)領(lǐng)域的專家使用此方法并不產(chǎn)生影響,而且還允許收集他們的輸入信息。其次,通過(guò)鼓勵(lì)領(lǐng)域?qū)<曳纸M工作和分析情況,可以很好地幫助計(jì)算機(jī)專家進(jìn)行工作。在CRC卡方法中運(yùn)用的預(yù)排過(guò)程對(duì)于明確設(shè)計(jì)范圍和決定系統(tǒng)的哪一部分未被充分地理解是非常有用的。在基于工具的設(shè)計(jì)和編碼中這種簡(jiǎn)便方法很有價(jià)值。而軟件工程工具對(duì)自動(dòng)創(chuàng)建CRC卡非常有效。
在CRC卡方法中,類的應(yīng)用實(shí)際上更像面向?qū)ο缶幊陶Z(yǔ)言中的對(duì)象——?CRC卡類習(xí)慣于表示系統(tǒng)中的一個(gè)實(shí)體,CRC卡類可以很容易變?yōu)槊嫦驅(qū)ο笤O(shè)計(jì)中的類定義。
用CRC卡分析系統(tǒng)時(shí),應(yīng)該按下列步驟進(jìn)行:
(1)設(shè)計(jì)類的初始清單。寫下類的名稱和一些
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)藥銷售代理合同全文
- 化工原料進(jìn)口代理合同(范本)
- 夫妻和諧共處合同書
- 員工合同樣本集錦
- 國(guó)內(nèi)快遞運(yùn)輸服務(wù)合同細(xì)則
- 單位公益捐贈(zèng)合同協(xié)議
- 合資公司成立的投資合同范本
- 合成氣生產(chǎn)中的催化劑考核試卷
- 寵物友好公共設(shè)施清潔保養(yǎng)質(zhì)量監(jiān)管考核試卷
- 康復(fù)輔具適配與物理治療結(jié)合考核試卷
- 2023-2024學(xué)年高中信息技術(shù)必修一滬科版(2019)第三單元項(xiàng)目六《 解決溫標(biāo)轉(zhuǎn)換問(wèn)題-認(rèn)識(shí)程序和程序設(shè)計(jì)語(yǔ)言》教學(xué)設(shè)計(jì)
- 浙江新陣地教育聯(lián)盟2025屆高三第二次聯(lián)考化學(xué)試題及答案
- 課件:以《哪吒2》為鏡借哪吒精神燃開(kāi)學(xué)斗志
- 新生兒胃腸減壓護(hù)理
- 七年級(jí)數(shù)學(xué)下冊(cè) 第8章 單元測(cè)試卷(蘇科版 2025年春)
- 2025年山東化工職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 上海市第一至十八屆高一物理基礎(chǔ)知識(shí)競(jìng)賽試題及答案
- 2024院感培訓(xùn)課件
- 2024-2030年中國(guó)稅務(wù)師事務(wù)所行業(yè)管理模式及投資前景展望報(bào)告版
- 2024年全國(guó)高考英語(yǔ)試題及答案-湖南卷
- 部編人教版小學(xué)四年級(jí)下冊(cè)道德與法治全冊(cè)教案及每課教學(xué)反思
評(píng)論
0/150
提交評(píng)論