一、回望课程
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
在整个软工实践的过程中,我在其他组员的推荐下担任了组长,了解了一个开发团队是如何运行的,学习了很多软工有关工具的使用。
不足之处是我在整个工程中的代码量有点少,因为懒……
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
1、最终完成了700行左右的代码,其中包含测试用的垃圾代码,个人作业C,前端html5,后端php均有。
2、
作业名 | 耗时(小时) |
---|---|
个人项目实战 | 12 |
团队展示 | 1 |
项目选题报告 | 2 |
原型设计(结对) | 3 |
结对编程(2) | 5 |
项目需求分析 | 3 |
项目UML设计(团队) | 3 |
Alpha冲刺 | 无法统计 |
Beta冲刺 | 无法统计 |
“华为云”软件分析 | 3 |
3、印象最深刻的是两次冲刺,特别是alpha冲刺前做视频的时候,那天晚上三个对视频制作完全一窍不通的门外汉强行无师自通了短视频的制作,(虽然很多素材是网上找的),但这短短一分钟的视频就让我们熬到了凌晨四点。
4、一学期花了约50~60小时在这门课程上,平均一周约5小时。
5、学习了visual studio、eclipse、notepad++等软件的使用。
6、学习了github、markdown、jQuery等工具的使用。
7、学习了php与HTML5的使用。
8、学习了原型设计与UML的设计。
9、在语言表达能力与团队交流能力方面有很大的提高。
二、经验总结
1、软工实践是容不得“模糊”的,有就是有,没有就是没有,如果不确定,就默认没有。这样一来可以认识自己的团队在哪些方面有所忽略,二来能吸取更多来自他人的建议。
2、经过小组内的讨论,大家一致认为软工实践需要的是大量零散的时间块,在大量的零散时间块内工作较之长时间的工作,疲劳度较低,且能保持内心的平静。虽然deadline是第一生产线,熬夜冲刺在课程中是普遍现象,但软工不是单纯的编程,不可能一步到位,需要的是积累。
3、通过整个实践过程中对种种工具的学习,要敢于踏出自己熟悉的领域,触碰未知的事物,不会美工的文案不是好组长。
4、在规划产品时,应先估计相关功能的难度,饼不能一口气画得太大,否则难以实现,徒劳的尝试反而浪费时间。但不论如何,做出的产品必须有自己的特色。
三、感想
一开始之所以会报这门软工实践课,其实是因为三个舍友都报了,那时还没有考虑那么多。
戏剧性的一幕是数独作业之后,整个K班中的同班同学,继续报这门课程的只剩下我们宿舍的四人。也许是头铁,虽然数独作业令我头疼了两三天,但我们宿舍还是达成了默契,选择留下。
宿舍里唯一的dalao选择了和其他的dalao组队,剩余的三人自然而然地选择了抱团取暖,而恰好是剩余三人中功底最不扎实的我,因为脸皮比较厚,理所当然地成为了组长,一个发声人。
从前一直认为做出一个软件距离我十分遥远,可经历了一学期的实践后,发现难也不难,简单也不简单。
有些东西看似很难,遥不可及,可早有无数前人的相关经验流传于各大论坛。我们可能不需要理解也不需要领悟,我们需要的只是实践。
有些东西看似容易,理所当然,可实际尝试时却坎坷无数,不得不放弃。在这时我们才意识到自己的微不足道。
小型团队中各人的想法容易交流,目标自然容易明确,组长的压力也较其他小组小。但小型团队同时面临人手不足的最大问题,一个成员可能需要身兼多职,身上的担子相对重些,划水是必然存在的现象,而划水造成的问题在小型团队中非常严重,尤其是在这个小型团队没有dalao的情况下。
不管怎样,我们还是完成了它。
个人对学弟学妹们的意见:如果你本学期的选课较多,建议不要选这门课,这门课需要的是大量零散的时间,虽然它就那么看似不起眼地躺你的课表里,可各种各样的deadline会从始至终地提醒你它的存在,毕竟一心不能多用。
但只要你选了这门课,你就一定会有所收获,你会学到很多对你今后的工作有用的东西——可能超过你之前两年学到的东西之和。
哪怕这收获只是从一个不善言表的人变得能与他人侃侃而谈,或是PPT的制作技术又提升了一个台阶。
关于团队中途换队员,我认为一个人一定有能在团队中发挥作用的地方,编程不行可以去当美工,美工不行可以去当文案,文案不行可以去答辩,都不会可以学。
既然做出了选择,就要努力走到最后。
四、分析一下自己所处的团队
我们的团队处于规范阶段,我个人认为我们的运作方式和一个标准的开发团队还有很大的差距,虽然我们做出了最终的产物,可距离“创造”还有很长一段路要走。
我觉得自己能传达出团队的意见。
整个项目中团队里两大“主力”,一前一后,虽然都不是dalao,但在他们的努力之下我们解决了许多问题。
五、证明我“学会”了软件工程
1)研发出符合用户需求的软件
最终产品具有功能如下:
账单图表分析功能
账单手动输入功能
消费计划制定功能
抓取账单分析功能
家庭消费统计功能
2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
六、个性图文
PS:修动态图也是现场学的。