现代软件工程 第一章 【概论】第4题——张功

第4题:

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.’”软件工程是不是教那些不怎么会写程序的人开发软件? 你怎么看?

首先我们简单翻译一下这句话:“当然软件工程定义自己为一个有价值的课程,但那就是在说大话:如果你仔细阅读过有关课程的文献和课程相关人员所写的分析,你就会发现它的目标是教会不会编程的人进行编程。”显然D神认为软件工程并不是一个十分有价值的课程,并且认为它的价值只在教那些不怎么会写程序的人开发软件。

我认为这句话只能说对了一部分。诚然,软件工程是有一部分在规范程序员编程行为,但这些编程人员是有一定的技术基础的,软件工程只是让程序员更加正确的使用自己所拥有的技术和知识,让使用者获得更加优良的用户体验。其实,我们可以将软件工程比喻为软件设计的行为规范及管理,这种规范及管理和维持一个公司正常运行的规章制度并没有什么太大的区别,都是可以让整个系统在运行时及时避免没有必要的困难,它有自身独特的价值。况且,一个不能编程的人来学习软件工程的相关知识来达到实现编程的目的,那才是一件浪费时间的事情。

时间: 2024-08-02 03:15:56

现代软件工程 第一章 【概论】第4题——张功的相关文章

现代软件工程 第一章 概论 第7题——张星星

综合多方面考虑,我认为,”中文编程”并不是一个”银弹”,并不能提高中国程序员的编程效率. 首先,中文编程指的是使用中文书写关键字,如类名.函数名.变量名.常量名等.对编程语言来说,语法关键字其实就是一个符号,和日常语言关系不大.不同的编程语言对应的关键字也不相同,所以中文编程对应的母语优势意义不大,记住几个外语关键字并不会降低开发效率. 另外,中文编程在输入上也没有优势,例如a = 1 和甲 等于 一:而且中文还存在编码问题,运行环境苛刻,使用中文编程要有一系列的支持,如windows中文api

现代软件工程 第一章 概论 第11-15题(白文俊)

11.Software,  Software Engineering 等名词的来源,请问 “软件” 和 “软件工程” 这些词汇是如何出现的 - 何时.何地.何人 在看过给的链接原文之后我得出这样的结论: ”software”即“软件”这一名词的使用最早是在1953年8月由Richard R. Carhart发表的一篇工程性的文章中,收录在Rand公司的研究备忘录中. “software engineering”即“软件工程”这一名词的使用最早是在阿波罗11登月计划由著名的女程序员Margaret

现代软件工程 第一章 概论 第9题——邓琨

我采访了一只开发了天津8890便民服务网站系统的团队. - 当时的项目有多少用户,给用户多少价值? 现在还有人用吗? 答:当时项目有近万用户,为天津市民提供便民服务平台,例如联系修理家电.水电气.咨询服务.中介.邮政服务等各种便民服务,集老百姓生活所需服务为一身,通过各种服务接口,统一为人们提供生生活服务.现在还有很多用户正在使用该系统,每天的访问量一直保持增长趋势. - 这个项目能否给我们团队继续开发,源代码/文档还有么? 答:这个项目可以进行二次开发,当时项目团队进行了缜密的版本控制管理与文

现代软件工程 第一章 概论 第1题——邓琨

题目要求: 第一步: 像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 “软件”, 分别满足下面的各种需求.下面这些需求都可以用命令行参数的形式来指定: a) 除了整数以外,还要支持真分数的四则运算. (例如:  1/6 + 1/8 = 7/24) b) 让程序能接受用户输入答案,并判定对错. 最后给出总共 对/错 的数量. c) 逐步扩展功能和可以支持的表达式类型,最后希望能支持下面类型的题目 (最多 10 个运算符,括号的数量不限制):         25 - 3 * 4 -

现代软件工程 第一章 概论 第4题——邓琨

我赞同dijkstra的看法.会一两种编程语言,会写贪吃蛇游戏,会写网站网页,这并不叫会写程序,只能说是管中窥豹,略见一斑.而软件工程是从宏观和微观两个角度教一个人怎么写程序.一是教怎么使用程序语言,怎么设计算法,怎么通过使用语句的组合构成一个可运行的程序:另一方面是怎么进行软件架构,怎么使用设计模式,怎么进行测试,怎么进行运行维护,怎么开发出一个健壮.安全.完善.可靠的软件或系统,它包含多个方面的软件开发技术. 在学校里有的同学算法和数据结构很擅长,例如参加ACM竞赛的同学,他们的编程能力比一

现代软件工程 第一章概论习题第1题 李艳薇

实现自动出题功能: 程序并没有实现全部要求,后续将会继续改进. 实现结果: 程序代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <time.h> using namespace std; #define N 100 bool createProblem(){ int i,op,x; char st[100]; int dt[1

现代软件工程第一章 第十五题--刘莞姝

15:请看TED 的演讲, 谈谈你对压力的看法,以及怎么和别人合作, 帮助别人,把压力转化为动力,在互相帮助的环境中成长. 我相信大多数人都不会喜欢跟压力相处,但是在这样的社会环境下,压力是无法避免的,因此我们要学会与压力相处.与压力相处,并不是说一定要把压力变为动力,压力可以是动力的一部分,但绝对不会是动力的来源.压力可以是你做一件事的催化剂,但是不能成为你开始做一件事的主要原因.所谓学会与压力相处,就是要在压力过大时,想办法排解它:不要让压力给你带来过重的思想负担:必要的时候让压力成为你的“

现代软件工程 第7~9章作业 第2题——张功

我们团队设计的四则运算软件的需求功能大概有如下内容: 1.注册功能:用户能够通过本系统进行注册账号. 2.登陆功能:用户能够通过本系统进行登陆账号. 3.查看及修改个人信息功能:用户能够通过本系统进行查看个人信息,如有需要可对其进行修改. 4.学习功能:用户能够通过本系统,进行基础运算的运算过程的学习或回顾. 5.自主出题功能:用户能够通过本系统给自己出题进行测试,系统将计算出答案,并与用户实际答案进行比对,获得测试结果. 6.测试功能:用户能够通过本系统进行四则运算测试,包括简单四则运算.混合

邹欣老师的《构建之法》第一章“概论”学习笔记与自我随笔

刚读完了邹欣老师的<构建之法>第一章“概论”,四个字形容:酣畅淋漓. 概论将自己的一些模糊的认识清晰化,用准确的文字描述了出来,填补了脑海里的一些灰色地带. 总结一下:概论通俗地阐述了编程.软件.计算机科学.软件工程的联系与区别,简单说,编程是一项具体动作,软件是供人使用的产品,具体有很多种类型,而计算机科学是偏向理论研究,软件工程就像其他工程学一样,是在一定条件下合理配置资源达到生产软件的目的. 本人作为一名从小对编程.软件.计算机感兴趣的Nerd,虽然大学专业与此无关,但刚毕业时签了一份软

软件工程第一章精读——刘天乐 20194597

第一章 概论 1.1软件=程序+软件工程 “程序=数据结构+算法”——c语言实现二叉树遍历算法 程序对用户的需求 程序对数据进行操作——静态.动态 软件的构建的过程——合理的软件架构(Software Architecture).软件设计与实现(Software Design,Implementation and Debug) 软件企业=软件+商业模式 1.2软件工程是什么 1.2.1软件的特殊性:复杂性.不可见性.易变性.服从性.非连续性 1.2.2软件工程与计算机科学的关系 (1)计算机科学