項目相關
相關文檔
源碼
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周可以進行一下小的測試, 畢竟這門課還是要考試的嘛, 一直在進行項目的完成工作導致對課本的知識掌握的不是很好
- 希望老師可以提供一下前幾屆優秀作品的博客+代碼供我們參考, 因為畢竟是第一次做項目, 對項目的把握不是很好, 中間犯了很多的錯誤, 如果有前人的經驗的話會好很多
- 軟工一開始的地鐵線路規划我覺得只要有需求分析和設計就行了, 代碼階段可以不做, 畢竟基本也在考算法, 和后面的大作業關系不大, 如果地鐵線路規划的代碼部分不做的話, 可以流出很多時間來做大作業, 這樣也不會這么急