MENU
Language

¿Qué es HLD/LLD? «Diseño de nivel superior» (diseño básico) / «Diseño de nivel inferior» (diseño detallado)

目次

¿Qué es HLD (diseño de alto nivel)?

HLD (High-Level Design) es un proceso que se refiere al «diseño de alto nivel» (diseño básico) en el proceso de desarrollo de sistemas y software. Define la estructura general del sistema, sus componentes principales, las relaciones entre ellos y la arquitectura general del sistema.

En los países de habla inglesa, «HLD (High-Level Design)» es un término de uso común, especialmente cuando se refiere a la fase inicial de diseño de la estructura y arquitectura de todo un sistema.

Propósito de HLD

  • Cree un diseño que proporcione una visión general de todo el sistema y cree un entendimiento común entre el equipo de desarrollo y las partes interesadas.
  • Proporciona una base para la implementación real y la progresión al «diseño de bajo nivel» (LLD).
  • Cree materiales para explicar el panorama general del sistema a los clientes y a la alta dirección.

Contenido de HLD

Las principales cosas que cubrimos en HLD son:

  1. Arquitectura del sistema:
    • Diagrama de todo el sistema (por ejemplo, relaciones cliente, servidor, base de datos).
    • Flujo de datos entre módulos.
  2. Componentes clave y sus funciones:
    • Características y descripción general de cada componente o módulo.
    • Interfaces entre componentes (como API y protocolos de comunicación).
  3. Especificaciones externas:
    • ¿Cómo se trabaja con usuarios y sistemas externos?
    • Definición de interfaces externas.
  4. Requisitos no funcionales:
    • Rendimiento del sistema, escalabilidad, disponibilidad, seguridad, etc.
  5. Resumen de la tecnología utilizada:
    • Como los marcos, los lenguajes de programación y las herramientas que utiliza.

Si reemplaza HLD con japonés

El HLD se expresa en la terminología de desarrollo de sistemas de Japón de la siguiente manera:

  1. Diseño básico:
    • El término más común en la industria de TI en Japón.
    • Es el proceso de definir la estructura y las especificaciones externas de todo el sistema, que corresponde al contenido del Curso de Alto Nivel.
    • Diseño de nivel superior:
      • Es una expresión que se acerca a una traducción literal y se utiliza para explicar el contenido de HLD tal como es.
      • En el documento IPA (Agencia de Promoción de Tecnologías de la Información), se describe como diseño de alto nivel (HLD).
  2. Diseño de contorno:
    • A veces se usa para describir brevemente el HLD en la práctica.
  3. Diseño arquitectónico:
    • Se refiere a la fase de diseño con un enfoque en el aspecto técnico y cubre parte del Diálogo de Alto Nivel.

Posicionamiento de hormigón de HLD

HLD se implementa temprano en la «fase de diseño» del proceso de desarrollo del sistema. Desempeña un papel en los siguientes procesos:

  1. Definición de requisitos:
    • Organice las necesidades de los usuarios y los requisitos comerciales.
  2. Diseño de alto nivel (HLD):
    • Defina la estructura general del sistema y los componentes clave.
  3. Diseño de bajo nivel (LLD):
    • Diseño detallado de cada módulo o función (clases, funciones, estructuras de datos, etc.).
  4. Implementación:
    • Desarrollo de código real.

Resumen: HLD (Diseño de alto nivel)

HLD (Diseño de alto nivel), ampliamente reconocido como «diseño básico» o «diseño de alto nivel» en japonés, se refiere al proceso de definir la estructura y los componentes clave de todo el sistema. Este proceso proporciona una base para organizar el «panorama general» del sistema al principio del proceso de desarrollo y pasar al siguiente «diseño detallado».

¿Qué es LLD (Diseño de bajo nivel)?

LLD (Diseño de bajo nivel) se refiere a la etapa de definición de «diseño de bajo nivel» (diseño detallado) en el diseño de software y sistemas. Con base en el esquema de la estructura general del sistema y los componentes clave definidos en el Diseño de Alto Nivel (HLD), diseñamos métodos de implementación específicos para cada módulo o función.

Características de LLD

  1. Diseño modular detallado:
    • Definir la estructura interna de cada módulo.
    • Descripción detallada de las especificaciones de clase, función, estructura de datos y algoritmo.
  2. Diseño de perspectivas de implementación:
    • Proporciona el nivel de detalle que necesita para comenzar con la codificación real.
  3. Énfasis en las perspectivas técnicas:
    • Diseñado para coincidir con el lenguaje de programación y el marco utilizado.
  4. Relación con HLD:
    • Mientras que HLD presenta el panorama general, LLD es una fase de diseño que profundiza en los «detalles de cada parte».

Contenido clave incluido en LLD

El LLD proporciona un plan para la implementación específica, que incluye:

  1. Diseño de clase:
    • Atributos (propiedades), métodos (funciones) y controles de acceso (por ejemplo, público/privado) de la clase.
    • Diagrama de clases y diagrama de relación de herencia.
  2. Estructura de datos:
    • El formato de almacenamiento de variables y datos.
    • Matrices, listas, árboles, esquemas de bases de datos, etc.
  3. Detalles del algoritmo:
    • Flujo de procesos y lógica computacional.
    • Escrito en diagramas de flujo y pseudocódigo.
  4. Cómo implementar la interfaz:
    • Comunicación entre módulos y clases.
    • Diseño de API y protocolos.
  5. Manejo de errores:
    • Qué hacer si se produce un error.
    • Registro, diseño de manejo de excepciones.
  6. Plan de prueba unitario:
    • Diseño de casos de prueba módulo por módulo.
    • Asegúrese de que cada función funcione correctamente.

Diferencia entre HLD y LLD

artículoHLD (Diseño de nivel superior)LLD (Diseño de nivel inferior)
propósitoDefinir la estructura y los componentes clave de todo el sistema.Definir el diseño detallado de cada módulo o función.
Abstracción de contenidoAbstracto y holístico.Específico y detallado.
Público objetivoGerentes de proyectos, diseñadores, clientes.Desarrollador, probador.
entregableDiagramas de configuración del sistema, diagramas de flujo de datos, etc.Diagramas de clases, diagramas de secuencia, diseños de algoritmos, etc.
Proximidad a la implementaciónIndirecto a la implementación.Directo a la implementación.

Instrucciones para crear un LLD

  1. Verifique el HLD:
    • Comience a trabajar en la imagen general del sistema definida en el HLD.
  2. Desmontaje del módulo:
    • Cada módulo definido en HLD se divide en partes más detalladas.
  3. Diseño de clases y funciones:
    • Diseñe clases y funciones en detalle, aclare roles y flujos de datos.
  4. Selección de la estructura de datos:
    • Decida qué estructura de datos usar (por ejemplo, listas, diccionarios, matrices, etc.).
  5. Preparación de documentos de diseño:
    • Para cada módulo y función, se incluyen diagramas de clases y diagramas de flujo en el documento de diseño.

Al expresar LLD en japonés

Los términos de desarrollo del sistema japonés correspondientes a LLD son los siguientes:

  1. Diseño detallado:
    • El término más utilizado en el campo del desarrollo de Japón.
    • El proceso de diseño de cada módulo, clase y función.
  2. Diseño de nivel inferior:
    • A veces se usa como una traducción literal de LLD, pero en la práctica a menudo se reconoce como «diseño detallado».
    • En el documento IPA (Agencia de Promoción de Tecnologías de la Información), se describe como un diseño de bajo nivel (LLD).

Resumen: LLD (Diseño de bajo nivel)

LLD (Diseño de bajo nivel) es un proceso que define los detalles necesarios para implementar módulos y funciones en función de una descripción general de todo el sistema definido en HLD. Específicamente, diseñamos clases, funciones, algoritmos, estructuras de datos, especificaciones de interfaz, etc. En el proceso de desarrollo de Japón, generalmente se reconoce como «diseño detallado».

Información relacionada con HLD/LLD

  1. IPA (Agencia de Promoción de Tecnologías de la Información):
  2. Estándar IEEE 1016:
  3. PMI (Guía del Cuerpo de Conocimiento de Gestión de Proyectos):
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

AIアーティスト | エンジニア | ライター | 最新のAI技術やトレンド、注目のモデル解説、そして実践に役立つ豊富なリソースまで、幅広い内容を記事にしています。フォローしてねヾ(^^)ノ

コメント

コメントする

目次