高级设计图是数据流动的可视化呈现。它为我们提供了一个宏观的视角,突出了系统的主要组件、它们之间的交互以及数据在它们之间的流动方式。与关注具体实现细节的详细设计图不同,高级设计(HLD)图更关注全局——即HLD图的关键特征:抽象性、以组件为中心和上下文相关性。
高级设计图的重要性
高级设计(HLD)图至关重要,因为它们有助于我们规划系统的整体布局。它们通过展示各子部分如何组合以及如何协同工作,为我们提供了一个全局的视角。其重要性主要体现在以下几个方面:
- 沟通: 便于向利益相关者、开发人员和其他团队成员展示设计方案。
- 规划: 有助于项目的规划和调度,以及资源的合理分配。
- 理解: 因为它使我们更容易理解正在开发的系统中复杂的架构逻辑。
- 文档: 在项目的不同阶段都非常有用。
- 解决问题: 帮助设计人员在设计阶段就发现潜在的问题。
HLD 的关键组件
以下是高级设计的主要组成部分:
- 模块/子系统: 本质上,这是拟议系统的关键方面,用于提供系统的元素或模块。
- 接口: 现有模块之间存在的交互关系。
- 数据流: 这是指在模型执行过程中,数据产品从一个模块移动到另一个模块的过程。
- 用户界面: 从用户交互的高层视角出发,以实现用户界面的最小可行性功能。
- 外部系统: 与不属于实现范围的其他系统或第三方进行通信。
绘制高级设计图前的准备工作
首先,在绘制HLD图之前,我们必须采取若干准备步骤,以避免错误和遗漏,并制作出真正有帮助和信息丰富的图表。
以下是涉及的关键步骤:
1. 需求分析:
为了让我们全面了解项目的整体需求和范围。
- 收集需求: 记录来自所有利益相关者的需求,包括业务目标、功能需求、非功能性需求和限制条件。
- 分析需求: 我们需要进一步分解和分类收集到的需求,以确定系统必须交付什么以及如何提供。
- 确定优先级: 判断哪些需求应优先考虑,哪些是强制性的,哪些是非强制性的。
- 记录需求: 每个需求都必须系统地记录下来,不一定非要使用特定工具,但可以使用需求规格说明书或用户故事等形式。
2. 利益相关者输入:
为了从所有利益相关者那里收集信息,以确保完全符合他们的愿景和需求。
- 识别利益相关者: 讨论所有利益相关者,包括项目发起人、用户、开发人员、测试人员以及其他感兴趣的方。
- 举行会议: 与利益相关者安排会议,以便通过会议、研讨会或访谈获得他们的意见和反馈。
- 明确期望: 确保我们已经记录了其他利益相关者的期望。这意味着有必要记录他们的愿景、需求,或者他们是否有任何担忧。
- 保持沟通: 延续与所有利益相关者的互动,确保他们持续为项目提供反馈,以满足所有需求。
3. 系统上下文
为了确定流程的参数:上下文图:绘制一个上下文图,以突出系统与外部实体(例如用户、外部应用程序、第三方)之间的关系。
- 定义边界: 明确定义系统中包含什么和不包含什么。这有助于范围定义,因为这样更容易避免范围过大。
- 外部交互: 列出所有与至少一个外部系统发生的数据接口,无论是数据交换点、API集成点还是外部用户界面点。
- 假设和依赖关系: 记录在开发不同阶段所做的任何假设,或对其他系统或部分的依赖。
4. 技术栈
为了确定项目在可用技术选择中将采用的技术架构。
- 研究技术(Research Tec…