• 提问回顾以及个人总结


    软工提问回顾以及个人总结

    项目 内容
    这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健)
    这个作业的要求在哪里 提问回顾与个人总结
    我在这个课程的目标是 体验软件工程上完整的流程,学习开发知识,培养开发能力,实现个人素质的提升
    这个作业在那个具体方面帮我实现目标 回顾开始提出的问题并尝试做出解答,同时总结本次课程的收获
    作业正文 正文如下

    一、第一次作业链接

    第一次博客作业

    二、问题解答

    • 问题一:教材2.1.2 单元测试是否只能由本人编写?

      不一定。在我本学期的软工项目中,单元测试通过的是小组成员之间的互相检查和设计(当然在最开始是需要自己先做出一定的检查),来保证我们不会因为自己的代码逻辑结构的固化思维导致测试覆盖面不全。

    • 问题二:教材4.5.2 关于结对编程,根据书中描述的结对编程的模式,两人共用一台电脑,这就无法避免在编程过程中一次只有一个人在使用电脑,这并不是一个分工合作的形式,而是两个人对项目的每一个部分都一起完成,这样做真的会有效率上的提升吗?

      在结对编程模式下,一对程序员肩并肩、平等地、互补地进行开发工作。他们并 排坐在一台电脑前,面对同一个显示器,使用同一个键盘、同一个鼠标一起工 作。他们一起分析,一起设计,一起写测试用例,一起编码,一起做单元测试, 一起做集成测试,一起写文档等。

      只从本学期的结对工程经验上来说,我们小对的开发效率肯定是慢于其他小组的,因为这相当于我们两个人同样花费了时间但是只完成了一个人的工作量,进度较慢,我更认为结对编程对于代码能力持平的人来说会互相拖累进度,而代码能力差距过大的人来说似乎也不是很有必要,这似乎是提高了投入而降低了产出的一种编程模式。

    • 问题三:教材9.5 关于PM

      PM是站在用户和程序员,程序员和程序员之间的桥梁,因此不止需要专业的代码知识,还需要拥有沟通管理分配交流等能力,用于市场调查需求分析计划制定等。若是这些功能其中在少数人身上,那么会不会导致产品项目会带有较强的个人倾向?若是有一个较大的PM团队承担的话是否又会在PM内部出现新的争执和妥协?

      本学期的课程中项目小组规模较小,PM决策时大部分都是征求大家的意见统一投票得出,因此没有出现带有个人倾向而非团队意志的决策出现。

    • 问题四:教材11.5.5 关于bug修复,bug修复是否应该时刻跟进?

      在本学期的经验中,bug修复应该是按照划分的功能进行检测和修复,积累到最后修复和完成一个小细节检测一次都是不可取的,应该要以功能为单位进行。在检测修复完单个功能的bug之后,还要针对不同功能之间的耦合性质进行检测修复。

    • 问题五:教材17.6 关于软件设计过程中的一些伦理问题

    三、新问题

    • 问题一:在开发过程中,假如你现在负责的模块功能在网络上已经有了一个优质的demo,比起自己实现要好得多,此时直接使用这个demo是应该的嘛?还是要在理解了demo实现原理之后自己复现一个呢?
    • 问题二:转会制度在课程中似乎会给转会的同学增加新的学习压力,评分是是否应该考虑到这一点呢?

    四、软工过程中学到的知识点

    • 需求:需求分析是一项重要的工作,仅根据个人的主观判断是不够的,需要的是更多的收集他人的反馈来获得的最真实的需求。还需要找出核心的需求是什么,开放的重点应该放在核心需求上。
    • 设计:进行设计时不需要划分到太细节,但是一定要把控好总体的大纲,留出小的细节变动空间,以便后续开发过程中随时进行调整。
    • 实现:实现过程中定期开展例会,每次例会确认好下一次例会前需要完成的任务,由PM分配给团队成员,这样根据issue的开发过程更加动态,可以随时进行调整,每次实现的功能规模也控制较小,一个功能不会有很长的开发周期,能够大大提高开发的效率。
    • 测试:仅靠开发人员和单元测试的检查是不够的,需要的还有真实用户在使用过程中进行的测试,这样的反馈其实覆盖面更广,也更加贴合用户的使用习惯。
    • 发布:发布软件不止需要高质量的代码,宣传和平台也是必不可少的,只要在代码质量有保证的前提下进行合适的宣传,才能达到不错的发布效果。
    • 维护:维护阶段需要时刻了解用户的需求和意见反馈,及时做出产品的调整,才能增加用户的粘性。

    五、个人理解与心得

    本学期的软件工程是当之无愧的第一重课,在上面花费的时间远超其他课程花费的时间,这类型的课程形式确实和之前的课程有很大的不同,需要我们长时间的保持一个固定的开发习惯,每天都要有新的任务进展,贴近实际的职场工作。罗杰老师的课程的特殊点就是博客作业,我们需要面对相当多的博客任务,每次一个小阶段都有大量的过程记录和反思总结,这也是很贴近实际工作的一点,在开发过程中撰写的文档是我们进行回顾反思的重要资源,是每一次开发经历留下的宝贵经验,在完成中觉得痛苦繁琐,但是在结束之后看到这些留下的痕迹却很有一种满足感。

    一学期的软件工程的训练让同学们真的学习到了很多东西,有了相当大的收获,这一点毋庸置疑。能够坚持到项目的结束对每个人来说都是很自豪的体验,感谢课程组提供如此优质的学习机会,感谢老师助教的用心付出。

  • 相关阅读:
    MFC中获取系统当前时间
    我的定时关机程序(MFC实现) .
    编写一个闹钟和定时关机工具(MFC VS2010)
    Spark-SQL之DataFrame操作
    RDD操作
    Scala之Object (apply) dycopy
    Intellij IDEA 快捷键整理(dyCopy)
    python第三方包的windows安装文件exe格式
    pythong 中的 __call__
    触发器学习笔记(:new,:old用法)
  • 原文地址:https://www.cnblogs.com/zhongwenhao/p/13112025.html
Copyright © 2020-2023  润新知