个人作业——软件工程实践总结作业
个人作业——软件工程实践总结作业
这个作业属于哪个课程 | 软件工程1916|W(福州大学) |
---|---|
这个作业要求在哪里 | 个人作业——软件工程实践总结作业 |
学号 | 221600327 |
这个作业的目标 | 总结本次软件工程实践课程的所学所思 |
一、请回望寒假时的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,"学习到软件工程的实践过程",对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
通过整个课程实践,对于软件工程的实践过程有了一个亲身的体验,从原来不知道什么是软件工程到真的完成一个软件项目,这是我最大的收获。
不足的方面主要还是自己的能力原因,一开始自己并不知道软件开发的整个流程,也对于开发要用的技术不熟悉,所以我并没有全局把控的思想和能力,感觉自己在实践过程中处于比较被动的处境,老师或者组长推一下动一下,没有把节奏掌握在自己手上,这是我觉得不足的地方。
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
-
统计一下,你在这门软件工程实践中,完成了多少行的代码;
作业 代码(行) 结对编程_PairProject1 102 结对编程_PairProject2 271 Github实训 283 团队项目 13,891 总计 14,547 -
软工实践的各次作业分别花了多少时间?
作业名称 时间(h) 第一次作业-准备篇 2 结对第一次—原型设计(文献摘要热词统计) 3 结对第二次—文献摘要热词统计及进阶需求 6 团队作业第一次—团队展示 1.5 团队作业第二次—项目选题报告 5 团队第三次-项目原型设计 1 团队作业第四次-项目需求分析 5 团队作业第五次—项目系统设计与数据库设计 2.5 团队作业第六次—团队Github实战训练 16.5 项目Alpha冲刺(团队) 97 事后诸葛亮(团队) 2 项目Beta冲刺(团队) 45 Beta阶段团队项目互评 4 个人作业——软件工程实践总结作业 2 总计: 192.5 -
哪一次作业让你印象最深刻?为什么?
beta冲刺阶段吧,我们的团队经过了alpha阶段的冲刺,大家都少了很多隔阂和客套,真的是一个团队的理想状态了,大家都能针对项目去指出对方的不足和需要改进的地方,每个人也都虚心接受,这种团队氛围真的很难忘。
-
累计花了多少个小时在软工实践上?平均每周花多少个小时?
累计花费了192个小时,课程开始到目前为止十五周,平均大约每周花费13个小时。
-
学习和使用的新软件;
Idea、Android studio
-
学习和使用的新工具;
墨刀、teambition、TeamViewer、GitHub、typora
-
学习和掌握的新语言、新平台;
Android
-
学习和掌握的新方法
Android原生开发
-
其他方面的提升。
团队合作、学习方法、认识到软件工程实践每一步都是环环相扣的、虚心求教的重要性。
二、写下属于自己的人月神话
在团队项目中,界面设计和后端的交流十分重要。我在团队项目中负责的是Android界面的开发,由于我自己没有太关心数据库和后端人员给出的接口文档,只是按照原型把界面做出来而已,导致后来很多地方没有办法填充,只能改后端或者改界面,浪费了大量的时间。其实在开发过程中前后端应该就数据库设计和接口设计达成共识,这样才可以把界面设计合理,也方便编写交互的同学找到对应的地方填充。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?
对下一届的建议:如果下一届同学能在大三下之前看到我的建议,我的建议是学校的课程一定要认真听,在此基础上尝试着去做一些小项目,大致体验一下软件开发的流程和掌握相应的技术,这样在这门课才会得心应手。如果下一届同学依然在大三下才能看到我的建议,那么我想说按照老师的要求做吧,心态很重要,尽力去做好自己的每一件事,会有很多收获的。最后还是想说一下开课时间的问题,我也跟大多数同学一样认为软工实践应该提前上,因为通过一个高强度的项目过程可以收获的东西:1、知道一个软件的开发过程,不至于到大三了想做一个项目却无从下手;2、学习到开发技术的同时认识到自己的不足,可以促使很多同学自主地去学习;3、拥有一个项目经历,在大三找实习或者面试时能有一份底气。这些东西应该在大三下之前就获得,所以我认为这门课应该提前上。
对后来人的期许:通过一个学期的课程,我发现我们这个班级的同学虽然能力有高低,但是在对待自己的项目的时候从来没有那种敷衍了事的现象发生,每个组都做得很认真,我希望以后学弟学妹也要保持这个态度。
对于是否要中途换队员:我认为单单对于本门课程来说的话,换队伍是可以让同学们体验一下这种突发情况的,就像我们团队的小榕所提及的那样:换人应该匹配一下原有职责和换组之后的职责,这样学习成本不至于太高,毕竟大三下也要考虑到其他课程的时间安排。
四、分析一下自己所处的团队。
- 萌芽阶段
经历过,当时不知道我们的目标是什么,不知道自己做到怎样才是做好,就很依赖组长发布任务。- 磨合阶段
磨合阶段的话,好像也没有出现什么分歧和冲突,都是有问题解决问题,我们小组的组员都很负责任,也很善于倾听,任务安排执行都挺顺利的。我能力不是那么强,耽误了alpha阶段的一点进度,但是大家都是选择一起去完善这些时事情,并没有选择抱怨,我很感谢我的队友。- 规范阶段
经历过alpha阶段,我们小组在beta阶段冲刺时就更加合作无间,组员各自从teambition上领取任务完成。测试同学在teambition反馈bug,开发同学领取bug任务修复,整个beta阶段的工作有条不紊的进行着。- 创造阶段
如果说完成软工实践是我们小组的共同远景的话,按照创造阶段的特点,共同愿景,高度自治,角色和职责能够更具项目的要求自然的转换,没有人为此担心或者发牢骚,我认为我们达到了创造阶段。
五、怎样证明你学会了软件工程?
1)研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
我们的软件在开发过程中已经有7人在使用,之后为了测试每个组员都有把软件分享给自己的朋友同学使用,此时我们的用户数就大于10个了,所以我们的软件还是一个有用的软件。
2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
我们小组通过teambition安排任务,通过组长派发任务和组员领取任务,有序的完成了整个项目的开发。
3)并且通过数据展现软件是可以维护和继续发展的。
而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
源代码在XZPT-Java、XZPT-Android上,项目进度和迭代过程在teambition上,接口文档和代码规范在ShowDoc上,我们的软件现已有内测发布版本可以体验,所以不存在代码不能编译的问题。后续如果有团队要继续做我们的项目可以在我们的博客上找到我们项目的整个生命线,想要二次开发不是难事。
六、个性发挥
大三下了,明年就毕业了,没有做过几件自己觉得心甘情愿付出的事情,本以为可能大学就这样结束了,没想到选了汪老师的课,拥有了这么棒的一个团队,拥有了这么棒的一次经历,在毕业前拥有这么难忘的回忆,很值得。感谢我的队友们,谢谢各位老师助教的努力付出。(福利就上我们团队生活照吧!)