本次課程內容十分充實,對於咱們的技能鍛鍊十分到位,而我以爲最大的收穫是,咱們對軟件工程有了更深入的認識,可以充分的吸取來自機械課程限制以外的知識,這是我以爲很不錯的一點。下面我來詳述我我的認爲幾點比較重要的事情或者是收穫吧!博客園的觀看體驗是真的差,推薦你們點擊下面連接觀看較好的UI---簡書linux
一、 對於大部分同窗來講,接觸到了Github 以及 Markdown還有博客園這些新鮮玩意應該屬於比較大的收穫吧,不過個人話,由於本身老早就入了坑,Github仍是大二的時候就申請了,並且我還用Github Education申請了國外主機的優惠券, 50美刀優惠券至今都還沒用完!嘿嘿!固然,Github的組織功能由於之前我都是獨行俠,因此沒感覺過,此次確實感覺了一把這個強大之處,不愧是風靡世界的代碼託管機構,就是強大!!另外的話,我在一個寫做平臺--簡書上謝了快一年的文章了,Markdown的一些經常使用的方法我都基本掌握,更厲害的那些寫法從此有須要了再學吧!另外的博客園個人園齡也有七個多月了。因此這些都仍是小的,不過相信應該是不少同窗的深入感覺了!git
二、 Ubuntu系統,老師要求咱們裝虛擬機,或者是雙系統也能夠,我之前卻是常常幫人裝windows系統,給本身裝linux的系統,好比ubuntu,Kali linux,centos,這些我都大大小小玩過了,不過此次我打算試試雙系統,萬般艱辛終於仍是給我弄成功了,只是引導修復花了不少時間,這個很讓我苦惱,爲此還寫了一篇文章:
Dell-Windows10下裝Ubuntu 16.04 雙系統,Ubuntu引導開啓-經驗貼,滿乾貨!程序員
三、 老師教給了咱們Qemu的入門,以及一些進程通訊的知識,其中我本身完成第二次做業還真是驚心動魄。無論是過去仍是如今想一想,難度都是蠻高的,面對陌生的環境,以前從未接觸的操做,只能硬着頭皮上。不過幸運的是咱們大部分都完成了,並且都還算是很有新意的,個人做業連接以下:
FreeRTOS-Qemu 實現三任務同步通訊機制以及API信息github
四、 《構建之法》這本書,雖然我有點臨時抱佛腳的嫌疑,可是我真的以爲這本書開闊了個人視野,其中一些關於軟件工程的思想,一些關乎到程序員將來長久發展的理念,對我來講都是很重要的,雖然目前看不到用處,不過相信到了將來投身工做,我會感謝這本書的,固然也要感謝老師的引路ubuntu
五、 團隊協做。雖然咱們這支隊伍是拉扯着長大的,可是好歹咱們也是個隊伍。原本是準備平均分配任務,可是在一開始還沒整好的時候要去說軟件規格說明書,因此我就按照你們的特色初步的分配了任務。僅作參考!!可是扛不住組內大神給力,彭彥毓同窗全程Carry咱們一羣菜雞,那天召開組會準備再次分配任務的時候,他說他已經快把模塊作好了。我只能收回就要出口的「來,咱們再次分配任務吧!」,而後按照各自的時間充裕程度以及技能點來分配任務。windows
我跟陳志平因爲時間較爲充足,並且有必定的基礎。因此咱們接下了核心事件流的開發工做,以陳志平同窗爲主,我爲輔,由於我還要擔任產品經理一職,負責團隊的平常組織活動,開頭的軟件規格說明書,結尾的項目總結書,還有團隊Github平常維護。另外兩位同窗考研時間比較緊,並且跟進項目不夠,因此分配的任務較輕,概要設計以及測試。
centos
本次經歷好處就是,體會到了軟件開發的一些內在規則,着實過了一把產品經理的日子。不過壞處就是由於分心,因此對於團隊的項目瞭解不夠深刻,對於每一個模塊僅僅停留在可以把老師要求的Part按照輸入輸出講出來,內部對於我就是黑箱,固然,核心模塊由於參與了跟陳志平同窗的開發工做,因此還算是比較瞭解,對於整個咖啡機的工做流程也是很瞭解的!另外,在項目總結的過程當中也慢慢的更深刻了解到了我們的模塊的強大之處!爲組內同窗的戰鬥力自豪!網絡
六、 基於模型的軟件設計流程。這是咱們實踐過的一個東西,雖然咱們組狀況比較特殊因此接觸不深,可是對於箇中內涵仍是有了初步的理解。老生常談下吧,懶得寫新的了(更具體的見後面連接):ide
1. 強調開發的階段性,各階段具備順序性和依賴性 ,各個Part分模塊,格子封裝,暴露接口,而後耦合在一塊兒組成一個總體測試
2. 強調早期調研和需求分析,推遲編碼實現的觀點,在《構建之法》第二章的PSP對比大學生和軟件工程師的時候。能夠發現,實際的操做中更注重於前期準備和後期的完善,對於編碼,不只僅是因爲豐富的資源庫,也是由於有了幾年的工做經驗能夠迅速的編碼。因此現實中使用模型比較多。不管是模型帶動工程師,仍是工程師推進模型發展,二者之間的聯繫都是固定的!
3. 提供了一個摸板,這個摸板使得分析、設計、編碼、測試和支持的方法能夠 在該摸板下有一個共同的指導。相同的模板下,方便後來的工程師閱讀前輩寫下來的模塊。另外也方便任務的交接,同時還能夠更方便的借用網絡上開源的庫,這些都是模型化設計模型的優勢。
1. 文檔驅動,用戶沒法及時瞭解產品的狀況。由於不少程序員甚至不知道本身寫的代碼的所有部分,API接口的使用使得更多的源代碼對於程序員不可見了!因此通過程序員的手,到達用戶手中以後就更別說了。不少時候出了問題基本就無法找到具體的「事發」地址。對於後期的維護十分麻煩。這是犧牲了底層構建,實現迅速開發的代價。
2. 依賴早期調研和需求分析,很難適應在許多項目開始階段必然存在的不肯定
性。 由於畢竟是模型開發,不少時候爲了追求速度會採用一些現成的代碼。這樣必然存在兼容性問題。並且具體的功能須要對應的模塊實現。比較依賴於初期的調研,否則後期修改很麻煩。
3. 流程單一,必需要完成前一階段的任務,才能進行下一階段,開發過程當中的 成功經驗沒法用於本產品。 瀑布模型這兒特色很僵硬,沒法實現並行開發。
4. 測試在後期引入,對於系統存在的重大缺陷,若是在可執行程序評審以前沒有被發現,將可能形成重大損失。 求取速度所必須付出的代價!!
【計算機本科補全計劃】 <構建之法> 讀書筆記
個人軟件工程師的能力評估和發展
7 、還有一個過程就是PSP2.1 這個我的的能力測評的同樣的體系。頗有趣,我作了這個就本身的缺陷都擺在明面上,後續作其餘項目的時候能夠參照這些來進行改進,實在是很好的一個東西。你們有空的,條件足夠的均可以去作作!很不錯的!
8 、最後就是咱們的大做業了。好歹也是心血澆灌的結果啊。怎麼能忘了呢?
項目Github地址:
https://github.com/RTCSD2017-Group03/Automatic-Coffee-Machine.git
項目總結:
Software Project Summary Report.docx
項目介紹:
自動咖啡機項目--參照 IEEE Guide to Software Requirements Specifications 標準
個人項目週報:
《實時軟件控制設計》大做業週報 No.1
《實時軟件控制設計》大做業週報 No.2
《實時軟件控制設計》大做業總報 No.3
大做業中,你們有力的出力,沒空的也能給予本身力所能及的幫助(考研的同窗要抽出三週的一部分時間來作做業確實要揹負很大的心理壓力。表示理解!)固然,像彭彥毓同窗這麼牛掰的同窗是真心服氣的。李佳傑輔助他一塊兒寫了周邊模塊,我輔助陳志平寫了核心模塊,以後拉拉扯扯把測試作了。功德圓滿!!老實說,大四能有投入率這麼高的課程真的是可貴了。爲老師瘋狂打call。
差很少,《實時控制軟件設計》這門課就結束了。謝謝老師送的書,謝謝助教爲咱們熬得夜,謝謝同組內的同窗們你們的合做。這估計是大四最有意思的課了。願記憶永遠珍藏!