工业软件核心框架的搭建需要注意些什么?

准备用C++写一个EDA软件,已经做了一些调研,但感觉很难成体系。
各位有没有参考资料、建议或者案例可供参考学习?

==========
问题改为:如何成为一名优秀的工业软件软件架构师?

这个话题太大了,都不知道怎么说了

其实问题可以改成:如何成为一名优秀的软件架构师?

同问。
目前在开发 TCAD 工具,写出玩具项目来验证算法靠自己可以,但是写出一个基本功能较完善的可以给别人用的工具需要考虑的东西好多,肯定需要多人协同,但多人协同起来应该是一个什么样的模式我目前还不是很了解,想找些资料来学习。
有阅读过一些 EDA 和 TCAD 的源码,各个模块都封装得很漂亮,顶层的架构设计感觉真的非常重要,但不知道应该从哪里学 :fearful:

蹲一个大神来讲解一下