软件工程实践总结&个人技术博客

Summary of Software Engineering Practice and Personal Technology Blog

作业基本信息

这个作业属于哪个课程 课程链接
这个作业的要求在哪里 软件工程实践总结&个人技术博客
这个作业的目标 回顾与总结实践历程
其他参考文献 《构建之法》、CSDN

第一部分:课程回顾与总结

寒假作业二要求你在快速阅读《构建之法》后,列出仍然不懂的5到10个问题。现在的你对这些问题有什么新的看法吗?

你是否在这门课中获得了成长呢?也许你有一些想要抒怀的地方,那么在这次总结中写下来吧。

  • 给自己的总结博客起一个有意义的标题。

    Summary of Software Engineering Practice and Personal Technology Blog

  • 给出以前提问题的博客链接

  • 请尝试对自己曾经提出的问题进行解答,并阐明,是如何通过看书,实践,或者讨论弄清楚的。

    1、3.2 软件工程师的思维误区

    ​ 之前的想法:将时间在分析和实践里面进行权衡和取舍,大的项目先勾勒出轮廓,在构建的同时再进行细节处理。还有一些疑问:但是这个权衡的“度”要怎么把握呢?

    ​ 现在经过了软工实践的历练,我发现还是要先做能做的事情,桥到船头自然直,柳暗花明又一村;在规划范围内,把能力范围内能做到的事情先做好,再去想其他的事情,不要吃着碗里看着锅里,做好手头的事情。

    2、5.2.10官僚模式

    ​ 我之前的想法是了解到了“官僚模式”的软件开发的弊端。承认其模式有之弊病之处,将次模式的优点最大化,因为此模式中存在领导,可将其监督职能发挥作用,提高效率。 现在经过了软工实践的历练,我发现这种情况是不应该出现在开发流程中的,在我们的开发中大家都是好兄弟,不太存在这样领导和被领导的情况,但是在其他组可能就有出现这些不太愉快的事情,希望此类事情越少越好。

    3、6.1敏捷的流程

    ​ 在此次软工开始时我的想法:“迅敏流程”是一系列价值观和方法论的集合。迅敏开发的原则有:1.尽早并持续的交付有价值的软件以满足顾客要求 2.欢迎需求的变化,并利用这种变化来提高用户竞争优势等等。坚守原则,交付有价值的软件以满足顾客要求,提高团队能力。

    ​ 我之前的观点是认为这是难以实现的,但是经过了需求报告和两次的冲刺,我发现我们尽量做到了 交付有价值的软件以满足顾客要求欢迎需求的变化,并利用这种变化来提高用户竞争优势 此次实践让我切身感受到了开发的流程,收获很大。

    4、8.7分而治之

    ​ 对于分而治之,我此前的想法是:1.保证所有子节点覆盖了全部父节点包含的内容。2.保证各个子节点不要相互覆盖。3.叶子节点要保证足够小,能在一个里程碑中完成。在通常的软件项目中,叶节点的成本最好不要超过两周。如果团队成员从常理出发,认为叶节点不宜再分下去,那就可以停止。4.从结果(Outcome)出发构建WBS,而不是从团队的活动(Action )出发。对于各模块负责人在开发过程中保持沟通,使用各种接口进行模块调用,或在开始的设计文档时就提出解决方法。

    ​ 现在当完成了软工实践的磨练,我发现这种分治的思想在实际的开发中是有运用的,我们在开发时就是分工进行开发,大家在开发过程中保持沟通,使用各种接口进行模块调用,或在开始的设计文档时就提出解决方法。

    5、12.2用户体验设计的步骤和目标

    ​ 在完成了软工实践后,我对用户体验设计的步骤和目标有了新的认识,对用户有了更多的了解,可以更好的站在他们的立场考虑问题了。

  • 是否原来的问题还不明白?如果有,请分析。

    第16章IT行业的创新

    Q:关于创新其实有许多有趣的话题可以谈:比如伟大的创新来自灵光一闪吗?2.人人都喜欢做创新?不一定,有时候创新者自己就不喜欢创新,希望自己的成果不要被颠覆 3.创新者一定是一马当先的吗?

    我的想法:创新分两种:1.持续性创新2.颠覆性创新。且在创新之前,要有很多的基础准备工作,知识的储备;对于好的想法要看用户已有的习惯。后来者分析了领先者的劣势,进行了改进,厚积薄发。当然还是要实践才能出真知,不可纸上谈兵。

    但是在这次的实践中其实我对这个问题的体会比较少,对真正的创新还不太有概念,希望以后能在体会体会。

  • 是否产生了新的问题?如果有,请提出。

    暂时没有

  • 软件工程这门学问有很多 “知识点”, 这门课强调 “做中学”——在实践中学习知识点。

    • 请问你在项目的需求/设计/实现/测试/发布阶段(一共5个阶段)中,每个阶段收获最大的知识或能力是什么?

    需求:当时刚刚开始软工实践的课程,对PSP表格的影响比较深刻,还有学会了怎么写《需求报告》

    设计:对原型设计的学习印象深刻,使用了墨刀和其他的原型工具进行设计和实现

    实现:结对编程的能力,这和独立开发真的差别非常的大,结对编程培养合作和组队编程的配合能力,收获很大,非常谢谢我给力的队友。

    测试:有进行黑盒、白盒测试,还有单元测试和性能测试,对VScode等编译器的测试使用插件进行了学习和其他知识的获取。

    发布:学到了对项目的持续跟进和完善,对用户的反映和需求做出及时的反馈和回复,提升产品质量

  • 结合自己在个人项目/结对编程/团队项目的经历,谈谈自己的理解或心得。

对于个人项目,在那次作业中给的时间很少,自己不会的东西多,我有非常大的压力。那时候的我不懂git和github,对这些都是自行学习的,还有PSP开发流程。后来代码开发完成之后,还有黑白盒测试和单元测试没有完成,加上之前没有了解过怎么做测试,所以又自学单元测试,模仿着做出来。最后还是因为代码考虑的问题不够细致,得分不是很高。但是这次我在短时间内自己学习了各种新的知识、工具,外加代码的编写。加深了对软工实践的体会。结对作业:是我第二次进行两个人组队编程,我的队友认真负责,善于沟通,碰到不会的难题也非常积极地去解决,是一个非常好的队友,和他合作非常愉快。和他相互交流沟通也是让我受益匪浅,我知道了一个产品的顺利开发是需要团队的一起努力的结果,宇哥是十分的棒,一有问题就及时沟通,节省了许许多多的时间,提高了开发的效率。这两次的结对作业下来,一起收获很多,合作很愉快!团队项目:软件工程实践,我对软件开发的流程有了更清晰的了解,我还学习了微信小程序的云开发,这对我未来的继续升学或者是就业都是具有非常大的帮助。阿尔法冲刺使我真正体会到了之前《构建之法》中所谓的团队开发,加深了对软工实践这门课程的认识。团队之间不能各自干各自的,每个人需要各司其职地做好自己的工作,独立而缺一不可。Beta阶段冲刺是紧张刺激的,在安排各自工作之后,大家都能够尽自己的一份力去完成这个任务,团队的合作也在这一周冲刺当中顺利地完成了。我觉得这个过程中,有给力的伙伴是十分关键的,规划每天的任务,明确了哪些技术知识,这大大节省了开发的时间,同时也让组内的讨论更加的高效;在其他层面上,各成员的积极配合是十分关键的,大家都有热情来做一件事情的时候是以一个组在行动,大家一起奋斗。之前,我不知道软件是怎么产生的,只知道要编程,但是这次软工实践让我体验到了同样重要的设计和分析阶段,我学习到软件开发的一套流程和掌握一到两个开发技术。我有许多地方需要向我们组的组长学习,他不仅技术过硬,具备组织能力,因为他我们组的开发非常顺利。

第二部分:个人技术总结

在第一次作业“准备篇”中你为自己制定了学习路线,现在学习了怎么样了?你在团队开发中是否担任了开发角色,你在开发中解决了哪些技术问题?获得了哪些技术进展?

Java全栈

这是我之前的技术路线,现在大约进行到第六阶段,我对ssm的框架有了初步的学习和了解,此外,我还在对线网图的连通算法上有进行学习。我在团队作业中有进行开发,承担的是设置额度的云函数编写部署、完成点赞模块的编写,以及点赞模块和其他模块的交互和其他优化工作。学会了微信小程序开发的云函数编写和云函数部署,收获很多。

请你从个人技术学习角度和团队开发技术角度中选择你最擅长的一个相关技术,进行分析描述并总结。

基于沙漏网络框架的视频生成算法

概述:在视频生成预测的方法中,传统的视频生成方法会出现复合误差的传递,生成严重拖影。使用基于沙漏网络框架的视频生成算法来进行人体姿态估计,利用神经图灵机对人体姿态进行预测,最后将姿态和背景结合生成视频,从而获得更精确的生成视频。应用于视频制作等领域中。

posted @ 2021-06-27 10:16  _ChangLee  阅读(115)  评论(7编辑  收藏  举报