子系统划分及子系统的依赖关系随记

软件按业务领域或者功能领域划分为多个子系统;子系统与子系统间存在交互和依赖,同时还存在与周边其它软件的交互关系。

一:子系统的划分

大部分单机版软件就是一个子系统。C/S模式的软件先按Client,Server划分两大部分再考虑在各自内部进行细分,子系统之间可以通过网络通信,也可以通过文本的形式交换信息。一般来说可以简单的认为一个系统产生一个进程。

二:系统的边界

开发一个软件,除我们本身负责开发的子系统需要理清依赖关系外,往往还需要和外部系统打交道。或者是从外部系统获取数据或者是给外部系统下发命令。

外部系统一般为其它项目组或者其它部门人员开发,接口文档就是彼此系统对接的契约,确定和外部系统的接口为第一要务,此为理清系统的边界。

三:子系统依赖的形式

1) 数据依赖

一个系统输出的数据作为另一个子系统的输入,对数据进行二次加工。数据传输的方式可以是网络协议,文本文件数据库文件。数据可以单向传送也可以双向传送。

2)接口依赖

一个子系统暴露接口给其它子系统使用。这种依赖关系一般为单向依赖。

相关文章

适配器模式将一个类的接口转换成客户期望的另一个接口,使得原本接口不兼容的类可以相互合作。
策略模式定义了一系列算法族,并封装在类中,它们之间可以互相替换,此模式让算法的变化独立于使用算法...
设计模式讲的是如何编写可扩展、可维护、可读的高质量代码,它是针对软件开发中经常遇到的一些设计问题...
模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,使得子类可以在不改变算法结...
迭代器模式提供了一种方法,用于遍历集合对象中的元素,而又不暴露其内部的细节。
外观模式又叫门面模式,它提供了一个统一的(高层)接口,用来访问子系统中的一群接口,使得子系统更容...