软件工程大作业(社团管理系统)-个人总结报告

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.小组分工可以提前,让彼此更为适应,增加默契。可以多弄几个小组的小项目。

 

 

posted @ 2019-12-16 21:56  31701060朱锦涛  阅读(1787)  评论(0编辑  收藏  举报