Alpha冲刺总结

项目预期进展与现实进展

项目预期进展 项目实际进展
完成详细设计,包括表和类的设计 完成大部分内容的设计
搭建系统框架,包括前端和后台 已完成搭建
完成协作和日程模块 还在编码实现阶段
完成文件和个人模块 已完成
完成系统管理员模块 已完成
编码过程中进行一定量的单元测试 因时间紧张,完成的情况有待改善
对系统进行功能测试 已对部分模块进行了功能测试

遇到的问题

有同学是跨专业过来的,一些设计和数据库都不怎么了解,参与到其中的时候交流有困难,学习的东西比较多,要比较辛苦。跨专业成员不熟java的开发,有一名成员之前主要做安卓的,所以有比较多的东西需要说详细,而且不能保证说清楚了,后面如果遇到问题调试起来估计会比较麻烦。前端不是很熟,页面框架搭起来比较费力。权限部分使用shiro的纯java配置,出了点问题,虽然网上没找到什么材料,但还是解决了。

另外有成员对整个项目后台框架及语言使用不熟,所以还是要花一些时间写一些代码去熟悉整个开发过程。使用了比较多的框架,而且是首次尝试纯java配置,配置起来要查的东西还比较多。使用了前端的构建工具webpack,困难在于怎么使用gradle结合它连同后台框架中的配置一起打包,因为本身都才刚接触这两者。在熟悉代码时发现前端的安装配置出问题,无法自动安装环境,占用了不少时间查问题解决。理解熟悉前端框架开发流程并设计目录结构比较纠结。一个组员没学过js,要短时间学会并应用比较困难。

前台界面框架vue和element-ui的写法要适应。组件的拆分与否和组件间的交互问题调试比较困难。还有因为没有专门的学前端,开发起来界面布局也不是很好调试。本来希望每个人下好项目能配置尽量少的东西保证环境的统一,所以尝试使用而且考虑怎么合理地结合gradle和webpack比较重要,同时也很困难,powerDesigner导出sql语句因为问题无法导入,特别一直存在外键问题。查了很多的资料也进行了很多的尝试,最终还是在一定程度上解决了。

过程体会

设计还是要团队每个人参与进来,这样后面如果有什么问题才能更好地交流出解决方案。不了解设计的参与设计理解还是挺困难的。powerDesigner配置好了导出sql用起来还是很强大的,它的外键虽然连上了,但是要注意类型要统一,包括有无符号等,要不然你在图上虽然连上了,但是导出的时候会失败。使用gradle项目构建工具来进行团队的协作还是很方便的,每个人本地只要配置jdk和安装IDE就好了,为了热部署在装个tomcat,这样环境还是比较容易统一配置的,就算之前跨专业的成员都能比较顺利地搭好环境。利用好构建工具能使得团队的开发更加便捷,在gradle和webpack的结合上,目前能使用gradle自动配置webpack环境了而不用配置node等黄静,虽然目前只能结合webpack发布的情况,它的热部署部分还没办法结合上去,不过能算一个折中的方案了。

一些比较新的流行的框架或者工具用起来是比较舒服,可以让人有更明确的关注点,但是刚学的时候遇到问题也比较难以解决。还有idea有点问题,使用侧边按钮调用gradle的npm任务时,如果运行是需要命令行结束的,停止任务会导致进程卡后台。vue数据双向绑定的思想很好,可以让开发人员只关注数据的变更,不用去频繁操作dom。同时,组件之间拆分得好的话,的确能让代码更加清晰,而且使用起来也能更加顺手,不过组件之间的数据传递要设计好,作用域要能明确出来,要不然用起来会束手束脚。

组员分工及其工作量比例

组员 分工 所占比例
黄腾达 登录界面设计、注册界面设计、个人管理模块编码实现、系统管理员模块编码实现 31%
张合胜 主界面设计、用户查看界面设计、文件查看界面设计、文件上传模块编码实现、功能测试 31%
林洋洋 主界面设计、文件上传界面设计、个人管理模块编码实现、文件上传模块编码实现、界面与后台的整合 38%

下阶段计划

因为在Alpha阶段花了较多的时间在学习框架的使用和适应冲刺的节奏,所以整体进度偏慢,我们希望在下一阶段加快进度。根据前一阶段的经验和教训,少走点弯路,少踩点坑。同时做好单元测试工作,有助于提早发现系统存在的问题漏洞。