总结随笔

项目名称:实验室督勤管理系统

一、主要功能

  • 管理员模块:

  • 学生模块:

二、人员分工

https://files-cdn.cnblogs.com/files/marboy/人员分工安排表.pdf

三、工作量比例

朱宏韬(34%) 张星海(33%) 古越(32%)

三、燃尽图

四、开发工作评价

经过12天的努力,我们按时完成了任务,这得益于大家的积极向上的学习态度和每一天的团结合作。在整个冲刺过程中,整体上,全组的工作效率得到了提高,大家的软件开发能力和文案撰写能力得到了锻炼并因此增强。对于组内的每个成员而言,这是第一次进行完整的web开发,让我们体验到了软件工程开发工作的整个流程。这对于我们后续的学习和工作都有很大的指导意义。

1.遇到的难题

  • 遇到的第一个难题出现在搭建环境阶段。MySQL安装完毕后无法正常启动,查看日志发现缺少data目录。(已解决)
  • 缺少开发经验,对框架不够熟悉,前期效率不高,总是落后于计划进度。(已解决)
  • 数据库表格的导入、导出方面以及数据库的连接遇到了困难。(已解决)
  • 对测试强度的把控存在疑惑。软件是一个可以不断完善的作品,若追求完美,测试强度过大,对一个功能的要求很高,则新问题会层出不穷,往往需要加上新的代码,而代码量的增加会导致程序出错几率的增加。
  • 由于是第一次接触敏捷开发,故最初应用相关原则规范团队的开发行为的效果不佳。

2.经验与教训

在这次为期近半个月的软件工程实训中,我们经历了确定题目、需求分析、项目设计、项目实施、项目测试和项目验收这些过程。在每一项工作中我们都有遇到了各种各样的问题,这主要是源于团队成员的开发经验不足以及默契程度不够高,好在大家都有很强的团队意识和集体荣誉感,使得我们小组在项目的锻炼下能够不断进步,累积经验的同时也提高了技术水平和工作效率。以下是我们在本次开发训练中获得的一些经验和教训。

  • 需求分析。在项目开发中,需求分析是十分重要的一个阶段。项目需求分析的质量对软件开发的影响是深远的、全局性的。若起初不认真对待项目需求分析,而在后续阶段改正需求分析阶段产生的错误需要付出很高的代价。做需求分析时应当广泛地调研,例如对已有的类似项目查新,对用户的需求进行尽可能深入且全面的调查以准确定位项目开发的倾向和特色。需求分析报告是对这一阶段工作的总结和提炼,是后续工作的基础,所以必须认真对待,而不是为了写文档而写文档。
  • 项目设计和实施。项目设计可比作一个项目的蓝图,它连接需求分析和项目实施的桥梁。在需求分析的基础上设计系统中的功能,确定每个模块中包含的内容,模块之间的联系以及前端后端数据库之间的联系。对MySQL workbench界面操作不熟悉,对各类datatype的属性也不熟悉,表格的导入导出也出现了问题。在编程时经常遇到各种bug。上述两个情景是我们在项目实施阶段遇到的典型问题,也是常见且难以避免的情况,我们通常通过讨论、查阅资料来解决,如果还不能够解决再请教老师和学长学姐。遇到bug不可怕,重要的是要学会准确定位bug和debug的方法。
  • 项目测试。测试分为单元测试和系统测试,单元测试是小组成员对软件功能进行测试,此时成员往往会循规蹈矩,输入的数据非常规范,但这样往往无法发现问题。为了让系统更加完善和稳定,我们决定大家交叉测试系统功能,这样有利于出现更多的极端输入,暴露出存在的各种不足和不完善的地方,是对系统的一次大检查和大整改。
  • 关于实践。做项目是把所学知识应用到实践中,这不仅锻炼了我们的动手能力,而且巩固了所学知识,还有很珍贵的一点是在设计模式和编写程序时遇到问题有利于敦促我们反思和总结。无论是找错的过程还是纠错的过程都收益颇丰。而且团队成员一起做项目有利于大家互相交流,取长补短。
  • 关于团队。项目的完成离不开组里每个人的协作。大家因为软件工程相遇相识,起初默契度并不高,导致不同组员负责的工作块难以较好地衔接。随着交流的增加,大家越来越有默契,另一方面随着项目的进展大家的经验不断累积,前期遇到过的问题再次出现时就不会迷茫无措。我认为我们组的最大优势就在于合理利用每一个成员的知识和技能协同工作,团队各成员相互取长补短,解决问题。
  • 关于敏捷开发。敏捷是指能够让团队思考更加有效、工作更为高效,并且做出更好决策的一组方法和相关理念。同时,敏捷也是一种思维模式,正确的敏捷模式有助于团队成员共享信息,从而共同作出重要的项目决策,而不是让一个人独自作出所有决策。在这次敏捷开发训练中,每个成员都有对实践应用的发言权,每个人都必须清楚整个项目的开工计划、设计和改进流程,我们深刻感受到这种新的思维方式能够帮助我们更加高效地工作。
posted @ 2018-11-28 22:43  奇奇怪怪的虾米  阅读(162)  评论(0编辑  收藏  举报