初步重构
- 对于机械设备,尤其是高度自动化的非标设备,应当具有架构的概念,首先基于初步设计,应当对完整流程进行分解。分解完成后,就会获得一个个子模块,这个时候,模块与模块间的耦合程度还是很高的,主要体现着时间(下游模块等待上游模块)和空间(机械结构的穿插和紧连接)的耦合上。
- 其次,根据各模块的职能进行功能搬运。比如有一个工序在A模块中,但是在B模块中使用的更加频繁,那么就应该想办法将其搬运到B模块中。在整理和内聚的过程中,模块与模块之间的边界会越来越清晰,最终可以清晰的观察到模块的对外服务与产出,到此接口初步形成了。
- 形成了模块接口之后,我们需要进一步判断接口的输入输出是否合理,是否存在无效输入,无效输出,耦合消费等问题。从而从下层视角回归上层视角,面向封装性&清晰度对完整的机械链路及接口进行优化。至此,可以说我们完成了第一代架构的初步建模。架构中的各模块升级为域(这个说法不太严谨),域和域之间通过接口相连,具有固定的输入与输出。
单元测试与集成测试
- 因为具有明确的输入与输出,所以单个域就可以完成功能自测,两个域通过接口连接后,也应当可以完成预期的输入与输出。从而通过逐步集成,最终完成整机的集成测试。
- 具备以上特质(可测试的域)的系统,本质上就具备了合作开发的能力。由机械首席架构师将域分发给次级架构师,次级架构师将更小的域分发给再下层,每个人只要负责自己的域,完成域的输入输出即可。无论是研发效率还是运营管理上都会有极大的改观。
架构升级
- 域抽象升级:在长期开发的过程中,通过经验积累会发现大量的重复设计域,或者相似度(通过适当转换便可以得到相同输入输出)极高的域,这时候就需要对这些域进行通用化设计,从而获得一系列的工具域。例如,只要是需要货物传输的场景,主要使用传输域即可,不再需要进行研发。通用化设计是一个非常复杂的过程,需要考虑到很多工程因素,但是其复用性和可迭代性会为研发带来极大的价值。
- 架构抽象升级:在架构的使用过程中,可能会发现有些域的价值不高,或者架构设计的过于繁琐,这时候就可以通过合理的优化进行剪裁或转换。同时如果不同系统的架构与架构之间相似度较高,还可以对架构进行通用化的抽象。同时,当A域输出和B域输入不相符,但是具有强相关的时候,架构师应当进行连接域(转换域)的设计。架构设计方面强烈推荐深入学习《设计模式》。
场景设想
- 一个通过以上方式发展的非标设计部门,可以做到以下场景。上午,和一家公司谈妥了一套系统,架构师根据需求完成架构设计,库房以域为单位进行发货。各域负责人进行域单元测试和集成测试。设备上线后,以域为单元进行检测和维护,出现故障即可及时修复。平时研发过程中,各域的负责人根据接口KPI进行研发升级,同时根据需求不断提升域的通用性。架构师则负责架构和连接域的设计和升级,各司其职,互不干扰。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!