知识卡片

PM Suite案例:复杂系统多"发布项"分别应用5视图

普通读书笔记卡

内容

优秀的多视图方法应该面向”岗位职责”,比较完善地覆盖架构设计的各项工作内容,把架构师岗位在细化架构设计环节的各项工作明确、有条理地划归到5个架构视图中——这样才利于软件企业HR管理体系中岗位设立和技能考核,而不只是理论上好看。PM Suite案例说明了一个容易被忽视的实践要点:对于包含多个”开发任务”的复杂系统,需要对每个”开发任务”分别进行必要视图的设计,而不能把整个系统当成单一的Application笼统对待。PM Suite规模较大,从物理架构视图看,它包含四个”发布项”:Web前端、后端系统、API(用于支持第三方系统调用PM Suite功能)、客户端(PM Suite的设计决策特殊,直接采用了微软Project客户端)。针对Web前端、后端、API这三个开发任务,都要单独考虑多视图设计:Web前端的开发架构技术选型决定采用JSP,辅以Struts、Ext等框架;后端系统的开发架构技术选型采用Java,辅以Spring等多种框架;API虽然同样采用Java语言开发,但选型Web Service框架,用来实现”API对Web Service访问方式的支持”这个特定需求。这个案例的价值在于展示了5视图方法在真实复杂系统里的粒度问题——如果只在”整个PM Suite系统”这个笼统层面套用5视图,很容易得出一份笼统而失焦的设计;只有把复杂系统先拆解成若干个”发布项”或”开发任务”,再对每一个分别应用5视图方法,才能让每个视图的设计真正落到具体、可执行的技术决策上(比如”这个开发任务用什么语言和框架”这种细粒度问题)。

参考来源

- 位置:《软件架构设计:程序员向架构师转型必备》第10章《细化架构设计》"10.4.1 PM Suite接下来的设计任务"节(源文件:_epub-src/OEBPS/text00013.html) - 结论依据:原文说明"对于包含多个'开发任务'的复杂系统,需要对每个'开发任务'进行必要视图的设计……PM Suite包含4个'发布项':Web前端、后端系统、API……客户端",并列出针对Web前端、后端系统、API三个开发任务各自不同的开发架构技术选型,直接支撑本卡片结论。 - 原始内容:由于PM Suite系统规模还是比较大的,它不是单一的一个Application……PM Suite包含4个"发布项":Web前端、后端系统、API、客户端……针对PM Suite的前端、后端、API这三个"开发任务",都考虑了多视图设计。