高层设计 (HLD) 与低层设计 (LLD) 的区别
系统设计包括高层设计和低层设计。这有助于创建一个平稳运行且无错误的项目。高层设计和低层设计是系统设计的两个主要特征。让我们了解高层设计和低层设计之间的区别。
高层设计
高层设计包括对系统架构的描述。系统设计包括以下内容:
- 数据库设计
- 系统架构
- 系统描述,包括平台、关系和服务
高层设计会创建一个包含所有根据需求所需的设计方面的图表。该图表包含以下特征:
- 该图表包含软件接口、用户接口和硬件的详细信息
- 高层设计也称为宏观设计
- 解决方案架构师负责创建高层设计图
高层设计中使用的模型
高层设计中使用的模型包括:
- 流程图
- 决策表
- 决策树
- 流程图
- 数据字典
高层设计的简洁分解
高层设计可以分为以下几个部分:
- 需求分析 - 利益相关者和最终用户参与了解功能性和非功能性设计。
- 系统架构 - 定义系统组件及其之间的交互。它还包括处理数据流以实现功能。
- 组件设计 - 详细说明每个模块的结构,包括数据处理机制和行为的阶段。
- 数据设计 - 它包括数据结构、数据库和数据流,以便正确分配内存和高效存储。
- 接口设计 - 它包括系统安全,包括加密、授权和身份验证。
- 性能设计 - 它包括可扩展性、响应时间和资源优化策略。
- 错误处理 - 这是一个制定计划来报告各种错误及其报告的方面。
- 技术选择 - 这是选择所需语言和技术的阶段。
- 文档 - 编写详细的文档,其中包含高层设计的各个方面。
低层设计
低层设计是软件开发的一部分。此设计包括系统、组件及其详细信息以及它们之间的通信。低层设计的特征如下:
- 此处描述每个系统组件的逻辑,可以将其划分为模块。
- 它也称为微观设计
- 设计师和开发人员创建低层设计
- 借助低层设计,可以将高层设计转换为蓝图
低层设计的简洁分解
低层设计可以分为以下几个部分:
- 高层设计细化 - 将高层设计分解成更小的方面,以便于实现。
- 模块设计 - 将高层设计中的模块划分为函数、方法、类和数据结构。
- 算法细节 - 这是确定每个模块的逻辑和算法的阶段。
- 数据结构设计 - 创建可以轻松在任何模块中存储和修改的详细数据结构。
- 数据库设计 - 此处包含数据库的要求,包括表、查询和其他数据库方面。
- 代码逻辑 - 创建编码指南,包括变量、常量、函数等。
- 接口实现 - 从高层设计中获取接口规范并将其包含在代码中。
- 资源分配 - 这是考虑内存分配和处理的阶段。
- 安全实现 - 确定安全机制,例如加密、身份验证、授权等。
- 测试 - 制定项目的单元测试策略。
- 文档 - 必须编写详细的代码文档。
高层设计与低层设计的区别
高层设计和低层设计之间存在许多差异,可以在下表中找到:
高层设计 | 低层设计 |
---|---|
高层设计是整个系统的设计。 | 低层设计处理组件级设计。 |
它被称为宏观设计。 | 它被称为微观设计。 |
它包含对整个应用程序架构的描述。 | 它包含每个组件和模块的详细信息。 |
高层设计中描述了每个模块的简要功能。 | 低层设计包含模块功能逻辑的详细信息。 |
解决方案架构师负责创建高层系统设计。 | 设计师和开发人员负责创建低层系统设计。 |
审查团队、设计团队和客户是高层设计的一部分。 | 设计团队、运营团队和实施者是低层设计的一部分。 |
软件需求规范是高层设计的输入标准。 | 低层设计中对输入标准进行了审查。 |
业务需求可以转换为高层解决方案。 | 高层解决方案可以转换为详细的解决方案。 |
输出标准包括数据库设计、审查记录和功能设计。 | 输出标准包括程序规范和单元测试计划。 |
高层设计侧重于系统组件和交互。 | 低层设计处理不同模块的实现。 |
高层设计处理主要的系统模块及其之间的交互。 | 低层设计包括将模块分解为数据结构和函数的过程。 |
高层设计处理整体流程和用户交互。 | 低层设计处理用户界面。 |
未来的系统更改可在高层设计中进行调整。 | 计划扩展模块,而无需进行任何重大更改。 |
结论
高层设计和低层设计是系统设计的一部分。高层设计包括系统架构,包括数据库设计、平台描述、关系、服务等。低层设计包括软件开发中包含的方面。它们都是系统设计的重要组成部分,并且存在许多差异。
高层设计与低层设计常见问题解答
1. 哪种设计包含整个系统的所有方面?
高层设计包含整个系统的所有方面。
2. 高层设计和低层设计的其他名称是什么?
高层设计称为宏观设计,低层设计称为微观设计。
3. 谁负责创建高层设计和低层设计?
解决方案架构师创建高层设计,而设计师和开发人员创建低层设计。
4. 在哪种设计中包含数据库设计?
高层设计中包含数据库设计。
5. 哪种设计处理模块的实现?
低层设计处理模块的实现。
广告