大作业--社团管理系统总结

大作业--社团管理系统总结

 

附本组GitHub代码链接:https://github.com/hkymygithub/ClubManage


一、我在这次大作业中的工作

  1.与组员进行需求分析并记录

  

  2.根据组员写的接口进行后端部分函数的编写及其测试

    ActivityManage:共计576行代码(包含主函数中的各个测试)

    

      ……

      

    由于篇幅要求,以下部分代码省略:

    AreaManage:共计188行代码(包含主函数中的各个测试)

    AttentionManage:共计212行代码(包含主函数中的各个测试)

    ClubManage:共计886行代码(包含主函数中的各个测试)

    CommentManage:共计138行代码(包含主函数中的各个测试)

  2.部分页面的编写

    登录注册选择页面:

    

    社团活动审核页面:

    

    活动创建页面:

    

    活动搜索页面:

    

    社团搜索页面:

    

    审核结果的页面及与数据库连接:

    

  3.两次会议的会议记录

    第一次会议记录:

    

     第三次会议记录:

    

   4.根据页面编写的需要进行后续的接口与函数的增加删除和修改

   5.部分测试数据的编写(社团、部分活动、场地、部分活动申请、部分社团申请)

   6.软件测试(绿色为具体功能名,蓝色为运行没有出错的部分,红色为运行发现问题的部分,紫色为最后的解决方案)

    普通学生功能部分:

    

    社长功能部分:

    

    管理员功能部分:

    

二、工作总结

  在这次大作业过程中,我能明显感觉到我的能力有了很大的提高。

  首先是后端函数的编写,与之前数据库设计与开发的代码编写不同的是,在我写代码的过程中,需要考虑到更多的因素,比如我在编写新建社团的这个函数的时候,并不只是在club这个表中添加一条数据就算完成了,首先,我需要在club这张表中找到当前最大的id,再加一设置为新社团的id,然后在club表中添加相关的记录,还需要在area表中把该社团的场地设置为私有,并且在身份表中添加社长和管理员的两条数据。可以说,一方面这锻炼了我的编写代码的能力,另一方面也让我能够充分考虑这件事的相关因素,对我考虑事情全面性的能力也作出了考验。把一件事情考虑周全,这是我们必须要有的能力,同时也是很难做到的能力,我们在日常生活中也是,或者是因为时间限制,或者是因为我们个人觉得麻烦,主动的放弃相关因素的思考,虽然这在当时可能没有多大影响,但是这可能导致将来很大的错误,如果我不进行场地的设置,可能就会出现很多社团共用同一个场地的事情出现,这就很麻烦了。

  然后是页面的编写,我一直对我的代码编写能力不够自信,感觉稍微难一点的页面我就完全编写不出来,recycleview这种是我可望而不可即的,但是在后来,编写完了活动审核页面之后,我充分的感觉到了,没有做不出的事情,只有不想去做的事情。万事开头难,在接到这个页面的任务的时候,我完全不知道应该怎么下手,在组员的帮助和百度上大量资料的查询后,我成功完成了这个页面,这一方面 让我感觉到了前所未有的成就感,一方面也激励了我,我从写一个有recycleview的页面(一个页面需要5个文件)需要一天时间,逐渐缩短,更能得心应手了(熟能生巧吧)。数据库的连接也是同样,做了才感觉自己确实可以。同时,页面的布局也十分重要,毕竟页面在实现功能的同时更需要美观,于是我一开始使用墨刀的数据,后来发现墨刀的数据好像与实际显示有出入,于是就开始微调,尽量接近预期的效果,细心和耐心就显得极为重要。

  由于我应该是我们小组最“文”的人了,所以我进行了会议记录与文档编写工作。

  软件测试可以说是我最期待的环节了,一方面这宣告了我们的作业接近尾声,一方面我可以和自己脑海中幻想出来的有奇特脑回路的用户斗智斗勇,思考他们各种可能的操作(虽然考虑的可能还不够完全)。

  要说有什么遗憾,我觉得要是给我们多点时间我们可以更加的完善这个应用。我们在需求分析阶段其实考虑过评论的实现等诸多功能,包括学生对活动的评论,管理员删除评论等等的功能,为此我们还特地建了一个comment表来存放评论,也写出了对应的函数代码,后来发现要实现这些可能需要耗费过多的精力,就作罢了。

  如果之后会有人做类似的项目,我有如下几点的提示:

    1.在开始的阶段,不要着急写页面写函数,需求确实很重要,定了需求之后,页面、函数这种都只需要顺水推舟,便能轻松解决

    2.关于需求,没必要想的过于多,我们小组在讨论需求阶段,想过很多很多的功能,到后来我们组实现的功能其实就主要的几个,有很多边际化的功能没时间去实现,所以重要的是能不能把重点的几个功能实现好,而不是能不能做很多的功能。(关于需求分析,我们一开始也无从下手,然后现在觉得,就是,先定好有多少种身份,像我们的软件就是,普通学生,社员,社长,管理员,然后根据每类人去写他们能做什么,就是对应的功能)

    3.在开始写代码的时候,感觉到不知道怎么做是很正常的事,毕竟每个人都有第一次尝试,我们小组也是,我们大部分人都是第一次接触android studio这个软件,更别说用这个软件写页面,这个时候千万不能觉得自己不行,当你这么觉得的时候你就会把自己的能力束缚住,框定自己的能力范围是很严重的事情,这种时候需要大量的搜集资料(查百度这种),不能怕麻烦就不去做,最终你得到自己想要的结果的时候会很有成就感

    附:我因为刚开始不会做,即使很简单的问题都查百度了

    

    4.编写页面的时候不能只实现功能就草草了事,“颜值”也同样重要。最好专门找个人负责一下页面的美观,专人负责的话可以使得整个软件的风格统一(当然,这个专人的审美最好好一点)。

    5.每一次会议不能只是走个过场,会议需要知道当前的进度,以及讨论出下个阶段的任务,这个任务最好事落实到个人,这样可以使得下个阶段每个人都不会无所事事或者是不知道要干什么陷入混乱,这个任务还需要设置一下大概的优先度和先后顺序,防止某个任务没有完成导致整个项目的进度受到影响。同时,会议不一定要每隔固定时间进行一次,只要是在觉得有重要的事项需要讨论(例如整个软件很重要的部分出现了问题)的时候,都需要及时讨论,集思广益,尽快攻克这个难题,再进行接下来的工作。会议形式也可多样,在几句话能说清楚的情况下可以选择群语音,比较需要一起看东西的时候可以线下会议。

    6.测试环节千万不能忽略,每个软件作为新生儿,大概率会有大大小小的缺陷,这就需要测试员找出问题。我们一开始对我们的软件信心满满,然后我在第一次测试的时候,发现了许多问题,改正就花了大半天时间,所以千万不要觉得测试可有可无,对于一个真正的商业软件而言,我们这种的小问题可能就很致命。

    7.最重要的一点,小组成员之间一定要有足够多的沟通,一方面你不会做的可能你的组员会做,如果你们两边同时在找同一个问题(当然,只是小的问题,不是那种超级难的问题,那种大难题,像是能决定整个组的进度的问题,最好是整个小组一起进行搜索),或者你不会的问题你的组员已经做好了的话,会造成时间上的浪费,另一方面,你需要与组员们实时沟通进度以确保你不会拖全队进度。

三、课程建议

  我觉得最好让每个小组在会议之前先提交一份会议计划,写一下本次会议需要讨论哪些问题和会议流程(例如,首先总结目前进度,然后目前遇到的问题,然后下阶段的任务,然后任务分配)我感觉第一次会议难免有点乱,无论是发言针对什么或者是每个人需要干什么,会导致会议的时间浪费在干瞪眼上,而有了计划书能有效的防止时间浪费,能让会议有条不紊的进行下去,主线明确了,会议进行下去也就不会很乱了。

猜你喜欢

转载自www.cnblogs.com/udontno/p/12004278.html
今日推荐