个人作业——软件工程实践总结作业

作业归属的课程 班级链接
作业要求 作业链接
作业目标 总结这一学期软件工程课程
作业正文 本文链接
其他参考文献 《构建之法》,人民邮电出版社,邹欣

一、回望

1、对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?

软件工程实践,一开始顾名思义是写软件、写代码,后来发现更多的是了解软件开发的整个流程。
体验过软件开发的各个方面后,明白软件开发并不只是写写代码的事。
团队合作基本达到了我的预期。这是我第一次参与到团队开发,在这一过程中,从各位伙伴的身上学到了很多,自己的能力也得到了一定的提升。
代码能力还有不足,无法支撑自己做一个想要的小软件。

2、你在第一次作业的个人简历中制定的“这门课程结束后,你预期你将增长的能力、技术、技能”和你在第二次作业中绘制的学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?

基本达到了预期。
当时希望在前端方面有所学习,现在对于HTML、CSS、JS较为熟悉,vue能够进行简单应用,剩下的仍需继续学习。

3、请总结这门课程的实践总结和给你带来的提升,包括以下内容:

  • 统计一下,在这门软件工程实践中,一共完成了多少行的代码
    主要集中在数独作业(200)、结对编程(300)、团队编程(800)
    加上中间走过的一些弯路,大概在1800行

  • 软工实践的各次作业分别花了多少时间?(做一个列表)

    |序号|作业内容|用时|
    |:---😐:----😐:----😐
    |1|简历(个人)|2h|
    |2|路线图(个人)|4h|
    |3|数独(个人)|19h|
    |4|需求原型(结对)|20h|
    |5|家族树(结对)|55h|
    |6|团队展示(团队)|1h|
    |7|团队实训(团队)|3h|
    |8|需求规格说明书(团队)|30h|
    |9|系统设计与数据库设计(团队)|2h|
    |10|alpha冲刺(团队)|30h|
    |11|项目评测(个人)|15h|
    |12|事后诸葛亮(团队)|2h|
    |13|总结(个人)|5h|

  • 哪一次作业让你印象最深刻?为什么?
    家族树吧
    一开始真的无从下手,中间有几天在崩溃的边缘疯狂试探。
    对于选择的组件比较陌生且有的无法达到我想要的效果,后来找到了一个较为简单且适合的组件,就比较容易地完成了。

  • 累计花了多少个小时在软工实践上?平均每周花多少个小时?
    累计花费将近200h
    每周大概花费17h

  • 学习和使用的新软件
    vs code:写markdown文档
    Sublime Text:写html
    墨刀:原型设计

  • 学习和使用的新工具
    qunit测试工具
    GitHub

  • 学习和掌握的新语言、新平台
    HTML、CSS、Javascript

  • 学习和掌握的新方法
    nabcd法需求分析
    原型设计方法
    需求分析方法

  • 工程能力的提升
    会了一丢丢的前端开发

  • 团队合作上的提升
    交流能力up

  • 其他方面的提升
    编写博客的能力up


二、团队总结

  • 软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
    ☑萌芽阶段
    ☑磨合阶段
    ☑规范阶段
    ☐创造阶段
    团队的人来自各个班级,许多人一开始互不认识,但是蛮快地就熟悉起来。进入alpha冲刺后,大家对于自己的分工有比较明确的认识,各司其职。开发后期,一些队友的角色自然而然地发生了转变,但是还有许多方面没有达到,所以不能算完全到达“创造”阶段。
  • 你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?
    需求分析与原型设计+后台的前端设计
    基本完成了该角色的任务
    适合,这一部分经过结对作业有了一定的了解,相对于后端更有把握(后端还在学习ing)
  • 你觉得你的组长分工安排是否合理?你对组长的选举有什么建议?
    基本合理,符合大家一开始给自己的分工定位。
    没有建议,组长有过相关经验,更便于带领大家(要是不间歇性失联就更棒了)

三、人月神话

1、怎样证明你学会了软件工程?以下要求你们的团队达到了哪几个?

(1)研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
(2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
(3)并且通过数据展现软件是可以维护和继续发展的。
而不是:找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料

Answer:
(1)由于目前软件仍有部分需要完善,还未发布。
(2)能够定期将代码签入GitHub,大部分功能已经实现。
(3)代码还是能编译运行的...相关的文档还未完善。

2、写下属于你自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析,字数不限,开放命题,可以使用你自己喜欢的方式表达..

  • 个人
    当时刚刚接触软件工程,一切都是陌生的,都处在不断摸索的过程中。前两份作业让我真正开始思考:我未来的侧重点在哪,我还有哪些要学,我该如何去规划。到数独,有段时间没打回溯,透着一丝陌生...知识还是要定期去回顾的。

  • 结对
    进入结对阶段,两个伙伴作为两个独立的个体,想法多少有一点不一样,这就需要去沟通、去磨合。成长环境的相似,两个人在整体上的想法没有很大的出入,其他方面也能在沟通后打成共识。伙伴的意义或许就是在开心时有人分享,困难时有人分担。每一个阶段性的成果都赢得我们的欢呼,每一次的艰难背后你会知道还有人在和你一起努力。

  • 团队
    队伍中最好有一个曾经有过相关软件开发经历的同学,这样对于整体的流程以及分工会更加合理。经历了完整的软件开发,每个软件的诞生都是不容易的。感谢这一段时间,各位伙伴的照顾和帮助。

四、建议

  • 对下一届同学的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?请写下你对后来人的期许。
    学弟学妹们,保重!身体为重!
    或许这门课很累,让你很想放弃,但是在这一过程中能学到很多。
  • 对于软工实践课程,你有哪些建议?
    作业量偏大,感觉这是门10学分的课,无数次感慨要是没有这门课我这学期熬夜次数应该直线下降,也有时间做一些自己想做的事,而不是每天都在想着作业还有多少要写(去市区看场音乐剧,地铁上抱着手机还在写需求规格说明书,我太南了)。
  • 对于助教工作,你有哪些建议?
  • 对于自己今后,你有哪些建言?
    好好学习吧
    flag立了就别倒啊
posted @ 2019-12-17 22:28  咕叽  阅读(176)  评论(2编辑  收藏  举报