軟件工程大作業(社團管理系統)-個人總結報告

1.項目相關

相關文檔

[需求分析報告](https://www.cnblogs.com/YONGinggg/p/11793936.html)
[設計圖](https://www.cnblogs.com/YONGinggg/p/11884495.html)
[原型報告](https://www.cnblogs.com/YONGinggg/p/11973566.html)
[會議紀要](https://www.showdoc.cc/581149577934604?page_id=3426633832969766)

源碼

[yonginggg/StudentClubManagementSoftware](https://github.com/yonginggg/StudentClubManagementSoftware)

2.個人工作總結

2.2 設計思路

我們組此次開發採用的是前後端分離的技術。

Vue+Springboot

前端採用:HTML,CSS,JavaScript

後端採用:spring-boot

2.1 主要分工

1.需求階段:分析需求,並且完成了數據流圖

 

 

2.設計圖階段:參與實現前後端交互,框架搭建。

3.實現階段:

1.根據我們組的小組分工,我被分爲後端的開發與實現。但在後期也進行了前端的開發。

主要進行的是部門與公告的代碼實現,同時爲了與前端網站進行加護,寫了很多api。

如,編寫工具接口JsonUtil,返回Json格式的數據類型給前端,此爲公告的展示。

public static JSONObject NoticeResult(int port, BeanNotice notice){
JSONObject jsonObject = new JSONObject(true);
jsonObject.put("port",port);
jsonObject.put("noticeid",notice.getNoticeid());
jsonObject.put("noticerange",notice.getNoticerange());
jsonObject.put("noticename",notice.getNoticename());
jsonObject.put("noticetcontent",notice.getNoticecontent());
jsonObject.put("noticetime",df.format(notice.getNoticetime()));
jsonObject.put("associationsid",notice.getAssociationsid());
jsonObject.put("departmentid",notice.getDepartmentid());
jsonObject.put("noticestate",notice.getNoticestate());
return jsonObject;
}
此種方法可以讓我們更爲快速
同時完成Controller層的各類api:因爲是第一次接觸到這種api這種方式,剛開始寫的時候,出了各式各樣的錯誤,問了許多人才最終實現了接口的可行性,前端才真正可以調用我們的代碼。

2.代碼實現

由於分到的工作是部門與公告的內容,所以我主要寫了一下兩個模塊,但因爲最後發現member成員表前端有需求,我也同時參與了member表的編寫

  • 部門Department:實現了部門的增刪改,實現前端查看所有部門與用戶所參與的部門的功能,同時完善了基礎的部門更換部長與更換部門名字介紹。
  • selectDepartmentByUserId
    createDepartment
    deleteDepartment
    updateDepartmentLeader
    updateDepartmentName
  • 公告Notice:除了最爲基礎的增刪改。由於根據需求,我們公告分爲全校,全社,部門公告三類,所以,我再創建的時候,爲了方便前端調用函數,就強他們分開寫,同時由於全校公告,需要管理員的審覈,我也實現了審覈的功能。用戶也可以根據自身的

身份,查看不同的公告。

  • createadminNotice
  • changeNoticeState
  • loadNotice
  • loadNoticeByAssociation
  • 成員表Member:因爲member表最主要的功能是查看與調用,並沒有完整的展示,所以寫了基礎的插入與查看功能。

以上的是我在後端所做的部分函數,再接着我參與了前端的開發。

因爲後端的公告操作是我做的,所以我比較清楚,因此製作了前端的功能。我實現了公告的創建與發佈。

前端界面:

 

 

 

 

3.項目總結

  雖然這不是第一次參與團體作業,但是是最爲正規與嚴肅的一次。讓我切身感受了作爲團體進行一個項目的全體過程。

從最初的開會討論需求分析,流程圖設計,原型設計等多個階段。都讓我收穫很多。其中最讓我印象深刻的有這麼幾點:

1.需求分析必定明確:由於需求分析的不明確,導致我們組在進行後端開發的時候,總是修改數據庫,而導致數據庫頻繁出錯,嚴重拖累進度。所以在後續的項目中,一定要將需求明確且完善。需求就像船舵,控制着項目的方向,若需求都無法確定,項目也必定走不遠。

2.前後端要一致性:在項目開發過程中,由於我們是前後端分離開發,所以起初並不知道前端可以給我返回什麼,在後端寫函數的時候,就按照自己所想進行編寫代碼,結果在聯合的時候,導致前端無法返回,而使程序無法運行。

3.數據庫設計時要考慮全面:在需求明確以後,數據庫設計的時候也要考慮清楚,最好進行討論,我們在設計時由於先由一個人寫好,他在創建的時候將自身所要寫的部分思考的比較清楚,而一些部分就有缺失,而導致後面得多次修改。

4.多討論,集思廣益:當遇到問題的時候,一定要多討論,很有可能你糾結很久的問題,討論之下就迎刃而解了。這也可以加快進度。畢竟三個臭皮匠頂個諸葛亮。

5.會議內容需明確:因爲是第一次碰到要錄音且較爲正式的項目會議,在此沒有準備,所以在第一次項目會議討論的時候,總不知道該說些什麼,都想到什麼說什麼,但事後,還是需要在微信羣中補充。所以在會議之前,就要先做好要講述的內容,提高效率。

6.今日事,今日畢:每個人多多少少有拖延症,但這畢竟是一個團體項目,你的拖延會影響整個團隊的進度,當遇到問題,或者bug的時候,一定要第一時間解決,自己無法解決也許去找人幫助,而不是一味拖着,永遠想着明天。

7.合理分工:這次項目完成的不夠出色,有很大原因就是在最初的分工上產生了問題,不熟悉且工作量較大的前端,只分配了兩個人。而後端卻陷入了狼多肉少的境地。所以最初的合理分配很重要。

8.調整及時:我們在進行項目開發的時候,其實有好幾次都可以修正,卻沒有進行調整。產生了不好的效果。

 

4.對課程的建議

1.老師上課的時候可以將一些自己看到的優秀的項目工程在課堂上與我們進行細緻討論分析,讓我們更直觀的感受到項目的優異,也可以讓我們從中學習。

2.進行對於課本知識的測試,鞏固課本知識,畢竟此課也有期末考試,對於課本知識感覺掌握的有些欠缺。

3.在大作業時,可以和我們說說學長學姐們好的作品與不好的作品,好在哪裏,或者錯誤在哪裏,好的地方我們可以學習,他們所犯的錯,我們也可以儘量避免。

4.朱老師上課幽默風趣的風格我很喜歡,經常從生活層面與我們講述一些道理,也的確有頗多收穫,比一味的高談闊論要好很多。。

5.小組分工可以提前,讓彼此更爲適應,增加默契。可以多弄幾個小組的小項目。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章