正文
本次課程內(nèi)容十分充實(shí),對于我們的技能鍛煉十分到位,而我覺得最大的收獲是系草,我們對軟件工程有了更深刻的認(rèn)識秉馏,能夠充分的吸收來自機(jī)械課程限制之外的知識耙旦,這是我覺得很不錯的一點(diǎn)。下面我來詳述我個人認(rèn)為幾點(diǎn)比較重要的事情或者是收獲吧萝究!
正文
1免都、 對于大部分同學(xué)來說,接觸到了Github 以及 Markdown還有博客園這些新鮮玩意應(yīng)該屬于比較大的收獲吧帆竹,不過我的話绕娘,因?yàn)樽约豪显缇腿肓丝樱珿ithub還是大二的時候就申請了栽连,而且我還用Github Education申請了國外主機(jī)的優(yōu)惠券险领, 50美刀優(yōu)惠券至今都還沒用完!嘿嘿!當(dāng)然舷暮,Github的組織功能因?yàn)橐郧拔叶际仟?dú)行俠态罪,所以沒感受過,這次確實(shí)感受了一把這個強(qiáng)大之處下面,不愧是風(fēng)靡世界的代碼托管機(jī)構(gòu)复颈,就是強(qiáng)大!沥割!另外的話耗啦,我在一個寫作平臺--簡書上謝了快一年的文章了,Markdown的一些常用的方法我都基本掌握机杜,更厲害的那些寫法今后有需要了再學(xué)吧帜讲!另外的博客園我的園齡也有七個多月了。所以這些都還是小的椒拗,不過相信應(yīng)該是很多同學(xué)的深刻感受了似将!
2、 Ubuntu系統(tǒng)蚀苛,老師要求我們裝虛擬機(jī)在验,或者是雙系統(tǒng)也可以,我以前倒是經(jīng)常幫人裝windows系統(tǒng)堵未,給自己裝linux的系統(tǒng)腋舌,比如ubuntu,Kali linux渗蟹,centos块饺,這些我都大大小小玩過了,不過這次我打算試試雙系統(tǒng)雌芽,萬般艱辛終于還是給我弄成功了授艰,只是引導(dǎo)修復(fù)花了很多時間,這個很讓我苦惱膘怕,為此還寫了一篇文章:
Dell-Windows10下裝Ubuntu 16.04 雙系統(tǒng)想诅,Ubuntu引導(dǎo)開啟-經(jīng)驗(yàn)貼,滿干貨岛心!
3来破、 老師教給了我們Qemu的入門,以及一些進(jìn)程通信的知識忘古,其中我自己完成第二次作業(yè)還真是驚心動魄徘禁。不管是過去還是現(xiàn)在想想,難度都是蠻高的髓堪,面對陌生的環(huán)境送朱,之前從未接觸的操作娘荡,只能硬著頭皮上。不過幸運(yùn)的是我們大部分都完成了驶沼,而且都還算是頗有新意的炮沐,我的作業(yè)鏈接如下:
FreeRTOS-Qemu 實(shí)現(xiàn)三任務(wù)同步通信機(jī)制以及API信息
4、 《構(gòu)建之法》這本書回怜,雖然我有點(diǎn)臨時抱佛腳的嫌疑大年,但是我真的覺得這本書開闊了我的視野,其中一些關(guān)于軟件工程的思想玉雾,一些關(guān)乎到程序員未來長久發(fā)展的理念翔试,對我來說都是很重要的,雖然目前看不到用處复旬,不過相信到了未來投身工作垦缅,我會感謝這本書的,當(dāng)然也要感謝老師的引路
5驹碍、 團(tuán)隊協(xié)作壁涎。雖然我們這支隊伍是拉扯著長大的,但是好歹我們也是個隊伍幸冻。本來是準(zhǔn)備平均分配任務(wù)粹庞,但是在一開始還沒整好的時候要去說軟件規(guī)格說明書咳焚,所以我就按照大家的特點(diǎn)初步的分配了任務(wù)洽损。僅做參考!革半!但是扛不住組內(nèi)大神給力碑定,彭彥毓同學(xué)全程Carry我們一群菜雞,那天召開組會準(zhǔn)備再次分配任務(wù)的時候又官,他說他已經(jīng)快把模塊做好了延刘。我只能收回就要出口的“來,我們再次分配任務(wù)吧六敬!”碘赖,然后按照各自的時間充裕程度以及技能點(diǎn)來分配任務(wù)。
我跟陳志平由于時間較為充足外构,而且有一定的基礎(chǔ)普泡。所以我們接下了核心事件流的開發(fā)工作,以陳志平同學(xué)為主审编,我為輔撼班,因?yàn)槲疫€要擔(dān)任產(chǎn)品經(jīng)理一職,負(fù)責(zé)團(tuán)隊的日常組織活動垒酬,開頭的軟件規(guī)格說明書砰嘁,結(jié)尾的項(xiàng)目總結(jié)書件炉,還有團(tuán)隊Github日常維護(hù)。另外兩位同學(xué)考研時間比較緊矮湘,而且跟進(jìn)項(xiàng)目不夠斟冕,所以分配的任務(wù)較輕,概要設(shè)計以及測試缅阳。
本次經(jīng)歷好處就是宫静,體會到了軟件開發(fā)的一些內(nèi)在規(guī)則,著實(shí)過了一把產(chǎn)品經(jīng)理的日子券时。不過壞處就是因?yàn)榉中墓吕铮詫τ趫F(tuán)隊的項(xiàng)目了解不夠深入,對于每個模塊僅僅停留在能夠把老師要求的Part按照輸入輸出講出來橘洞,內(nèi)部對于我就是黑箱捌袜,當(dāng)然,核心模塊因?yàn)閰⑴c了跟陳志平同學(xué)的開發(fā)工作炸枣,所以還算是比較了解虏等,對于整個咖啡機(jī)的工作流程也是很了解的!另外适肠,在項(xiàng)目總結(jié)的過程中也慢慢的更深入了解到了咱們的模塊的強(qiáng)大之處霍衫!為組內(nèi)同學(xué)的戰(zhàn)斗力自豪!
6侯养、 基于模型的軟件設(shè)計流程敦跌。這是我們實(shí)踐過的一個東西,雖然我們組情況比較特殊所以接觸不深逛揩,但是對于個中內(nèi)涵還是有了初步的理解柠傍。老生常談下吧,懶得寫新的了(更具體的見后面鏈接):
優(yōu)點(diǎn):
- 強(qiáng)調(diào)開發(fā)的階段性辩稽,各階段具有順序性和依賴性 惧笛,各個Part分模塊,格子封裝逞泄,暴露接口患整,然后耦合在一起組成一個整體
- 強(qiáng)調(diào)早期調(diào)研和需求分析,推遲編碼實(shí)現(xiàn)的觀點(diǎn)喷众,在《構(gòu)建之法》第二章的PSP對比大學(xué)生和軟件工程師的時候各谚。可以發(fā)現(xiàn)侮腹,實(shí)際的操作中更注重于前期準(zhǔn)備和后期的完善嘲碧,對于編碼,不僅僅是由于豐富的資源庫父阻,也是因?yàn)橛辛藥啄甑墓ぷ鹘?jīng)驗(yàn)可以迅速的編碼愈涩。所以現(xiàn)實(shí)中使用模型比較多望抽。不論是模型帶動工程師,還是工程師推動模型發(fā)展履婉,兩者之間的聯(lián)系都是固定的!
- 提供了一個摸板煤篙,這個摸板使得分析、設(shè)計毁腿、編碼辑奈、測試和支持的方法可以 在該摸板下有一個共同的指導(dǎo)。相同的模板下已烤,方便后來的工程師閱讀前輩寫下來的模塊鸠窗。另外也方便任務(wù)的交接,同時還可以更方便的借用網(wǎng)絡(luò)上開源的庫胯究,這些都是模型化設(shè)計模型的優(yōu)點(diǎn)稍计。
缺點(diǎn):
- 文檔驅(qū)動,用戶無法及時了解產(chǎn)品的情況裕循。因?yàn)楹芏喑绦騿T甚至不知道自己寫的代碼的全部部分臣嚣,API接口的使用使得更多的源代碼對于程序員不可見了!所以經(jīng)過程序員的手剥哑,到達(dá)用戶手中之后就更別說了硅则。很多時候出了問題基本就沒法找到具體的“事發(fā)”地址。對于后期的維護(hù)十分麻煩株婴。這是犧牲了底層構(gòu)建怎虫,實(shí)現(xiàn)迅速開發(fā)的代價。
- 依賴早期調(diào)研和需求分析督暂,很難適應(yīng)在許多項(xiàng)目開始階段必然存在的不確定
性揪垄。 因?yàn)楫吘故悄P烷_發(fā),很多時候?yàn)榱俗非笏俣葧捎靡恍┈F(xiàn)成的代碼逻翁。這樣必然存在兼容性問題。而且具體的功能需要對應(yīng)的模塊實(shí)現(xiàn)捡鱼。比較依賴于初期的調(diào)研八回,不然后期修改很麻煩。
- 依賴早期調(diào)研和需求分析督暂,很難適應(yīng)在許多項(xiàng)目開始階段必然存在的不確定
- 流程單一驾诈,必須要完成前一階段的任務(wù)缠诅,才能進(jìn)行下一階段,開發(fā)過程中的 成功經(jīng)驗(yàn)無法用于本產(chǎn)品乍迄。 瀑布模型這兒特點(diǎn)很僵硬管引,無法實(shí)現(xiàn)并行開發(fā)。
- 測試在后期引入闯两,對于系統(tǒng)存在的重大缺陷褥伴,如果在可執(zhí)行程序評審之前沒有被發(fā)現(xiàn)谅将,將可能造成重大損失。 求取速度所必須付出的代價V芈饥臂!
【計算機(jī)本科補(bǔ)全計劃】<構(gòu)建之法>讀書筆記
我的軟件工程師的能力評估和發(fā)展
7 、還有一個過程就是PSP2.1 這個個人的能力測評的一樣的體系似踱。很有趣隅熙,我做了這個就自己的缺陷都擺在明面上,后續(xù)做其他項(xiàng)目的時候可以參照這些來進(jìn)行改進(jìn)核芽,實(shí)在是很好的一個東西囚戚。大家有空的,條件足夠的都可以去做做轧简!很不錯的弯淘!
8 、最后就是我們的大作業(yè)了吉懊。好歹也是心血澆灌的結(jié)果啊庐橙。怎么能忘了呢?
項(xiàng)目Github地址:
https://github.com/RTCSD2017-Group03/Automatic-Coffee-Machine.git
項(xiàng)目總結(jié):
Software Project Summary Report.docx
項(xiàng)目介紹:
自動咖啡機(jī)項(xiàng)目--參照 IEEE Guide to Software Requirements Specifications 標(biāo)準(zhǔn)
我的項(xiàng)目周報:
《實(shí)時軟件控制設(shè)計》大作業(yè)周報 No.1
《實(shí)時軟件控制設(shè)計》大作業(yè)周報 No.2
《實(shí)時軟件控制設(shè)計》大作業(yè)總報 No.3
大作業(yè)中借嗽,大家有力的出力态鳖,沒空的也能給予自己力所能及的幫助(考研的同學(xué)要抽出三周的一部分時間來做作業(yè)確實(shí)要背負(fù)很大的心理壓力。表示理解6竦肌)當(dāng)然浆竭,像彭彥毓同學(xué)這么牛掰的同學(xué)是真心服氣的。李佳杰輔助他一起寫了周邊模塊惨寿,我輔助陳志平寫了核心模塊邦泄,之后拉拉扯扯把測試做了。功德圓滿A芽选顺囊!老實(shí)說,大四能有投入率這么高的課程真的是難得了蕉拢。為老師瘋狂打call特碳。
正文之后
差不多,《實(shí)時控制軟件設(shè)計》這門課就結(jié)束了晕换。謝謝老師送的書午乓,謝謝助教為我們熬得夜,謝謝同組內(nèi)的同學(xué)們大家的合作闸准。這估計是大四最有意思的課了益愈。愿記憶永遠(yuǎn)珍藏!