1. 程式人生 > >個人作業——軟件工程實踐總結作業

個人作業——軟件工程實踐總結作業

商戶 後端 大牛 實例 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 等項目的發展資料
    - 碼雲作為代碼管理。參考鏈接

個人作業——軟件工程實踐總結作業