子系统划分的误区
来源:互联网 发布:apache配置服务器 编辑:程序博客网 时间:2024/05/16 01:46
子系统划分的误区
对于习惯结构化程序设计的朋友来说,分析设计一个软件的起点是从子系统的划分开始的。而划分的依据一般都是以用户部门或业务进行划分。比如财务子系统、人力资源管理子系统等。但是上面的这些划分均是按用户业务划分的。计算机软件是为了解决现实问题而设计的,现实世界和计算机系统之间并不是相等的关系。因此这种按用户业务划分的方法,对计算机系统来说并没有什么意义。不仅无法有效指导设计和开发,还容易导致系统依赖关系的混乱。
我们现在做的是计算机系统,子系统是针对计算机而言的。划分出来的子系统一定要有利于软件的设计和开发,而不是一味的迎合业务或用户习惯。
业务子系统和计算机子系统是两回事。计算机子系统用来描述一个软件的内部构成,对象依赖问题是主要的划分依据。而业务子系统只是软件的展现形式。用户看到的子系统只是由ui展现出来的样子,软件内部不一定是按照这个划分的。用户所谓的子系统只是软件展现出来的样子。从面向对象的观点来看,软件内部应当维持最佳的对象结构,然后通过接口向外部展现外部所需要的样子。
按用户业务划分子系统最容易导致的问题是数据依赖问题。强制按用户业务或部门、组织划分子系统,可能会导致多个子系统之间的对象依赖。更合理的方式是在划分时将耦合度或聚合度较高的类组织成子系统,沿着弱耦合的边界将类分开,使得每个子系统具有内聚度更高的职责。面向对象要解决的问题是复用、扩展和抽象。这些问题的解决都要建立在高内聚、低耦合的对象基础之上,而只有保持了子系统间的低耦合性才能保证我们拥有独立开发子系统、独立修改和扩展以及独立部署子系统的能力。
1 0
- 子系统划分的误区
- 划分子系统的三种必用策略
- SCADA/EMS系统的子系统的划分
- 子系统划分及子系统的依赖关系随记
- 子系统与模块的划分原则
- Dubbo高级篇_06_Dubbo分布式服务子系统的划分
- 分布式架构学习之:019--分布式服务子系统的划分
- Dubbo之——分布式服务子系统的划分
- 实验证明在一片Norflash上划分两个TrueFFS分区的误区
- 鞋业erp系统主要子系统划分
- 敏捷开发产品管理系列之九:划分产品子系统
- 子系统设计和FishiGUI的子系统设计
- 建模的误区
- 学习.Net的误区
- auto_ptr的使用误区
- Linux教学的误区
- 建模的误区
- 软件测试的误区
- jui验证表单
- zookeeper 单机伪集群配置
- win7 中使用PLSQL Developer(不需安装oracle)
- Android 四大组件
- Ajax课件
- 子系统划分的误区
- 两台PC进行ROS通讯传输命令
- requestDisallowInterceptTouchEvent---1
- SELF
- Git差异比对
- 基于python的机器学习库
- 正确“回击”HR的压价套路!
- 关于java代码注释的codeTemplates
- halcon学习笔记——(1)HDevelop language(语法结构特点)