网络15软工个人作业5——软件工程总结

网络15软工个人作业5——软件工程总结

一、请回望开学时的第一次作业,你对于软件工程课程的想象

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

answer:

  • 期待和目标:
    (1)通过博客园进一步熟悉了各种大佬们进行软件开发的过程。
    (2)能够通过留言的形式看到其他人对我们软件开发过程的建议,使我们能在不同的地方得到提升。
    (3)熟悉了结对编程、团队开发两种编程模式,提高了与同学们的配合能力与团队意识,也感受了如何在团队开发中发现矛盾、解决矛盾。
    (4)掌握了许多软件测试的方法和工具。
    (5)加入的团队成功开发了一款app,并有实际用户量。
  • 不足
    (1)代码规范和代码质量有一定的提升,但没有达到最开始的预期。
    (2)没有很好的巩固自己的代码理论知识。

2、总结这门课程的实践总结和给你带来的提升,包括以下内容:
1)统计一下,你在这门课程中,完成了多少行的代码;
2)软工的各次作业分别花了多少时间?(做一个列表)
3)哪一次作业让你印象最深刻?为什么?
4)累计花了多少个小时在软工上?平均每周花多少个小时?
5)学习和使用的新软件;
6)学习和使用的新工具;
7)学习和掌握的新语言、新平台;
8)学习和掌握的新方法;
9)其他方面的提升。

answer:
1)代码行数大概在600左右,自己身为测试人员,代码数量确实较少。
2)

作业 花费时间
软工网络15个人阅读作业1 2.5小时
软工网络15个人阅读作业2——提问题 3小时
软工网络15结对编程练习 3小时
软工网络15团队作业1——团队组队&展示 1.5小时
软工网络15个人作业3——案例分析 2.5小时
团队作业3——需求分析与设计 3小时
团队作业2——团队计划 1.5小时
软工网络15Alpha阶段敏捷冲刺 18小时
团队作业6——展示博客 2小时
团队作业5——测试与发布 3小时
团队作业7——alpha阶段之事后诸葛亮分析 2小时
个人作业4——alpha阶段个人总结 2.5小时
团队作业8——敏捷冲刺(Beta阶段) 12小时
团队作业9——项目验收与总结 3小时
beta版验收互评 2小时
个人作业5——软工个人总结 3小时

3)软件工程第五周的个人作业,做产品分析的那篇,感觉那篇我做的特别舒服自在。
4)感觉累计花了200h左右吧,平均每周13~14h。
5)各类测试工具
6)Android、php。博客园、问卷星。
7)回归测试、单元测试
8)团队协作能力、沟通能力、编程能力、学习能力。

二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析

answer:
《人月神话》探索了达成一致性的困难和解决的方法,并探讨了软件工程管理的其他方面。在《人月神话(英文版)》中,既有很多发人深省的观点,又有大量软件工程的实践,为每个复杂项目的管理者给出了自己的真知灼见大型编程项目深受由于人力划分产生的管理问题的困扰,保持产品本身的概念完整性是一个至关重要的需求。

  • 在结对编程中,其好处就在于身边有个领航员角色的存在,在编写代码的时候,一旦出现了错误,就会有人在旁边及时提醒自己的错误。在开发软件时,有同伴在身边,可以一起探讨,融合两个人不同的观点和见解,从而得出更加高效的设计思路,为之后的debug过程省去大把时间。
  • 在上次的结对编程中,我们比较特殊,是三个人共同对上届的代码进行改进和debug,过程其实十分有趣。我在当中主要是负责后缀表达式求值还有基本的数据结构,多亏有领航员的帮助,才能比较完整的完成自己的模块。在编写过程中,我时常会犯下一些非常简单确难以发现的错误,却会被身边的人及时发现,这样大大提高了编程效率。
  • 在结对编程中,两个人轮流编程(虽然我们是三个人。。)不会太过疲惫,这极大地改善了我们的编程体验,使编程不会变得枯燥无味,debug也不会变的那么困难了。

三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。对于换人机制,有什么样的建议?

answer:

  • 建议
    (1)打好坚实的编程语言基础,编程语言是基础工具,没有它无法成软件开发。至少熟练掌握一门到两门。
    (2)好好学习高数、线性代数以及数据结构、算法等逻辑思维培养的课程,对今后的专业课非常有帮助。
    (3)如果想要转专业,尽量大一就做好决定。如果到了大二,就要学会着去在这门专业中取发现自己感兴趣的地方,学会去爱自己的专业。如果一直抱着:“我不喜欢这个专业”,“我反正以后也不走这个行业”,“我真的真的不会打代码”等心态去学习,那么到后面真的可能会崩盘(lol)。因此既然入了坑,那就努力把它挖得更深吧!说不定挖到宝藏了呢?

  • 换人机制
    没有必要“为了换人而换人”。

四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)

团队合作的几个阶段:

  • 萌芽阶段
  • 磨合阶段
  • 规范阶段
  • 创造阶段
    在团队中我都经历过了,也达到了最后的创造阶段。

五、怎样证明你学会了软件工程?

1、研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件

answer:
APP下载链接如下�
24点小游戏app

2、通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄

answer:
参考团队阶段博客集合贴及博客发布时间(gakki赛高):

3、并且通过数据展现软件是可以维护和继续发展的。
而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料

answer:
参考码云项目链接:

posted @ 2018-06-17 20:33  FantasticLzs  阅读(148)  评论(1编辑  收藏  举报