Requerimientos Funcionales y No Funcionales en Aplicaciones

Clase 4 de 26Curso de Diseño de Software para Apps Móviles

Resumen

¿Qué son los requerimientos y por qué son importantes?

Los requerimientos son elementos esenciales para el correcto funcionamiento de una aplicación. Se dividen en dos categorías principales: funcionales y no funcionales. Esta distinción es crucial para comprender no solo cómo interactúa el usuario con la aplicación, sino también cómo se comporta el sistema en sí.

¿Cuáles son los requerimientos funcionales?

Los requerimientos funcionales se refieren a las funcionalidades específicas que la aplicación debe proporcionar. Determinan cómo el usuario interactúa con el sistema. Aquí algunos ejemplos concretos:

  • Capacidades de interacción: El usuario debe poder realizar acciones concretas, como dar 'like' a un post.
  • Acceso a servicios: Al pedir un conductor, el usuario debería ver diferentes tipos de servicio.
  • Personalización del perfil: Cambiar la foto de perfil es otra funcionalidad clave.

Estos aspectos son fundamentales porque delinean las acciones que el usuario puede llevar a cabo y son, literalmente, el "qué" de la aplicación.

¿Qué son los requerimientos no funcionales?

Por otro lado, los requerimientos no funcionales describen las características del sistema que influyen en cómo este se comporta, sin que el usuario interactúe directamente para ello. Algunos ejemplos incluyen:

  • Disponibilidad de información offline: La aplicación debe mostrar información sin conexión.
  • Almacenamiento automático de datos: El sistema puede guardar automáticamente los 100 primeros posts.
  • Persistencia de datos: Guardar información por un periodo específico, como tres días, para no mostrar datos caducos.

Estos elementos son menos visibles para el usuario, pero tienen un impacto significativo en la experiencia de uso y la eficiencia general del sistema.

¿Cómo evaluar los requerimientos en una aplicación existente?

Vamos a poner en práctica lo aprendido evaluando una aplicación conocida: MercadoLibre. Es importante poder clasificar los requerimientos para optimizar la experiencia del usuario y la eficiencia del sistema.

¿Qué requerimientos funcionales tiene MercadoLibre?

  • Inicio de sesión del usuario: Permitir que el usuario haga login es un requerimiento funcional, ya que implica interacción directa.
  • Compartir producto en redes sociales: Esta opción implica una elección del usuario, por lo que es funcional.

¿Cuáles son los requerimientos no funcionales en MercadoLibre?

  • Navegación sin conexión: Esta funcionalidad permite al usuario tener acceso a ciertas partes de la aplicación sin estar activo en una red, sin interacción directa.
  • Velocidad de respuesta: La habilidad de traer datos en menos de tres segundos es un requerimiento no funcional; el usuario no lo controla.

Entender y diseñar adecuadamente tanto los requerimientos funcionales como los no funcionales es vital para cualquier equipo de desarrollo que desee crear aplicaciones robustas y centradas en el usuario. Te invito a que continúes explorando más sobre este tema y aplique tu aprendizaje a nuevas aplicaciones y sistemas.