個人作業——軟件工程實踐總結作業
阿新 • • 發佈:2018-06-17
商戶 後端 大牛 實例 task 包括 熬夜 一次 職業
一、請回望開學時的第一次作業,你對於軟件工程課程的想象
1. 對比開篇博客你對課程目標和期待,“希望通過實踐鍛煉,增強計算機專業的能力和就業競爭力”,對比目前的所學所練所得,在哪些方面達到了你的期待和目標,哪些方面還存在哪些不足,為什麽?
- 答:對於課程期待,讓我第一次了解關於項目的開發整個過程,學習到了關於代碼規範、測試等,通過alpha階段和beta階段去完善項目,項目就好比初生的萌芽,逐漸發育成一課樹苗,並且不斷進行分支,每塊逐步壯大起來。除此之外,讓我了解通過團隊進行開發項目,利是大於弊的。
2. 總結這門課程的實踐總結和給你帶來的提升,包括以下內容:
- 1)統計一下,你在這門課程中,完成了多少行的代碼;
- 400~500行 - 2)軟工的各次作業分別花了多少時間?(做一個列表)
作業 | 時間 |
---|---|
軟工網絡15個人閱讀作業1 | 2小時 |
軟工網絡15個人閱讀作業2——提問題 | 5小時 |
軟工網絡15結對編程練習 | 8小時 |
軟工網絡15團隊作業1——團隊組隊&展示 | 2小時 |
軟工網絡15個人作業3——案例分析 | 3小時 |
團隊作業3——需求分析與設計 | 5小時 |
團隊作業2——團隊計劃 | 2小時 |
軟工網絡15Alpha階段敏捷沖刺 | 48小時 |
團隊作業6——展示博客 | 2小時 |
團隊作業5——測試與發布 | 2小時 |
團隊作業7——alpha階段之事後諸葛亮分析 | 2小時 |
個人作業4——alpha階段個人總結 | 2小時 |
團隊作業8——敏捷沖刺(Beta階段) | 36小時 |
beta階段驗收互評 | 2小時 |
個人作業5——軟工個人總結 | 2小時 |
總計 | 123小時 |
3)哪一次作業讓你印象最深刻?為什麽?
- 比較深刻的一次是alpha階段的沖刺博客,我學到新的關於網站搭建、數據庫的建立與實際項目聯系等等,通過幾次例會去發現問題,大家一起探討解決方案。
4)累計花了多少個小時在軟工上?平均每周花多少個小時?
- 總的123個小時左右,平均每周9個多小時(3~15周)
5)學習和使用的新軟件;
- vs2017,markdown,mysql,eclipse等
6)學習和使用的新工具;
- Xmind,Mockingbot ,startuml ,process在線作圖
7)學習和掌握的新語言、新平臺;
- Github,碼雲
8)學習和掌握的新方法;
- 原型設計,uml圖的繪制,需求分析的NABCD模型,框架開發
9)其他方面的提升。
- 主要了解了開發軟件的整個流程,學會寫文檔,使用github管理代碼,以及明白代碼規範的重要性。
二、寫下屬於自己的人月神話——個人或結對或團隊項目實踐中的經驗總結+實例/例證結合的分析
- 1、團隊溝通非常重要。因為每個人都有不一樣的分工,每個模塊之間的協作需要團隊成員之間的溝通。
- 2、分工要明確。我們團隊一開始分工不夠明確,差不多每個模塊每個人都有接觸,有時某個模塊卡住了,大家也都卡住了,效率非常低。後來我們漸漸地明確了分工,我負責的是後端開發,給前端返回相應的數據庫數據。
- 3、編碼前的需求分析,類圖,設計文檔等一定要認真對待。因為這些將作為後面編碼階段的依據。
三、對下一屆實踐的建議,或者對於開學初的你,對於大一的你,對於開學初的我,你有什麽想建議和告知的呢?對於後來人的期許。對於換人機制,有什麽樣的建議?
- 答:對於大一大二的階段來說,像代碼規範這類的習慣,就應該及早養成,這樣會利於團隊的開發。可以去多接觸一些其他語言或者工具,而不單單說這學期課程是java,那麽就只學一門。通過實際的項目發現,有時候需要
多種語言和工具才能實現最終效果。當軟工開始再學習的話,時間是不多的,學習效果也不那麽好。如果之前有學習過,那會更容易上手一個項目。對於換人機制,老師的初衷想讓我們體驗一下,在未來工作中進行團隊開發,如果遇到意外事故、跳槽等,這樣會給團隊項目造成什麽影響,那麽該如何處理團隊項目?這個換人機制是不錯的,但實際中發現,換的人一般都不是團隊開發的核心,可以說大半部分是無關緊要的人,比如說,負責寫博客來說,到哪個團隊都可以寫。
四、分析一下自己所處的團隊。軟件工程實踐是大學裏少有的認真的團隊協作經驗。《構建之法》上說團隊的發展有幾個階段,你的團隊都經歷過麽,最後到達了“創造”階段了麽?(參考《構建執法》第17章 人、績效和職業道德)
- 答:構建之法提到的階段有:萌芽階段、磨合階段、規範階段、創造階段。在本團隊開發前三個階段經歷的時間比較長,最後一個“創造”階段往大的說是沒有的,我們團隊是參考淘寶、京東這些購物網站,實現一些功能。往小的說是有的,因為我們目標是為個體商戶去設計的,實現一對多的售賣,相當於個人的超市。
五、怎樣證明你學會了軟件工程?
1. 研發出符合用戶需求的軟件
- 必須公開發布,有實際的用戶,一定的用戶量和持續使用量 (3 天後能保持10 - 100個用戶);而不是: 做沒有用戶使用的軟件
- 項目沒有公開發布,只是在舍友之間測試過。
2. 通過一系列工具,流程,團隊合作,能夠在預計的時間內發布 “足夠好” 的軟件
- 有項目規劃/需求/設計/實現/發布/維護,有定時的進度發布 ; 而不是: 通過臨時熬夜,胡亂拼湊,大牛一人代勞,延遲交付等方式糊弄
- 有項目分工安排、時間安排。參考鏈接
3. 並且通過數據展現軟件是可以維護和繼續發展的。
- 而不是 找不到源代碼,代碼無文檔,代碼不能編譯,沒有task/bug 等項目的發展資料
- 碼雲作為代碼管理。參考鏈接
個人作業——軟件工程實踐總結作業