如何做好软件架构设计
自己前段时间花了近两个月的时间,设计一个智能设备远程原理的系统,以前并没有设计过这样大的系统。在设计的时候,还是磕磕绊绊的。好的一点最终是完成了这个系统的设计工作。
下面我就对这次的软件架构设计做一个总结。欢迎大家一起讨论。
一、明确需求
做架构的第一步就是搞清楚需求,需求就是整个软件系统的目标,也是软件系统存在的意义,要是失去了需求,那么开发出来的只能是一个玩具软件系统。
需求一般指的是用户提出来的功能性需求,其实要做的好的话,还要考虑非功能需求,比如安全、性能需求。
在明确需求的时候一定要和用户、上级沟通清楚,确定好明确的需求,以免系统设计好并且开发好后出现大量修改的风险。
这一层次还会考验设计者对于行业知识的储备和理解。
二、考虑清楚使用哪种架构模式
需求明确了之后,就要考虑设计与实现了。首先从较高抽象层次进行考虑,这一层次是比较容易理解,也是非常贴合需求的层次,
在这一层次,要考虑清楚整体的架构模式到底采用分层、微内核、多模块等比较宏观的设计结构。
这一层次将决定具体实现的骨架。
三、依据采用的架构模式拆分需求到各个服务或各个模块
由于我采用的是微服务+分层架构,所以这儿就会把整体需求拆分到各个服务中。我在拆分的时候是按照需求中的概念进行拆分的,比如有很多的功能是和智能设备相关的,就会拆解出来一个设备管理服务。还有一些功能是和用户相关的,比如登录、注销、权限等,那么就会拆分出来一个用户管理服务。以此类推,会将整个大的需求拆分到各个服务中进行实现。
上