软件工程大作业总结
一、项目文档整合
- 需求文档
- 设计文档
- 原型文档
- 会议记录
- 源代码链接
二、项目完成度总结
- 社长
- 创建活动
- 修改活动
- 活动通知、社团风采发布
- 发布任务
- 管理社团成员
- 创建活动
- 学生
- 报名参加活动
- 在社团风采中留言
- 查看所有社团信息
- 订阅、取消订阅社团
- 查看社团内部任务
- 报名参加活动
- 管理员
- 社团管理
- 审批活动申请
- 公共场地管理
- 社团管理
三、项目个人工作总结
1. 主要工作
由于本小组人数较少,在前阶段的准备工作中包括(需求分析、设计)都是共同完成的,在之后的代码实现中,没有具体的代码块呈现,很多工作集中在同一个类中进行,可能无法较好地展现每个人的工作量;但是每个人有不同的功能实现划分,个人划分如下:
1.1 数据库的连接+程序的串行
android端与数据库的连接,使用JDBC进行与mysql的直连(之前尝试的云数据库最终以失败告终,以后还是会尝试着使用,争取能够攻克难关);填充界面的内容:从数据库中拿出包括社团、人员、学生与社团相关联的信息等填充到所展示的界面中,实现前端的信息展示。
主要困难在于各个活动之间值的传递,每个activity基于传递的参数完成相对应的功能,涉及到主线程中多个线程的处理导致数据较为混乱,造成信息丢失,使各个活动界面无法灵活切换。
2.2 完成社长人员管理及发布推送功能
android端的开发也是边学边做,遇到了许多bug,包括界面的及时刷新,操作无效,找不到类等问题,都是一些细节上的处理。在人员管理中涉及到人员的增加、删除及转让。在发布推送中实现了社长拍照上传、从相册中选择上传照片的功能,发布的推送可以被订阅了该社团的人员看到。
2.3 完成查看社团任务及推送功能
社团任务放在“我加入的”进行展示,通过实现文本的收缩实现社团任务的查看;社团推送在“我关注的”进行展示,点击标题后可进行推送的查看。
2.4 完成学生取消社团关注功能
用户可以根据个人喜好社团取关的活动。
2.5 实现的主要界面
社团区域展示+社团简介;优化社团管理的人员管理界面;推送发布界面
2. 个人反思
2.1 需求分析阶段
在需求分析阶段走了不少弯路,在对需求分析的理解上与老师讲解的何为需求有些许偏差,几次的需求设计文档被老师否决,原因是我们所阐述的需求实为具体的实现功能,少了需求所需的一些限制。好在自己不是一个人在战斗,在组员的共同努力下,最终完成了项目最重要的前期工作准备,为接下来的项目的实现做准备。但实际上在后期解决问题的过程中,发现了需求设计上的不足。
此次阶段获得的反思是:
闭门造车不可取,广开思路,可以学习其他优秀程序员编写的代码,从而获得一些灵感,将它变为自己的东西并体现在自己的项目中;头脑风暴同样重要,可以为自己的项目增加不少亮点,而不是仅仅局限于一些传统功能上。
2.2 设计阶段
设计基于需求分析的基础之上,进行类图、用例图、时序图的绘制以及数据库的设计;在该阶段,参与了图的设计及绘制,期间有产生歧义,组内无法统一,此时老师的解答发挥了极大的作用,使绘制工作得以及时完成。
2.3 代码实现阶段
1. “小而精”没有实现:
· 在界面的交互上不够合理和准确;
· 在控件的使用上比较单调,应根据使用场合灵活调用;
· 在功能实现上没有充分考虑限制条件,及实现的合理性。
< 老师的建议我们将充分吸收并作出在原来的基础上做出修正 >
2. 统一管理代码未能充分体现:
这是一条不归路,因为在编写代码过程中遗忘了代码的书写规范,导致后面在拼接程序的过程中,需要修改一些细节,作为一个团队,良好的书写规范可以提高整个团队的效率,这是我在本次项目实践中获得的教训。
四、针对本次教学的小许建议
首先容我赞美一下朱勇老师:
朱勇老师是极好的,在这次的四个里程碑中,我们女生组遇到过不少问题,那每次向老师提问时,解答都是精细的,能够解决不少的问题;除教学之外,老师还会提很多的建设性意见希望对我们有所帮助,不可否认,上朱勇老师的课是一段即艰辛又美好的时光。
然后以下是我的小许建议:
· 问题1:
在组队上可能存在一些不合理性,就我们女生组而言(切身经历来说):人少、风格比较统一、水平比较均衡,这可能导致在后面的项目实现中思想比较狭隘和统一;也有强强联手的团队,会不会说对水平一般的学生来说比较不公平呢?
· 建议:
最初老师的男女搭配的想法其实没有问题,但是难于实施,原因可能是当代大学生比较羞涩,难于开口。我们是否可以通过随机性的组队方式,平均分配资源?或者说在组好队的情况下进行适当的调剂?打破熟人组队的潜规则,实现团队合作,这样既能减少这种不合理性,还可以增加学生之间的交流与沟通,一举两得。
· 问题2:
四个里程碑中,我们都是以博客形式进行小组的汇报展示,小组之间的交流比较缺乏,缺少相互学习的过程。
· 建议:
在每个里程碑结束前,可以小组抽选进行小组汇报,除老师能够了解到小组的情况外,其他小组也可以进行一定的学习和交流,将问题放大,然后统一解决是否可以提高效率呢?此外,一定的奖惩机制个人认为还是必要的,比如:上台展示的小组若表现不错可进行适当的加分调动同学们的积极性。