【軟件工程】 第1次團隊做業

項目 內容
這個做業屬於哪一個課程 <font color=#87CEEB> 軟件工程 羅傑
這個做業的要求在哪裏 <font color=#87CEEB> 第一次團隊做業
咱們在這個課程的目標是 熟悉軟件開發總體流程,提高自身能力
這個做業在哪一個具體方面幫助咱們實現目標 第一次體驗一個完整的工程

<br />java

<font color=#87CEEB>團隊成員介紹</font>

    對沒錯!咱們就是葫蘆娃!!c++

<div align=center> <img src="https://img2018.cnblogs.com/blog/1632084/201903/1632084-20190315113657964-480798116.jpg" width = "400" height = "400"/></div> <br /> <br />git

    咱們的團隊由七位男生組成,他們分別是:程序員

  • 大娃

        「熱愛生活、熱愛挑戰、熱愛編程的大三「準程序猿」一枚」

<div align=center> <img src="https://img2018.cnblogs.com/blog/1632084/201903/1632084-20190315130042719-1164478480.jpg" width = 30% height = 30%/></div>編程

  • 二娃

        「男,21歲,愛好足球、乒乓球、打遊戲,精通C、Java等語言」

<div align=center> <img src="https://img2018.cnblogs.com/blog/1632084/201903/1632084-20190315130011356-460701299.jpg" width = 30% height = 30%/></div>數組

  • 三娃

        「心走得很遠,但身體仍在北航的幻想型程序猿,本科所學略知一二,本科以外一無所知~~(qwq)~~的萌新」架構

    <div align=center> <img src="https://img2018.cnblogs.com/blog/1632084/201903/1632084-20190315125409175-1323550201.jpg" width = 30% height = 30%/></div>框架

  • 四娃

        「馬四娃,男,北航6系普通學生,業餘阿森納球迷,專業低級碼農。C,C++,Java,JavaScript,Python都能寫,但都不精通。磕磕碰碰,成功完成了兩年半的本科學習,有點幸運。沒什麼項目經歷,作的都是些不值一提的小玩意。做爲開發組的一員會在團隊做業中盡力的。」學習

    <div align=center> <img src="https://img2018.cnblogs.com/blog/1632084/201903/1632084-20190315125914415-2089840016.jpg" width = 30% height = 30%/></div>測試

  • 五娃

        「率真,樂觀。人生不長,作想作的事,見想見的人,創造想創造的代碼!」

    <div align=center> <img src="https://img2018.cnblogs.com/blog/1632084/201903/1632084-20190315125716109-2044564534.jpg" width = 30% height = 30%/></div>

  • 六娃

        「樂觀,進取;愛動漫,愛籃球,虛心學習,敢於嘗試,追逐夢想;熟悉c/c++、java等語言,積極作好力所能及的事。」

    <div align=center> <img src="https://img2018.cnblogs.com/blog/1632084/201903/1632084-20190315125651981-145769225.jpg" width = 30% height = 30%/></div>

  • 七弟

        「計算機學院學生,偶爾打打籃球,超愛遊戲的鹹魚程序員一枚」

    <div align=center> <img src="https://img2018.cnblogs.com/blog/1632084/201903/1632084-20190315125841888-1981944279.jpg" width = 30% height = 30%/></div>

<br />

咱們團隊成員的初步分工以下:

PM: 二娃、三娃

開發組: 大娃、四娃、五娃、七弟

測試組:六娃

<br />

<font color=#87CEEB>學長的經驗之談</font>

軟件工程這門課已經開設了幾年的時間,之前也有不少學長作過團隊項目,爲了更好的推動咱們的項目,咱們請到了15級的劉子淵學(巨)長(佬)來學習經驗。

「當時的項目有多少用戶?給用戶多少價值?如今還有人用嘛?」

當時完成了一個物理實驗報告的在線生成網站,用戶數沒有一個具體的統計。

「這個項目可否讓咱們團隊繼續開發呢?」

固然能夠繼續開發,若是咱們的版本不行的話大家也可使用再上一屆的版本。不過大家也能夠寫一些本身喜歡的、感興趣的東西。

「項目開發有什麼樣的經驗或教訓呢?」

經驗和教訓的話,就要有一個充分的準備,也要有一個計劃,好比說對作好一個項目的時間成本有估計嘛?遇到一個新的框架,打算用多久來熟悉它呢?可能概念和語言都和大家以前學的徹底不一樣,也要寫很長的文檔,每週可能要花 3*8 個小時來推動項目,那麼具體要怎麼推動呢?

我的建議能夠天天坐在一塊兒幹活,中午的時候一塊兒吃飯,相互聊聊項目進展怎麼樣。我本身當時的教訓就是時間不是很夠,對其餘人的進度失控。我認爲軟工主要分爲兩部分,一部分是對代碼的控制,一部分是對進度的控制。代碼控制還好一些,好比說代碼規範、版本、工做流之類,有linter還有git flow。進度控制就是一個比較虛的東西,不太好衡量但又必須衡量。要學好軟工我以爲主要仍是進度控制。

「可咱們對工程的概念挺模糊的,也不知道到底有多大的工做量,老師助教只說要1W行代碼左右,但不一樣的封裝程度和語言,1W行代碼能幹的事區別可太大了,因此感受......確實挺模糊的」

因此大家學很差軟工。

「那學長對學好軟工有什麼樣的建議呢?(絕望.jpg)」

我就說說不談時間的對工程的認知吧。怎麼設計結構?這個應該是OOP。而後是文檔,文檔決定了你的項目是否能長久。文檔包括tutorial,manual和documentation。

Tutorial是用來告訴什麼都不知道的人這個項目是如何運行的。Manual包括每一個模塊的做用,以及和其餘模塊的相互做用,想開發一些功能應該如何修改。Documentation就是API文檔。

我認爲manual是最重要的,它關係到項目的可擴展性,API文檔就像人心渙散,manual負責有邏輯的將他們串起來。API是當你已經知道了每一個地方怎麼連起來了,而後也知道有相似的例子,但你對每一個參數的意義和返回值的意義不是很清楚,或者想看看這個模塊有什麼能夠用的,你纔去查API文檔。就好像你Cpp遇到一個東西,想用可變長數組,你去百度,人家推薦你Vector,而後會說明一些做用和例子,這裏面就包含了tutorial和manual的東西。等你大概明白是怎麼回事了,但可能用起來還不是太方便,你會想去查查cppreference,看看vector具體怎麼用,好比我能不能得到頭元素和尾元素?能不能把兩個vector拼接在一塊兒?這比直接讀代碼要方便的多。前期能夠寫一寫這個,既能夠幫助大家掌握進度,還能夠加深對項目的理解。

<br />

<font color=#87CEEB>採訪所得</font>

經過採訪大佬學長,咱們學習到了不少東西,對一個項目從開始到推動到最終的成果,整個流程也有了一個大概的概念,也學習到了一些提升效率的方式和須要注意的隱患。好比:

  • 在項目開始前,全面的設計和詳實的文檔,可以有助於總體項目架構的肯定,也可以避免「走一步看一步」致使項目沒法推動,甚至須要重構的問題。

  • 以工做組的形式來完成項目,而不是成員各寫各的,你們坐在一塊兒寫一方面對項目進度能夠有一個更好的把控,另外一方面若是遇到困難,你們也能夠一塊兒克服,下降交流成本。

  • 雖然說你們各司其職,但不一樣組之間也應該相互溝通,密切配合。好比:PM雖然負責前期整體需求分析和產品的設計,但在開發組開發的過程當中,也應該跟隨開發組一塊兒,瞭解進度,並熟悉開發組的總體架構,提出合理的需求推動項目,而不是對項目徹底不熟悉,提出一些不太可能實現的需求致使開發組的進度陷入困境。

  • 在閱讀了其它同窗的博客後,咱們也認識到咱們要對可能出現的狀況作出預期,好比說項目進度緩慢、或是團隊出現矛盾等等。咱們做爲一個團隊,只有志同道合、一塊兒努力,才能最後達到不錯的結果。

<br />

<font color=#87CEEB>實際花費時間</font>

  • 採訪:50min
  • 編寫:90min
相關文章
相關標籤/搜索