Requerimientos Funcionales y No Funcionales en Aplicaciones
Clase 4 de 26 • Curso de Diseño de Software para Apps Móviles
Contenido del curso
- 4

Requerimientos Funcionales y No Funcionales en Aplicaciones
04:22 - 5

Componentes de Arquitectura de Aplicaciones Móviles
10:00 - 6

Carga de Imágenes en Android con Librerías Populares
05:38 - 7

Conceptos clave de CDN y Push Notifications en aplicaciones móviles
05:15 - 8

Creación de Diagramas de Secuencia para Flujos de Usuario
11:07
- 9

Tipos de Comunicación con el Servidor: HTTPS y WebSockets
05:17 - 10

APIs Móviles: Diseño Eficiente y Optimización de Datos
04:47 - 11

Optimización de Modelos de Datos en APIs JSON
08:42 - 12

Implementación de Estrategias Offline en Apps Móviles
04:02 - 13

Patrón Repository para Persistencia de Datos en Apps Móviles
24:18
- 18

Introducción al Testing: Garantizar Funcionalidad en Aplicaciones
09:11 - 19

Pruebas de Instrumentación con Espresso en Android
19:41 - 20

Componentes de Android Material Design y su implementación
09:47 - 21

Internacionalización de Aplicaciones Móviles: Idiomas y Formatos de Texto
04:21 - 22

Uso de Charles Proxy y otras herramientas para optimizar desarrollo de apps
05:06
¿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.