《高层分割》
“架构=模块+接口”的做法,其不足可概括为两点。
第一,忽视了多视图。“模块+接口”仅是逻辑架构设计视图的核心内容,而软件系统的架构设计还可能涉及开发视图、运行视图、物理视图、数据视图等多方面的考虑。
第二,忽略了概念架构设计。对规模稍大的系统而言,都必须先根据重大风险(包含功能方面、质量方面、约束方面),有针对性地制定包括“高层分割”在内的设计决策,然后才是“模块+接口”一级的设计。
高层分割的两种实践套路:(一步到位还是两步到位)
a) 切系统为系统
b) 切系统为子系统
“切系统为系统”是一种缩略的说法,具体是指:系统比较复杂,须要进行两级高层切分。这样做的现实意义是巨大的。例如,面临比较复杂的软件系统,很多企业都有“这个项目要设几个架构师”的困惑。
在实践中,当面临如下两种情况时你须要考虑“切系统为系统”:
当系统覆盖的功能范围比较广泛时。
例如,BOSS系统涉及的需求范围广泛一涵盖网络管理、 服务开通、计费、客户关系管理等,于是依“切系统为系统”的做法分为网管系统、服务受理系统、计费系统、客户关系管理系统等。
当系统须要 部署在比较复杂的硬件环境中时。
很多城市基础服务行业、大型机构、大型企业,都很重视“一卡通”的应用。例如,若一卡通系统要无缝地支持HR管理、出入控制、后勤保障等方面的功能,就必须充分考虑复杂的硬件环境给架构带来的冲击一一硬 件的种类涉及考勤机、通道机、闸机、自助查询机、PC机、服务器等,于是应当合理规划组成整个一卡通系统的嵌入式应用、桌面应用及Web应用等。
切系统为子系统,这忠做法相当经典。在实践中,最常见的方式就是分层。
本文来自博客园,作者:哈利波特甜,转载请注明原文链接:https://www.cnblogs.com/zmh-980509/p/13100227.html