软件架构分解

什么是软件架构

如果期望有一个权威统一的标准定义,那答案是没有,目前存在多种软件架构的定义,可以说百花齐放,百家争鸣。其中 IEEE1471-2000 的定义是这样的:系统的架构是系统组件的基本组织形式,它们之间的关系以及和环境之间的关系,以及指导其设计和演化的原则。该定义中的系统组件可以理解为架构元素,根据涉及到的系统范围和层次,架构元素可以是子系统、模块、类等等。从架构设计的动态角度出发,我们可以这样来定义软件架构:通过一系列架构决策,将系统分解为一些架构元素,并定义这些元素之间的接口和交互关系、集成机制。架构决策就是在架构设计过程中做出的一系列全局的决定和权衡取舍,例如将系统拆分成几个子系统、子系统的职责是什么、子系统之间的接口是什么、采用什么通讯方式和集成机制、采用的开发语言和技术框架等。

猜你喜欢

转载自yinhu007.iteye.com/blog/1997161