通信軟件設(shè)計心得體會
通信軟件設(shè)計課程總結(jié)
關(guān)于這門課程,有很多話想說,對崔老師說的話、對隊友們說的話、對自己說的話。這門課程應(yīng)該算是我上大學以來最享受的一門課程,它不僅僅讓我學到了知識、學到了技能,它更是一次寶貴的團隊合作的項目經(jīng)歷,它帶給了我太多太多的東西。
首先總結(jié)一下這門課程學到的知識和技能。1.
學到了軟件工程的相關(guān)知識。對于軟件有了更清晰的認識,不只是文檔+程序+數(shù)據(jù),我通過聽老師的講課以及查閱書籍(《軟件工程概論》張海藩著),還懂了什么是軟件過程,我們的課程完成的就是瀑布模型中計劃、需求分析、和設(shè)計的過程。此外還了解了軟件工程誕生的過程,軟件危機又是怎么回事。書中還有講2.
整個軟件研發(fā)的過程中相關(guān)的管理學知識,由于課程比較近,還沒有讀過。面向?qū)ο蟮木幊趟枷。這個也應(yīng)屬于軟件工程相關(guān)知識,單獨提出來是因為我對這個有更深刻的理解。之前無論是大一的C++,大二的數(shù)據(jù)結(jié)構(gòu),大三的匯編語言,我見識到的幾乎都是面向過程思想編出來的程序,C++雖然有講,但也沒有少實踐經(jīng)歷,印象不太深刻。而這一次UML建模語言幾乎完全是針對面向?qū)ο笏枷朐O(shè)計程序的,通過建類、建對象畫時序圖、類圖等,我對面向?qū)ο?對象+繼承+消息傳遞的結(jié)論有了理解得更透徹清晰。同時組長為我揭開了JAVA這種之前最熟悉而又最神秘的程序設(shè)計語言的面紗,我想抽時間自學一下Java的相關(guān)內(nèi)容,以更好地理解面向?qū)ο缶幊趟枷搿?.
UML建模語言。之前從來沒有聽說過這三個英文字母的組合。直到聽到老師的第四節(jié)課,我才恍然大悟原來我們這個課程主要是來學這個東西的。通過一學期的學習,現(xiàn)在對這個有了以下認識:
(1)UML是用來幫我們進行程序設(shè)計的,尤其是在編寫較大較復雜的項目(諸
如飛鴿傳書、簡單的網(wǎng)頁瀏覽器、一些小的PC程序)時才更能體會出它
的方便性。
(2)UML中的各種圖中最重要的是類圖,也是和我們編寫代碼相關(guān)性最大的
一種圖。其他的圖大都是幫我們理清設(shè)計思路,從而更準確地設(shè)計類圖。比如時序圖和協(xié)作圖強調(diào)的是各個類之間的交互關(guān)系;活動圖是從先后步驟地角度來理清程序設(shè)計思路,它是一種面向過程的設(shè)計思路,此外活動圖還可以用來做我們程序編寫時的流程圖,用它來繪制要比之前用
word繪制方便得多。
(3)UML語言帶給了我們一種從表層逐步深入分析程序設(shè)計的思路,也是一
種多角度看待程序的思路。從用例圖到時序圖、再到活動圖、狀態(tài)圖、組件圖、最后到類圖,逐步求精;從時間先后、對象交互、狀態(tài)變換的
多角度看待問題。
4.Rose軟件。Rose軟件和UML是分不開的,但Rose絕不會像別的一些課程學到的軟件一樣,用完就會被刪去,因為除了有助于以后編程的方便外,它還可以幫助我思考一些復雜的問題,組織一次班會的流程等。
網(wǎng)絡(luò)編程相關(guān)知識。因為我們編寫的是通信軟件,也就是涉及網(wǎng)絡(luò)的編程,為了更準確地設(shè)計類圖,在組長的指導下,我們查閱了不少網(wǎng)絡(luò)編程的相關(guān)書籍。初步地理解了網(wǎng)絡(luò)編程的機制,從最開始丈二和尚摸不到頭腦地看到socket這個東西,到開始思考文件傳輸和即時聊天采用TCP還是UDP協(xié)議實現(xiàn),再到確定采
5.用C++語言編寫windows上運行的程序后閱讀MFC編程的相關(guān)知識,到最后建立了CSocketFile和CArchive這兩個類用于文件傳輸,都是我們不斷查閱相關(guān)資料、整理更新思路的成果。尤其是我這個之前編程經(jīng)驗很少的人看到采用MFC竟然可以如此方便地編寫程序,直接就在畫完時序圖后興奮地將兩個書上的MFC編程的小案例在機器上實現(xiàn)了一下。
我個人感覺查閱網(wǎng)絡(luò)編程知識是我在整個課程學習工程中收獲最大的部分。之前我是個遇到編程題目就很頭疼的學生,大一大二的C++,數(shù)據(jù)結(jié)構(gòu)課程沒有少copy別人的代碼,也不是自己不想編,可能是一直對編程有恐懼心理,潛意識里認為自己編不出來,覺得編程好難,是件大牛才能做到的事情。幸好這次有我們編程經(jīng)驗很豐富的組長的督促和指導,讓我一點點地認識到設(shè)計、編寫程序其實并沒有那么恐怖,而且對這個過程產(chǎn)生了極大的興趣。再說一些在這門課程學習過程中收獲的一些其他的東西。
我們學到了采用SCRUM的團隊工作方式來完成一個項目的方法。在學習過程中我們采用了任務(wù)分配、任務(wù)認領(lǐng),定期會議總結(jié)討論經(jīng)驗得失,深切體會到了SCRUM確實是一種很高效的團隊協(xié)作模式,而且能使整個團隊保持良好的氛圍,將成員間民主、公平的關(guān)系解決得很好,也能調(diào)動起大家的積極性。此外我們一直保持著兩人一組操作同一臺電腦的工作方式,不但高效,而且兩個人遇到問題可以商量解決,感覺要比一個人做容易得多,而且也不易出現(xiàn)一個人把圖畫得亂七八糟,使別的隊友都看不懂的情況。
再有,在老師不斷地強調(diào)、和組長的敦促下,我逐漸樹立起了一個以用戶為上帝的思想。以前無論是編程還是學習、寫作業(yè),我都是按照自己的想法在做事情,因為覺得學習是我自己的事情,我覺得怎樣學好就怎么學,寫作業(yè)也是這樣,從來沒有考慮過我提交的作業(yè)是要給老師看的,我應(yīng)該考慮到老師的感受。插一句題外話,感覺我們八零九零的一代年輕人做事情似乎都有這個惡習,就是不知道多替別人著想;貞浧鹱约褐白龅氖虑,好像只有過一次是在為別人著想的指導思想下做事情,就是準備高考的時候,但那時我還不屑地認為我只是為了考個好大學而應(yīng)試,是教育體制的癥結(jié)決定的,我還是崇尚按照自己的想法來做事情。
但這一次徹底地改變了我的想法,而且我確定老師您倡導的、我們組長一直堅持的這種理念是正確的。我們在編程是在為用戶提供服務(wù),只有我們的服務(wù)好,用戶才會采納我們的方案,我們才能掙到錢有飯吃。我們平常都愛去就餐環(huán)境好、服務(wù)態(tài)度好的店里吃飯,因為作為用戶都會更喜歡為自己著想更多的東西。所以以后無論是編寫程序、還是提交作業(yè)、還是進行演講、組織會議,都要始終將對方的感受放在心里,這樣一來可以贏得對方的喜愛很信任,更重要的是這是對對方的一種尊重。
最后寫一些我們團隊合作過程中的一些“花絮”。首先強調(diào)一下我們的組長(張昕)真的很牛,無論是技術(shù)能力、管理能力、表達能力都是我遠遠不能及,只好膜拜的程度。每次我們遇到技術(shù)難題,都可以放心地提交給他,他或者根據(jù)自己的經(jīng)驗、或者去查看資料、或者和老師進行交流都可以將問題解決。此外每次開會都非常準時,準備充分,承擔了N次寫會議記錄的工作。我在他身上看到了一個項目開發(fā)團隊領(lǐng)袖所具備的品質(zhì),也感覺自己無形中學到了很多東西?傊痪湓挘瑢M長很感謝很膜拜。再有老宿(宿晨曦)幾乎在每一個過程中都和我在一起工作,他的努力和細致都令我欽佩,很多我認為不重要可以模糊處理的細小的東西,他都會很細致地辨析,力求準確。此外小喬(喬雅楠)在開會的時候總可以在我們表述不清,爭論不清的時候一針見血地指明問題之所在,這個能力給我留下了很深刻的印象?傊,我們是個很厲害的組長帶領(lǐng)下的很努力很和諧的團隊,我很榮幸能在這個團隊中做出了微薄的貢獻,并學到了很多東西。
總之,這門名叫通信軟件設(shè)計的課程,就在很風趣很博學的崔老師的講授下,很專業(yè)很善言的組長的帶領(lǐng)下,很和諧很努力的團隊共同學習中完成了。我很享受這個學習過程,要不是在其他科目瘋狂的時間瓜分壓榨下,我們還可以做得更好、學得更多一些。但通過這門課程,我樹立了對設(shè)計、編寫程序的信心,培養(yǎng)了對編程的愛好,更加堅定了以后從事軟件方面研究、工作的想法。
擴展閱讀:通信軟件設(shè)計總結(jié)
第一章
1、通信就是在兩個或多個實體之間傳遞或交換信息
2、通信的要素:通信實體(自然人、計算機、通信中斷等)、傳輸信道(電路、無線信道、衛(wèi)星信道、計算機網(wǎng)絡(luò)等)、交換網(wǎng)絡(luò)(PSTN、INTERNET等)、通信協(xié)議(七號信令、TCP/IP、SIP等)
3、通信的分類:1、基于連接的通信(需要在通信實體之間建立通信連路或連接,如電話、傳真等)2、基于無連接的通信(在通信實體之間不需要建立通信鏈路或連接,如短信、即時消息等)
4、通信軟件:能夠?qū)崿F(xiàn)在兩個或多個實體(計算機、電信終端、交換設(shè)備等)之間傳遞或交換信息功能的軟件稱為通信軟件5、通信軟件的特點:1、基于通信協(xié)議或者信令系統(tǒng)2、運行時間長(電信軟件)3、基于有限狀態(tài)機4、大部分是嵌入式軟件
6、通信協(xié)議:在計算機網(wǎng)絡(luò)中,為了在兩個或多個通信實體之間準確、完整地交換信息,必須對信息交換的順序和條件、交換信息的格式和內(nèi)容等做出約定,這一整套約定就稱為通信協(xié)議
7、通信軟件開發(fā)過程1、需求分析解決“做什么”問題分析用戶要求、系統(tǒng)與外界交互信息情況和軟件運行環(huán)境等2、概要設(shè)計解決“系統(tǒng)架構(gòu)”問題設(shè)計系統(tǒng)結(jié)構(gòu)、模塊間信息交互情況以及數(shù)據(jù)結(jié)構(gòu)等3、詳細設(shè)計解決“如何做”問題描述系統(tǒng)行為、制定測試計劃等4、代碼生成解決“系統(tǒng)實現(xiàn)”問題代碼自動生成、人工編碼、編譯調(diào)試、系統(tǒng)生成
第二章
1、協(xié)議開發(fā)過程1、開發(fā)新的協(xié)議(協(xié)議環(huán)境分析、協(xié)議功能設(shè)計、協(xié)議元素設(shè)計、形成協(xié)議文本、協(xié)議描述、協(xié)議驗證)2、實現(xiàn)具體協(xié)議(協(xié)議分析、協(xié)議設(shè)計、協(xié)議描述、協(xié)議驗證、協(xié)議實現(xiàn)、協(xié)議測試、協(xié)議維護)3、兩者最大的區(qū)別:1、開發(fā)新的協(xié)議是從無到有,產(chǎn)生一個新的協(xié)議。成果是協(xié)議標準文本,具有可實現(xiàn)性2、實現(xiàn)具體協(xié)議時在具體應(yīng)用環(huán)境下實現(xiàn)一個協(xié)議。成果是協(xié)議軟件,具有可運行性、可維護性的特點2、協(xié)議分析1、協(xié)議環(huán)境分析1、n層用戶的要求2、(n-1)層通道的性質(zhì)3、n層協(xié)議實體的工作模式2、協(xié)議功能分析1、連接控制管理2、通訊方式管理3、數(shù)據(jù)發(fā)送/接收管理4、數(shù)據(jù)安全與可靠性5、發(fā)送/接收控制6、中繼與路由選擇7、通道管理8、其他功能
3、連接管理需求(有連接服務(wù)、無連接服務(wù)、永久連接服務(wù));連接管理:建立、撤銷、復位、恢復
4、廣播與組播需求1、廣播:指一個n層用戶發(fā)出的數(shù)據(jù)報,在同一個網(wǎng)絡(luò)中的其他用戶都能夠接受到2、組播:指一個或多個n層用戶發(fā)出的數(shù)據(jù)報,在網(wǎng)絡(luò)中有一組用戶可以接收到該數(shù)據(jù)報,授權(quán)用戶可以加入或退出該組
5、協(xié)議接口:服務(wù)原語(SAP)=服務(wù)動作+原語類型1、服務(wù)請求原語:x-request:用戶協(xié)議2、服務(wù)指示原語:x-indication:協(xié)議用戶3、服務(wù)響應(yīng)原語:x-response:用戶協(xié)議4、服務(wù)證實原語:x-confirm:協(xié)議用戶6、服務(wù)證實方式類型1、用戶證實方式2、協(xié)議證實方式3、無證實方式4、三種特殊方式(查詢類服務(wù)、設(shè)置類服務(wù)、告警類服務(wù))7、通訊方式需求1、單工/半雙工/全雙工2、同步/異步8、數(shù)據(jù)需求1、數(shù)據(jù)形式(塊、流、批處理)2、數(shù)據(jù)長度(定長、不定長)9、服務(wù)質(zhì)量指標:
1、安全性:鑒權(quán)、訪問控制、保密性、完整性2、可靠性:完全性、非二義性、時間有序3、性能:吞吐率、時延、抖動、差錯率10、(n-1)層通道形成方式1、獨占方式:實體之間分別建立連接2、共享方式:多個協(xié)議實體共享一條連接3、無連接方式:協(xié)議實體利用下層提供的無連接服務(wù)進行通訊11、(n-1)層通道部分指標1、RTT(roundtriptime)2、數(shù)據(jù)的可靠性3、通道可靠性4、報文最大長度5、通道工作方式
12、n層協(xié)議實體的工作模式1、點到點模式2、多點模式3、主從模式4、平衡模式5、中轉(zhuǎn)和路由13、連接控制管理1、連接的建立、維護及釋放的管理2、連接的合法性檢查3、密鑰交換4、QoS協(xié)商5、資源分配與回收6、連接目標名與地址的翻譯
14、傳輸控制協(xié)議(TCP)具有連接控制管理功能;用戶數(shù)據(jù)報協(xié)議(UDP)則提供無連接的數(shù)據(jù)包傳輸15、通訊方式管理1、半雙工通訊:n層協(xié)議要進行“發(fā)信權(quán)”管理2、全雙工通訊:n層協(xié)議要具有并發(fā)的收發(fā)功能16、數(shù)據(jù)發(fā)送/接收管理1、PDU的封裝/解封裝2、SDU分段/裝配3、SDU拼接/分離17、術(shù)語解釋:1、SDU(服務(wù)數(shù)據(jù)單元):服務(wù)原語中攜帶的用戶信息2、PDU(協(xié)議數(shù)據(jù)單元):分為數(shù)據(jù)PDU和控制PDU3、PCI(協(xié)議控制信息)18、數(shù)據(jù)安全與可靠性1、加密2、解密3、校驗和(奇偶校驗、累加和校驗、CRC校驗)4、前向糾錯(FEC)19、哈明碼*
20、發(fā)送/接收控制1、順序控制2、重發(fā)控制3、速率流控4、抖動控制5、窗口流控21、中繼與路由選擇1、中繼網(wǎng)關(guān)(傳輸層)、路由器(網(wǎng)絡(luò)層)、網(wǎng)橋(數(shù)據(jù)鏈路層)、中繼器(物理層)2、路由選擇(靜態(tài)、動態(tài))22、通道管理1、通道的形成2、監(jiān)視通道狀態(tài)3、處理通道故障4、共享通道控制
第三章
1、協(xié)議設(shè)計內(nèi)容(協(xié)議結(jié)構(gòu)、協(xié)議機制、協(xié)議元素、協(xié)議狀態(tài)機)
2、協(xié)議結(jié)構(gòu)設(shè)計:為實現(xiàn)協(xié)議功能,從總體上來考慮協(xié)議實體的結(jié)構(gòu)框架(結(jié)構(gòu)類型、結(jié)構(gòu)風格)、功能塊組成、功能塊之間的關(guān)系
3、協(xié)議的結(jié)構(gòu)可以從三個方面考慮:分層、分階段、分類4、協(xié)議分層設(shè)計1、將協(xié)議實體分成多個子層來實現(xiàn)2、通過劃分子層可以使復雜協(xié)議的結(jié)構(gòu)變得清晰3、分層增加了子層間的通信,協(xié)議效率會受到一定影響4、協(xié)議分層的例子:局域網(wǎng)中的數(shù)據(jù)鏈路層分成鏈路控制子層(LLC)和介質(zhì)訪問控制子層(MAC)5、協(xié)議分階段設(shè)計1、協(xié)議分階段是指把協(xié)議分成多個運行階段,每個階段只需要部分協(xié)議功能工作2、協(xié)議分階段的依據(jù)是協(xié)議的運行過程具有明顯的階段性3、協(xié)議分階段的例子:傳輸層協(xié)議分成三個階段:建立連接階段、數(shù)據(jù)傳輸階段、釋放鏈接階段
6、協(xié)議分類設(shè)計1、協(xié)議分類指的是當協(xié)議需要滿足不同用戶的要求或需要適應(yīng)不同的下層通道時,把協(xié)議分成不同的類別,每類協(xié)議只適用于一定用戶和一定通道2、協(xié)議分類可以起到簡化協(xié)議的作用7、協(xié)議機制設(shè)計1、協(xié)議機制指的是實現(xiàn)協(xié)議功能所采用的方法、策略、算法等2、設(shè)計協(xié)議機制時,除了保證實現(xiàn)協(xié)議功能外,需要重點關(guān)注:1、協(xié)議運行效率:是否滿足實時性要求2、資源利用率:主要指存儲資源的利用率,這涉及到協(xié)議的運行效率和吞吐量3、異常處理:正確處理異常情況,才有可能保證協(xié)議的可靠運行8、TCP協(xié)議建立連接的實現(xiàn)機制1、采用三次握手方式2、連接的雙方同時發(fā)起連接請求的連接建立過程9、TCP協(xié)議釋放連接的實現(xiàn)機制1、雙方分別關(guān)閉本方的輸出流2、關(guān)閉本方輸出流后仍可接收對方法來的PDU3、先釋放連接的一方收到對方最后一個PDU后,要延遲一段時間才結(jié)束,以保證確認PDU達到對方
10、TCP協(xié)議重發(fā)控制機制(TCP采用自適應(yīng)方式確定定時長度)1、測量RTT2、計算平均值3、計算變化量11、協(xié)議元素設(shè)計1、一般來說,協(xié)議有以下六種元素組成:1、服務(wù)原語和服務(wù)原語時序;2、協(xié)議數(shù)據(jù)單元(PDU)和PDU交換時序;3、協(xié)議狀態(tài);4、協(xié)議事件;5、協(xié)議變量;6、協(xié)議行為12、服務(wù)原語是協(xié)議與用戶的接口,用戶通過服務(wù)原語得到協(xié)議提供的服務(wù),協(xié)議實體功過服務(wù)原語得到服務(wù)要求和返回結(jié)果
13、服務(wù)原語有四種類型:請求、指示、響應(yīng)和證實14、不同的服務(wù)動作決定了不同的服務(wù)要求15、PDU和PDU交換時序1、對等協(xié)議實體之間交換信息均以PDU為單位,PDU格式嚴格定義了信息的內(nèi)容和含義2、PDU格式設(shè)計:定義每個PDU的數(shù)據(jù)結(jié)構(gòu)、字段格式和信息含義等3、PDU交換時序設(shè)計1、即規(guī)定一方收到某個PDU后應(yīng)該回送什么PDU或可以回送哪些PDU2、PDU的交換時序必須包括正常情況和各種異常情況16、協(xié)議狀態(tài)是指協(xié)議在運行過程中等待輸入事件時所處的狀態(tài)17、協(xié)議狀態(tài)可分為:1、局部狀態(tài):只涉及單個協(xié)議實體,反映單個協(xié)議實體所處的狀態(tài)2、全局狀態(tài):參與執(zhí)行某個協(xié)議功能的所有協(xié)議實體(包括下層通道)的狀態(tài)之和18、協(xié)議狀態(tài)設(shè)計應(yīng)遵守的原則:1、當協(xié)議實體向?qū)Ψ桨l(fā)送不同的PDU,等待對方響應(yīng)時,應(yīng)設(shè)置新的狀態(tài)2、當協(xié)議實體占用資源情況發(fā)生變化時,應(yīng)設(shè)置新的狀態(tài)3、當下層通道狀態(tài)發(fā)生變化時,協(xié)議狀態(tài)也應(yīng)改變
19、協(xié)議事件是指協(xié)議的輸入或激勵。協(xié)議的輸入包括三部分:1、來自本方的服務(wù)原語;2、來自對方協(xié)議實體的PDU;3、來自內(nèi)部的定時器信號(超時)20、協(xié)議事件設(shè)計就是列出所有的協(xié)議輸入事件
21、由于服務(wù)原語和PDU已經(jīng)設(shè)計好,這里只需要設(shè)計定時器及定時時長,定時時長可以根據(jù)RTT來確定
22、協(xié)議變量是指協(xié)議中用到的各種變量都可以稱為協(xié)議變量
23、與其他軟件一樣,協(xié)議軟件中的變量也分為全局變量、局部變量和臨時變量
24、協(xié)議行為是指協(xié)議在狀態(tài)轉(zhuǎn)換(遷移)過程中執(zhí)行的操作。這些操作包括:1、輸出信息(SDU和PDU);2、設(shè)置定時器(開始計時);3、復位定時器(停止計時);4、修改協(xié)議變量;5、執(zhí)行一系列動作(操作)的過程(函數(shù));6、其他操作(如讀、寫文件等)25、在有些情況下,協(xié)議過程中一些協(xié)議動作的執(zhí)行是有條件的,描述這些約束條件的語句稱為謂詞。謂詞一般用布爾表達式來表示26、協(xié)議狀態(tài)機1、描述協(xié)議狀態(tài)的遷移情況2、反映協(xié)議元素之間的關(guān)系:在什么協(xié)議狀態(tài)下,什么輸入事件驅(qū)動什么協(xié)議過程,協(xié)議過程在什么條件下執(zhí)行什么協(xié)議動作,協(xié)議狀態(tài)如何改變等3、事件狀態(tài)表4、有限狀態(tài)機
27、協(xié)議事件狀態(tài)表舉例1、TCP協(xié)議事件狀態(tài)表2、TCP協(xié)議輸入事件表3、TCP協(xié)議輸出事件表28、有限狀態(tài)自動機S:系統(tǒng)狀態(tài)集,狀態(tài)數(shù)有限I:系統(tǒng)初始狀態(tài),i∈SE:輸入字母集
T:轉(zhuǎn)移函數(shù)集,是從SxE到S的映射29、擴展有限狀態(tài)自動機S:系統(tǒng)狀態(tài)集,狀態(tài)數(shù)有限I:系統(tǒng)初始狀態(tài),i∈SE:輸入事件集
T:轉(zhuǎn)移函數(shù)集,是從SxE到S的映射
30、擴展有限狀態(tài)自動機舉例:TCP協(xié)議的有限狀態(tài)機
第四章
第六章1、SDL(specificationanddescriptionlanguage)是ITU-T提出的一種形式化描述語言,由ITU_TZ.100建議定義
2、SDL的應(yīng)用領(lǐng)域是實時系統(tǒng)3、SDL基于的數(shù)學模型1、系統(tǒng)行為:環(huán)境←信號→SDL系統(tǒng)系統(tǒng)、環(huán)境、交互、信號
4、系統(tǒng)的行為可通過可通信的擴展有限狀態(tài)自動機來描述:1、系統(tǒng)由擴展的有限狀態(tài)自動機組成2、擴展的有限狀態(tài)自動機具有與外界通信的能力:輸入/輸出動作5、SDL中的基本概念:SDL系統(tǒng)結(jié)構(gòu)、SDL文法概述6、SDL的基本語法:1、包(package):包中定義的內(nèi)容是可重用的,SDL201*允許各種圖都可引用包。包定義還可以引用另一個包2、系統(tǒng)(system):
1、SDL系統(tǒng):完整地描述一個真實系統(tǒng)或一個真實系統(tǒng)中的相對獨立的一部分。2、一個系統(tǒng)可以劃分為若干個功能塊;功能塊之間以及功能塊之間用信道連接3、系統(tǒng)各功能塊之間以及功能塊與環(huán)境之間可以使用信號通道;信號通過信道來傳遞3、信號定義1、信號是SDL系統(tǒng)中進程之間通信的基本單位2、信號必須在信道中傳輸3、要利用信號來通信,必須:1、信號定義:在相關(guān)代理圖的文本域中定義信號2、信號與信道關(guān)聯(lián):在信道的信號列表域中列出信號,說明信號可以在哪些信道中傳遞4、信號可以定義參數(shù),定義過的信號可以用來定義信號列表。信號列表的定義也放在文本符中5、在信道上列出信號和/或信號列表時,信號列表標識符要用圓括號括起來,以區(qū)別于信號4、信道定義1、信道是用在代理與代理之間或代理與系統(tǒng)環(huán)境或信關(guān)之間傳遞信號的通道2、信道分為單向和雙向兩種,在每個方向上序列出在該方向上傳遞的所有信號,這些信號用方括號括起來,標在信道的箭頭處。3、信道分為:1、延遲信道:表示信號從源端到目的端要經(jīng)過一定延遲,延遲時間是不確定的,但信道上的信號仍是有序的2、非延遲信道:表示信號從源端發(fā)出后直接到達目的地,沒有延遲5、功能塊1、功能塊可以再分成多個功能塊,也可以由一個或多個并發(fā)進程組成2、功能塊的交互域描述文本功能塊中功能塊或進程的組成及交互關(guān)系3、在功能塊圖的邊界上,要標出與本功能塊相連的信道標識4、功能塊文本域定義本功能塊內(nèi)部信號、信號列表、數(shù)據(jù)類型等內(nèi)容6、進程1、進程是系統(tǒng)的基本組成單位,系統(tǒng)的行為主要由進程來描述2、在進程圖中,系統(tǒng)行為用狀態(tài)機圖來描述3、在系統(tǒng)中,進程是以進程實例的形式出現(xiàn),每個進程實例都有一塊私有存儲空間,記錄進程實例各變量的值及實例所處的狀態(tài)等4、進程實例一旦被創(chuàng)建,就擁有了一個惟一的進程標識,稱為pid(processidentifier)。通過以下四種pid表示式可以得到進程實例的pid:1、self返回本進程實例的pid2、sender返回發(fā)送最近被消耗信號的進程實例的pid3、parent返回創(chuàng)建本進程實例的進程實例(父進程)的pid4、offspring返回最近被本進程創(chuàng)建的進程實例(子進程)的pid7、狀態(tài)機可以包含:開始域、狀態(tài)域、輸入域、輸出域、任務(wù)域、創(chuàng)建域、過程調(diào)用域、分支域、定時器操作等
友情提示:本文中關(guān)于《通信軟件設(shè)計心得體會》給出的范例僅供您參考拓展思維使用,通信軟件設(shè)計心得體會:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責聲明:本文僅限學習分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。