2017202110104-高级软件工程2017第8次作业—个人总结
生活随笔
收集整理的這篇文章主要介紹了
2017202110104-高级软件工程2017第8次作业—个人总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、請參考第一次作業,當初你對課程的承諾和期望都兌現了嗎?
第一次作業中,我對課程的承諾和期望是:
我希望通過這門課程能夠對軟件開發的整個過程有一個全面的認識。在這門課上,我打算周一至周五每天拿出一個小時左右(因為課程比較多),周末拿出一天時間,合計15個小時左右。既然有勇氣選這門課,我愿意付出更多時間和精力。
現在再來看之前寫下的承諾和期望,9周前的我對于這門課還是想的有些“簡單”。在短短的9周時間里我參與完成了三個項目,不僅對軟件開發的整個過程有了全面的認識,而且實打實的提高了自己的編程能力、溝通與協作能力,學習到許多新工具的使用。與其他課程相比,我在這門課上花費的時間和精力是最多的,在完成結對項目和團隊項目時,由于時間比較緊,課余時間基本都投入到了項目實踐中。當然現在對過去驚心動魄的九周進行回顧,我會說所有的努力都是值得的。
二、總結這門課程的實踐給你帶來的提升,包括
1.學習和使用的新軟件
- SourceTree:git圖形化客戶端,使用起來非常直觀方便,節省了很多時間。
2.學習和使用的新工具
- Github:這次使用github來管理個人項目和團隊項目,對于我來說是新的體驗,也因此了解到項目版本控制的重要性和github強大的功能。
- Junit、EclEmma插件:學會使用Junit對代碼進行單元測試,使用EclEmma插件查看代碼覆蓋率。
- 博客園、markdown文本編輯:學會使用Markdown來編輯博文,并發布到博客園上。
3.學習和掌握的新語言、新平臺
- Javascript/Html:在結對項目中我們選擇進行web開發,之前對html和javascript語言有過一些了解但是用的不多,這次重新回顧并且學習到新的用法,提高了熟練程度。
- Springboot框架:結對項目中進行web開發時,有開發經驗的同學推薦我們使用springboot框架作為開發框架,由于時間緊任務重,整個學習過程比較艱難但是最后也取得了不錯的效果。
- bmob后端云平臺:團隊項目中使用bmob平臺作為后端,bmob提供了強大的后端功能,這省去了大量的服務器端編程工作,并且數據操作簡單易學。
4.統計一下,你在這門軟件工程實踐中,完成了多少行的代碼
- 個人項目、結對項目、團隊項目加起來大概有2500行左右。
5.學習和掌握的新方法
- PSP:學會使用PSP表格對軟件工程的各個階段所需時間進行估計,并與實際花費時間進行比較。記得在個人項目中,我對自己在各個階段的時間估計與最后的實際花費時間相差比較大,實際的開發過程遠沒有想象的順利,編程時遇到的問題比較多,相應花費的時間就很長,最后在具體編碼階段實際所用時間幾乎是計劃時間的兩倍,我也從中學習到在今后的實踐中要更加合理的安排時間,以免影響整個項目的進度。
- 結對編程:第一次接觸結對編程這種形式,在這之前我完全沒有“駕駛員”和“領航員”的概念,經過課堂上的學習和課下讀書,我們在實踐過程中不斷變換“駕駛員”和“領航員”的角色,達到了事半功倍的效果,有時自己完全沒有注意到的錯誤partner會及時指出,我們也可以隨時溝通和討論,保證項目的順利進行。
- 敏捷流程:在團隊項目中我們用到了敏捷開發流程,繪制燃盡圖和看板圖,把已經完成的任務、正在進行的任務以及還未完成的任務做成任務卡片。并且小組在沖刺過程中每天都要開會討論,總結當日的工作和遇到的問題。
6.其他的提升
- 編程能力:首先我的動手能力得到了很大的提升,之前我一直跟人說自己編程能力很弱,沒有什么項目開發經驗,但是這兩句話在某種意義上說只是一個“擋箭牌”,在某些時候給自己一點心理安慰,其實如果沒有練習的過程,編程能力只能在原地打轉。在這門課中我的編程能力得到了很大的鍛煉,也找回了一點自信,今后也一定會多動手編程,努力提升自己。
- 語言表達能力:無論是結對項目還是團隊項目,我不再是孤軍奮戰,這也意味著要和partner、隊友進行及時的溝通,還有發表博客,也要做到讓所有人能夠讀明白你要講什么,因此本門課也讓我的語言表達能力得到了一定的提升。
- 團隊協作能力:在團隊項目中我與隊友們進行了很好的合作,任務分配明確,期間遇到什么問題大家也會互相幫助。
三、寫下屬于自己的人月神話——項目實踐中的經驗總結+實例/例證結合的分析。
- 個人項目:在個人項目中我采取了任務分解的方法,雖然只有短短幾天時間,但是我還是把整個過程分成幾個階段,逐步地增加功能,這樣的話每個階段心中都有明確的目標,完成后也會更加有動力。本來我以為自己完成不了添加括號的功能,后來通過努力竟然按時完成了,這也讓我非常開心。因為這次的效果不錯,在今后的實踐中,我可能還是會采取這樣的方法。另外,個人項目的編程過程中我出現了很多非常低級的錯誤,這是由于基礎不扎實、編程不熟練造成的,我把出現的比較典型的錯誤記錄了下來,對自己也是一個提醒。
- 結對項目:結對項目的時間比較緊張,十一長假期間我和partner都沒有回家,在實驗室學習web開發的相關知識,但是還是覺得只學到了一些皮毛,最后完成的項目有很大提升的空間。我從partner身上也學到了很多東西,他的代碼封裝性就做的很好,并且對代碼的質量和軟件的架構方面也考慮的比較多。
- 團隊項目:在做團隊項目中我印象非常深刻的是,我們本來打算用自己的電腦搭服務器,部署在tomcat上,然后自己寫通信協議,以此作為后端平臺。但是花了兩天的時間服務器還是搭不起來,這樣前端寫的程序是否正確也無法驗證,整個項目的進度緩慢,當時的時間又比較緊,我們都很著急。后來我的一個同學向我推薦使用bmob后端云,我上網查看了資料發現bmob學習起來比較容易,就試著實現了登錄和注冊的功能,然后與隊友討論后決定放棄自己搭建服務器,使用bmob作為后端。我想說的是其實我們項目在開始之初就考慮過使用bmob,但是覺得這是一個完全陌生的東西需要從0學起就沒了下文,也沒有查閱相關的資料。事實證明在項目準備階段應該認真評估各種方法的成本,選擇更合適的架構,或者在完全不知道能否實現成功的時候有一個備用方案,否則中間出現問題就很有可能抓瞎。
四、分析一下自己所處的團隊。《構建之法》上說團隊的發展有幾個階段,你的團隊都經歷過么,最后到達了“創造”階段了么?
- 萌芽階段:我們的團隊成員之間都比較熟悉,提出項目時每個人都想了一些idea,經過討論大家對校內二手交易app這個項目都很贊同。
- 磨合階段:我們每個人對app開發的經驗不同,剛開始時幾乎每天都在一起編程,不斷磨合進度。
- 規范階段:經過一段時間的磨合,每個人都明確了自己的任務,只需在每日會議上總結和提出問題。
- 創造階段:由于不熟悉開發環境且時間緊迫,我們團隊可能還未達到創造階段。
五、在今后的教學中,老師們還將根據同學們的基礎、期望達到的目標,在教學內容和作業量上做更多的調整,爭取為大家提供一個更加個性化的學習過程。你對課程設計(授課內容、方式、作業內容)有什么建議嗎?另外,作為學長的你,對后面的學弟學妹們有什么建議?
- 首先我覺得對教學內容和作業量做出調整是很有必要的,因為這個課程只有9周的時間,如果做三個項目的話時間還是有點緊,雖然這次我們都按時完成了,但是我覺得如果給我們更多的時間,項目完成的質量會更高。希望老師能在作業量上做出調整,并且根據學生的不同需求來分配任務。另外,希望老師在課堂中加入項目相關的內容,因為時間真的是很緊,大家一心想完成項目,如果課上只講一些理論知識的話大家都不太感興趣,希望講授的內容可以和實踐結合起來。
- 作為“過來人”,我希望學弟學妹們能勇于挑戰自我,對于我來說,一直在證明著“deadline是第一生產力”,努力在deadline之前完成任務的過程中會有意想不到的收獲。
六、助教老師為課程的順利開展做了很多工作,與老師們的交流也讓大家獲益匪淺。你對助教老師的工作可以提一些意見和建議嗎?
助教老師非常認真負責,我們每個人的作業他都會仔細檢查,在這里非常感謝他的辛苦工作(另外我把課程的微信群置頂了,幾乎每天助教老師都會在微信群里發布課程的相關信息,每次手機一震我就心中一顫:D)。希望助教老師可以為分數較低的一項做出說明或者提出改進的意見,以便我們之后能夠做的更好。
轉載于:https://www.cnblogs.com/cyan0629/p/7826597.html
總結
以上是生活随笔為你收集整理的2017202110104-高级软件工程2017第8次作业—个人总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Openstack 安装部署指南翻译系列
- 下一篇: TDD Tip:方法内部New出来的对象