查看: 1753|回复: 4

【转】漫谈华为硬件开发结

[复制链接]

该用户从未签到

发表于 2015-10-22 14:14:03 | 显示全部楼层 |阅读模式
分享到:
今天下午发完样件到上海以后,自己有了自己的时间索性就专门看了一个专辑漫谈“华为是怎样开发硬件的”,作者朱晓明,然而对于自己来说既然从他的这一系列文章汲取了一些知识点的话,那么肯定要总结出来回馈互联网,不然有悖于自己的初衷,而接下来就从当中的一些的顺序开始讲起当中的一个心得与感触。
漫谈“华为是怎样开发硬件的”——之一
   首先映入眼帘的是当中的datasheet这个字眼,而自己在这个时刻能够想到的就是有关于以前在互联网上看到过一篇文章讲诉的一个观点就是datasheet对于我们硬件工程师来说尤为的重要,因为我们在网上能够找到的资料少之又少,而datasheet又是能够知道这个芯片的唯一的用法以及更为详细的结晶的设计这个芯片的芯片工程师的结晶,而那个提到的观点与我以前自己在脑海之中的观点不谋而合。
   接下来的一点就是有关于文档评审设计当面的思路,当我看完他的这个时候,想想自己的公司走着这个程序却也是很庆幸,但是接下来的就是一个问题就是如果是这样的话必定会有一个缺陷就是容易把工作给细分,以至于我们的知识面很小,而这一点是我自己不允许自己那样做的,尽自己可能的学到自己所学习到的一切知识。
漫谈“华为是怎样开发硬件的”——之二
   印象最为深刻的就是有关于提出了一个很具有先见之明的“归一化”思想,比如那当中的种类的归一化,比如那当中的器件归一化(尤其是那电阻的精度归一化),比如那当中的单板归一化,尤其是在这个地方给予自己一个思路就是有关于那当中平台化,当初进入公司的时候领导层一直叫嚣着平台化,一直搞不懂是啥意思?而现在对于自己也算是理解了当中的皮毛,平台化;如果有不同的硬件平台的架构雷同,功能类似,那么机框也可以归一化,只需要制作不同的的电路功能模块,就可以实现不同功能的需求,就好比自己正在加入的通用358项目就是如此,从一开始就给你硬件工程师一个指标,那就是开始就做好平台化,即使你们这些人以后离职,但是公司依旧会减小研发时间与成本来提高效率,而不会又来从新走一次。
漫谈“华为是怎样开发硬件的”——之三
   那么这里面又会回归一个本质,那就是电路设计这个课题,但是做电子设计的都会离不开这个相互伴随自己终生的课题,而在这个地方自己不太愿意自己浅陋的总结,只得摘抄当中的文字了。


漫谈“华为是怎样开发硬件的”——之四
    然而现在又会有一个思维映入自己的脑海之中就是有关于当中的规范化,但是在这里面有着一种思路那就是当中的规范化一定要满足在平台化的基础上。当然了在这个地方我更愿意推荐大家看这份资料“电子元器件选型规范-实用经典”,里面包含了一系列有关于选型方面的资料汇聚。
漫谈“华为是怎样开发硬件的”——之五
终于到了我为之震惊的话题,那就是有关于我称之为“白板文化”,里面提到的这点让我重新回到了以前那种当实习老师的那段岁月,还真是这样,你有多高的水平在白板当中就能知道你的水平有多高,同时也是在为你梳理脉络的同时,也在锻炼一个人全方位的一种素质,当然我只能在借助于当中的一些观点写写自己的随感,但是有关于提高自己的方面,我想这方面是自己今后努力的一个方面,里面朱晓明也给出了一些建议,我觉得很好,所以就以图片的形式给摘录下来了。

漫谈“华为是怎样开发硬件的”——之六
问题来了,你公司咋解决就成了一个问题了,而现在来回想起华为关于这点来说有关于形式方面就是自己为之一个比较好的经验,里面的攻关组,列会,日报,总结等方面都是我们需要加以借助于自己公司方面的地方。

漫谈“华为是怎样开发硬件的”——之七
   当中给我印象最深的就是罗伯特议事规则,百度解释为;
六部曲:
      1.动议:
        动议即是“行动的建议”,先想怎么做,再决定做不做。
      2.附议
        只要有一个人附议则该议题就进入议程,从而达到保护少数人声音的目的。
      3.陈述议题
        先解决当下最紧要的议题,避免“然后”之类的事情。
      4.辩论
        四大铁律:
            a. 文明表达:禁止人身攻击,质疑动机,扣帽子,贴标签。
            b. 一时一件:不跑题。
            c. 限时限次:不超时,禁止一言堂,比如设定每人只能发言n次,每次m分钟。
            d. 发言完整:不得打断别人的正常发言。
         面向主持人规则:参与者之间不能直接辩论,只能对主持人发言。
      5.表决
          为保持与会者发现的自由性,领导最好最后表态。在做表决时,如果议题是针对   人,建议投票时使用无记名方式;如果是针对事,建议举手表决。
      6.过半数的定义:
           赞成数 / (赞成数 + 反对数)> 0.5 (不考虑弃权数和缺席数,假如计入分母则表达了反对)
      宣布结果
   当然了还有公司正在实行的那个CMMI制度,对于自己来说都是一个很好的研究课程,也许当中有缺陷,但是这个都不要仅,毕竟这个当中有改善的空间。
“华为是怎样研发的之”8——兄弟文化
   对于这点来说自己很是感同身受,毕竟每天都在一起都是要为一个目标共同的努力,而咋样做才能有个好的氛围,兄弟文化最好不过了,毕竟看看刘备的集团就知道了。
“华为是怎样研发的之”9——测试

这边得到话华为公司把这一方面的测试文化看的这么重,如果既然是这样的话肯定是有其中的原因所在,那么对于我们硬件来说首先先搞清楚测试是啥又包含几种测试都是我们需要考虑的地方,以下内容来自百度知道;
1、按是否查看程序内部结构分为:
(1)黑盒测试(black-box testing):只关心输入和输出的结果
(2)白盒测试(white-box testing):去研究里面的源代码和程序结构
2、按是否运行程序分为:
(1)静态测试(static testing):是指不实际运行被测软件,而只是静态地检查程序代码、界面或文档可能存在的错误的过程。
静态测试包括:
对于代码测试,主要是测试代码是否符合相应的标准和规范。
对于界面测试,主要测试软件的实际界面与需求中的说明是否相符。
对于文档测试,主要测试用户手册和需求说明是否真正符合用户的实际需求。
(5)动态测试(dynamic testing),是指实际运行被测程序,输入相应的测试数据,检查输出结果和预期结果是否相符的过程
3、按阶段划分:
(1)单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。
桩模块(stud)是指模拟被测模块所调用的模块,驱动模块(driver)是指模拟被测模块的上级模块,驱动模块用来接收测试数据,启动被测模块并输出结果。
(2)集成测试(integration testing),是单元测试的下一阶段,是指将通过测试的单元模块组装成系统或子系统,再进行测试,重点测试不同模块的接口部门。
集成测试就是用来检查各个单元模块结合到一起能否协同配合,正常运行。
(3)系统测试(system testing),指的是将整个软件系统看做一个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。
系统测试的主要依据是《系统需求规格说明书》文档。
(4)验收测试(acceptance testing),指的是在系统测试的后期,以用户测试为主,或有测试人员等质量保障人员共同参与的测试,它也是软件正式交给用户使用的最后一道工序。
验收测试又分为a测试和beta测试,其中a测试指的是由用户、 测试人员、开发人员等共同参与的内部测试,而beta测试指的是内测后的公测,即完全交给最终用户测试。
4、黑盒测试分为功能测试和性能测试:
1)功能测试(function testing),是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。
包括逻辑功能测试(logic function testing)
界面测试(UI testing)UI=User Interface
易用性测试(usability testing):是指从软件使用的合理性和方便性等角度对软件系统进行检查,来发现软件中不方便用户使用的地方。
兼容性测试(compatibility testing):包括硬件兼容性测试和软件兼容性测试
2)性能测试(performance testing)
软件的性能主要有时间性能和空间性能两种
时间性能:主要指软件的一个具体事务的响应时间(respond time)。
空间性能:主要指软件运行时所消耗的系统资源。
软件性能测试分为:
一般性能测试:指的是让被测系统在正常的软硬件环境下运行,不向其施加任何压力的性能测试。
稳定性测试也叫可靠性测试(reliability testing):是指连续运行被测系统检查系统运行时的稳定程度。
负载测试(load testing):是指让被测系统在其能忍受的压力的极限范围之内连续运行,来测试系统的稳定性。
压力测试(stress testing):是指持续不断的给被测系统增加压力,直到将被测系统压垮为止,用来测试系统所能承受的最大压力。(Validate the system or software can allowed the biggest stress.)
5、其他测试类型:
回归测试(regression testing)是指对软件的新的版本测试时,重复执行上一个版本测试时的用例。(When a new build or release is deployed, repeat all the test cases which has executed in the last build or release.)
冒烟测试(smoke testing),是指在对一个新版本进行大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。(validate the major function is deployed or not in software of system when a new build or release is implement.)
随机测试(random testing),是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。(means or all the test data is random, to validate the some edge bugs.)
漫谈“华为是怎样开发硬件的”——之十
   对于这部分我想说的是当中的采购这张图片;


回复

使用道具 举报

该用户从未签到

发表于 2015-10-27 10:21:02 | 显示全部楼层
黑色铝箔单面胶T=0.05
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /5 下一条



手机版|小黑屋|与非网

GMT+8, 2024-12-19 18:20 , Processed in 0.176278 second(s), 26 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.