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

相关链接

这个作业属于哪个课程 链接
这个作业要求在哪里 链接
这个作业的目标 软件工程实践总结

回望

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

  • 达到期待的
    - 对整个软件工程的流程的了解和熟悉

    • 懂得如何进行团队开发协作
  • 不足

    • 自身的代码能力和工程能力
  • 原因

    • 还是将会的东西又写了一遍,收获甚微

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

没有,差距有点巨大,自身的投入时间还不够多,学习到的知识也没有应用于实际开发中。

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

  • 代码大约1000行

  • 各项作业完成时间

    作业 耗时(h)
    第一次作业——个人简历 1
    第二次作业——学习路线 2
    第三次作业——数独 3
    第一次结队作业——原型制作 5
    第二次结队作业——“家族树”实现 10
    团队作业——实现软件 40
  • 哪一次作业让你印象最深刻?为什么?

    数独,学习了一个舞蹈链算法,还是挺有意思的。

    团队作业,一起编程的日子还是很有意思的。

  • 累计花了多少个小时在软工实践上?平均每周花多少个小时?

    70个小时,平均每周8个小时

  • 学习和使用的新软件

    typora,xmind,Hbuilder,墨刀

  • 学习和使用的新工具

    无。

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

    python的django框架

  • 学习和掌握的新方法

    debug方法

  • 工程能力的提升

    对数据库的设计,以及对软件的架构和逻辑控制等能力都有所提升

  • 团队合作上的提升

    懂得如何团队协作

  • 其他方面的提升

    学习能力提升

二、团队总结

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

团队还是相处很融洽的,相信大家都在团队编程中都有所收获的,团队的执行力都是可见的,团队的能力也是可见的在增长,但是最后我们还远远达不到“创造”阶段。

2.你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?

我担任了后端以及半个前端吧,任务完成的一般般,不太适合当前端。

3.如果你是组员,你觉得你的组长分工安排是否合理?你对组长的选举有什么建议?

我们组的组长还是很适合的,分工安排较为合理,很有领导能力和组织能力,能够经常组织我们出来一起快乐打代码,组员也都是一群很不错的人,代码打的好,人也好,这里好评一下。

至于组长的选举还是需要队内自己组织选举吧,不一定要最会打代码,但一定要勇于站出来带领团队往前走的,不能让团队原地踏步,要懂得如何推进任务,如何协调任务,合理安排,组织团队有效率进行协作开发。

三、人月神话

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

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

首先第一点,我觉得我们的软件肯定是有这个需求的,但是完成度还不够,无法发布。

第二点,团队有项目规划/需求/设计/实现/发布/维护,但是进度不是那么的准时,往往是最后时刻大家比较努力,这点还需要改进

第三点,在文档方面我们做的还是不错的, 一开始就要求要写好各种文档,规范格式,但是并不是人人都的很好。

2、写下属于你自己的人月神话——个人或结对或团队项目实践中的经验总结+实例

  • 一个好的程序员能顶一百个,这是真的

  • 一个人再强也顶不过一个精良的团队,这也是真的。

  • 人多力量大,这是假的

  • 预先写好文档和规定各种工具的版本对团队开发大有好处,能节省很多时间

    写好文档,这件事情我觉得是很重要的,在团队开发中,我们各自写好自己的文档,包括接口文档等,写的清晰明了,减少了许多不必要的沟通成本,让你的队友也能清楚你在做什么,你做的是什么,这点对团队还是又很大好处的。

    开发工具和框架等的版本要在开发前统一,这点也是十分关键的,我们组就在这上面吃过亏,不同的成员使用同一个框架的不同版本,不同版本之间还是又部分差异,导致最后合并的时候才发现不兼容,这个时候再去重新修改兼容,是一件很大的工作,如果事先考虑好,将会省下很多时间,我们做的是一个挺小的工程,就花费不小精力,如果是一个大型的软件工程,那么耗费的无用功将是巨大的,这给我们也上了生动的一课,团队协作前要考虑清楚很多东西。

  • 要表达清楚自己的意思和想法,沟通最重要的是表达清楚。

四、建议

其实还是不太擅长提出建议,但是在软工实践中还是收获挺多除编写代码以外的能力,但这些能力对于个人的提升是巨大的,是关键的,也认识了许多很好的朋友,结识了“革命友情”,体会了一把真正的团队协作。也在这个过程中有所吐槽,个人也有所体会。如下:

对于软件工程

  • 团队项目过于没有新意,不够有意思,可能在思考项目想法的时候,大家都不太重视,班上没有很好的点子,大家所做的项目,基本都是你两分钟能想到的东西,被往届的做烂掉的东西。我觉得最终的完成度不够高和这个关系还是很大的,在我看来,你做一个你知道一点用都没有,做出来没有任何价值的东西,是投入不了感情的,是一点动力都没有的,唯一的动力就是要交作业了,不做要挂科了。老师也许可以协助提出一些比较有意思的想法,做一些能够用的,能够应用的,哪怕平时方便自己的东西。(但其实这点很是很难做到的,毕竟我们能够想到的有一定价值的基本都出现了)
  • 团队过于庞大,我觉得最终的完成情况和团队人数没什么关系,而且团队过大可能会出现摸鱼,不能让人人都参与到软件工程中,得不到应有的提升。
  • 平时的作业可以再难一点,有意思一点。

对于助教

  • 感觉助教的工作量还是太大了,前面的也作业也去可以采取交叉互评,而数独这些类型的作业可以做个类似oj的网站,学生自己提交测评,再不断修改

对于个人

  • 学习深度还不够,需要在自己喜欢的领域里面多钻研,多深入,很多东西都学个皮毛等于无用,不如在一件事情上做大极致!
posted @ 2019-12-23 20:03  汉堡薯条  阅读(215)  评论(4编辑  收藏  举报