系统上下文图,是系统分析与设计中的重要工具,用于理解和展示系统与其外部环境交互关系。本文将从概念、应用场景、绘图教程等六个方面,全面介绍上下文图,帮助读者掌握这一实用技能。
系统上下文图(System Context Diagram),是一种将系统内部视为“黑盒子”,而专注于展示系统与外部实体交互关系的图表。它将系统直接相联系的外界所有交互能力与系统的抽象“黑盒子”相连,从而组成一个较为完整的流程。这种图表以简单、清晰的方式展示了系统的边界及其与外部环境的接口,是系统分析与设计的初步阶段不可或缺的工具。
系统上下文图包含三个关键元素。
产品:需要定义的项目、系统或实体。它用一个圆圈表示,圆圈内包含其控制范围内的所有内容(即工作角色和职责、流程)。 圆圈图 几乎是将主题作为整体的一部分进行呈现的标准。

外部实体或代理:在产品外部运作但以某种方式与产品互动的人员、系统和组织(即决策者、供应商、客户)。这些用正方形或长方形表示。

流线:用箭头表示,描绘代理之间的数据流动或外部实体与产品交互的具体方式。箭头通常伴随着文字,以显示正在交换的特定类型的数据或正在执行的操作。

软件系统设计:在软件开发的初期阶段,上下文图帮助开发团队明确系统的范围、边界及其与外部系统的交互关系,为后续的详细设计和开发奠定基础。

业务流程审查:在即将进行的项目发现阶段,上下文图可以概述业务系统与其他系统的关系,确保系统和流程与业务需求相一致。
资源管理:团队可以使用上下文图表更好地了解他们的预算应如何支配,并了解业务不同领域需要的资源。

问题结构化分析:在需求分析阶段,常采用上下文图对问题进行结构化分析,确定问题的位置和边界,以及机器领域与问题领域之间的连接关系。
定义与概述
系统上下文图:提供了系统的概览,是数据流图中的最高级别表示。它主要关注外部实体与系统的交互,只包含一个代表整个系统的进程或程序。有时也被称为0级数据流图。
数据流图:通过信息系统的数据“流”的图形表示,详细描述了系统中数据的流动、处理和存储情况。它可以用于数据处理结构化设计的可视化,并包含多个级别的细节。
内容与结构
系统上下文图:只包含一个过程(以系统名称命名),显示所有外部实体和主要数据流,不含任何数据存储。它提供了一个高级别的视图,便于理解系统与外部实体的交互关系。
数据流图:包含多个过程、数据存储和外部实体,以及它们之间的详细数据流。它提供了更深入的细节,描述了系统内部的数据处理逻辑。
用途与细节
系统上下文图:主要用于规划系统与外部实体的交互方式,降低风险,并促进与外部利益相关者的沟通。由于其简单性和易于理解性,它非常适合在项目的早期阶段使用。
数据流图:提供了更详细的信息,用于深入分析系统的数据处理过程。它可以帮助团队可视化系统的四个主要组成部分(实体、过程、数据存储和数据流),从而优化系统设计和性能。
如果想了解更多关于数据流图的内容,可以进入数据流图(DFD)入门指南:概念,绘制教程,实例详解文章内查看。

绘制系统上下文图的过程相对简单,但关键在于准确界定系统的边界和外部交互实体。以下是详细的绘图步骤:
确定系统边界:首先,明确系统的范围和功能,界定出系统的边界。这通常是系统的核心功能或主要业务流程。
识别外部实体:列出所有与系统进行交互的外部实体,如用户、其他系统、数据库等。这些实体在图中通常以名词形式表示,而非行为。
绘制系统框图:在图纸中央,绘制一个代表系统的框图(通常是矩形或圆形),这是图表的焦点。
添加外部实体:在系统框图的周围,添加代表外部实体的框图,并用线条(通常是箭头)连接系统与外部实体,表示它们之间的交互关系。
标注交互信息:在箭头线上标注交互的信息类型或流程,以明确系统与外部实体之间的数据流或控制流。
绘制上下文图的工具有很多,选择一款趁手的工具非常重要。常见的有Visio,Word,ProcessOn等,使用者可以按照需求挑选合适的上下文图制作器。对于初学者,推荐使用ProcessOn,它提供了丰富的模板和易用的界面。这里主要讲解如何使用ProcessOn制作树图。
1. 登录ProcessOn,进入个人文件页,选择新建流程图。
2. 从左侧图形库拖拽圆形到画布作为中心实体,然后拖拽长方形作为外部实体,选中实体元素,点击图形四周的“+”即可添加连线链接另外的实体元素。

3. 选中图形,顶部工具栏可以根据需要调整图形、文字及连线的颜色、大小等样式,以增强图表的可读性和美观度。

以下是ProcessOn模板社区内部分系统上下文图模板和示例的分享。



上下文图作为项目前期的可视化工具,有助于确定系统的边界和与外部实体的交互,为后续的系统设计和开发提供了重要的参考依据。相信了解了绘制方法和案例,你可以更好地理解和应用这一工具。