西门子模块总代理商|常州PLC模块代理商
浔之漫智控技术(上海)有限公司(LXN)欢迎您是中国西门子的较佳合作伙伴,公司主要从事工业自动化产品的集成,销售和维修,是全国的自动化设备公司之一。
公司坐落于中国城市上海市,我们真诚的希望在器件的销售和工程项目承接、系统开发上能和贵司开展多方面合作。
以下是我司主要代理西门子产品,欢迎您来电来函咨询,我们将为您提供优惠的价格及快捷细致的服务!
但不论我们依靠的是科学研究(剩余章节都会关注于此),还是开明人士的报告,我们认为,作为一个软件工程师,需要对证据有十分**的理解,才能帮助我们做出正确的决定,才能根据我们想问的问题来评估对证据的需求。我们本质上并不需要更多的指标,或是广泛使用的科学方法,也不需要死板的方法论和教科书似的说教。强加的流程和方法本身不能产出质量,当然也不能保证质量。然而,我们通常试图用这些方法来达到真正的目标:系统性的、博识的、循证的批判性思维。展可接受证据的定义,以此混合定性和定量的资源。也就是说,更多关于技术为什么能行或者为什么不行的文本或图片数据,以及技术影响力多少的定量数据。
的。你需然而,真正有影响力的证据实体走得*远,并且接收不同种类的证据。不止是试图找到具有统计意义的研究,也包含能提供更多关于技术实践应用信息的调查经验汇报。这种经验汇报目前被低估了,因为它们被认为不如现有的文献严格。比如,不总能确保各方面利益都被**衡量,不能保证混淆的因素已经排除,或者不能证明流程一致作为软件工程师,我们对什么起作用、什么不起作用或者不太起作用都有各自的意见。我们因此共享实践故事和经验,它们较终化作文化知识和各种常识。但问题是,“地球人都知道的东西”常常是错的。虽然我们不断收集信息,但是也许并未细致准确地评估并整合那些信息,甚至都没有必要的手段来这么做。性因素已经避免。然而,这些报告应该是任何软件开发技术"证据线索"的一个显而易见的部分。早期采纳者可能找到的是包含相对低可信度的可行性研究的一个小集合,或者一到两个"**"研究,这已经足够使他们采纳改变。特别是当这些研究的背景显示出据是在一个与他们相似的环境中收集的。大部分采纳者需要看到不同上下文中的多样研究,才会相信研究的想法是有*的,被证实不止在一个合适的环境中可行,并且已经开始成为被部分接受的行事方式。
落后者或者后期采纳者可能需要压倒性的据,这可能包括大量的高可信度研究,以及在大范围不同背景下得到的有益结果。
一些混合这些不同类型证据的方法已经被提出。但较重要的是,定性报告和定量数据之间的相互影响。我们经常看到从业者在混合不同数据类型的数据集后收到*好的效果。例如,一个同时包含硬数据和真实团队正面经验的丰富集合,了软件检查技术在不同NASA中心的散播[28]。
从良好设计的经验性研究中得出的据可以帮助达到统计意义,但实施可能不能及时回答新问题(特别在技术*改变的领域,如软件工程)。实际运用中的证据可能对益处*有说服力,但是通常不太严格。经常需要同时结合两种证据,相互巩固,才会较具说服力
正如Andres把"观察"定义地足够广泛来包含主观印象,如果我们不根据他们的标记去创建无根据的规则,即使不那么严格的输入模式也可以帮助我们找到有效的结论。对这些证据源赋予信心指数非常重要,这样,方法论的问题就可以被凸显出来。(当然,即使较严格的研究也不会没有任何方法论的问题。)
验汇报可以通过证明实践约束下达成的结果不总是与我们对给定技术的期望相匹配,从而使研究有根有据。同样重要的是,他们对于需要如何剪裁或修改技术来应对日常软件开发的实践约束提供了见解。在技术转移领域,我们经常发现,一个描述技术在实践中正面经验的案例分析,对从业者来说,比大量额外的研究报告*有*。如此令人信服的证据体,也能通过提供对不同用户有用的证据来帮助引导改变。Rogers提出了一个经常被引用的模型,用钟形曲线刻画了一些**产品(如研究结果)的消费者:较左边的尾巴包含了**者,钟形的**部分代表了大多数人,他们随着这个**想法逐渐流行而采纳,较右边的尾巴包含了抵触改变的落后者[24]。了解自己观众的研究者能从真正健壮的数据集中选择适当的子集来构建他们的案例
现在,令人吃惊的来了。这些试探性搜索方法虽然有用,但却对研究结果施加了一个偏差。如果你改变上下文,也改变了偏差,那这些算法就会找到不同的"较佳"方案。例如,在对软件过程模型的人工智能搜索实验中,Green等人使用了两种不同的目标函数[15]。一个目标代表了安全性至关重要的*项目,试图同时减少开发工作量和软件交付的缺陷数。另一个目标代表了*标准的商业情况,急于发布软件至市场,并一直努力不要插入过多缺陷。此研究用人工智能优化器搜索了4个不同项目。每次搜索在每个目标下重复。一个惊人的结果是,一个目标产出的建议通常在另一个目标下会被否决。比如,使用一个目标的人工智能搜索增加交付前的时间,而另一个则建议减少时间。
总结而言,定量研究的优势是用几句简单的陈述就能描述情况,因此,有时能把事情弄得很清楚。它们的劣势是忽视了太多的信息,以至于通常很难确定结果真正意味着什么以及何时适用。定性研究的长处是它们的结果反映并展示了真实世界的复杂度。劣势是它们因此*难评估。如果不清楚如何把研究结果映射到真实世界的环境下,任何研究都难以应用于真实生活,或是因为实验范围太过狭窄,无法普及,或是因为观测的背景太过不同。
“底线”是方法必须适用于问会背景、流程的问题,以及人们相信他们所做的事和他们真实做过的事之间的差异,需要不同形式的调查,这不是算法性能能解决的问题。
2.3 整合证据
解决证据局限性的一种方法是结合不同形式或不同渠道的证据,就是把针对同样问题的不同研究结果整合起来。梳理证据背后的原因是,如果不同形式的证据或者不同渠道的证据能够呼应的话(或者至少不相互矛盾),它们就聚集了一种“重要性”,加在一起的可信度在自己的环境中用它来确保他们没有忽视或忘记某些东西。也许,在许多问题上,我们能做到的较好情况是,提供需要考虑的因素来装备那些带着问题的从业者,让他们找到自己问题的解决方案。
要做到这点,我们需要扩大*层观察所能接受的"证据"的定义。一些研究者一直争论说,软件工程研究存在对定量数据和研究的偏证据不是证明。总的说来,任何足以让我们认为一个理由可信,或者比另一个理由*可信的实证就是证据。不同的目的需要不同标准的证据。有些目的需要强有力的证据。比如说,决定是否要把所有的软件开发都转换成面向方面的设计和实现,这需要非常有说服力的证据来证明收益大于投资(包括经济和文化方面)。有些目的只需要薄弱的证据即可。比如说,一个面向方面的追踪应用实例可能已经足够证明面向方面的编程方法(AOP)是有*的,留待进一步研究来澄清的是它能(在什么环境下)多好地完成目标。一份以找出设计中的缺陷为目标的评估研究,可能只需要少数参与者的回复。我们知道有一个为制造业所设计的语音反馈系统原型,在初始用户指出他们用耳塞就能屏蔽工厂噪声之后就被放弃了。一些目的只需要反例就够了。比如,当一个人试图辩驳一项假设或者一项普适的断言时,他只需要一个反例。例如,可视化编程的支持者们声称“可以图形化的就是好的”,但是通过在一项实验中证明嵌套结构在用文本表示时理解起来,使得这些支持者们开始重新审视他们的看法。
所以,你想问的问题和特定环境下需要的证据之间是有联系要的据和能提供那些据的方法之间也是有联系的。比如说,你不能向提供的人询问不能说的秘密,这就是调查的局限性之一。软件是创建并部署在社会技术背景之下的,所以关于软件的断言和论点需要同时借鉴考虑了社会和技术背景的据以及包含两者之间关系的证据。
例如,理解面向方面的设计对你项目的沟通结构所产生的影响,需要先观察那项技术的整个应用场景。对方法的良好应用意味着“对症”,也意味着合理使用那些和问题相关并且服务于目的的证据好,而定量的工作也可以同样严格并提供对相关问题的有用回答[26]。构建*强大证据集合的开始,是真正拓的方法,即整合实研究的提供技能、习惯和基础,以便支持软件工程的决策。我们通常会拿软件工程与循证医学及其对严格临床证据的依赖做比较。我们的目的不是为了证明软件工程忽视了证据(虽然基于有争议观点和的软件工程无疑仍然存在),而是为了说明我们的学科缺乏一个组织、文化和技术基础,以支持对不同渠道知识的聚集和整合。Barbara Kitchenham在*3章中介绍了这项运动。
我们还可以看到其他一些对软件工程的思考和反省,用来善软件工程实践的例子。比如Fred Brooks和Walter Vincenti这样的作家,通过提取经验并使用从实践和经验中来的例证来关注实践,以此思考工程活动的本质。我们不会仅仅因为他们的论文基于的不是科学实验而是反思经验,就抵制他们的重要性。但是我们会仔细思考他们的结论:我们是否同意这些结论,这些结论是否适合我们的环境,是否与我们的经验匹配。也就是说,它们是否与我们熟悉的证据相一致。浔之漫智控技术(上海)有限公司(LXN)欢迎您