软件的体系结构与软件的发布策略之间是否存在什么联系?粗看之下,好像联系不是很紧密。
软件的体系架构是关于软件设计的,而发布策略几乎是一种市场策略。然而从另一个侧面
看,软件的体系架构与软件的发布策略存在很大的关系,而且从某种意义上来说,软件的
体系架构的成败可以决定软件发布策略的成败。
软件体系结构的一个非常重要的目标是使软件更易于扩展和维护。软件发布策略的一个非
常重要的目标是如何使用有限的模块组合来满足不同层面的需求。
虽然模块化一直是传统软件的一个要素,但是由于支撑技术手段的相对落后,各个模块之
间存在非常紧密的耦合关系,模块与模块之间往往是存在交叉调用,因此模块化和组件化
通讯的松散耦合一直是软件体系结构和实现技术的努力的一个重要方向。模块化和组件化
通讯的松散耦合也使得软件发布策略的成功有了更大的可能。值得一提的是当前软件工厂
技术也用于支持软件的发布策略的实现。
以PDM系统为例,PDM系统全名是PRODUCT DATA MANAGEMENT,也就是产品数据管理系统,传
统的PDM系统包含七大研究领域:
1。文档管理子系统:管理企业的图纸等电子介质
2。零部件管理子系统:管理零部件及其结构
3。产品模型管理子系统:管理产品模型的构建
4。产品配置管理子系统:根据产品模型来配置出不同的产品,包括三维可视化配置。
5。项目管理子系统:产品研发项目的管理
6。变更管理子系统:为产品的变更设计提供平台支持
7。流程管理子系统:模拟企业业务流程,通过流程引擎来支撑企业的日常设计任务和其他
任务。
PDM系统在中国经过一段时间的市场培育以后,现在市场变得日益火爆,按黑话说是蛋糕做
大了,成为了相当多的制造企业信息化的首选应用系统。
然而中国的企业信息化才刚刚起步,虽然企业对PDM系统有一定的认识,但是迫于财力和企
业的IT建设基础的约束可能会采用分步骤分阶段来实施PDM系统。我们可以做一个假定,一
个企业目前需要一个文档管理系统,而不准备使用PDM其他的模块,软件实施的周期为一个
月,软件的费用在10W元左右,那么在软件的发布策略中我们必须有一条,就是可以提供一
个PDM的最小集合来支持文档管理系统,也就是说文档管理子系统必须能够作为一个单独的
系统来运行,如果在设计体系机构的时候没有考虑到这一层那么在软件发布的时候势必会给
公司带来困扰。通常如果体系结构没有设计得很好,那么一个必然的动作就是在发布的时候
对软件动刀子,盖盖子,就是将一些功能通过一定的方式隐藏起来,而实际上有可能发布给
用户的是一个全功能集合的PDM系统。
现在非常流行的分层体系结构是存在很大的缺陷的,因为它只是一个系统横向的分割,而缺
少一个纵向的分割。有的时候纵向的可分割性比横向的可分割性更为重要。
------------------------
UI层
------------------------
逻辑层
------------------------
数据层
------------------------
(传统的分层体系))
文档管理 | 零部件管理
------------------------ | ------------------------
UI层 | UI层
------------------------ | ------------------------
逻辑层 | 逻辑层
------------------------ | ------------------------
数据层 | 数据层
------------------------ | ------------------------
(一个更为理想的分层体系))
如果您的体系结构设计能够支持如上图所示的分割,我想这才可以说是一个比较成功的体系
结构。
以上仅是我的一点思考,请大家指教。