西门子交换机一级供货商
事实上,这位人力资源经理并不是完全不思考的。她知道智力起一定作用。也许她已经阅读了这章所引用的一些文献。但她或许没有读到智力有益于获取知识,而不是预测已知的技能。智力不仅仅指智商(智商只是智力的一方面)。阅读科技文献时很容易遗失细节,这不会是次。软件工程里有这样一个传说:Royce在他的文章[70]中反对瀑布模型,但业界未能翻到下一页,在那里他说道,前一页的模型是不被推荐。这样一知半解的例子在从业者和研究者中一定还有很多。当在基于证据做出决定时,请先更全面地了解你的证据。
让我们回到本章开始提出的三个问题。个问题有关是否可以定义怎样是的软件开发人员。对于软件开发的某些任务(例如,编程),我们可能很快就会得出一个定义。对于其他任务(例如,软件工作量估算),则很难定义。你也许会反对说,一个的工作量估算者不就是以正确的信心指数准确可靠地做出估算吗。但在这之前,请记住我们这一章所赋予个问题的意义远远不止于此。定义一个出色表现者意味着把任务和任务所需的技能定义到如下的程度:新手怎样才能成为专家,专家怎样才能成为更好的专家。
对第二个问题的回答与个问题类似。对于某些任务,我们能度量技能和任务难度,但对其他任务我们还不能这么说。请注意,我们需要有效的方法来确定一定程度的技能,即:无需观察很长一段时间的表现。因此,这包括预测未来的表现。
逐步进化的。软件工程研究遵循科学方法,但由于其特性,真实实验并不总是可行而有效的。
在我看来,软件工程研究是一门实验室科学,而且是一门内容广泛的大学科。实验室的规模之大,使得我们必须使用更具探索性的方法来进行研究。只通过分析是无法理解这门学科的。唯有通过在软件工程的实践中研究各种关系的产生和变化,以及各种技术的限制,我们才能知道如何通过配置流程优化软件开发。
同时我们需要利用一切实践机会探索各种理念,比如对可行性进行测试,看看人们是否可以应用这些理念,理解应用它们所需要的技术,并测试它们与其他概念的相互关系。基于这些信息,我们可以调整研究环境中每一个理念,使人们可以在实践中轻松使用。甚至在建立模型之前,我们就需要在实践中试用我们的理念并且改良它们。那么,什么是个性?平时我们总是能谈到个性。“她有着成为律师的完美个性”或“他的个性真的有问题”。的的策略来解决它,那我们认为这个任务是稳定的。而不稳定的任务,则是用不同的方法来解决的。当确,一位大型软件开发公司的人事经理曾表示,如果有机会试用一种科学验证过的测试来度量编程能力的话,预测编程职员工的编程技能,你想要用尽可能少的时间。因此,测试任务需要比在正常工作中遇到的任务小很多。快的程序员,学习是通过反思实践完成的,但一旦她有了程序员,她不希望他们反思,因此她不希望他们学习。我把这称为不思考的、被时间所困的人事经理的悖论。
浔之漫智控技术(上海)有限公司(w)
是中国西门子的合作伙伴,公司主要从事工业自动化产品的集成,销售和维修,是全国的自动化设备公司。
公司坐落于中国城市上海市,我们真诚的希望在器件的销售和工程项目承接、系统开发上能和贵司开展多方面合作。
以下是我司主要代理西门子产品,欢迎您来电来函咨询,我们将为您提供优惠的价格及快捷细致的服务!
你是否信任Knuth的研究的执行?换句话说,Knuth有没有严格按照自己描述的方法来执行实验,以及如果他没有的话,这些偏差又会对研究结果造成什么影响?Knuth使用了日记研究法,这种方法在常用于调查人在长时间内的经历和感受,而无需直接对其进行观察。要想用好日记研究法,有一个关键点就是不能告诉参与者你的实验想要找出什么结果,以免这些暗示让他们产生偏见,影响了他们写什么和如何写。但是在这份研究中,Knuth既是研究员,又是参与者。他希望能得到什么样的结果?是不是在写日记之前他在脑海中就已经分好了类?他是在TeX的开发过程中为这些错误分类,还是在TeX开发完成后来回顾分类的?Knuth并没有在研究报告中介绍这些细节,但是这些细节却可能大大地改变我们对研究结果的解读。
日记研究也有其局限性。比如说,这种研究有可能会造成海森堡式的问题,即观察的流程可能会强迫写日记的人不断地对记下来的问题进行反省,以至于后连记录的性质也变了。这意味着由于Knuth一直在记录各种错误,他可能会认真地思考造成这些错误的原因,后有意识地避免了各种
错误,后就无法观察到所有结果。此外,日记研究还有一个难题,就是参与者很难长时间地坚持。比如说,Knuth有段时间曾暂停了他的实验,说道:“我没有记录实证研究,即使用广为认可并且经过验证的方法以证明某种断言真实性的正式研究方法,正逐渐在软件工程中取得进展。令人欣慰的是,人们终于承认了实证研究在软件工程科学中的重要地位。我们也在科学文献中看到越来越多的实证研究和相关实验,它们能够证明或者否定某些方法、技术和工具的有效性。软件工程与其他学科有几点不同之处。首先软件是人类智力与创造力的产物,而不是机械地“制造”出来的。软件开发的流程也不同于制造的流程。换而言之,软件流程并不是一种简单的重复劳动。这是该学科不同于其他学科的关键之处,也极大地影响了我们对它的解读。我们时时刻刻都需要关注环境变量所带来的影响。由于软件工程是基于“人”的学科,所以研究的结果总会有差异,我们也无法控制甚至不能确认所有的环境变量。所以在探索如何为人们修改和调整流程的过程中,我们需要不断进行实验。我相信我们有必要关注非正式的探索性研究,并从中得到关于软件开发的指导意见。在适当的时候,将这些意见与正式的实证研究相结合来验证我们的理论,这些理论会加入整个理论体系并终使软件工程更加明了。所以我认为软件工程学科的研究是探索并