这近一年的研发实习让我感觉到,三维光学测量领域几乎每一个计算机程序(不管是应用端还是网页端)都是软件开发人员根据第一性原理(First Principles)编写而成。
所谓第一性原理,就是当老板拍脑袋想做一件产品后,产品经理就去找销售收集市场需求、研究竞品功能,通过这些方式得到了《项目需求文档》。软件开发人员将项目需求文档拆分为《软件概要设计文档》后,得到了类似以下的解决方案:
(1)用户可以通过程序界面、网页浏览器来与应用程序进行交互,实现数据的收发;
(2)应用程序涉及到详细的业务逻辑,对于每一种可能出现的用户操作期刊都采取了相应的响应(类似专家系统知识库);
(3)对于程序涉及到的各项功能参数,需要与一款商用的数据库引擎交互(轻量级的如SQLite),从而记录每一位用户的的状态信息、系统配置灯。
大部分情况下,开发人员很难一次就正确完成所有的功能(通常经过了多个版本的迭代,感谢所有任劳任怨、坚守原则的测试人员),但在正式发版时一定能交付一款便于使用的软件。
我想,若是能将深度学习模型融入该领域,应该非常有趣!