美文网首页
子系统划分的误区

子系统划分的误区

作者: elef | 来源:发表于2018-07-23 15:01 被阅读29次

对于习惯结构化程序设计的朋友来说,分析设计一个软件的起点是从子系统的划分开始的。而划分的依据一般都是以用户部门或业务进行划分。比如财务子系统、人力资源管理子系统等。但是上面的这些划分均是按用户业务划分的。计算机软件是为了解决现实问题而设计的,现实世界和计算机系统之间并不是相等的关系。因此这种按用户业务划分的方法,对计算机系统来说并没有什么意义。不仅无法有效指导设计和开发,还容易导致系统依赖关系的混乱。
我们现在做的是计算机系统,子系统是针对计算机而言的。划分出来的子系统一定要有利于软件的设计和开发,而不是一味的迎合业务或用户习惯。
业务子系统和计算机子系统是两回事。计算机子系统用来描述一个软件的内部构成,对象依赖问题是主要的划分依据。而业务子系统只是软件的展现形式。用户看到的子系统只是由ui展现出来的样子,软件内部不一定是按照这个划分的。用户所谓的子系统只是软件展现出来的样子。从面向对象的观点来看,软件内部应当维持最佳的对象结构,然后通过接口向外部展现外部所需要的样子。
按用户业务划分子系统最容易导致的问题是数据依赖问题。强制按用户业务或部门、组织划分子系统,可能会导致多个子系统之间的对象依赖。更合理的方式是在划分时将耦合度或聚合度较高的类组织成子系统,沿着弱耦合的边界将类分开,使得每个子系统具有内聚度更高的职责。面向对象要解决的问题是复用、扩展和抽象。这些问题的解决都要建立在高内聚、低耦合的对象基础之上,而只有保持了子系统间的低耦合性才能保证我们拥有独立开发子系统、独立修改和扩展以及独立部署子系统的能力。

摘自:https://blog.csdn.net/ithzhang/article/details/51732088

相关文章

  • 子系统划分的误区

    对于习惯结构化程序设计的朋友来说,分析设计一个软件的起点是从子系统的划分开始的。而划分的依据一般都是以用户部门或业...

  • JavaWeb应用开发框架实例

    一、 概述 Web 应用架构可以划分为两大子系统:前端子系统和后台子系统。 前端子系统: 1. 基础技术: Htm...

  • 子系统划分原则

    一,把系统划分为一些模块,其中每个模块的功能简单,明确,内容简明易懂,任务清楚明确,以便易于修改。二、每个模块要比...

  • 软件工程2018-09-29笔记

    复习 新课内容 模块化 子系统 子系统划分规则 界面设计 数据库设计

  • 软件体系结构笔记:分层模式

    分层架构是常用的架构模式,对于一个大系统可以划分为几个子系统,各子系统位于不同的抽象层次。各层间上层依赖下层服务,...

  • 服务层架构思路

    服务层是业务处理中心,按重要程度的不同可以划分为核心服务、普通服务,按功能划分为不同的子系统或者模块。 服务粒度选...

  • 分布式服务子系统的划分

    一、服务化的目标 1、将系统中独立的业务模块抽取出来,按业务独立性进行垂直划分,抽象出基础服务层。 ...

  • Urho3D 1.7.1 源代码分析(一)

    1. 概述 Urho3D依据功能划分成若干子系统,如: Graphics 包装与显示编程的接口(OpenGL或者D...

  • 第五章 实时技术之流式技术架构

    流式计算框架的开源方案非常多,整体的机构相似,只是实现实时的方式存在差异,按照子系统功能划分,分为数据采集...

  • windows子系统wsl备份还原系统

    停止需要还原的子系统 导出子系统到文件 删除子系统 还原子系统 参考:wsl --help

网友评论

      本文标题:子系统划分的误区

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