架构师手册
办公室里,关于什么是软件架构,争论正酣。
程序员说,软件架构就要决定要编写哪些类,使用哪些现成框架(Framework)。
程序经理说,软件架构就是模块的划分和接口的定义。
系统分析员说,软件架构就是为业务领域对象的关键建模。
配置管理员说,软件架构就是开发出来的及编译后的软件到底是啥结构。
数据库工程师说,软件架构规定了持久化数据的结构,其他一切不过是对数据的操作而已。
部署工程师说,软件架构规定了软件部署到硬件的策略。
用户说,软件架构就是决定一个个功能子系统如何划分。
大家想了想说,这些架构视图好像我们都需要啊,软件架构师哭了。
上述争论可以总结为一句话:不同涉众看待软件架构的视角是不同的。
但是,实际工作中架构师的工作范围如此广泛,多视图方法能系统的涵盖吗?例如:
Layer
(逻辑层)Tier
(物理层)Schema
RDBMS
而选了文件方式)文件格式的定义Flash
)Flash
存储结构的定义答案是:贴近实践的多视图方法,应将各项工作涵盖其中。
Layer
(逻辑层)Tier
(物理层)Schema
RDBMS
而选了文件方式)文件格式的定义Flash
)Flash
存储结构的定义