系统设计经验总结
从事研发工作已有10几年,现把研发设计需要主要考虑的内容做个小结,供后续设计产品时能够参考。
- 极简原则:够用就好原则。设计世界上有两类人,一种喜欢把事情越做越复杂(别人有的功能我要全有,也许是个卖点,单不一定被多数人接受);一种喜欢追求极致(如:乔帮主),苹果产品持续有这么多的粉丝,持续购买,对于大部分用户来说外观精致,操作简捷容易上手。
- 商业成功原则:设计的好坏,最终其实只有一个,市场是否认可,能否带来收益;如设计时要结合商业模式和对应的目标群体进行思考;如面向学生群体的产品,设计时价格可能是比较重要的约束;如面向商务人士的产品,设计时可能更多的考虑商务场景;如定位是奢侈品,就需要研究下“土豪”们的需求和喜好。
- 全流程原则:设计时考虑研发,生产制造,研发,后期维护等环节,不能因为一个环节成本低,其他环节引入成本或工作量而选择;
- 系统化原则:不能单看一点节省了成本,如选择一个低成本的部件,需要软件和周边硬件配合,需要许多适配,后期也可能需要反复的维护。
- 重用原则:对于大的系统,模块重用非常也是需要考虑的,能否反复重用被多个模块调用可以极大的减少工作量,加快产品投入市场的速度。
- 设计时就需要考虑生命周期:生命周期多长。
- 如何退出市场;替代,回收等,对于已经结束的生命周期产品要主动管理,进行下线。
- 发布形式如何,出现问题是如何替换或者召回:硬件需要考虑是散件发货,整体发货等;软件考虑,各个部件的软件包是打包发布还是分开发布;
- 设计时需要可服务型:交付是否能快速部署,如考虑批量部署;出现问题时是否好维护,如支持自动升级,支持批量升级);
- 设计时考虑可维护性:出现问题是如何快速定位,能否一键收集所有必要的定位信息。
- 设计时考虑可制造性;是否好加工,加工的效率如何,是否会因为设计原因加工的良品率低等问题。
- 设计时考虑可测试性;是否可以自测试,是否易于进行自动化测试;
- 设计时考虑可靠性;如何减少故障,故障以后如何隔离减少影响;
- 标准化原则:使用经过业界认可的,标准化协议进行开发,如TCP/IP等。