zoukankan      html  css  js  c++  java
  • 现代软件工程 第一章 概论 第4题——邓琨

    Edsger Dijkstra 曾经提到:“Software engineering, of course,presents itself as another worthy cause,but that is eyewash: if you carefully read its literature and analyse what its devotees actually do,you will discover that software engineering has accepted as its charter ‘How to program if you cannot.’”[i]

    软件工程是不是教那些不怎么会写程序的人开发软件? 你怎么看? 请采访一个编程特别厉害的学生 (例如学校ACM 队的队员)。

         

    我赞同dijkstra的看法。会一两种编程语言,会写贪吃蛇游戏,会写网站网页,这并不叫会写程序,只能说是管中窥豹,略见一斑。而软件工程是从宏观和微观两个角度教一个人怎么写程序。一是教怎么使用程序语言,怎么设计算法,怎么通过使用语句的组合构成一个可运行的程序;另一方面是怎么进行软件架构,怎么使用设计模式,怎么进行测试,怎么进行运行维护,怎么开发出一个健壮、安全、完善、可靠的软件或系统,它包含多个方面的软件开发技术。

      在学校里有的同学算法和数据结构很擅长,例如参加ACM竞赛的同学,他们的编程能力比一般同学强上很多。但是在大型软件系统开发的过程中,他们开发的代码常常没有可读性,并且代码冗余、复杂、各种bug很多并且修改困难,这是没有系统的软件工程思想的结果。软件工程就是解决上诉问题的一个重要的思想,就是教会不会写程序的人开发软件,教会会写程序的人更好地开发软件。

  • 相关阅读:
    pointer-like classes, 关于智能指针
    non-explicite-one-argumen-constructor
    车道标线分割与分类
    matlab变量更新
    matlab求余
    MATLAB中图像的读取与显示
    提取文件一部分内容
    NetCore3.1 使用 mongoDb 存储日志,提升查询效率
    C#代码实现阿里云消息服务MNS消息监听
    盘点这些年我出的书,以及由此得到的收获
  • 原文地址:https://www.cnblogs.com/vrfighter/p/5861946.html
Copyright © 2011-2022 走看看