zoukankan      html  css  js  c++  java
  • 个人作业——软件工程实践总结作业

    相关链接

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

    回望

    (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的网站,学生自己提交测评,再不断修改

    对于个人

    • 学习深度还不够,需要在自己喜欢的领域里面多钻研,多深入,很多东西都学个皮毛等于无用,不如在一件事情上做大极致!
  • 相关阅读:
    Day 25 网络基础2
    Day 25 网络基础
    Day 24 定时任务
    Day 23 系统服务之救援模式
    Day4 总结
    Day 22 进程管理2之系统的平均负载
    【Distributed】分布式Session一致性问题
    【Distributed】分布式系统中遇到的问题
    【Redis】分布式Session
    【Zookeeper】应用场景概述
  • 原文地址:https://www.cnblogs.com/creter/p/12088090.html
Copyright © 2011-2022 走看看