天天看點

回首過去,揚帆起航

這個作業屬于哪個課程 2021春軟體工程實踐|S班
這個作業要求在哪裡 軟體工程實踐總結&個人技術部落格
這個作業的目标 進行軟工實踐總結,對自己最擅長的一個相關技術,進行分析描述并總結
其他參考文獻 CSDN、簡書等

目錄

  • 第一部分:課程回顧與總結

    • 軟工實踐寒假作業(2/2)連結

    • 問題解答

    • 是否原來的問題還不明白

    • 是否産生了新的問題

    • 階段收獲

    • 心得

  • 第二部分:個人技術總結

    • MyBatis-Plus的基本使用

問題一:讀了56~57頁“專和精的關系”,我想問的是究竟該往哪個方向發展:是成為一個什麼都會一點的全棧工程師,還是成為隻精通某一種語言的工程師?哪個方面會更吃香?

解答:在閱讀CSDN上的相關部落格後,我有了自己的結論:專注一個領域,成為精通某一種語言的工程師,使自己在這個領域站穩腳跟後,再去了解其他語言、技術。一技傍身,才有底氣。

問題二:讀了74頁的注釋規範,這裡說“應該隻用ASCILL碼,不能用中文字元”我有點不大了解?

解答:在經曆此次團隊程式設計,以及程式設計過程中參考的網絡上他人的技術部落格,我有了自己的結論:在目前國内,注釋還是使用中文字元比較合适的。在團隊程式設計中,我在解決bug時,涉及到了他人的代碼,我需要看懂他人寫的代碼。這時候注釋便起了很大的作用,中文的注釋,使我能夠及時的看懂他人寫的代碼。若是英文的注釋,我可能需要借助翻譯工具将其轉為中文,降低了我工作的效率。以及在檢視網上他人技術部落格時,學習這一技術時,看着他人在代碼塊的中文注釋,使我能夠很快學會這一技術。

問題三:讀了84~85頁,我認識到結對程式設計的必要之處,那我想問如何進行有效的結對程式設計?若是其中一個人能力不足,或者總在偷懶,又因為項目要到時間了,另一個人隻能被迫完成大部分内容,這樣的結對程式設計反而無法帶來好處,那麼如何避免這種情況的出現呢?

解答:在經過軟工實踐的結對程式設計的作業之後,我有了自己的結論:最好是找能力相近的、有責任心的、擅長技術不同的隊友。比如在結對程式設計作業中,我的隊友lw就是一個能力很強,而且很負責的隊友。而且他擅長的前端相關的技術——vue,我擅長的是後端相關的技術——spring boot。是以在結對程式設計作業中,我們選擇了前後端分離的開發模式,及時地交流遇到的問題,及時地解決問題,大大提高了開發的效率。

問題四:靈活開發的一個原則是“可用的軟體是衡量項目進展的主要名額”,我想問的是“可用的軟體”的具體含義指的是什麼?指的是僅實作功能需求的軟體,但是仍存在一些bug,還是指的是無bug的軟體?如何判斷一個軟體是可用的?有沒有什麼具體的标準?

解答:在經過α沖刺和β沖刺之後,我有了自己的結論:可用的軟體指的是指實作功能需求且目前暫未發現bug的軟體。在我們α階段結束後,做出的微信小程式存在着許多bug,雖然完成大部分的功能,但是存在着會導緻某些功能不可用的bug,這稱不上是一個可用的軟體。在β階段,主要的工作就是對遺留的bug的解決,是以在β沖刺結束後,開發出的産品基本沒有bug了,基本功能都是可用的,這時的微信小程式才能稱為可用的軟體。

問題五:讀到第八章收集使用者需求時,我有一個問題:軟體開發時是滿足大部分人所需要的需求,還是盡量滿足所有使用者各式各樣的需求,即對小衆使用者的需求是否要滿足?

解答:在經過此次微信小程式開發後,我有了自己的結論:盡量滿足使用者的各種合理的需求。我們小組在開發微信小程式之前,在需求分析階段,曾發起一次問卷調查,其中一個問題就是使用者希望小程式具備什麼樣類型的功能。在後續的實作中,我們針對使用者所需要的功能,都盡量做到了一一實作。雖然增加了工作量,但是我們想要做出的不止是一個可用的軟體,更想做出一個好用的軟體,盡量滿足使用者的需求,使軟體更好地服務使用者。

是否原來的問題還不明白?

需求:NABCD模型的使用,學習了《建構之法》第八章中介紹了一種競争性需求分析的架構——NABCD模型後,在實踐中使用NABCD模型對項目進行需求分析

設計:資料庫合理的設計,根據規範,增加每個表必要的字段id、建立時間——gmtCreate、修改時間——gmtModify、邏輯删除——deleted

實作:Mybatis-Plus的使用,學會了其代碼生成器的使用,生成了各個層有關資料庫的操作,大大減少代碼的工作量

測試:使用JUnit進行的單元測試,根據條件覆寫設計測試用例,對自己寫的service層代碼都進行了測試,使得service層的功能達到預期的效果

釋出:釋出的産品的功能應該基本可用、好用,且無重大bug。由于我們的微信小程式産品是具有社交功能的,需要企業證明才能正式釋出,目前隻能釋出體驗版,有點遺憾。

軟體工程實踐接近尾聲了,這其中的過程是很累的,時間也是很趕的,但是收獲同樣是滿滿的,鍛煉了自己的專業能力,學到了很多東西。MybatisPlus、SpringBoot等一系列的學習,讓我強化了自己的專業能力。一個好的軟體的誕生,離不開隊友之間的共同努力,共同奮鬥。前後端分離工作,各自完成各自的部分,最後再測試連接配接,使得工作清晰明朗,大大提高工作效率。大家在開發中都在盡自己最大的努力做好産品,彼此之間互相努力,共同解決遇到的困難。尤其是在前後端接口互動的階段,遇到了一大堆bug,但是在大家共同的努力下,在釋出之前共同解決了遇到的bug,最終開發出了讓人滿意的産品。相信經過此次軟工實踐的我們,大大提高了自身的專業能力,相信在未來的軟體開發中,會做得更好。

概述:MyBatis-Plus(簡稱 MP)是一個 MyBatis 的增強工具,在 MyBatis 的基礎上隻做增強不做改變,為簡化開發、提高效率而生。無需編寫Mybatis中的大量的xml檔案(可在其中通過編寫SQL語句操作資料庫),可直接調用其封裝好的有關資料庫的操作的方法,大大減少了開發的工作量,提高了開發效率。