数据库设计——系统边界图
系统边界的定义
系统边界,即系统包含的功能与系统不包含的功能之间的界限。一般在系统分析阶段定义,只有明确了系统边界,才能继续进行下面的分析、设计等工作。
不论这个系统是产品还是项目。所谓边界,也就是将这个系统看成一个黑盒子,和外界的交互。
“这,是一个黑色的立方体,长45厘米,宽23厘米,高3厘米,盒子的每个角都不尖锐,上方平坦,并有柔软质感;下方在四角之处都有凹进去的螺丝口,可以接杆子,以作凳子用。”
不清楚系统边界的后果:一是没有内外的概念,不知道需求描述的是什么;二是知道内外,然而对于边界的定义,没有足够的词语描述清楚,只能用对系统内部设计来代替。
系统边界的确定
先说说系统边界的确定。这是在工程开发中紧接着需求分析的第二步。
顾名思意,这个过程就是要确定我们要开发的系统和外部环境之间的界限,也就是要区分系统本身和它的外部环境。其中的外部环境可能包括用户,其它系统,软硬件条件等。
举个例子,一个银行系统,它的系统边界如何确定呢?
首先,银行系统的外部活动者有储户,前台出纳员,银行管理员,这些都不属于银行系统本身,他们是此系统的外部环境;
其次,银行系统是运行在操作系统上的软件,它在运行过程中可能要进行生成文件,获取时间等操作,这涉及到操作系统的API,所以操作系统对于银行系统来说是外部环境;
再次,银行系统要打印交易凭条,打印机对于系统来说是外部环境;
第四,银行系统可能与客户的工作单位的工资发放系统有交互,那么客户工作单位的工资发放系统也是外部环境。
而对于银行系统来说,使用此系统的银行的建筑格局,人员构成,所处地域等就不是此系统的外部环境。
确定了系统的边界有什么用呢?
系统边界一确定,我们就已经知道有哪些外部对象在与系统进行交互,于是我们就可以在系统中为该对象设计相应的接口,从而实现这些交互。
用上面的例子说,我们应该给储户,前台出纳,管理员设计不同的接口,还要给客户工作单位的工资发放系统设计接口,为打印机设计接口。
这些是我们需要关心的,如果这些外部环境改变了,我们可能要重新设计我们的接口。但不在系统边界上的因素我们就不用考虑,比如我们不必为银行建筑格局的改变而改变我们的系统接口,这是下水管道设计师应该关心的问题。
- 确定系统边界在项目开发中是非常重要的一步,如果系统边界确定得不好,会给接下来的分析设计和编码工作带来障碍,也会给系统的维护带来麻烦。
系统边界图的定义
系统边界图是系统工程和软件工程中的一种图形化工具,用于描述系统与外部世界之间的交互和界限。它展示了系统的组成部分以及这些组件如何与外部实体进行通信和交互。**系统边界图通常包括系统内部的各个组件、外部实体以及它们之间的通信路径和数据流动。**这种图形化的表示方式能够帮助开发人员和利益相关者更清晰地理解系统的结构和功能,有助于指导系统设计、开发和测试工作。
系统边界图的要素
一般来说,系统边界图包括以下几个要素:
- 系统组件:系统的各个组成部分,通常以方框或圆圈表示。这些组件可以是软件模块、硬件设备或其他实体。
- 外部实体:与系统进行交互的外部元素,比如用户、其他系统、设备等。外部实体通常用箭头表示与系统之间的交互。
- 界限:表示系统与外部实体之间的边界,标志着系统的范围和责任。
- 通信路径:描述系统组件之间以及系统与外部实体之间的通信路径,通常用箭头表示。
- 数据流:表示信息或数据在系统内部和外部实体之间的流动路径。
系统边界图的创建步骤
创建系统边界图的过程通常涉及以下步骤:
- 确定系统范围:明确系统的功能和边界,确定需要包含在系统边界图中的所有组件和外部实体。
- 识别组件和实体:识别系统内部的各个组件以及与系统交互的外部实体。
- 绘制边界:绘制系统边界,标明系统的范围。
- 连接组件和实体:使用箭头表示组件之间的通信路径,以及系统与外部实体之间的交互。
- 标注信息流:添加数据流以描述信息在系统内部和外部实体之间的传递路径。
- 验证和完善:检查系统边界图,确保它清晰地描述了系统的结构和交互,同时完善任何可能存在的遗漏或错误。
系统边界图的案例
copy from www.processon.com