这个作业属于哪个课程 | 福大20春软工S班 |
---|---|
这个作业要求在哪里 | 个人作业——软件工程实践总结&个人技术博客 |
这个作业的目标 | 个人总结 |
作业正文 | 一、回望 二、团队总结 三、人月神话 四、建议 五、个人技术总结 |
一、回望
(1)对比开篇博客你对课程目标和期待,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
预期值:熟悉项目全局开发流程,提高项目开发能力;提升个人的项目组织能力,我以往在团队分工方面出现分工不均的问题,希望通过课程学习,能有所提升。
从项目立项到具体的设计与实现,再到项目上线,这次我完整地体验到了完整的项目开发流程,其次担任队长的经历也提升了我个人的项目组织能力。
(2)你在第一次作业的个人简历中描述了这门课程结束后,你预期你将增长的能力、技术、技能,并绘制了学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?
没有。使用的技术路线跟我的学习路线不一致,第一次作业只是描述了个人想学的路线,并没有想说通过这门课程来走学习路线。
(3)哪一次作业让你印象最深刻?为什么?
live-project,一天内让团队开发一个口罩预约系统。这是第一次的团队开发作业,当时我们初步选好了技术框架,但很多人没有开始学,并且团队之前没有磨合过,对github等的使用也不够熟练,但是最后我们最终完成了任务,并且当时就使用了前后端分离。这次开发给了我们很多的经验,组员们在此之后也正式开始学习框架知识。
(4)在课程问卷中,我们统计了你在课程上花费的精力和提升;现在请你再次将这些数据罗列出来,作为个人的记录。
统计一下,你在这门软件工程实践中,一共完成了多少行的代码;
仓库的记录是21000+行,我个人也觉得有点夸张,但是前端页面多、复用多,还是有可能的。
软工实践的各次作业分别花了多少时间?(做一个列表)
作业 | 时间(小时) |
---|---|
软工实践寒假作业(1/2) | 2 |
软工实践寒假作业(2/2) | 21 |
结对第一次—疫情统计可视化(原型设计) | 13 |
团队作业第一次—团队展示和项目展示 | 4 |
结对第二次作业——某次疫情统计可视化的实现 | 35 |
团队作业第二次——团队Github实战训练 | 12 |
团队作业第三次—项目需求分析 | 10 |
团队作业第四次—项目系统设计与数据库设计 | 12 |
个人作业——软件评测 | 6 |
团队作业第五次——站立式会议+alpha冲刺 | 80 |
团队作业第六次——beta冲刺+事后诸葛亮 | 40 |
个人作业——软件工程实践总结&个人技术博客 | 5 |
累计花了多少个小时在软工实践上?平均每周花多少个小时?
240小时,平均每周花10小时。
学习和使用的新软件;
学习了Vue框架,IDE使用HBuilderX;学习了服务器配置,使用XShell和Xftp;使用Axure制作原型。
学习和使用的新工具;
学会使用github。
学习和掌握的新语言、新平台;
Vue
学习和掌握的新方法;
远程开发交流方法。
工程能力的提升;
编写和阅读文档方面的能力;软件设计能力。
团队合作上的提升;
远程协作能力,任务调度能力。
其他方面的提升;
服务器配置。
二、团队总结
软件工程实践是大学里少有的团队协作经历。
你是组员还是组长?你觉得你自己在哪些地方做得好?你觉得自己还有什么可以改进的地方,具体可以怎么改进?
我是组长,我认为我在小组初期的引导方面做得比较好;我具体的分工上做得还不够好,有时候我会担心给组员的压力太大,所以有一些事情就自己做了,也许是我多虑了。
你觉得你的组员们在哪些地方做得好?你觉得ta们还有什么可以进一步提升的地方,有什么具体的建议吗?
他们能够积极沟通,互相帮助,并且能够及时改进发现的问题,我认为这些点很不错;但有时候代码实现上不够完善,有一些没考虑到的地方,我认为这些很大程度上是经验问题,希望他们能够多积累。
《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
有,经历了萌芽、磨合,现在处于规范阶段。
从开发的角度,你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?
我担任组长。基本完成了组长的任务,小组里每个人都有相应的任务,最终基本完成了开发任务。虽然当过挺多次组长,但我认为不一定适合,有时候会觉得力不从心,有时候可能不够果断。
三、人月神话
1、怎样证明你学会了软件工程?以下要求你们的团队达到了哪几个?请在随笔中用数据证明上述内容或侧重选择之一。
(1)研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
已经发布了,并且在最终答辩上成功使用了。
这门课一开始,经过与老师的交流,我发现这门课是想让我们做出实际可用的产品,而不是虚拟一个需求来完成。
(2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
使用了github,进度都是按照流程来完成的。作业期间基本上没有熬夜过。
(3)并且通过数据展现软件是可以维护和继续发展的。
而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
我们项目一开始确保的就是在每个开发成员的电脑上可以运行,首先就让每个开发人员配了一下项目的环境。然后我个人承担组装的任务,前后端都有安装,如果出现什么不能运行的情况,就会让相应编写人员进行排查。接口文档有一份独立的文档,修改接口的时候相应人员会改接口文档。
2、写下属于你自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析,字数不限,开放命题,可以使用你自己喜欢的方式表达
作为一个团队,交流非常重要。尤其是由于疫情原因大家被迫远程协作的情况下。比如我们出现过commit冲突的情况,虽然最终通过版本管理找回了被覆盖的内容,但是少一点麻烦总是好的,后来我们通过一点约定解决了这种情况,就是一定先同步再上传。远程协作也可以会遇到其他麻烦,但是只要勤交流,做好团队规约,可以避免很多问题的产生。
四、建议
对下一届同学的建议,或者对于开学初的你,对于大一的你,你有什么建议和想要告知的呢?请写下你对后来人的期许。
1.对于下一届同学,或者大一的同学,你想说:
多参加比赛,多学点前沿知识,积累项目经历。
2.对于自己今后,你有哪些建言?
有时候要逼一下自己。
3.对于助教工作,你有哪些建议?
因地制宜,因时制宜。
4.对于软工实践课程,你有哪些建议?对于软工实践课程的上课形式和内容,你有什么具体的意见和建议?在哪儿需要强化或者剔除?
要提高课程多样性(小声BB:不要开在大三下)。首先我觉得我们教学的成分比较少,我觉得可以有所提高。其次,其实很多同学习惯于完成自己的任务,其实有一点加大了组长的工作负担,我觉得得引导每个人提出自己的想法。
五、个人技术总结
个人技术总结——Vxe-table
Vxe-table是一个Vue的表格插件,我们项目需要实现填写表格的功能,于是我就找到了这个插件。难点在于,我觉得这个插件的手册写得不是很好,很多地方要自己研究。