前言:这应该是最后一章了,故事虽然到这就结束了,但现实里还要继续下去,希望在很久的以后来回顾时,能因自己学生时代有这样的经历而欣慰。
说明:故事中的人物均是化名,故事情节经过些许加工,故事情节并没有针对任何人,仅以此纪念自己的成长。
回顾上一章:详情请猛戳该链接:http://www.cnblogs.com/dasusu/p/5158868.html


第四章:Beta收官


  三个多周的Alpha冲刺,一个周左右的休息调整时间。紧接着也就是Beta阶段的冲刺了。

  在Alpha版本中,虽然你们预期的功能基本都实现了,但仍然有很多不足。比如界面太丑,代码模块化太烂等等。瓜哥跟你在那一周的休息调整时间里都表示过,要在Beta阶段大干一场,好好的将这些问题都解决掉。然而,现实总是残酷了,当然,这是后话,暂且不提。

  在Alpha结束后,你写了篇总结。也就是总结了下在Alpha阶段的一些感想,里面你提到了你们的项目因准备不足而陷入各种难题,提到了队友因意见不合而不断争吵的问题。总之,这三周过来,或多或少都学到了很多。

  在Alpha刚开始的编程时,你记得懂哥说项目要学会使用在框架的基础上进行开发,而不是所有代码都自己来书写。带着这种观念,你在写界面的时候引入了一大堆第三方库。需要一个点击效果,好,引入。需要一个弹窗效果,好,引入。然而你并没有真正的深入去学习你所引入的第三方库,导致很多库之间其实已经有冗余的功能了。

  更糟糕的是,队友因为你引入这么多库,从而导致在编译项目时花费了大量时间。因此,你打算在Beta阶段时将多余的库都删除掉。

  另一个项目的问题是,当初因为没认真考虑,而引入了一个不熟悉的数据库框架。到后面进行开发时,才发现你们需要的很多功能那个框架都实现不了,但已经有很多基础的数据库功能是基于那个框架上面编写的,如果要换掉那个框架,将是一个工作量巨大的任务。但如果不换掉,想要的功能又没办法实现。

  为了解决这个问题,你查了各种资料,做了各种尝试,熬到了半夜两三点。最后用一种特别暴力的方法去暂时的解决掉,搞定后你特别想去睡一觉,这种活简直了!日后需要怎么做再留给瓜哥去头疼吧。

  Beta期间也有两三周的时间,但懂哥只要求进行七次会议记录而已。瓜哥为了能让项目保持一种稳定,平均的进展,安排了每过两三四天开一次会议。但计划总是赶不上变化。

  第一周还好,因为大家第一周里面都没有什么考试,进展也还算顺利,一些Alpha遗留的问题也渐渐的解决了。但到了第二周时,有的队员有考试,而且是接连两三场考试,基于此,瓜哥最后表示,这周就先把项目放一边,大家好好复习,准备考试,等最后一周再来继续项目。

  本来以为,放一周的时间去调整,不做项目可以让大家到最后一周时能更有干劲。但事实却是,一周没碰过项目,导致大家对于项目的热情大大的降低了。不仅如此,对于项目很多地方都渐渐的感到陌生了,更可怕的是,你居然忘记了某块有合作的代码当初到底是不是你编写的。

  日后瓜哥也提过,当初因为放了一周,导致他也对于项目的进展掌握出现了很多问题。当然,这是后话,暂且不提。第二周的Beta过去了,大家都在忙着复习,确确实实都把项目扔一边去了。等到了第三周时,第一次会议上,大家甚至都不知道要说什么话。

  离最后的时间也就只剩下一周左右了,你突然觉得来不及了。自己无聊时不断地手工测试你们的软件,你发现似乎还存在一大堆问题,但就是不知道怎么把这个问题描述出来。你觉得队友应该也会自己去手工测试,然后发现相同的问题,但事实上队友基本没提过你发现的问题。

  在一次会议上,你直接表示出了厌烦,你表示说这样下去项目根本做不出来,现在仍然存在很多问题。瓜哥要你说出具体有哪些问题,但你又说不出来,你说自己跑一遍就会发现一堆问题了,但瓜哥却表示,你说有问题却又不把问题说清楚。这样,在Alpha阶段发生的一次冲突到现在又出现了一次。只是这次你没有继续接话下去,因为你突然很不想说话了。

  甚至,你出现了厌工。你总觉得,软件只有你一个人在测试,在找Bug,但事实上很多Bug都被你因为自己的心情烦躁而放大了。你不知道这是不是因为情绪不好,还是因为时间快临近截止,还是因为缺少跟队友的沟通,从而导致了你对于项目厌工的心情。

  你甚至出现过,你不做了的想法,放一边去,反正等最后验收时没办法完成作品那责任也不是你自己去担。

  然而,就在你自己胡思乱想,乱发脾气时。瓜哥又对总仓库进行了一次提交,你去看了下瓜哥的提交代码。你发现,瓜哥居然把你一直很苦恼的一些BUG解决了。瞬间,你冷静下来了。每个人都在为这个项目不断的熬夜,不断的努力。在别人埋头修BUG的时候,你却在抱怨,却在厌工。

  那天你没敲什么代码,就只是早早结束熬夜,提前上床。你想平静下自己,想让自己恢复到Alpha阶段时的状态。你觉得如果你继续以这种情绪下去的话,特别对不起瓜哥。当初是你把瓜哥拉进队伍里来的,瓜哥对于项目也一直很负责,你不能只是因为自己的情绪不好就厌工。这对项目,对瓜哥,对队员都很不公平。

  调整了状态后,你继续做项目下去。每次的会议上,你也很少再带有情绪,而是静静的听着瓜哥的安排。然后根据瓜哥安排的任务,尽可能的保证在规定时间内完成。

  Beta阶段的主要任务是实现跟网页端小组的项目的互联互通。使用同一个数据库,对数据库中表的设计,字段的设计,瓜哥都去找网页端的负责人讨论,然后再把结果告诉你们。但实现的过程中仍然碰到很多问题,为了解决这些问题,基本都把时间放在上面。

  导致了你们一开始计划在Beta阶段对界面进行大修改,对项目进行大重构的安排完全被丢到一边去了。

  在Beta的演示验收上面,又出现了各种问题,更奇葩的是这问题竟不带重复的。Alpha阶段演示验收时你们就碰上了无网络,服务器崩了,数据线连接没反应等问题导致被迫下台,先让下一组演示。而这一次的演示上,居然碰上了服务器连接不上,重启不了,演示时漏掉演示某部分功能~~

  Beta的演示验收是由各小组互评加懂哥点评结合完成的。其他小组对于你们的项目看法基本都是功能太单一了,太简单了!好吧,其实是没演示。

  演示验收完毕,这学期的软工实践算是告一段落了。也是时候再写篇总结了。

  不同于以往的数据库实践之类的课程,这门课确实让你经历了很多。见客户、每日会议、分工开发、Github团队合作、争吵讨论、编码规范、写文档等等。懂哥说过,他最大的希望就是通过这门课程,可以让他的学生能有能力接私活。你突然很期待起来,好想自己接一次私活看看。那么,就再继续充实自己吧,让自己可以拥有接私活的能力。加油吧。

  (完结。再次向懂哥,范老师表示致敬)

【软工神话】第五篇(Beta收官)的更多相关文章

  1. 【软工神话】第四篇(Alpha冲刺)

    前言:咳咳,一个多月了,最近忙这忙那,都把这个故事给落下了,昨晚刚回到家,白天得干活,晚上赶紧把这个故事写完,以此纪念自己的软工. 说明:故事中的人物均是化名,故事情节经过些许加工,故事情节并没有针对 ...

  2. 软工实践第五次作业-WordCount进阶需求

    软工实践作业(五) GitHub 作业链接 结对博客 031602240 具体分工 PSP表格 代码规范 解题思路与设计说明 爬虫使用 代码组织与内部实现设计(类图) 算法关键 实现方法 流程图 附加 ...

  3. Fzu软工第一次作业-准备篇

    (0)一些想说的话 我叫陈浩,是16级计算机一个很普通的学生.我是补选选软工实践这门课的.选软工实践这门课我想了很久.因为学长学姐告诉我这是一门很锻炼人又很辛苦的课程,需要大量的时间和精力.然而如今的 ...

  4. 软工2017第五周——个人PSP

    10.13 --10.19本周例行报告 1.PSP(personal software process )个人软件过程. 类型 任务 预计时间 开始时间                结束时间 中断时 ...

  5. 福大软工1816 · 第五次作业 - 结对作业2_map与unordered map的比较测试

    测试代码: #include <iostream> using namespace std; #include <string> #include <windows.h& ...

  6. 福大软工1816 · 第五次作业 - 结对作业2_EXE图片_备用

    1_每日推荐界面.png 2_论文搜索界面.png 2_论文搜索界面_搜索功能.png 3_流行趋势_十大热词排名统计图.png 4_人物界面.png 5_我的收藏界面.png 6_设置界面.png ...

  7. BUAA2020软工作业(五)——软件案例分析

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

  8. 软工+C(4): Alpha/Beta换人

    // 上一篇:超链接 // 下一篇:工具和结构化 注:在一次软件工程讨论课程进度设计的过程中,出现了这个关于 Alpha/Beta换人机制的讨论,这个机制在不同学校有不同的实施,本篇积累各方观点,持续 ...

  9. 【2017集美大学1412软工实践_助教博客】团队作业10——项目复审与事后分析(Beta版本)

    写在前面的话 转眼轰轰烈烈本学期的软工实践就结束了,这个过程中想必在熬夜敲代码,激烈讨论中留下诸多回忆的同时,也收获了不少.恭喜所有团队完成了本阶段冲刺,此外,由于大家的贡献分给的都很平均,将个人贡献 ...

随机推荐

  1. MySQL Schema与数据类型的优化

    选择优化的数据类型: 1. 更小的通常更好: 一般情况下,应该尽量使用可以正确存储数据的最小数据类型.更小的数据类型通常更快,因为他们占用更少的磁盘,内存和cpu缓存,并且处理时需要的cpu周期也更少 ...

  2. Python面向对象3:面向对象的三大特性

    面向对象的三大特性- 封装- 继承- 多态1 封装 - 封装就是对对象的成员进行访问限制- 封装的三个级别: - 公开,public - 受保护的,protected - 私有的,private - ...

  3. Docker学习笔记-两种发布方式

    第一种,自己手写dockerfile发布,上传至hubDocker 正常发布到文件夹中,发布文件上传至linux机器上.如 /www/app 将Dockerfile文件也复制到同目录 ./www/ap ...

  4. FTP服务器搭建

    FTP 服务器架设: 关闭防火墙 service iptables stop 关闭SELinux setenforce 0 安装所需依赖及编译工具 yum install -y gcc openssl ...

  5. 细说MySQL表操作

    目录 语法 查看表结构 查看所有的表 删除表 查看创建表的语句 修改表的字符集和校验规则 修改表名 在表中添加新字段 修改表的字段名 修改表中字段的属性 删除表中的某个字段 设置某个字段为主键 把某个 ...

  6. murri

    github: https://github.com/haltu/muuri 官网:https://haltu.github.io/muuri/   安装 npm install murri —sav ...

  7. git 撤回放到暂存区的文件

    git reset HEAD filename 如:git reset HEAD test.txt 或者使用 git reset .  撤回所有文件(注意后面还有个.)

  8. PHP Socket 编程进阶指南

    学习准备 Linux 或者 Mac 环境: 安装有 Sockets 扩展: 了解 TCP/IP 协议. socket函数只是PHP扩展的一部分,编译PHP时必须在配置中添加 --enable-sock ...

  9. ES6躬行记(11)——对象

    在第5篇中,讲解了多个对象字面量的改进,本节将重点介绍两个新增的静态方法,以及对象属性的重复处理和枚举顺序. 一.Object.is() 此方法用于判断两个值是否相同,内部实现了SameValue算法 ...

  10. Deeplearning.ai课程笔记--汇总

    从接触机器学习就了解到Andrew Ng的机器学习课程,后来发现又出来深度学习课程,就开始在网易云课堂上学习deeplearning.ai的课程,Andrew 的课真是的把深入浅出.当然学习这些课程还 ...