No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Elementos de un buen diseño de software

5/14
Recursos

Aportes 7

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Tipos de diseño

Al momento de construir aplicaciones hay dos tipos de perspectivas de diseño:

  • La perspectiva del equipo de UX/UI (Diseño de interfaz y experiencia del usuario, requerimientos, colores, botones, etc.)

  • La perspectiva del equipo de Ingeniería (Arquitectura, cantidad de personas en el equipo, esfuerzo en iteraciones, metodología, tiempos, etc.)

Características de un buen diseño
Desde la perspectiva del equipo de ingeniería.

  • La modularidad (Pedazos de software que funcionan como código cuyas responsabilidades están bien delimitadas).

  • Tolerancia a fallo (Capacidades para solucionar problemas que se puedan presentar en el funcionamiento de la aplicación).

  • Robustez (Funcionamiento de la aplicación ante situaciones de estrés como memoria insuficiente, bases de datos llenas, peticiones altas, etc.)

  • Seguridad (Políticas de seguridad, credenciales, accesos, etc.)

  • Usabilidad(La interfaz cumple su labor? Abarca todos los casos de Uso?)

  • Reusabilidad (Reusar piezas de software y crecimiento del mismo)

  • Extensibilidad (Capacidad de integrar nuevos cambios sin tener que modificar lo ya existente)

No se si lo abarque alguno de los elemetos mencionados, pero agregaria que debe ser facil de entender si entra un nuevo integrante al equipo.

Elementos del Diseño de Software 🎨

  • UI y UX: Diseño de la interfaz, experiencia del usuario, traducir indicaciones a elementos visibles
  • Equipo de Ing: Arquitectura, Stack, Team, Tiempo, Metodologías, etc…


Elementos del buen diseño de Software:

  1. Modularidad
  2. Tolerancia a fallos
  3. Robustez
  4. Seguridad
  5. Usabilidad
  6. Reusabilidad
  7. Extensibilidad (que si se añade más código, no afecte al código previo)

Que interesante informacion, actualmente estoy apostando por desarrollar una aplicacion y este curso me ha ayudado a esclarecer muchas dudas que tenia.

Algo que me gusta hacer mucho en entornos de Node js es hacer ‘export const’, en vez de ‘export default’.
Esto es para que cuando vayan a utilizar un pedazo de código de JS o TS, lo importen de la manera en que nombré a la función, en vez de darle un nombre cualquiera.

La tolerancia a fallos es lo que el usuario percibirá de la aplicación, tenemos que mandar respuestas adecuadas para cada tipo de error, y asi como los usuarios se dan cuenta de lo que falla, nosotros deberíamos de saber si una base de datos esta caída etc, algo como un monitoring

Podría ser una característica del buen diseño, la escalabilidad