日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]構(gòu)件化軟件的最主要特征[1]在于目標(biāo)系統(tǒng)由大量可復(fù)用構(gòu)件組成,從系統(tǒng)化構(gòu)件復(fù)用過(guò)程來(lái)看,傳統(tǒng)軟件開(kāi)發(fā)方法中的詳細(xì)設(shè)計(jì)被劃分到了構(gòu)件制作階段,與基于構(gòu)件開(kāi)發(fā)目標(biāo)系統(tǒng)屬于相對(duì)獨(dú)立的不同階段。構(gòu)件化軟件的設(shè)計(jì)是傳統(tǒng)軟件開(kāi)發(fā)方法中的總體設(shè)計(jì)或高層設(shè)計(jì),要求設(shè)計(jì)階段就應(yīng)設(shè)計(jì)出滿足需求的軟件體系結(jié)構(gòu)。

自從構(gòu)件技術(shù)提出以來(lái),如何有效地劃分構(gòu)件、進(jìn)行最大化的軟件復(fù)用成為研究的熱點(diǎn)。構(gòu)件化軟件的最主要特征[1]在于目標(biāo)系統(tǒng)由大量可復(fù)用構(gòu)件組成,從系統(tǒng)化構(gòu)件復(fù)用過(guò)程來(lái)看,傳統(tǒng)軟件開(kāi)發(fā)方法中的詳細(xì)設(shè)計(jì)被劃分到了構(gòu)件制作階段,與基于構(gòu)件開(kāi)發(fā)目標(biāo)系統(tǒng)屬于相對(duì)獨(dú)立的不同階段。構(gòu)件化軟件的設(shè)計(jì)是傳統(tǒng)軟件開(kāi)發(fā)方法中的總體設(shè)計(jì)或高層設(shè)計(jì),要求設(shè)計(jì)階段就應(yīng)設(shè)計(jì)出滿足需求的軟件體系結(jié)構(gòu)。

1 面向構(gòu)件的軟件架構(gòu)

軟件架構(gòu)[2]是指某個(gè)軟件或計(jì)算機(jī)系統(tǒng)的軟件架構(gòu),即組成該系統(tǒng)的一個(gè)或多個(gè)結(jié)構(gòu),構(gòu)成軟件的各個(gè)部分,形成該構(gòu)件的外部可見(jiàn)屬性及相互間的關(guān)系。基于構(gòu)件的軟件架構(gòu),更加強(qiáng)調(diào)構(gòu)件的概念,架構(gòu)時(shí)考慮兩個(gè)方面:(1)與軟件基礎(chǔ)設(shè)施有關(guān),(2)與構(gòu)件在基礎(chǔ)設(shè)施上的操作有關(guān)?;谶@兩方面的考慮,通常在架構(gòu)時(shí)考慮技術(shù)架構(gòu)和應(yīng)用架構(gòu)兩個(gè)方面。

1.1技術(shù)架構(gòu)

技術(shù)架構(gòu)[3]定義了技術(shù)環(huán)境和軟件基礎(chǔ)設(shè)施,是支持組織以實(shí)現(xiàn)運(yùn)作(非功能)需求(尤其是組織的應(yīng)用程序和信息體系結(jié)構(gòu))的硬件和軟件基礎(chǔ)設(shè)施的體系結(jié)構(gòu)。它描述了所使用的技術(shù)的結(jié)構(gòu)和內(nèi)部關(guān)系,以及這些技術(shù)如何支持組織的運(yùn)作需求。

技術(shù)架構(gòu)包括技術(shù)環(huán)境和技術(shù)基礎(chǔ)設(shè)施兩個(gè)部分。技術(shù)環(huán)境解決不同軟硬件平臺(tái)之間的差異性問(wèn)題。技術(shù)基礎(chǔ)設(shè)施包括在應(yīng)用中可以被標(biāo)準(zhǔn)化的部分。標(biāo)準(zhǔn)化使得通用代碼從面向業(yè)務(wù)的構(gòu)件中移出,放到一個(gè)獨(dú)立的可復(fù)用的軟件基礎(chǔ)設(shè)施中。軟件基礎(chǔ)設(shè)施可以通過(guò)預(yù)先構(gòu)建的構(gòu)件框架的方式提供,它處理構(gòu)件行為中已經(jīng)標(biāo)準(zhǔn)化的方面。

1.2 應(yīng)用架構(gòu)

應(yīng)用架構(gòu)[3]包括了構(gòu)件開(kāi)發(fā)者和組裝者面臨的架構(gòu)問(wèn)題。是自服務(wù)的體系結(jié)構(gòu),用于支持和實(shí)現(xiàn)這樣的業(yè)務(wù)需求,包括該業(yè)務(wù)與其他應(yīng)用程序之間的接口。它描述了應(yīng)用程序的結(jié)構(gòu)以及該結(jié)構(gòu)如何實(shí)現(xiàn)組織的功能需求。圖1所示為面向構(gòu)件的軟件構(gòu)架模型[4]。


2 典型系統(tǒng)架構(gòu)分析

 以一個(gè)門診部信息管理系統(tǒng)為例,對(duì)基于構(gòu)件技術(shù)的系統(tǒng)架構(gòu)進(jìn)行分析。

2.1 架構(gòu)選型

根據(jù)需求分析過(guò)程中得到的用例模型,進(jìn)行了如下選型過(guò)程[5]:

(1) 選擇套裝軟件還是自行開(kāi)發(fā)

先考慮了市場(chǎng)上套裝軟件的產(chǎn)品,希望借助成熟的產(chǎn)品加快實(shí)施進(jìn)度,確保軟件的質(zhì)量和穩(wěn)定性。但是通過(guò)考察,發(fā)現(xiàn)套裝軟件存在以下問(wèn)題:

①?gòu)墓δ芙嵌确治觯菏忻嫔犀F(xiàn)有的系統(tǒng)雖然提供了豐富且強(qiáng)大的功能,但與本系統(tǒng)的需求交集只占了大約60%,此部分之外的需求需要花費(fèi)很大的代價(jià)定制,而軟件中約有50%的特性是本系統(tǒng)所不需要的。

②從實(shí)施周期角度分析:由于客戶化的內(nèi)容比較多,包括前期的需求映射和套裝軟件的模型調(diào)整,要完成實(shí)施,經(jīng)過(guò)評(píng)估需要2年左右的時(shí)間,超出了用戶的預(yù)期。

③從成本角度分析:套裝軟件相對(duì)比較昂貴,另外需要購(gòu)買相應(yīng)的咨詢、實(shí)施服務(wù),這樣使得成本更大。

④從擴(kuò)展性角度分析:套裝軟件集成了一套強(qiáng)大的模型,通過(guò)模型的配置,基本上可以滿足業(yè)務(wù)上的變化,但是在條件不能滿足的情況下,由于系統(tǒng)實(shí)現(xiàn)非常復(fù)雜,采用的技術(shù)手段包含了很多自由的標(biāo)準(zhǔn),難于進(jìn)行二次開(kāi)發(fā),不利于移植和維護(hù)。

基于以上的分析,選擇了自行開(kāi)發(fā)軟件。

(2) 技術(shù)平臺(tái)的選擇

所謂“平臺(tái)”就是能夠獨(dú)立運(yùn)行并自主存在,為其所支撐的上層系統(tǒng)和應(yīng)用提供運(yùn)行所依賴的環(huán)境。
技術(shù)平臺(tái)是一套完整的、嚴(yán)密的服務(wù)于研制應(yīng)用的軟件產(chǎn)品及相關(guān)文件。真正的技術(shù)平臺(tái)應(yīng)該是選擇合適的技術(shù)體系(如J2EE、.NET等),技術(shù)架構(gòu)(一組設(shè)計(jì)模式如MVC的集合),充分發(fā)揮技術(shù)體系及技術(shù)架構(gòu)的優(yōu)勢(shì),能夠大大提高應(yīng)用軟件開(kāi)發(fā)速度,指導(dǎo)并規(guī)范應(yīng)用軟件分析、設(shè)計(jì)、編碼、測(cè)試、部署各階段工作,提煉用戶真正需求,提高代碼正確性、可讀性、可維護(hù)性、可擴(kuò)展性、伸縮性等軟件工具。優(yōu)秀的技術(shù)平臺(tái)還包括一套高效的底層通用的代碼,甚至還包括代碼生成器、代碼安全漏洞檢查工具等。

2.2 三層軟件架構(gòu)

在總結(jié)基于構(gòu)件的軟件架構(gòu)方法和進(jìn)行架構(gòu)選型分析后,在本系統(tǒng)中引入三層結(jié)構(gòu)的設(shè)計(jì)思想,采用構(gòu)件化的開(kāi)發(fā)方法,將系統(tǒng)業(yè)務(wù)邏輯封裝在應(yīng)用服務(wù)器上,客戶端應(yīng)用程序自動(dòng)從應(yīng)用服務(wù)器上下載和更新業(yè)務(wù)邏輯,達(dá)到“應(yīng)用邏輯與程序代碼分離,數(shù)據(jù)與應(yīng)用分離,應(yīng)用與流程分離”,最大化地支持業(yè)務(wù)的靈活開(kāi)展。圖2所示為系統(tǒng)軟件架構(gòu)。

系統(tǒng)采用三層體系結(jié)構(gòu)設(shè)計(jì)。所謂三層體系結(jié)構(gòu)[6],即用戶層、應(yīng)用層和數(shù)據(jù)庫(kù)服務(wù)器。用戶層主要指用戶界面,要求盡可能地簡(jiǎn)單,使最終用戶不需要進(jìn)行任何培訓(xùn)就能方便地訪問(wèn)信息;第二層是應(yīng)用服務(wù)器,也就是常說(shuō)的中間層,即組件層,所有的應(yīng)用系統(tǒng)、應(yīng)用邏輯、控制都在這一層,系統(tǒng)的復(fù)雜性也主要體現(xiàn)在應(yīng)用層;最后的數(shù)據(jù)存儲(chǔ)層中,數(shù)據(jù)庫(kù)服務(wù)器存儲(chǔ)大量的數(shù)據(jù)信息和數(shù)據(jù)邏輯,所有與數(shù)據(jù)有關(guān)的安全、完整性控制、數(shù)據(jù)的一致性、并發(fā)操作等都是在第三層完成。

在系統(tǒng)中,用戶層采用Delphi7編制,為最終用戶提供操作界面。用戶在操作界面上可以輸入信息,顯示查詢結(jié)果。具有操作簡(jiǎn)單,信息顯示方式多樣等特點(diǎn)。

業(yè)務(wù)邏輯層也采用Delphi7編制。這一層是整個(gè)系統(tǒng)的關(guān)鍵,系統(tǒng)每個(gè)功能的具體實(shí)現(xiàn)算法,各服務(wù)構(gòu)件均在本層實(shí)現(xiàn)。

數(shù)據(jù)庫(kù)服務(wù)器為Windows2003 Server+SQL Server2000模式。在數(shù)據(jù)庫(kù)服務(wù)器上通過(guò)大量使用視圖、觸發(fā)器和存儲(chǔ)過(guò)程實(shí)現(xiàn)數(shù)據(jù)的完整性控制、數(shù)據(jù)的一致性和并發(fā)操作。

采用三層體系結(jié)構(gòu)設(shè)計(jì)可以有效降低開(kāi)發(fā)和維護(hù)成本,簡(jiǎn)化管理,可適應(yīng)不斷變化的業(yè)務(wù)需求,有效提高系統(tǒng)安全性。這樣的好處顯而易見(jiàn):

(1)由于數(shù)據(jù)訪問(wèn)是通過(guò)中間層進(jìn)行的,因此客戶端不再與數(shù)據(jù)庫(kù)直接建立數(shù)據(jù)連接。即建立在數(shù)據(jù)庫(kù)服務(wù)器上的連接數(shù)量將大大減少;

(2)可維護(hù)性得以提高。因?yàn)闃I(yè)務(wù)規(guī)則、合法性校驗(yàn)存在于中間層,因此當(dāng)業(yè)務(wù)規(guī)則發(fā)生改變時(shí),只需更改中間層服務(wù)器上的某個(gè)組件(如某個(gè)DLL文件),而客戶端應(yīng)用程序不需做任何處理,有些時(shí)候,甚至不必修改中間層組件,只需要修改數(shù)據(jù)庫(kù)中的某個(gè)存儲(chǔ)過(guò)程就可以了;

(3)良好的可重用性;

(4)事務(wù)處理更加靈活,可以在數(shù)據(jù)庫(kù)端、組件層、MTS(或COM+)管理器中進(jìn)行事務(wù)處理。
本文以一個(gè)門診部信息管理系統(tǒng)軟件架構(gòu)為例,分析研究了基于構(gòu)件技術(shù)的系統(tǒng)軟件架構(gòu),為下一步系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)提供了重要依據(jù)。與傳統(tǒng)軟件開(kāi)發(fā)方法按照設(shè)計(jì)進(jìn)行編程以實(shí)現(xiàn)目標(biāo)系統(tǒng)不同,構(gòu)件化軟件的基本功能單元已經(jīng)以可復(fù)用構(gòu)件的方式實(shí)現(xiàn),所以按照設(shè)計(jì)好的軟件架構(gòu)來(lái)復(fù)用構(gòu)件,如何盡可能充分、正確、有效地復(fù)用軟件框架,成為了下一步構(gòu)件化軟件實(shí)現(xiàn)的主要工作之一。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

為增進(jìn)大家對(duì)嵌入式的認(rèn)識(shí),本文將對(duì)嵌入式開(kāi)發(fā)以及學(xué)習(xí)嵌入式需要注意的事項(xiàng)予以介紹。

關(guān)鍵字: 嵌入式 指數(shù) 嵌入式開(kāi)發(fā)

中國(guó)上海,2025年4月7日 — 全球領(lǐng)先的嵌入式系統(tǒng)開(kāi)發(fā)軟件解決方案供應(yīng)商IAR正式發(fā)布全新云就緒平臺(tái),為嵌入式開(kāi)發(fā)團(tuán)隊(duì)提供企業(yè)級(jí)的可擴(kuò)展性、安全性和自動(dòng)化能力。該平臺(tái)于在德國(guó)紐倫堡舉辦的embedded world...

關(guān)鍵字: 自動(dòng)化 嵌入式開(kāi)發(fā) RISC-V

在嵌入式系統(tǒng)開(kāi)發(fā)領(lǐng)域,VS Code(Visual Studio Code)作為一款輕量級(jí)但功能強(qiáng)大的代碼編輯器,正逐漸成為開(kāi)發(fā)者的首選工具。本文將詳細(xì)介紹如何在VS Code上搭建嵌入式開(kāi)發(fā)環(huán)境,并分享一些調(diào)試技巧。

關(guān)鍵字: VS Code 嵌入式開(kāi)發(fā)

隨著汽車電子化、智能化程度的不斷提高,車載以太網(wǎng)(Automotive Ethernet)作為新一代車載網(wǎng)絡(luò)通信技術(shù),正逐漸成為汽車內(nèi)部通信的主干網(wǎng)絡(luò)。它以其高帶寬、低延遲和強(qiáng)抗干擾能力,為汽車提供了更加高效、可靠的數(shù)據(jù)...

關(guān)鍵字: 車載以太網(wǎng) 嵌入式開(kāi)發(fā)

隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,嵌入式系統(tǒng)對(duì)實(shí)時(shí)性、低功耗和可擴(kuò)展性的要求越來(lái)越高。Zephyr RTOS(實(shí)時(shí)操作系統(tǒng))作為一款專為資源受限設(shè)備設(shè)計(jì)的開(kāi)源RTOS,憑借其輕量級(jí)、模塊化和高可擴(kuò)展性,在嵌入式開(kāi)發(fā)領(lǐng)域得到了廣泛...

關(guān)鍵字: 嵌入式開(kāi)發(fā) Zephyr RTOS 物聯(lián)網(wǎng)

軟件體系結(jié)構(gòu)是其組件中體現(xiàn)的系統(tǒng)的基本組織,彼此之間的關(guān)系以及環(huán)境的關(guān)系以及指導(dǎo)其設(shè)計(jì)和進(jìn)化的原則。軟件體系結(jié)構(gòu)并不是要?jiǎng)?chuàng)建一次并將其設(shè)置為石頭。相反,軟件體系結(jié)構(gòu)應(yīng)在整個(gè)產(chǎn)品的一生中發(fā)展和變化。多年來(lái),我聽(tīng)到工程師和經(jīng)...

關(guān)鍵字: 嵌入式軟件 軟件體系結(jié)構(gòu)

嵌入式開(kāi)發(fā),作為電子工程和計(jì)算機(jī)科學(xué)交叉領(lǐng)域的重要分支,對(duì)于構(gòu)建穩(wěn)定、高效的軟件系統(tǒng)提出了獨(dú)特挑戰(zhàn)。本文將深入探討嵌入式開(kāi)發(fā)的可靠方法論,結(jié)合實(shí)例與代碼,為開(kāi)發(fā)者提供一套系統(tǒng)化的指導(dǎo)原則。

關(guān)鍵字: 嵌入式開(kāi)發(fā) 計(jì)算機(jī)科學(xué)

嵌入式開(kāi)發(fā),作為電子工程和計(jì)算機(jī)科學(xué)的交匯點(diǎn),對(duì)軟件系統(tǒng)的穩(wěn)定性和效率提出了極高的要求。本文將結(jié)合具體案例,深入探討嵌入式開(kāi)發(fā)中的可靠方法論,為開(kāi)發(fā)者提供一套系統(tǒng)化的指導(dǎo)原則。

關(guān)鍵字: 嵌入式開(kāi)發(fā) 智能家居

在科技日新月異的今天,嵌入式開(kāi)發(fā)作為連接硬件與軟件的橋梁,在物聯(lián)網(wǎng)、智能設(shè)備、工業(yè)自動(dòng)化等領(lǐng)域扮演著至關(guān)重要的角色。對(duì)于許多技術(shù)愛(ài)好者而言,自學(xué)嵌入式開(kāi)發(fā)既是一個(gè)充滿魅力的挑戰(zhàn),也是一條通往創(chuàng)新實(shí)踐的必由之路。然而,這條...

關(guān)鍵字: 嵌入式開(kāi)發(fā) 物聯(lián)網(wǎng)

在科技日新月異的今天,嵌入式開(kāi)發(fā)與Java開(kāi)發(fā)作為軟件開(kāi)發(fā)領(lǐng)域的兩大重要分支,各自展現(xiàn)出了獨(dú)特的發(fā)展軌跡和市場(chǎng)前景。近年來(lái),關(guān)于嵌入式開(kāi)發(fā)是否會(huì)像Java開(kāi)發(fā)一樣“卷”的討論日益增多,這背后既反映了市場(chǎng)對(duì)技術(shù)趨勢(shì)的敏銳洞...

關(guān)鍵字: 嵌入式開(kāi)發(fā) Java開(kāi)發(fā)
關(guān)閉