伴随着愈发红润的骄阳,火热而紧张刺激的五月悄然而至。这一个月以来,曾经让同学们“废寝忘食”的软工课大作业终于告一段落,每周一篇的读书笔记也缓到半月一篇,着实令人长吐一口气。但这一份表面的余裕当然没有看上去这么美好,之所以大作业和读书笔记“放下屠刀”,是因为更具魅力的杀手:团队项目,站上了舞台。在六月考试月到来之前,五月可以说是我们每个小组团队项目的主要开发月,也是真正冲刺的月份,更是考验每一个团队生死存亡的关键战斗月。以下,我将简单记录我本月的心得体会。

  总说万事开头难,然后中间难,然后结尾难。这一个月来的团队开发,让我深切地感受到了世事艰难。我们组选择做的是科大的BBS,这一选题在初次组会上力克“校园慈善志愿平台”“校园二手市场”“课程资料交流平台”等不错的方案,毫无疑义地获得了最高票。我们满怀雄心壮志,想将科大曾经辉煌一时、现今版式老旧且操作体验令人咋舌的瀚海星云BBS翻新重修。为此,我们特意做了学生群体调研、相关教师调研等,获得的反馈都相当鼓舞人心,而竞品分析中,BBS独具的官方性、校方与学生互动的可靠性等特性也很有优势,唯一需要操心的工作量和知识量,在我们当初想来也不会太多,毕竟原版BBS摆着,我们只需要将内核和框架拿过来,把老旧的代码更换成现代的html5、css与js,提供顺眼的特效和良好的排版便足够了。因此,当从网络服务中心负责人的信件中得知瀚海星云BBS没有数据库、是纯用C语言和文件系统搭建起来的、极具时代特色且几乎不可升级维护的巧夺天工的无懈可击的令人叹为观止的鬼斧神工之作时,我们相顾无言了。这意味着我们的项目,变为从零开始创造一个瀚海星云。

  难归难,我们还是决定做下去。对于一些经验丰富的全栈工程师来说,手撸一个BBS应该算是轻而易举的搬砖工作,但我们的团队里是对前端知识几乎一无所知、对后端架构也不甚了解、只会一些C/C++/Py的萌新选手,上来就搞一个大新闻,压力还是相当之大。经过三月和四月的相关知识学习,我和其他三位前端小伙伴算是对前端的知识有了基本的认识,组长拉起的后端小组成员也都学了数据库、Django等,五月,便是真正与项目正面对决的时刻。

  第一道难关是分派任务和设立时间节点。还是经验宝宝的我们没有什么高招,只能靠着初生牛犊不怕虎的气势,设定一些初步时间线、ddl,然后每周分前后端组分别完成各自任务,在每周例会上进行报告和更新工作安排。此前,我自告奋发担任了前端组的组长,需要每周安排我们前端同学的任务,这对于初心者而言实在是一大挑战。为了合理安排任务、配合项目进度,我找舍友咨询了IGEM竞赛队的前端组的工作规划安排,参照结合我们组的项目情况进行任务布置,并收集了一些论坛的源代码,让小组成员阅读和参考,尽量有的放矢、提高效率,而非从零开始举步维艰。这一过程充分锻炼了我的信息搜集整合能力,让我对软件开发的时间安排等方面有了初步认识。

  第二道难关是技术难题。敏捷开发说来容易,做起来却是难上加难,我和其他组员在刚刚能看懂源码的时候便投身到较大型网页的开发中,少不了在开发过程中要不断试错、疯狂google。即便有着一些源码的帮助,我们在实现特定功能时还是大费周折、抓耳挠腮,交了不少时间作为“学费”后才恍然大悟。好在知识的积累确实卓有成效,我们经历了初期的摸不着头脑后,逐渐找到了一些套路和方法,完成小任务的速度也越来越快。这一过程让我感受到了学习和运用新知识的困难、挑战,以及一步步攻坚克难的乐趣和信心。

  第三道难关是课业压力。尽管软工课网开一面,但其他课程在五月可是马不停蹄。作为课表充实满当的信院、计院学生,整个五月我们有4~6次工作量类似于大作业的实验,还有1~3门期末考,这直接导致我们的开发时间打折扣。在全组同学都有数理方程考试的那一周,我们最终还是只能暂停项目一周、投身到学业中去。于我而言,还有一些课业之外的事务需要完成,比如某些团日活动、某些辩论比赛,时间上的吃紧使得项目推进的计划更加难于设计和实施。这一难关着实让我赔了不少宝贵的休息时间进去,说起来也是颇为无奈,菜的代价在野蛮生长的背景中体现得更加明显。这也让我学会了如何挤压时间、高效工作。

  现在,我们的团队项目逐渐稳定地赶上了预定的时间线,再经过一到两周的编写和整合排版、加特效,我们前端组的预期工作就能大致完成,可以与后端进行对接。遗憾的是,时间不等人,在我临近敲完这篇不甚通顺的文章之时,已是举国欢庆的六一儿童节了。考试月意味着团队开发的停滞,但个人的修补和开发在这个月里仍旧能有效执行。整个五月,我努力去实践了敏捷开发(虽然成效不算很好),也尽力做着身为团队管理者之一的工作,同时在各种压力之下抽出时间攻坚克难,得到了很多宝贵的经验、方法和技巧,也逐渐获得了信心和勇气。我相信,我在这个月的所作所为、所思所感,都会成为我受用终生的宝贵财富。

  

软工-五月心得体会 PB16110698的更多相关文章

  1. [2017BUAA软工]个人项目心得体会:数独

    心得体会 回顾此次个人项目,感受比较复杂,最明显的一点是--累!代码编写.单元测试.代码覆盖.性能优化,环环相扣,有种从作业发布开始就一直在赶DDL的感觉,但是很充实,也学习到和体验了很多东西.最令人 ...

  2. 软工实践练习一——使用Git进行代码管理心得

    在github.com的操作 注册 创建Organization 将指定代码库fork到小组Organization下 在Organization下创建repository 这些操作在学校的机房已经完 ...

  3. 软工实践练习——使用git进行代码管理心得

    一.在Github上注册账户.其中创建organization在小组成员的账户上创建,并在其账户上创建了小组的版本库.在创建organization的过程中,参考了助教提供的博客:http://sef ...

  4. SudokuGame 记软工第二次作业

    整体概况 1.描述编写整体程序正确过程(含关键代码) 2.整体心路历程及新知分析 3.效能分析.构建之法及整体耗时时间表 4.一些心得体会 GitHub 链接如下: 1.[基础作业BIN文件(最新版) ...

  5. 软工实践原型设计——PaperRepositories

    软工实践原型设计--PaperRepositories 写在前面 本次作业链接 队友(031602237吴杰婷)博客链接 pdf文件地址 原型设计地址(加载有点慢...) 结对成员:031602237 ...

  6. Teamwork-六月上旬心得体会

    六月上旬心得体会 在五月末的时候,老师针对我们团队的状况提出了几点建议和解决方案,而这半个月里,我们尝试性地运用了其中的几件工具与方法. 1.燃尽图与每日总结 我们采用的是<构建之法>书中 ...

  7. [敏捷软工团队博客]Beta阶段事后分析

    设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件要解决的问题是:现在的软工课程的作业分布在博客园.GitHub上,没有一个集成多种功能的一体化 ...

  8. BUAA2020软工作业——提问回顾与个人总结

    项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 提问回顾与个人总结 我在这个课程的目标是 进一步提高自己的编码能力,工程能力 这个作业在哪个具体方 ...

  9. 关于软工项目beta版本

    项目总结 项目成员: 黄丰润 031302307 王旭銮 031302320 张家俊 031302329 张晓燕 031302343 项目完成度:实现了专业信息填写.查看,教师信息填写,报课和查看课表 ...

随机推荐

  1. 高级UI晋升之自定义View实战(八)

    更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680本篇文章自定义流式布局来进行介绍: 一般常见的流式布局由两种,一种是横向的个数固定 ...

  2. 手把手教你吧Python应用到实际开发 不再空谈悟法✍✍✍

    手把手教你吧Python应用到实际开发 不再空谈悟法 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问 ...

  3. React-native 关于键盘遮挡界面问题

    //引入 KeyboardAvoidingView import { KeyboardAvoidingView } from 'react-native'; //使用 KeyboardAvoiding ...

  4. ollvm 使用——“Cannot open /dev/random”错误的解决方法

    找到 \obfuscator-llvm-4.0\lib\Transforms\Obfuscation\CryptoUtils.cpp 这个文件, 新增两个头文件 #include <window ...

  5. 使用Condition实现顺序执行

    参考<Java多线程编程核心技术> 使用Condition对象可以对线程执行的业务进行排序规划 具体实现代码 public class Run2 { private static Reen ...

  6. Redis事务 和 pipleline

    1.reidis事务 Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证: 批量操作在发送 EXEC 命令前被放入队列缓存. 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败 ...

  7. JS鼠标效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. JS基础API

    数据类型 number object string null undefined boolean 转换规则是除了undefined null false 0 NAN ''或""&q ...

  9. ASP.NET MVC 学习笔记之面向切面编程与过滤器

    AOP(面向切面)是一种架构思想,用于把公共的逻辑放到一个单独的地方,这样就不用每个地方都写重复的代码了.比如程序中发生异常,不用每个地方都try…catch 只要在Golbal的Applicatio ...

  10. stat - 打印信息节点(inode)内容

    SYNOPSIS(总览) stat filename [filenames ... ] DESCRIPTION(描述) stat 打印出一个信息节点的内容,它们显示为对人可读的格式的stat(2). ...