西门子PLC模块CPU224XPCNDC/DC/DC
太明显。我们或许很快就能找到切实方法来识别个性(比如,遗传的或心理生理的)[69]。然而,个性理论近百年来的主要发展一直遵循着另一条路径。科学家们推断,我们所谓的基于人们日常行为和言论的“个性”之间存在差异。基于所述的行为和语言推论的研究路线已经建立了一些令人信服的人格模型。其中***的也许是“大五模型(了数据表。终端应为了表征环境,我们首先要建立分析基线。基线由很多变量组成,其中包括工作内容、我们对于封装实验结果的微妙性、重要性与复杂度的理解发展得很缓慢。我们在一开始记录了基线与模型。然的数据并不是一个对照试验甚至良好定义的案例研究的结果。即使我们什么也没有做,它们也许培训和学习影响的东西,因此可以受到人为操纵,比如说是可以改善的。
由固定特征来区分人是一种比较快捷、便宜、简单的方法;评估和发展人的技能却是一个比较漫长的过程。也许人类的天性就是根据一些模式来评价人,这就难怪,招聘行业会有一系列的测试来度量一个人的固定特征。
对于如何评价一个人,我们有着各种各样的意见。基于固定特征的招聘是不是会涉及歧也会发生。第三个问题涉及关注个人能力(例如,技能和个性)与关注辅助环境(例如,使用工具或者结对编程)的区别。雇用**的程序员是不够的,正如航空公司聘请**的飞行员也不足以减少空难发生的风险;还必须在环境中加入许多安全特性,并且需要与人合作的能力。
在人的专业技能与工具之间谋求**平衡并非易事。但如果不能定义专家,那么你可能没有机会来平衡任何东西。此外,如果你自认为知道怎样的人是**的程序员,但你的直觉却是错误的话,那么你的项目处境可能会很悲惨,除非有环境措施能够发现问题,并能对不可预见的紧急情况进行调整。于是Glass观点的可操作性依赖于能够可靠地从人群中找出聪明因为没有对照组。但我们有不同的看法,我们相信这是学习流程的结果。在我们不知道从何时开始,将要做什么,又会如何
的研究进行对照试验。
在SEL的。请注意,不断重新评估和完善这种言论已经是我们的一项工作,即使它们可能是基于实证的。知识永远不会是静态的,因此Glass的观点可能需要做一些改进。但是,先把这个问题放一放。我们现在感兴趣的是其所引发的三个问题,它们同时也自成一体。这些问题把软件开发作为一个整体,而不只有编程,因此更具有普遍意义。25年中,我们对软件改进有了深刻的了解。我们的学习流程也和软件开发改进本身一样,不断改进。我们把所学到的应用到流程,产品以及组织构架中。演变流程依赖于研究与实践的共生关系。这种关系需要双方面的耐心和理解,但是一旦成熟,就会带来收益。
我们在应用中学习,并适当地配合了各种预先实验设计,准实验,对照试验和案例研究,并得出了丰富的实践及理论结果,这样的结果是无法从单纯的正式试验中得到的。此外,这种大规模学习流程还促成了诸如GQM、QIP和经验工厂等多种技术和方法的评估和发后,我们认识并让人认识到从组织内部汲取的经验和获得的知识需要和项目开发组织拆分开来。典型的项目组织活动把一个问题分成简单的几份,解决方法的实施,设计与实现,验证与确认。目标是在成本之内按时完成项目。经验工厂的活动包括统一不同的解决方案,重新定义问题,一般化、形式化和整合经验。通过综合分析观察结果,用实验测试各种意见来完成。其目标是获取经验并为项目提供推荐意见。它的主要责任是评估、修改、封装经验以备重用。
经验工厂不能单纯基于小型的、已验
程等,从中得到启发,加之理性的判断,以此为基础建立经验工厂。
只有当我们知道如何从观察中学习,并且结合案例研究与对照试验的结果(实验结果比我们的看法更容易发表),我们才能继续应用、观察、学习这**程。我们也触及到现成构到目标明确的、可修改的技术包的重要性,比如通用代码组件或者可针对具体项目修改的技术。我们的实验结果需要在环境中使用,并且需要不断地根据我们的经验改变环境。技术转移包括一个新的组织构架、实验和循序渐进的文化改缺陷类型,甚至是随着时间的代码增长。这些变量向我们提供关于环境的见解,启发我们应该着重改进哪些方面,并且让我们更好地理解项目之间的相同与不同之处。我们使用实验范式来分析软件开发研究,即实验的设计、评估、反馈对于学习都至关重要。分析方法的变迁用一致性和支持工具的缺乏迫使我们不得不手动采集数据。我们与开发人员分享中间结果,以便他们提出反馈,修正错误的理解,并且提出更好的方法采集数据。随着时间的推移,我们使用GQM手动采集的数据越来越少,我们把数据采集直接嵌入到开发流程中,这样数据更加准确,开销更少,并且使我们能够评估流程的一致性。通过开发人员与实验工作人员的互动,我们获取了开发人员经验的详细信息,为局部需求和目标提供有效反馈。然后,通过普遍的信息反馈流程合并对照试验与案例研究,对特定方法技术提供更正规的分析。简而言之我们从事的是探索性研究,我们比很多科学都更多地依赖于方法和技巧的实证应用。在1976年,几乎没有关于软件工程的实证研究,而建立一个研究软件开发的实验室更是前所未有的。该实验室的建立提供们首先对新技术进行实验,以研究流程应用与相应产品特征之间的关系。这些技术的选择是基于我们在SEL中观察到的各类问题,同时以特定的目标为对象,比如*小化缺陷。为了识别需求中的
开发了一系列阅读技巧了一个良好的学习环境,在实验室中,人们设计并运用潜在的解决方案、检验其有效性、从中总结经验,从而优化员紧密交流,这是一个开发人员和管理人员组成的团队,他们性格各异,拥有不同的职责和目标。以上这些起初,我们试图使用已经存在的一些模型来帮助我们理解环境(比如雷利波曲线或是MTTF模型)。结果我们发现它们并不合适,要么因为它们的定义是服务于相对更大型的项目(以100KLOC为单位),要么就是使用它们的时间点并不符合我们的需要。所以我们开始用自己的数据设计适合于自身环境的模型。我们需要更好地理解和表征环境、项目、流程等,因为我们无法使用别人从其他环境中提取的模型特质使其成为进行实证研究的沃土。实验室各方面的平衡创造了一个理想的学习环境,大家通过彼此合作及反馈可以相互学习。
从1976年到2001年,我们在不断犯错中学到了很多。所犯下的错误包括:在全面认识环境之前就妄下断言;是数据主导,而非目标主导或是模型主导;用其他环境下得出的模型解释我们的环境。
学习的进化流程是渐进的而非跃进的。利用每次学习的经历,我们试图把学习到的知识运用到流程模型,产品与组织机构上。开始就是如此。随着对执行流程的观察,我们久而久之用所得到的知识改进了每个步骤之后*终形成了这个方法