PROCESO DE DISEÑO LLD (De los Requisitos al Código)

El Diseño de Bajo Nivel (Low Level Design) no consiste en escribir código de inmediato. Se trata de seguir un proceso estructurado.

Sigue estos pasos para pasar de un enunciado del problema a un código funcional.

  1. Comprender los Requisitos No saltes directamente a las clases. Primero, descubre qué debe hacer el sistema.
  • ¿Qué funcionalidades necesita?
  • ¿Qué acciones debe soportar?
  • ¿Qué cambios podrían ocurrir más adelante?
  1. Identificar Sustantivos para Encontrar Clases Busca sustantivos en tus requisitos. Los sustantivos se convertirán en tus clases. Ejemplo: Un Editor de Documentos
  • Sustantivos: Documento, Texto, Imagen, Almacenamiento, Editor.
  • Clases: Document, TextElement, ImageElement, Storage, DocumentEditor.

Ejemplo: Un Estacionamiento

  • Sustantivos: Estacionamiento, Piso, Espacio, Vehículo, Boleto.
  • Clases: ParkingLot, Floor, Slot, Vehicle, Ticket.
  1. Usar IS-A para la Herencia Pregúntate: "¿Es el hijo un tipo del padre?"
  • TextElement ES-UN DocumentElement.
  • Carro ES-UN Vehículo.
  • Perro ES-UN Animal. Si la respuesta es sí, utiliza la herencia.
  1. Usar HAS-A para la Composición Pregúntate: "¿Contiene un objeto a otro?"
  • Un Documento TIENE-UN conjunto de elementos.
  • Un Estacionamiento TIENE-UN conjunto de pisos.
  • Un Carro TIENE-UN motor. Usa la composición para vincular estos objetos.
  1. Identificar Verbos para Encontrar Métodos Busca acciones en los requisitos. Los verbos se convertirán en tus métodos.
  • Añadir texto se convierte en addText().
  • Guardar documento se convierte en save().
  • Estacionar vehículo se convierte en parkVehicle().
  1. Planificar para el Cambio con Interfaces Piensa en futuras actualizaciones. Si guardas un documento, podrías usar un Archivo, una Base de Datos o la Nube.
  • Crea una interfaz llamada Persistence.
  • Crea implementaciones como FileStorage o DBStorage. Esto te permite añadir CloudStorage más adelante sin cambiar tu código existente.
  1. Dibujar UML y Escribir Código Una vez que tengas las clases, la herencia, la composición y los métodos, dibuja un diagrama UML. Este actuará como tu plano. Finalmente, convierte ese plano en código limpio.

Flujo de Resumen:

  • Requisitos
  • Sustantivos a Clases
  • IS-A a Herencia
  • HAS-A a Composición
  • Verbos a Métodos
  • Variaciones a Interfaces
  • Diagrama UML
  • Código Final

Source: https://dev.to/roshan_singh_dd54d52bbaa7/lld-design-process-from-requirements-to-code-594m