• 福大软工 · 最终作业


    福大软工 · 最终作业 - 软件工程实践总结(个人)

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


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

    • 哪些方面达到了你的期待和目标
    1. 这学期主要学习了一下人工智能的有关知识,主要包括在TensorFlow和pytorch下实现CRNN的学习,以及在其他实践课学习到的一些知识。
    2. 相比于上学期,自己的编码能力确实上升了一点点,也感受到了浓厚的软工团队氛围。
    • 哪些方面还存在哪些不足
    1. 可能是由于缺乏沟通,在软工后期不是很清楚团队的需求,导致与团队脱节,没有在最后的时刻尽自己的努力去帮助队友完成beta版本(虽然他们依旧完成的很好!),感到很可惜。

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

    1、统计一下,你在这门软件工程实践中,完成了多少行的代码;

    由于柯老师在平时就有让我们统计代码的习惯,就直接贴上去了。

    第N周 新增代码(行) 累计代码(行) 本周学习耗时(小时) 累计学习耗时(小时) 重要成长
    1 500 500 12 12 单元测试的编写
    2 200 700 16 28 Axure原型设计工具的使用、Python的文件读写
    3 500 1200 20 48 Python爬虫的编写、词云图的绘制和Python的文件读写、CRNN的复现
    4 300 1500 20 68 尝试使用Pytorch深度学习框架
    5 400 1900 14 82 绘制思维导图、利用Qt构建Linux可视化界面
    6 100 2000 8 90 学习tenserflow框架
    7 300 2300 20 110 学习tenserflow框架、复习CRNN
    8 400 2700 20 110 学习Threejs框架以及webgl的相关知识,完成图形学实践

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

    作业 花费时间/分钟
    第一次作业 120
    个人项目 1100
    结对项目1 580
    团队风采展示 120
    结对作业2 1350
    团队选题报告 100
    团队课堂UML设计 300
    团队需求分析报告 400
    Alpha冲刺 1200
    团队现场编程 480
    团队项目评测 280
    Beta冲刺 100
    最终展示 100

    3、哪一次作业让你印象最深刻?为什么?

    不用说,肯定是Alpha冲刺啦!又不禁想起当时一起在院楼一起编码,一起吃饭,一起解决问题的日子。为了实现当初吹的牛逼,只能加班加点地肝。但是自己也收获了很多。


    4、累计花了多少个小时在软工实践上?平均每周花多少个小时?同时贴出开篇博客“你打算平均每周拿出多少个小时用在这门课上”的回答

    真的是花12学分的时间去做一个只有2学分的课程。平均下来一周应该有7个小时了。

    希望能够有趣一点吧。平均每周10个小时我觉得可以达成目标
    

    好像也不至于这么夸张诶...


    5、学习和使用的新软件

    1. 原型开发工具:Axure
    2. 编写python的IDE:pycharm
    3. 绘制思维导图的工具: Xmind

    6、学习和使用的新工具

    1. 原型开发工具:Axure
    2. 绘制思维导图的工具: Xmind
    3. 界面生成工具:QT

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

    1. 深度学习框架pytorch和TensorFlow
    2. python
    3. CRNN模型

    8、学习和掌握的新方法

    1. 使用CRNN识别照片中的文字
    2. 调整CRNN网络参数
    3. 学习CRNN模型的训练

    9、其他方面的提升

    1. 团队合作能力的提高
    2. 抗压能力的增强

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

    1. 个人能力很关键,这个能力贯穿了软工的个人作业、结对作业和团队作业。这不仅会影响自己编码的时间,还会影响到团队的项目提交以及实现。
    2. 沟通也格外重要。由于自己的性格问题,和与其他团队成员宿舍的距离问题,导致了我在Beta版本时期与团队脱节。我以后将格外注意这个问题,希望其他人也能注意到。

    三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,对于同期的TA们,对于后来的学弟学妹:

    1)你有什么想建议、告知和期许想要告诉他们呢?

    虽然是花12学分的时间去做一个2学分的事情,但是项目完成后的成就感是其他课程所不能替代的。

    2)特别地,特别地,下一届要不要中途换队员(强制的、彻底的从一队换到另一队)?假设依旧是一个90+人数的大班

    这么有意思的想法,肯定要去实现呀!

    3)身在一个格外大的班级,竞争强劲,你认为一个组的人数应当在多少比较合适?

    我觉得6-7个人足矣。

    4)个人/结对/团队作业应该控制在怎样的规模?

    我觉得应该把结对和团队作业的规模再扩大一点,把个人作业的难度缩小一点。毕竟这个课程更加看重团队合作的能力和工程的实现。可以要求团队作业的实现更加规范化和文档化。

    5)这学期下来,你最感谢的人是谁?有什么话想要对TA说呢?

    我很感谢董钧昊同学,在我忙于其他实践的时候,能够帮助我实现软件的相应功能和完成有一些我该完成的事情。


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

    • 萌芽阶段:这一阶段大概对应着我们从组队开始到冲刺时的情况,在这个阶段队员们都在学习相关的技术,虽然自己曾经用CRNN实现过对商店名的识别,对项目实现可能碰到的问题还没有一个非常清晰的认识。

    • 磨合阶段:这一阶段对应我们团队现场编程及之后的两次alpha编程,团队现场编程将我们团队当时存在的问题暴露了出来,这也是组内成员提出疑问最多的一个阶段,不过很庆幸团队成员直接能够相互理解,对项目的疑问也能通过当面交流指定解决方法,从而度过了团队的磨合阶段。

    • 规范阶段:从第六次alpha冲刺开始,我认为我们团队进入了规范阶段,我们在这时已经完成了项目的接口文档撰写、代码规范的约定、版本控制规则的制订,与此同时大家对项目所期望达成的目标有了清楚的认识,对自己负责的部分应该达成怎样的效果也了然于心。

    • 创造阶段:我们的团队在beta冲刺阶段一定程度上触及了创造阶段,在beta阶段我们相比alpha阶段添加了4个全新的功能点,每个队员在明确了自己的任务后项目便开始了“并行开发”。

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

    1)研发出符合用户需求的软件

    由于服务器受限(贵的服务器买不起,差的服务器算法跑不了,所以只能把服务器搭在本地),所以没有什么用户,也不知道符不符合。但是我们几个用着挺开心的。

    2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件

    我们团队有使用燃尽图记录团队所需完成的任务和已完成的任务。

    使用Github上传代码



    成果展示


    3)并且通过数据展现软件是可以维护和继续发展的

    很可惜这个似乎我们组并没有考虑到这一点。

    4)对着这个检查表:http://xinz.cnblogs.com/p/3852177.html 检查一下,自己如果去企业面试,这些常见的问题是否都能回答,并在此总结。

    这些问题大体都回答不上来,关于技术问题,由于自己没有哪门技术是非常深入系统学习过的,所有会的语言还都是简单入门,要做东西时还得边查阅资料边做,以后去面试前应该还要再系统学习下所要从事的方向。


    七、个性发挥,包括图文、照片和创意等

    我爱柯老师(破音)!献上柯老师最爱的水饺!

  • 相关阅读:
    python3.5+flask+mysql
    Python魔法师
    Redis
    Socket
    Python线程
    Python全栈之路--Django ORM详解
    基本算法
    Python_Select解析
    如何做好一名DBA【转】
    解决MySQL忘记root密码
  • 原文地址:https://www.cnblogs.com/leolkx/p/10251576.html
Copyright © 2020-2023  润新知