1. 程式人生 > 其它 >LNMP環境一鍵部署

LNMP環境一鍵部署

一、基本情況

組長部落格連結:

小方的部落格

  • 現場答辯總結

    總體上達到既定目標,按照柯老師的指導,在最後一次課我們會給出明確的一張包括可跳過的APP圖示和名字的圖表

  • 全組討論的照片

  • 評估團隊中每個人對本次作業的貢獻比例,描述為本次作業的工作流程、組員分工、組員工作量比例

姓名 工作任務 工作佔比
高靖涵 後端組 16%
趙文濤 後端組 12%
吳永銘 後端組 12%
劉雙 測試組 10%
王佳明 測試組 10%
陳靜 前端組 9%
楊寓荃 前端組 9%
劉葦 前端組 8%
王億平 產品經理 7%
黃建瑋 軟體分析,文件設計,部落格更新 7%

二、總結思考

2.2.1 設想和目標

  • 我們的軟體要解決什麼問題?是否定義得很清楚?是否對典型使用者和典型場景有清晰的描述 ?

    我們計劃研發的APP———AdKiller,是一款可以自動快速跳過手機APP起始頁廣告的APP
    秉承綠色安全非盈利的態度向Android手機使用者開放使用
    對典型使用者和典型場景都有清晰的描述

  • 我們達到目標了麼?(原計劃的功能做到了幾個? 按照原計劃交付時間交付了麼? 原計劃達到的使用者數量達到了麼?)

    我們第二階段達到了原定計劃的95%
    原計劃的功能實現了自定義規則功能
    Beta階段沒做的任務只剩下最終的測試和與同類產品的對比了,
    由於本階段開發的功能不是必要功能,是錦上添花的功能,所以我們按照原計劃交付時間交付了
    計劃使用者暫未達到預期,因為本次Beta衝刺我們的開發和測試是同步進行的,軟體更新速度很多,為了能及時地反饋,我們只是小部分群體試用測試,使用者數量到達25名。

  • 使用者量, 使用者對重要功能的接受程度和我們事先的預想一致麼? 我們離目標更近了麼?

    25名體驗者的反饋比較良好,但是面對一些“頑固”的APP起始頁廣告,
    我們毫不忌諱地承認暫時還不能達到100%成功率,但是小步的成功也令人欣慰,我們離成功更進一步。

  • 有什麼經驗教訓? 如果歷史重來一遍, 我們會做什麼改進?

    我們最大的問題是前期準備工作不足,沒有做成良好的軟體分析,導致功能設計的過程中進度遲緩,
    除此之外,對技術的學習和掌握不夠紮實,導致研發週期漫長,前幾次現場答辯效果也不理想。
    如果能夠重來一次,我們會前期做好嚴謹的軟體需求分析和技術分析,做到事半功倍

2.2.2 計劃

  • 是否有充足的時間來做計劃?

    在Beta衝刺階段,都會在站立會議過程中進行對未來一天的小計劃

  • 團隊在計劃階段是如何解決組員對於計劃的不同意見的?

    通過線上QQ群,騰訊會議,時刻交流,針對大家提出的意見,產生的分歧,共同討論。

  • 原計劃的工作是否最後都做完了? 如果有沒做完的,為什麼?

    因為一些不可抗力,我們原計劃的工作完成度為95%,侷限於技術手段原因,一些APP的跳過暫時做不到。

  • 有沒有發現做了一些之後看來沒必要或沒多大價值的事?

    沒有,畢竟時間緊迫, 都沒有時間做很多事......

  • 是否專案的整個過程都按照計劃進行,專案出了什麼意外?有什麼風險是當時沒有估計到的,為什麼沒有估計到?

    大體沒有意外,一切都在按部就班進行。
    只是有一些功能由於能力不足,確實優化不來,但實際中不影響軟體使用。

  • 將來的計劃會做什麼修改?

    會在測試與對比中對一些功能進行優化
    認清現實,畢竟有些技術暫時無法掌握,就不要想太多......

  • 學到了什麼? 如果歷史重來一遍, 會做什麼改進?

    我們學到了AndroidStudio的開發知識,
    更重要的是團隊合作的重要性。

2.2.3 資源

  • 我們有足夠的資源來完成各項任務麼?

    有,我們前期都是在虛擬手機上進行,有很多好用的軟體,例如:夜神模擬器,AndroidStudio自帶的手機模擬器。

  • 各項任務所需的時間和其他資源是如何估計的,精度如何?

    因為都是統一時間,一起工作,所以工作時間穩定,
    精度很高;我們儘量不加班,以便不佔用大家其他科目的學習時間。

  • 測試的時間,人力和軟體/硬體資源是否足夠? 對於那些不需要程式設計的資源 (美工設計/文案)是否低估難度?

    我們有設定專門的測試組,發動同學,舍友,親朋好友這些人際關係進行初步測試。
    我們也有設定前端組,對介面進行逐步美化。

  • 你有沒有感到你做的事情可以讓別人來做(更有效率)?

    雖然我們大家都會遇到一些困難,可能讓更適合的人做會有效率,
    但是,這是一個學習的過程,如果一直逃避那就違背了學習的初衷。

  • 有什麼經驗教訓? 如果歷史重來一遍, 會做什麼改進?

    最大的經驗教訓就是要儘早做好計劃,同時不能急於求成,要考慮到自身的能力。
    要保持良好的心態,面對困難心態要穩住,面對技術上的欠缺,要有“等我發育再打團的心態”

2.2.4 變更管理

  • 每個相關的員工都及時知道了變更的訊息?

    通過QQ群的群公告

  • 我們採用了什麼辦法決定“推遲”和“必須實現”的功能?

    通過分析使用者的需求“迫切程度”

  • 專案的出口條件(Exit Criteria – 什麼叫“做好了”)有清晰的定義麼?

    我們對Exit Criteria是有清晰的定義的,
    對完成的模組進行測試,如果測試組結果反饋良好,無bug,我們就可以稱之為“做好了”。

  • 對於可能的變更是否能制定應急計劃?

    可以

  • 組員是否能夠有效地處理意料之外的工作請求?

    大家都很自覺負責,會熬夜加班,我們想睡覺!!!!

2.2.5 設計/實現

  • 設計工作在什麼時候,由誰來完成的?是合適的時間,合適的人麼?

    由組長分化模組,組員主動認領。

  • 設計工作有沒有碰到模稜兩可的情況,團隊是如何解決的?

    有,但不完全有,我們會進行“民主”討論,得出統一的意見,
    所以整個“Beta衝刺”是一個peace and love的過程。

  • 團隊是否運用單元測試(unit test),測試驅動的開發(TDD)、UML, 或者其他工具來幫助設計和實現?這些工具有效麼?

    有用到UML進行分析設計,後續過程中會進行單元測試等其它手段進行全面分析。

  • 比較專案開始的 UML 文件和現在的狀態有什麼區別?這些區別如何產生的?是否要更新 UML 文件?

    有很大區別,後面的更加完善,具體。因為隨著開發的進行,我們的功能設計會發生改變。

  • 什麼功能產生的Bug最多,為什麼?在釋出之後發現了什麼重要的bug? 為什麼我們在設計/開發的時候沒有想到這些情況?

    在檢測活動介面控制元件時產生的Bug最多,因為不同APP的佈局是不一樣的,有些軟體的開屏廣告是單獨的介面,有的則就是主介面,導致搜尋方式不同。
    釋出之後發現有個地方初值設定錯誤,好在改回來了。
    我們在設計/開發的時候確實沒有考慮到不同品牌的手機、不同APP在一些地方上的差異,但我們也的確無法解決這些差異性,只能在大多數情況下實現功能。

2.2.6 測試/釋出

  • 團隊是否有一個測試計劃?為什麼沒有? 是否進行了正式的驗收測試?

    有,我們會在測試軟體本身功能可用性的情況下,加入與同類型軟體的對比測試。

  • 團隊是否有測試工具來幫助測試?

    通過不同機型的安卓手機和模擬器進行測試。

  • 在釋出的過程中發現了哪些意外問題?

    有一次釋出忘記了keystore的密碼,還在最後想起來了

2.2.7 團隊的角色,管理,合作

  • 團隊的每個角色是如何確定的,是不是人盡其才?

    團隊的每個角色一開始是有規劃的,但最後採用的是誰行誰上的策略。
    大家都盡力地做好了自己的部分,算是人盡其才了。

  • 小組成員之間有互相幫助麼?

    of course

  • 當出現專案管理、合作方面的問題時,團隊成員如何解決問題? 每個成員明確公開地表示對成員幫助的感謝 (彙總至組長部落格):

    高靖涵:

    • 我感謝文濤對我的幫助, 因為某個具體的事情:這個專案做起來很費力,Android技術我也是無法全部吃透,多虧他熬夜加班帶著我們堅持了下來。
    • 我學到了要善於閱讀官方文件,不然對已經可以拿來直接使用的工具不夠熟悉,已經有了工具,卻還是埋頭苦幹
    • 如果歷史重來一遍,我會先做好規劃,看看我具體的任務需要哪些知識,其實不必從頭一點一點學,先學會急迫需要的。

    趙文濤:

    • 我感謝吳永銘對我的幫助,因為某個具體的事情:他和我一起開發軟體高階功能的時候,由於一直沒有進展,我都準備放棄了,但他堅持查閱資料,最終寫出讓人滿意的功能。
    • 我學到了要善於使用搜索引擎,有時候很多東西其實網上都有現成的資料,埋頭苦幹最終做出來的東西,其實效果遠不如前人已經寫好的。
    • 如果歷史重來一遍,我會在一開始就想好要做什麼,大概該這麼做,做不做的出來,充分考慮程式碼的可拓展性,而不是做一半突然想到某件事要做,導致原先寫的程式碼還要修改。

    吳永銘:

    • 我感謝 趙文濤 對我的幫助, 因為某個具體的事情: 在功能的完善上給了我很多建議和幫助。
    • 我學到了安卓的一些新知識,比如:任務棧。
    • 如果歷史重來一遍,會提前做好規劃,以免和其他課程或考試有衝突而導致時間緊張。

    王佳明:

    • 我感謝 劉雙 對我的幫助, 因為某個具體的事情:作為搭檔互相分擔任務,一起做軟體測試,學習JAVA的時候也給我提供不少的建議讓我少走彎路。
    • 一個人的能力總是有限的,當你什麼事情都能自己應付得來時感覺自己無所不能,但是像我這樣技術不是特別好的人,有一個能一起奮鬥的隊友是多麼的重要
    • 如果歷史重來一遍,我會在這學期之前就學好Java,在組內多承擔一些事情,也給自己組的主力減輕一些壓力。

    黃建瑋:

    • 我感謝高靖涵對我的幫助, 因為某個具體的事情: 幫助我修好bug,並幫助我修改部落格中的問題,幫助我查閱資料和文件。

    王億平:

    • 我感謝高靖涵對我的幫助, 因為某個具體的事情: 部落格的格式之前並不瞭解,導致文字併入到組內文字時一直格式錯誤,他告訴了我部落格應該使用Markdown編輯器,同時教了我相關的格式,從而保證了Alpha衝刺報告沒出現格式上的問題。
    • 我學到了對於自己認為正確的東西,實際上很可能並不正確,有一個人幫忙指正可以糾正自身的錯誤認知,減少不必要的扣分。
      -如果歷史重來一遍,我應該去提前去了解小組部落格的文字格式和編輯器的統一規範是什麼,好好的完成自己的任務,減少組長的工作量。
    • 劉雙:
    • 我感謝王佳明對我的幫助, 因為某個具體的事情:在我想偷懶或者鬆懈的時候總能督促和提醒我,而且也在完成作業的時候給予我一些指點,幫助我解決了難題

    劉葦:

    • 我感謝王佳明對我的幫助,因為某個具體的事情:他在我對安卓開發一無所知的情況下給我提供了幫助,起了一個頭。
    • 我學到了要多利用網上前輩們的勞動,我們現在要學的知識其實前人已經幫我們總結好了,只等我們自己去尋找學習。
    • 如果歷史重來一遍,我會在一開始制定詳細的計劃,而不至於毫無頭緒。

    陳靜:

    • 我感謝王佳明對我的幫助, 因為某個具體的事情: 提供測試建議。

    楊寓荃:

    • 我感謝 高靖涵 對我的幫助, 因為某個具體的事情: 給我提了不少建議。
    • 我學到了很多東西不一定要自己埋頭想,參考別人的東西會帶來更多的啟發。
    • 如果歷史重來一遍,我會先確定好設計再進行開發。

2.2.8 總結

高靖涵

通過這學期的軟工實踐,我學習了Android的一些皮毛
這次衝刺我們真的沒什麼可以修改了,技術有限
peace yoh!~

趙文濤

Beta衝刺的時間裡我做的工作其實就是對功能的完善,寫一些Alpha沒時間做的功能,但最後很多功能由於自己能力不足,還找不到資料,最終只能放棄,還是覺得挺可惜的。
通過這次軟工團隊作業,我發現原來大家都這麼強,我和大佬們的差距已經這麼大了,這的確是打擊到我了,但同時也激勵了我,他們行,那我也行,未來我一定會加強對自身能力的鍛鍊。

吳永銘

Beta衝刺主要任務就是對功能的完善,在完成隱藏最近任務這一功能上,找了好久的資料。困擾我的在於如何通過開關控制隱藏功能,最後查詢到一篇關於任務棧的文章才得以解決。
總體來說,這次作業提高了自學能力,入門了Android開發,收穫很大。

劉雙

大家都是第一次做有關Android應用,剛開始比較迷,不知道從哪著手,
多虧組內大腿推薦相關的教學視訊學習,
在完成作業的過程中學到了很多,非常感謝隊友的照顧。

王佳明

因為學習安卓需要用到java,作為一個只會一點c++的人只能先學習java,加上正好有好幾門考試導致沒時間學習安卓算是一個遺憾
認識到自己在大一大二的時候太水了,沒有在空餘時間多學習學習,現在和別人差距挺大的,不過學習不怕晚,現在努力也不是很遲,就是可惜之前的時光都荒廢了。
但是作為測試組成員也很高興,和搭檔一起做測試,我的兩個手機下載到發燙有時候時間緊任務重第二天就要結果,通宵做測試也挺爽的
這個課程挺好的,雖然挺累的(實話實說),但是和隊友相處融洽,在我敲程式碼(Auto.js)時因為學的不多函式不太會用,隊友瘋狂上網給我找函式用,太好了

陳靜

這次Beta衝刺中對於前端介面進行了改進,收穫很多(雖然可能是負向優化了ಥ_ಥ)
通過這學期的軟工實踐學習到了很多,比如前端學習,安卓應用開發,無障礙服務等,最重要的是學會了更好地規劃時間!

楊寓荃

這次團隊作業確實沒有怎麼幫上隊友,反而都是隊友們在幫助我,讓我認識到我和別人還有一定的差距。
在這次作業的過程中,確確實實學到了一些東西,個人能力也有所提升。

劉葦

這次主要是軟體測試,軟體測試不僅可以測試功能,還可以和同類軟體橫向比較
通過這次實踐,我對軟體開發有了更多認識,知道了團隊合作交流的重要性,還學習安卓無障礙技術,收穫滿滿

王億平

在本次Alpha衝刺中我學習到了很多有關於安卓開發方面的知識,和團隊一起做專案感覺很充實,激發了每一個人的熱情,雖然有很多大作業纏身,但還是擠出了時間去學習本次開發的知識,參與討論和測試。
我感受到了一個有凝聚力的團隊對於軟體的開發是相當重要的,倘若要一個人只能自己去開發一款軟體,不僅效率低,效果差,且沒有精力去除bug,一個團隊相互合作可以將每個人的特長集合起來,使得軟體既美觀同時又兼具良好的功能性,大大吸引可能存在的使用者群體。
軟體還可以讓身邊的其他同學幫忙測試,除了可以幫助其他同學廣告的困擾外,還可以得到更充分的測試樣本,幫助我們更快的鎖定軟體的bug,幫助我們去分析和修改,使產品做得更好。

黃建瑋

這學期的軟工實踐,讓我在極短的時間內學習了大量的知識,並且增強了自己的學習能力
學習需要多實踐,多查閱資料,不能閉門造車。
感謝所有幫助過我的組員,respect!