為下一堂課做好準備。2Z-stack協(xié)議棧流程TI的Z-Stack協(xié)議棧從總體上來看主要由三部分組成:硬件抽象層(HardwareAbstractionLayer,HAL)、操作系統(tǒng)抽象層(OperatingSystemAbstractionLayer,OSAL)和ZigBee協(xié)議各層。在整個Z-Stack系統(tǒng)運行時,主函數(shù)主要完成兩個任務。其一,整個系統(tǒng)的初始化,其中涉及HAL中各個硬件模塊的初始化;其二,系統(tǒng)進行網(wǎng)絡配置和任務優(yōu)先級的劃分。圖2所示為系統(tǒng)啟動流程,首先屏蔽所有中斷,在經(jīng)歷底板、IO、硬件驅(qū)動、非易失存儲器等硬件相關的初始化后,通過OSAL的初始化函數(shù)進行系統(tǒng)初始化操作,這包括存儲器、定時器等;之后通過任務初始化函數(shù)進行網(wǎng)絡配置和任務分級,并對系統(tǒng)任務和用戶任務進行初始化操作[3];然后通過OSAL啟動函數(shù)進入輪詢狀態(tài),不停地監(jiān)任務事件的觸發(fā),并跳轉(zhuǎn)至任務執(zhí)行函數(shù)。所有用戶想觸發(fā)的事件必須要注冊登記,以此綁定事件與用戶任務,這樣當事件觸發(fā)時,比如按鍵按下時,系統(tǒng)才能從輪詢中正常跳轉(zhuǎn)至用戶的執(zhí)行函數(shù)[4]。3系統(tǒng)軟件設計整個系統(tǒng)的軟件設計部分包括上位機、協(xié)調(diào)器、路由器以及各個終端節(jié)點的程序設計[5]。本文主要在ZigBee2007版協(xié)議棧的基礎上對后三者的流程進行講解。奧信軟件以誠信為根本,以質(zhì)量服務求生存。張店在線考試軟件設計公司
按下后,可以去除所有信息,包括Flash中保存的內(nèi)容。但根據(jù)項目的需求,硬件上又加入了4×4矩陣鍵盤,占用P1口共8個端口,支持16種字符的輸入,包括:0~9十個數(shù)字,A~D四個字母,*和#兩個功能按鍵。重連檢測在初始化完成后,實際上因節(jié)點設備入網(wǎng)狀態(tài)的變化(從未組網(wǎng)變?yōu)榻K端節(jié)點),軟件設計系統(tǒng)將退出輪詢?nèi)ヌ幚韴?zhí)行函數(shù)。系統(tǒng)判定入網(wǎng)設備的類型,如果是終端節(jié)點,則會進行重連檢測。具體而言,用接口函數(shù)讀取Flash中的重連標志位。如果其值為1,則表示該設備之前已入網(wǎng),需進行界面恢復。該設備將恢復到之前答題界面,并且讀取Flash,然后將分組信息、倒計信息也復原;如果其值為0,則表示上次是正常斷電。系統(tǒng)將進行正常登錄操作,等待信息的錄入。顯示界面主要設計的界面是登錄界面和答題界面,當然還有一些其他反饋界面。在登錄界面,本項目需要學生首先按下矩陣鍵盤的啟動按鍵,再通過矩陣鍵盤輸入自己10位學號信息,以*鍵作為退格鍵,#鍵作為確認鍵。發(fā)送后,等待協(xié)調(diào)器進行認證反饋。認證成功,則液晶屏顯示“登錄成功”,進入答題頁面;反之,則液晶屏顯示“登錄失敗”,重新進入登錄頁面。為防止誤發(fā)送,在軟件設計后臺進行了發(fā)送限制。張店在線考試軟件設計公司奧信軟件尊崇團結(jié)、信譽、勤奮。
架構(gòu)約束分成了基本約束和業(yè)務約束:邏輯架構(gòu)基本約束:是軟件工程領域常見的各種軟件設計原則。邏輯架構(gòu)的職責約束:是模塊,子模塊,模型的職責相關約束,尤其是中心的模型和中心主模塊是在一定時間內(nèi)是比較穩(wěn)定的,所以此時對其定義它的約束范圍是有助于這段時間內(nèi)的研發(fā)的效率的。各種架構(gòu)的非業(yè)務功能性約束,如穩(wěn)定性,性能,成本等等。而本文講到的約束基本是邏輯架構(gòu)上約束,如果考慮業(yè)務約束,我們還必須要考慮我們的面向的客戶是什么群體之類的約束,如果缺少這樣的約束,在設計產(chǎn)品時可能會走偏。常見的軟件設計原則單一職責原則(SCP)(參考grasp原則)開閉原則(OCP)子類替換原則依賴倒置原則(DIP)接口隔離原則(ISP)組合聚合復用原則(CARP)迪米特法則(LoD)以上這些原則都是判斷標準,那么是用什么方法論來實現(xiàn)軟件可以幫助我們的軟件設計符合這些原則的呢?答:設計模式。常見設計模式這里有兩個非常重要的關鍵詞:判斷標準+實現(xiàn)方法,這里判斷標準是軟件設計原則,實現(xiàn)方法設計模式。作為一個常年在軟件設計行業(yè)摸爬滾打的人,設計模式和設計原則應該是較為熟悉的,或者說常用的設計模式和設計原則都是比較熟悉的。
一些架構(gòu)被逐漸淘汰,一些架構(gòu)逐漸被完善起來。機器人天然的工作模式是“see-think-act”,所以自然而然的就形成了“傳感——計劃——行動”(SPA)結(jié)構(gòu):從感知進行映射,經(jīng)由一個內(nèi)在的世界模型構(gòu)造,再由此模型規(guī)劃一系列的行動,最終在真實的環(huán)境中執(zhí)行這些規(guī)劃。與之對應的軟件設計結(jié)構(gòu)稱為經(jīng)典模型,也稱為層次模型、功能模型、工程模型或三層模型,這是一種由上至下執(zhí)行的可預測的軟件設計結(jié)構(gòu),SPA機器人系統(tǒng)典型的結(jié)構(gòu)是中建立有三個抽象層,分別稱為行駛層(Pilot)(低層)、導航層(Navigator)(中間層)、規(guī)劃層(Planner)(高層)。傳感器獲取的載體數(shù)據(jù)由下兩層預處理后再到達高度“智能”層作出行駛決策,實際的行駛(如導航和低層的行駛功能)交由下面各層執(zhí)行,低層再次成為與小車的接口,將駕駛指令發(fā)送給機器人的執(zhí)行器。缺點:這種方法強調(diào)世界模型的構(gòu)造并以此模型規(guī)劃行動,而構(gòu)造符號模型需要大量的計算時間,這對機器人的性能會有明顯的影響。另外,規(guī)劃模型與真實環(huán)境的偏差將導致機器人的動作無法達到預期的效果。由于SPA系統(tǒng)過于死板,出現(xiàn)了另一種實現(xiàn)方法:基于行為的方法。基于行為方法前身是反應式系統(tǒng),反應式系統(tǒng)并不采用符號表示。奧信軟件交通便利,地理位置優(yōu)越。
軟件開發(fā)過程是隨著開發(fā)技術的演化而隨之改進的。從早期的瀑布式(Waterfall)的開發(fā)模型到后來出現(xiàn)的螺旋式的迭代(Spiral)開發(fā),以后來開始興起的敏捷開發(fā)方法(Agile),他們展示出了在不同的時代軟件產(chǎn)業(yè)對于開發(fā)過程的不同的認識,以及對于不同類型項目的理解方法。 注意區(qū)分軟件開發(fā)過程和軟件過程改進之間的重要區(qū)別。諸如像ISO15504,ISO9000,CMM,CMMI這樣的名詞闡述的是一些軟件過程改進框架,他們提供了一系列的標準和策略來指導軟件組織如何提升軟件開發(fā)過程的質(zhì)量、軟件組織的能力,而不是給出具體的開發(fā)過程的定義。 “敏捷開發(fā)”(AgileDevelopment)是軟件工程的一個重要的發(fā)展。它強調(diào)軟件開發(fā)應當是能夠?qū)ξ磥砜赡艹霈F(xiàn)的變化和不確定性作出反應的。 敏捷開發(fā)被認為是一種“輕量級”的方法。在輕量級方法中最負盛名的應該是“極限編程”(ExtremeProgramming),簡稱為XP)。而與輕量級方法相對應的是“重量級方法”的存在。重量級方法強調(diào)以開發(fā)過程為中心,而不是以人為中心。重量級方法的例子比如CMM、PSP、TSP。 奧信軟件公司可靠的質(zhì)量保證體系和經(jīng)營管理體系,使產(chǎn)品質(zhì)量日趨穩(wěn)定。張店在線考試軟件設計公司
奧信軟件為客戶服務,要做到更好。張店在線考試軟件設計公司
軟件在設備的功能實現(xiàn)中所占的比例也越來越高。專用設備軟件與硬件緊密結(jié)合,要求軟件的人機界面友好,各種關鍵參數(shù)狀態(tài)實時顯示,可靠性高,能夠長時間穩(wěn)定運行。除了設備的硬件設施之外,設備的生產(chǎn)工藝對軟件的開發(fā)有巨大的影響,軟件需求分析就是對設備電氣設計和生產(chǎn)工藝的綜合分析。因此在專用設備軟件設計開發(fā)過程中需要在既有硬件平臺上與生產(chǎn)工藝進行結(jié)合。但是在新設備的開發(fā)過程中,設備沒有投入生產(chǎn),生產(chǎn)工藝也不明確初始需求不明確,需要在生產(chǎn)中不斷調(diào)整,設備的硬件也有可能變動,所以專用設備軟件的軟件需求變化大,給軟件設計開發(fā)帶來很大的不方便。但是設備軟件一般只運行在單臺設備上,軟件的規(guī)模屬于中小型,這樣就使需求的變動對軟件設計開發(fā)的影響在一定范圍內(nèi)。三、電子工業(yè)專用設備軟件設計開發(fā)流程結(jié)合電子工業(yè)專用設備軟件的特點和各種軟件設計開發(fā)流程的優(yōu)缺點,根據(jù)設備專用軟件初始需求不明確,需求在開發(fā)過程中不斷變化等特點,設計了以螺旋模型為基礎的軟件設計開發(fā)流程。首先根據(jù)初始需求制定一個穩(wěn)定的軟件架構(gòu),完成一個軟件的最小原型,然后根據(jù)需求的變化在軟件最小原型的基礎上完成多個中間版本,然后完成滿足客戶需求的版本。張店在線考試軟件設計公司
淄博奧信軟件開發(fā)有限公司 是一家有著雄厚實力背景、信譽可靠、勵精圖治、展望未來、有夢想有目標,有組織有體系的公司,堅持于帶領員工在未來的道路上大放光明,攜手共畫藍圖,在山東省淄博市等地區(qū)的商務服務行業(yè)中積累了大批忠誠的客戶粉絲源,也收獲了良好的用戶口碑,為公司的發(fā)展奠定的良好的行業(yè)基礎,也希望未來公司能成為行業(yè)的翹楚,努力為行業(yè)領域的發(fā)展奉獻出自己的一份力量,我們相信精益求精的工作態(tài)度和不斷的完善創(chuàng)新理念以及自強不息,斗志昂揚的的企業(yè)精神將引領淄博奧信軟件供應和您一起攜手步入輝煌,共創(chuàng)佳績,一直以來,公司貫徹執(zhí)行科學管理、創(chuàng)新發(fā)展、誠實守信的方針,員工精誠努力,協(xié)同奮取,以品質(zhì)、服務來贏得市場,我們一直在路上!