• 软件工程


      在我没有上这门课时,我对“软件工程”四个字的概念只是模糊的以为是软件编程。而现在这门课结束了,对软件工程这门学科有了清晰的认识。

          在我看来,软件工程与其说是一门课程,不如说是一门思想。是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程,成为了一个综合的一个能够解决问题的思想集合。

          这门课的特别之处在于比其他门课多了“助教”,有书本《构建之法》的作者团队为我们担任助教,给予我们交流。作者邹欣是微软亚洲互联网工程院首席研发总监,使我们在大学里提前体验社会思想,由助教们帮我们批改作业,提出问题,这是个非常好的学习方法。

          其实开发软件,就像是解决一个逻辑问题。想想自己平时是怎样写程序的。首先是要有一个想法,即我写的这个程序是要干什么的。然后就是对要实现的核心功能大概构思一种或多种实现方法,并从中选出一种自认为是较好的;接下来就是将涉及的各种主要或次要功能分成各个模块;最后就是分模块来编码。在我看来,除了第一步外,其余的步骤应该是一个循环的过程。

          我们还学习了详细设计的方法,其原则是过程描述是否易于理解、复审和维护,进而过程描述能够自然地转换成代码,并保证详细设计与代码完全一致。包括程序流程图、N-S图、PAD图、HIPO图等等。

          最后两个月的任务是团队任务,自由组合来进行团队分工,这也是很好的团队训练,因为等到了公司,软件类工作肯定不是一个人完成的,需要提前去适应团队开发,已经在团队开发中所需要注意的问题。例如编码过程中,如果有多个人编码,如何去保证最后能成功的合并多个人的代码而不出错,这就需要团队之间定义好代码的规范性。而且团队间合作还有一个积极性问题,队友在你慵懒时候还能起到相互督促作用,而使得整个项目往更高水平去开发。

      软件工程课程虽已结束,但我对于软件工程的学习才刚刚开始。我体会到项目管理的重要性,随着软件规模、复杂度的不断增加,项目开发中更多的是协作、管理和控制。我学习到很多一般性的方法,例如:需求获取、模块化、计划等等。

      在这里感谢我的冯老师的虚心教导,老师在我有困难的时候细心为我指导,给了我很大的帮助。感谢助教老师们给的指导和建议,谢谢你们!

  • 相关阅读:
    吴恩达老师机器学习课程学习--课时十二
    吴恩达老师机器学习课程学习--课时十一
    SpringBoot @Transactional声明事务无效问题
    java_UML:继承/泛化、实现、依赖、关联、聚合、组合的联系与区别
    Java并发编程之异步Future机制的原理和实现
    Java两种动态代理JDK动态代理和CGLIB动态代理
    Java中InvocationHandler接口中第一个参数proxy详解
    响应式编程系列(一):什么是响应式编程?reactor入门
    HttpClient 专题
    七层协议和四层协议
  • 原文地址:https://www.cnblogs.com/SaltWu/p/5586947.html
Copyright © 2020-2023  润新知