软件产品分层

作者: pig250 | 来源:发表于2019-02-21 14:59 被阅读9次

一、产品分层的必要性

解决产品共性与个性的矛盾:标准产品统一的要求与行业、客户个性化的要求的矛盾;

解决产品扩展问题:将标准产品进行行业特色的扩展,进一步进行客户个性化的扩展;

利于重用:每层共性的东西抽象后放到下一层,服务于上层;

利于解耦:层次清晰,层间松耦合,产品可扩展性和可维护性高;

利于形成不同的解决方案,满足不可客户需求:在标准产品的基础上组合行业和客户层的功能;

利于行业产品向通用产品的转型:从众多的行业产品中抽象出共性的部分,将其下沉,逐渐丰富标准产品。

二、产品分层维度

1、产品的逻辑分层

1)分层原则

抽象原则:凡是本层共有的特性,应该抽象到下一层,能抽象的尽量抽象。

标准化原则:能标准化的尽量标准化,标准层的东西越多,说明产品化程度越高,系统越好维护。

增量原则:为了便于维护,每一层只保存本层特性的增量部分,不重复下一层的内容,以避免升级导致的重复修改。

低耦合原则:层间依赖关系是简单的接口依赖关系、不允许依赖实现逻辑;单向的依赖关系,且只允许上层依赖下层。

向下沉淀原则: 随着产品的发展完善,每一层具有共性的特性应该进行抽象、逐层下沉。

2)分层模型

由底层到高层:

支撑层->标准层->行业层->客户层->自定义层

支撑层:由所有业务模块的共性抽象而来,适用于所有业务模块的特性放在这一层,这一层也是模型的最低层,技术框架、公共组件和通用服务。

标准层:由所有行业功能的共性抽象而来,适用于所有行业的功能特性放在这一层,各产品模块的标准功能都属于这一层,这些标准功能是适用于所有行业和所有客户的。

行业层:仅适用于特定行业的功能特性放在这一层,各产品模块的行业功能特性属于这一层,这些功能体现了行业特色,且适用于该行业的所有客户的。

客户层:仅适用于特定客户的功能放在这一层,各产品模块中针对特定客户的功能特性属于这一层,这些功能是这些客户特有的,不适用于其他客户。

自定义层:为客户定制的功能或者实施地定义的功能属于自定义层,这一层不属于产品的范围,模型中出现此层仅为说明自定义部分与产品部分的界限。

每一层都是本层特性的集合,是基于下一层特性的新增、修改或屏蔽。

2、产品的结构分层

1)分层原则

MVC原则:模型-视图-控制器的模式构建程序。

接口实现分离原则:接口与实现分开为不同的工程项目。

DAO原则:单独的工程项目作为数据访问的载体。

2)分层模型

由底层到高层:service->dao->impl->web

3、产品的数据分层

1)分层原则

空间分离原则:客制化需求数据存储空间与GRIS数据存储空间分离。

用户分离原则:不同数据存储空间的访问用户独立创建。

权限分离原则:数据库管理权限与数据库操作权限分离,限制数据库用户越权使用和部分跨层操作。

业务领域(数据主题)部署划分原则:业务领域支持分用户分库,实现产品按数据主题解耦部署。

单向依赖原则:支撑层、产品标准层、行业层、客户层、自定义层等(层次自下而上)数据实体单向的依赖关系,且只允许上层依赖下层。产品各层内各业务领域间关系实体只能归属到一个业务领域,并实现单向的依赖。

2)分层模型

由底层到高层

平台支撑层->产品标准层->行业行业/客户层->定制层->开放交互层

平台支撑层:技术平台与业务平台的数据。

产品标准层:对应于“逻辑分层”中的标准层内容的数据。

行业行业/客户层:对应于“逻辑分层”中的行业层和客户层的数据。

定制层:对应于“逻辑分层”中的自定义层的数据。

开放交互层:用于与外界交互的数据

相关文章

  • 软件产品分层

    一、产品分层的必要性 解决产品共性与个性的矛盾:标准产品统一的要求与行业、客户个性化的要求的矛盾; 解决产品扩展问...

  • 「模板」软件项目实施计划书

    一、项目实施方案概述 软件产品,特别是行业解决方案软件产品不同于一般的商品,用户购买软件产品之后,不能立即进行使用...

  • 产品日常二三事

    产品需求分析 定制化软件产品与标准化软件产品的不同指出在于对定制化对象的需求的沟通及理解。众多时候定制化软件产品的...

  • 10.软件中的不疯魔不成活

    概述 这里只是简单的对比一下现在软件产品服务行业中的情况。所谓的软件产品服务行业就是以软件产品为基础为客户提供各种...

  • 测试基础知识总结

    一 软件产品质量模型 软件产品质量模型,将一个软件产品需要满足的质量划分为六大属性,每类属性又细化分了很多“子属性...

  • 浅析在校教育班课的出路

    一、教育分层,做公立校不敢做之事;更精确的分层,更低廉的分层成本(教务方向)1、现在培训机构的分层是被动分层,培训...

  • 2020-03-23计算机网络体系结构与参考模型

    一 分层结构 ①分层的原因 ②如何分层 ③分层结构 ④概念总结 二 OSI参考模型 ①OSI的产生 ②OSI的结构...

  • 社会分层

    社会分层正在形成,体现在教育分层,收入分层,思维认知的分层。 教育分层:应试教育,穷人的教育形式;素质教育,中产阶...

  • 2021-10-26

    分层教学 分层作业 分层辅导 分层交流 分层谈心 怒不如忍,忍不如恕,恕不如爱 让孩子找到一个在学校生存下去的理由...

  • 一款软件包含

    能见到的软件产品: 各种需要的文档 软件产品 知道但摸不着的软件使用地支撑: 推广 销售 维护

网友评论

    本文标题:软件产品分层

    本文链接:https://www.haomeiwen.com/subject/rbtxyqtx.html