團隊作業第二次——團隊Github實戰訓練
這個作業屬于哪個課程 | 2020春|S班(福州大學) |
---|---|
這個作業要求在哪裡 | |
團隊名稱 | Hail Hydra |
這個作業的目标 | 通過開發預約口罩應用的方式進行團隊Github實戰訓練 |
作業正文 | |
其他參考文獻 | ... |
Github網址 | live-project |
代碼規範 |
題目需求
在全國人民的共同努力下,新冠肺炎疫情得到逐漸緩解,國内多地已經出現零确診。然而目前國内形勢嚴峻,多國疫情出現大爆發,國内出現了多例的輸入病例,此時國人仍不可掉以輕心,外出需要注意個人防護,特别是要佩戴好口罩。雖然國内口罩等防護用品的産能和供應量在逐漸增長,但目前還不能完全充分滿足需求,仍然需要按需進行預約。假如,城市A需要開發一個向社會限量供應的 口罩應用,現要外包給你們組完成這個任務。
簡單來說,就是開發出一個預約口罩的應用,使用者通過輸入姓名、身份證号碼、手機号碼、預約口罩數量等資訊進行登記,若登記成功則獲得一個号碼。使用者通過輸入号碼檢視是否中簽,若中簽則生成購買憑證。使用者憑借購買憑證即可獲得預約的口罩。
功能清單
基礎功能清單
功能點 | 完成度 |
---|---|
身份證、手機号格式驗證及錯誤提示 | |
身份證、手機号的唯一性及錯誤提示 | 1 |
間隔三次才能預約及錯誤提示 | |
存儲預約資訊 | |
預約結束後的中簽計算 | |
預約查詢及提示 | 0.5 |
中簽計算描述
我們是直接按照先後順序來判定中簽的,如果預約的量小于庫存就認定為中簽,否則不中簽。
預約查詢及提示完成部分說明
在預約查詢中,我們隻展示了預約結果,沒有個人資訊
附加功能清單
管理者登入 | |
設定預約的開放時間和截止時間 | |
設定預約時單個使用者最高可預約數量 | |
設定口罩總數 | |
導出某次中簽的名單 | |
附加功能完成度說明
管理者登入、設定預約的開放時間和截止時間、設定預約時單個使用者最高可預約數量、設定口罩總數僅完成前端部分
基礎功能
1. 預約功能:
口罩預約定時開放
開放預約後,市民可以進行登記;登記内容包括
真實姓名、身份證号、手機号、預約口罩數量
預約登記
若手機号或者身份證号在本次搖号登記過了,預約失敗
若手機号或者身份證号在此前三次預約中成功中簽,預約失敗
否則預約成功,給出不重複的預約編号
登記時單個使用者最高可預約口罩數量,預設為3個
預約定時關閉
預約頁面
提供兩個按鈕,作用分别是開始新的預約和結束目前預約
提供設定口罩總量的方法
2. 中簽查詢功能:
使用者輸入自己的預約編号,顯示是否中簽
若中簽,則生成購買憑證,憑證資訊包括:姓名、身份證号、電話号、購買數量
附加功能
- 管理者釋出預約搖号活動
作業展示
2. github 的送出日志截圖

這裡稍微解釋一下,就是我們小組在最開始分工的時候主要是分成了前端組合後端組,每個組各自讨論,并且一開始建好了一個倉庫(這裡附上原始倉庫位址),前端小組一直的commit的是在這個倉庫,我們後端因為對工具的不熟悉等等原因,最後把倉庫的代碼弄的一團糟,最後不得不重建立立一個倉庫(這個是文章開頭給出的倉庫位址),是以如果學長在第一個倉庫沒有看到我們前端隊員的commit,希望不要誤會,他們的commit是在本段的那個連結中(因為我們技術的原因導緻老師和學長的不便,這裡深表愧疚)。
3. 各組員的commit次數、分工、貢獻比
學号 | 姓名 | 次數 | 分工 | 貢獻比 |
---|---|---|---|---|
021700613 | 黃忠雄 | 3 | 表單美化、查詢預約界面 | 10 |
221600313 | 黃子峻 | 文檔 | 5 | |
221701118 | 張嘉偉 | 7 | 後端Dao層,pojo層 | 16 |
221701136 | 唐志豪 | 12 | 後端service層 | 14 |
221701219 | 韋琛 | |||
221701240(生病) | 鄭逸豪 | 生病住院 | ||
221701316 | 劉成華 | 管理者登陸頁面,管理者釋出頁面 | 13 | |
221701335 | 袁錦輝 | 菜單欄,歡迎頁面,使用者預約頁面 | ||
221701421 | 翁紹鴻 | 後端servlet層 | 19 |
4. 程式運作截圖
- 預約功能
團隊作業第二次——團隊Github實戰訓練 團隊作業第二次——團隊Github實戰訓練 團隊作業第二次——團隊Github實戰訓練 - 查詢功能
團隊作業第二次——團隊Github實戰訓練 團隊作業第二次——團隊Github實戰訓練 團隊作業第二次——團隊Github實戰訓練 團隊作業第二次——團隊Github實戰訓練
5. 程式運作環境
eclipse+tomcat+mysql(這裡的eclipse是隻用于javaEE開發的eclipse)
需要的jar包
需要的sql檔案
6. GUI界面
首頁
預約口罩頁面
查詢預約頁面
管理者登入頁面
設定預約資訊頁面
7. 基礎功能實作
前端建立adminlogin類用來管理者登入界面、adminsetting類是管理者管理界面、book類是預約界面、index類是初始頁面、query類是查詢頁面。
後端建立AppointmentDao類進行預約的增删改查、Appointment類是預約的具體項目、acquireServlet類是擷取資訊接口、AppointServlet類是預約項目接口、DBUtil類是資料庫工具類。
8. 使用者體驗,操作的友善、快捷性
web應用功能明确。我們這個應用主要解決使用者的口罩提供問題。使用者隻需一個連結即可進入網站預約口罩,不需要再下載下傳一個軟體。對于使用者來說,預約口罩十分輕松。隻需打開連結,點開預約口罩的頁面,填入姓名、身份證号、手機号碼等資訊,再點開下拉菜單,選擇要預約的口罩數目。若輸入的資訊無誤,則預約成功。預約成功的使用者想要檢視具體情況,則點開查詢預約頁面,輸入獲得的号碼,即可獲知是否中簽。若已中簽,則顯示購買憑證。使用者憑借購買憑證即可獲得所預約的口罩,操作非常友善。
9.遇到的困難及解決方法
翁紹鴻:
困難:不能很好的将想要配置設定的任務表達給組員聽,導緻成員之間的配合很差,很多隊員不知道該怎麼開發
解決方法:打開螢幕共享,通過共同看一個螢幕能夠比較好的了解要做什麼,互相進行配合
困難:前端編碼時遇到送出按鈕無法居中擺放
解決方法:查閱到一篇簡書教程學習到了在div中使用text-align來實作按鈕居中擺放。
困難:由于基礎比較薄弱,很多基本知識沒掌握或是忘了,雖然代碼行數不多,但還是寫得異常痛苦。
解決方法:在百度群組員的熱心幫助下,困難基本解決。
困難:個人能力的不足導緻跟隊友的配合出現問題
解決方法:合理分工去解決簡單問題,并利用空閑時間有針對性的強化自己
困難:沒有進前端後端的群,對于開發的過程不夠了解,無法順利完成文檔;
解決方法:交給了解的同學完成該部分文檔
困難:在寫service層代碼時,遇到一些sql語句的出錯造成的問題;無法很好的使用github
解決方法:後在查詢百度以及組長的debug下解決了問題;最後再團隊的溝通下發現問題的所在成功commit以及push.
10. 各成員PSP表格
PSP2.1 | Personal Software Process Stages | 預估耗時(分鐘) | 實際耗時(分鐘) |
---|---|---|---|
Planning | 計劃 | 20 | |
Estimate | 估計這個任務需要多少時間 | 30 | |
Development | 開發 | 150 | 140 |
Analysis | 需求分析 (包括學習新技術) | 40 | 60 |
Design Spec | 生成設計文檔 | 15 | |
Design Review | 設計複審 | ||
Coding Standard | 代碼規範 (為目前的開發制定合适的規範) | 25 | |
Design | 具體設計 | 100 | 90 |
Coding | 具體編碼 | 120 | |
Code Review | 代碼複審 | ||
Test | 測試(自我測試,修改代碼,送出修改) | ||
Reporting | 報告 | ||
Test Repor | 測試報告 | ||
Size Measurement | 計算工作量 | ||
Postmortem & Process Improvement Plan | 事後總結, 并提出過程改進計劃 | 35 | |
合計 | 610 |
500 | 540 | ||
50 | |||
110 | |||
400 | 420 | ||
1320 |
520 | |||
410 | |||
1350 |
550 | |||
435 | |||
55 | |||
1340 |
405 |
鄭逸豪(生病中,在住院)
125 | |||
585 |
130 | |||
115 | |||
605 |
490 | |||
430 | |||
10. 反思
- 首先我們在最初沒有很好的設計好整個項目的結構,導緻後面後端開發的進度極慢,思路很亂。
- 我們小組沒有標明一個一起使用的程式設計工具,導緻一個人建立的項目在另一個人電腦上無法運作(甚至差點吧人家電腦弄壞),我覺得我們需要去學習和确定一個合适的開發工具
- 在沒有掌握技術的前提下直接開工是我們一開始浪費大量時間去不斷建立倉庫,每個人的送出互相影響,最後還導緻前端人員都寫完界面并送出後,我們後端又不得不去建立倉庫
- 前後端交流太少,後期後端開發發現一些需要的元件前端沒有實作,或者一些想要的設計前端也沒有。