[toc] #項目相關
相關文檔
源碼
yonginggg/StudentClubManagementSoftware
技術路線
我們這次的開發使用了前後端分離的技術, 畢竟這也是現在非常流行的形式了
前端: vue.js elementui axios vuex
vue.js: 現在非常流行組件式的前端框架, vue的流行程度也越來越高, 所以選用vue來搭建 elementui: 這個ui對vue的支持非常的好, 同時可以節約很多的時間 axios: 跨域傳輸的技術有很多, 但是axiois式vue官方推薦的 vuex: 用來存儲讀取裝填信息, 是用vue開發的必選
後端: springboot
sprintboot可以簡化環境的配置, 同時內置了tomcat, 減少了配置的時間, 同時使用maven來進行包的管理很方便
個人工作總結
這裏我按照項目進行的階段進行總結
需求分析階段
在這一階段我主要參與了需求的分析並負責了文檔的撰寫工作
設計階段
這一階段, 我主要負責了文檔撰寫和利用powerdesigner製作了類圖
原型設計階段
這一階段, 我和吳祖峯負責了前端的原型設計, 因爲這些技術都是以前未掌握的, 有一定的學習成本, 所以我們的進度不是很快, 只完成了登錄註冊, 創建社團, 修改密碼, 管理員後端對公告活動的管理界面, 而實際上能與後端進行鏈接的也只有登錄和註冊的功能, 這裏主要使用了axios去進行跨域的數據通信
後續完善階段
前端製作流程
- 劃分模塊和對應的界面
- 製作原型界面
- 前後端連接實現
- 測試系統
web端模塊劃分
主要有以下模塊:
- 登錄註冊模塊
- 個人信息模塊
- 活動管理模塊
- 公告管理模塊
- 社團管理模塊
- 招新管理模塊
- 人員管理模塊
主要完成的工作
技術點的學習和分享
- 使用axios進行跨域傳輸, 使用post將前端數據傳回後端, 並獲取後端傳回來的數據, 使用get直接獲取後端傳回來的數據
- 將從後端得到的數據動態地加載到表格, 側邊欄中
- 使用vuex存儲和讀取狀態, 如用戶id, 社團id,社團name, 部門id等
界面的製作
使用vue.js和ElementUi去進行了界面的繪製, 主要包括登錄註冊界面, 側邊欄的製作, 創建社團界面, 全校活動界面, 已經報名活動界面, 全校公告界面, 管理員查看所有用戶和重置密碼界面, 管理員查看活動和審覈活動界面等
數據交互功能
負責了絕大部分前後端交互功能, 包括獲取後端數據進行表格, 側邊欄的動態加載, 以及點擊事件的實現
數據的整合
由於經常性的合併出錯, 我們組最後都是將代碼發給我, 讓我來進行整合, 這耗費了大量的精力和事件
項目進行的感悟
- 前期的分析和設計非常的重要, 一旦前期設計沒有設計好, 後續的工作就很難順利的進行下去, 這一點我深有體會, 像我們組後面就陷入了改數據庫-->改配置文件,改代碼-->報錯->修改這樣子令人頭疼的境地
- 一致性很重要, 當時老師上課也強調過這一點, 但是一開始我不是很能領會, 後來前後端對應的接口沒有定義的很詳細, 以及命名的隨意和註釋比較少, 導致修改起來很困難,
- 定期的全隊交流是必須的, 每一次的團隊交流都能發現設計開發過程中的問題, 即使的去修改
- 需要指定每一個階段的目標和完成時間, 並在規定時間前儘快完成, 由於一開始對於時間的把握不是很明確, 導致從原型設計階段開始就發現進度已經被拉下了, 後續就很累, 每天要熬夜去寫代碼
- 數據庫設計的時候, 其實很多表都是可以用一份表, 通過狀態等來區分的, 這樣也會好做很多
- 身體是革命的本錢啊, 後面天天熬夜真的受不了, 腦子也昏昏的, 所以身體好對寫好代碼幫助也很大
對課程的建議
- 可以強調一下課程的重點然後每2周可以進行一下小的測試, 畢竟這門課還是要考試的嘛, 一直在進行項目的完成工作導致對課本的知識掌握的不是很好
- 希望老師可以提供一下前幾屆優秀作品的博客+代碼供我們參考, 因爲畢竟是第一次做項目, 對項目的把握不是很好, 中間犯了很多的錯誤, 如果有前人的經驗的話會好很多
- 軟工一開始的地鐵線路規劃我覺得只要有需求分析和設計就行了, 代碼階段可以不做, 畢竟基本也在考算法, 和後面的大作業關係不大, 如果地鐵線路規劃的代碼部分不做的話, 可以流出很多時間來做大作業, 這樣也不會這麼急