Cuando se trabaja haciendo desarrollo y toca hacer cosas nuevas muchas veces nos pueden dar el diseño de lo que se necesita, pero en otras ocasiones nos tocará hacer el análisis a nosotros.
Es importante descomponer los procesos mentalmente y tratar de cubrir todos los aspectos desde su creación, sin embargo es casi inevitable que se nos pasen algunas variables, aun así es mejor que se nos pasen 2 ó 3 y no 10 ó 20.
Desde la experiencia es mucho más dificil modificar un código ya hecho que hacerlo de nuevo bien con todas las variables necesarias. Obviamente que si la cantidad de desarrollo a modificar es muy grande costaría mucho tiempo.
Vamos a tomar los ejemplos dejados en clase, sé que no estoy cubriendo todas las variables pero aún así estoy seguro que alguno de ustedes pensaron en sólo 3 ó 5.
Igualmente los invito a encontrar algunas más.
El método es ir por las más evidentes y luego ir ampliando, para terminar con las más técnicas o rebuscadas, muchas de las cuales damos por supuestas.
Cajero electrónico
Qué variables necesito para llevar a cabo el funcionamiento de un cajero automático en el cual solo realizaré la acción de sacar dinero en efectivo.
Análisis
- Qué variables necesito para: “llevar a cabo el funcionamiento de un cajero automático en el cual solo realizaré la acción de sacar dinero en efectivo”
- “llevar a cabo el funcionamiento de un cajero automático en el cual solo realizaré la acción de sacar dinero en efectivo”
- Acción de sacar dinero es un método o función.
- ¿Cuáles serían las variables necesarias para realizar un retiro de dinero?
- Van a existir algunas obvias que son externas y otras no tan obvias que pueden ser internas.
- A nivel académico es decir sólo para resolver el ejercicio se pueden enumerar algunas.
- Sin embargo ya en un caso real existen muchas más que no se considerarían y luego nos daríamos cuenta que faltan.
- Evidentes: autenticacion(identificador, contraseña), Monto a retirar
-Especificando un poco más las evidentes:
– El identificador puede estar en el chip de la tarjeta que utilicemos pero este dato puede ser compuesto ya que puede ser una combinación de datos que indican entidad bancaria, procesador de pago(visa, mastercard, american express, etc), codigo de cliente y codigo de cuenta/tarjeta
– Monto a retirar, podriamos aqui tener tipo de moneda y monto
– En algunos casos te pueden pedir que especifiques el “número de cuenta” si tienes varias asociadas a una tarjeta - Otras variables internas:
– Validacion de la tarjeta: fecha de vencimiento, estado de la tarjeta(activa,bloqueada),ciudad/zona de cuenta
– Saldo de la cuenta seleccionada, montos retenidos, estado de la cuenta(activa,cerrada), limite de retiro por dia/por cajero, tipo de cambio, comision por operacion, comision por operacion fuera de zona/pais, numero de operaciones gratuitas por mes, contador de operaciones realizadas
– Saldo del cajero, conteo de billetes del cajero por cada denominación,lista de bancos aceptados, procesadores de pago
– Otras variables: Saldo restante, numero de transaccion, contenido del voucher,fecha y hora de la transacción
Usar un chat
Qué variables debo tener en cuenta para hablar con un amigo a través de una aplicación de mensajería instantánea, teniendo en cuenta que solo le puedo enviar mensajes si está conectado a la aplicación.
Análisis
-Qué variables debo tener en cuenta para: “hablar con un amigo a través de una aplicación de mensajería instantánea, teniendo en cuenta que solo le puedo enviar mensajes si está conectado a la aplicación”
- “hablar con un amigo a través de una aplicación de mensajería instantánea, teniendo en cuenta que solo le puedo enviar mensajes si está conectado a la aplicación”
- La acción es enviar mensajes, asumiendo que se tiene una aplicación instalada.
- ¿Cuáles serían las variables necesarias para enviar un mensaje?
- Evidentes: contacto del amigo(identificador o número de teléfono), estado de conexión del contacto, mensaje(texto del mensaje)
- Especificando un poco más las evidentes: Además del estado de conexión, también existe el estado de bloqueo de nuestra parte y el estado de bloqueo de parte del contacto, en cuanto al mensaje hay un límite de caractéres, una lista de emojis/stickers
- Otras variables internas:
– Login propio, para poder enviar hay que estar correctamente autenticado con usuario y contraseña, lo cual genera un token de acceso.
– Fecha,dia de la semana y hora del mensaje, en algunos casos ubicación.
– numero de telefono propio y del contacto
Pagar con tarjeta de crédito
Estás en la caja de un supermercado y necesitas realizar el pago de tus productos usando una tarjeta de crédito porque es el único medio de pago que reciben. ¿Qué variables necesitas?
Análisis
- Estás en la caja de un supermercado y necesitas realizar: “el pago de tus productos usando una tarjeta de crédito porque es el único medio de pago que reciben”
- “el pago de tus productos usando una tarjeta de crédito porque es el único medio de pago que reciben”
- La accion es pagar usando una tarjeta de crédito. Sólo se tomaría desde el pago.
- ¿Qué variables se necesitan para pagar con tarjeta de crédito?
- Evidentes: Monto a pagar, medio de pago(tarjeta de crédito), usuario, numero de la tarjeta
- Especificando un poco más las evidentes: En realidad hay mucha complejidad y depende de muchos factores como el sitio donde se realiza la compra, por ejemplo un caso común es armar el carrito de compra, agregar algunos costos adicionales y luego eso enviarlo a una paserela externa de pagos, una vez realizado el pago vuelve el control al sitio de compra para finalizar el proceso.
– El monto a pagar tiene un tipo de moneda, el usuario del sitio de compras puede ser uno registrado(usuario y contraseña) o no tener usuario y sólo ingresar datos para la compra, en estos datos se encuentran nombre, direccion de entrega(estado,region,ciudad), correo electrónico.
– Con respecto a los datos de la tarjeta tenemos el numero, nombre del titular, fecha de vencimiento y codigo de seguridad, estos datos se suelen guardar para futuras compras por lo cual pueden pedir un nombre para identificar ese medio de pago.
– Si bien es cierto para el pago es necesario el detalle de la compra, si es necesario para hacer la entrega de los productos y para entregar un comprobante de pago, por lo que se necesitará nombre producto, precio, descuento, cantidad, metodo de entrega(recojo, despacho),fecha de entrega, costo de envío. - Otras variables internas:
– lista de compras anteriores, sugerencias de productos, comentarios sobre los productos
– Stock de los productos,disponibilidad en tienda según ciudad, disponibilidad para despacho, tiempo de envío, lista de tiendas
Lavar la ropa
Necesitas lavar tu ropa, pero debes tener en cuenta los diferentes factores que necesitarás para llevar a cabo esta tarea. ¿Tienes lavadora? ¿Lo harás a mano? ¿Qué necesitas?
Análisis
- Necesitas: “lavar tu ropa”.
- La acción es lavar ropa.
- ¿Qué factores que necesitarás para llevar a cabo esta tarea? ¿Tienes lavadora? ¿Lo harás a mano? ¿Qué necesitas?
- Evidentes: tipo de lavado(lavadora,manual,lavanderia), cantidad de ropa,tipo de ropa(color, blanca, delicada), productos a utilizar(detergente,jabon,suavizante)
- Especificando un poco más las evidentes: Aquí hay una dependencia entre las variables ya que dependiendo del tipo de lavado se necesitarán otras variables diferentes al lavado manual por ejemplo.
– El tiempo de lavado, centrifugado y enjuague, un programa de lavado, la capacidad de la lavadora, en el lavado a mano la capacidad del recipiente de lavado, en la lavanderia si es lavado en seco o normal. - Otras variables internas:
– Se necesitará una fuente de agua, fuente de energía, accesorios(recipientes, tablas), costo del lavado, separación de las prendas por tipo, tiempo de secado, lugar para secado, destino del agua utilizada
Hablar por teléfono
Es momento de llamar a un amigo por teléfono, debes tener en cuenta varios puntos importantes: ¿Tienes teléfono? ¿Está tu amigo disponible? ¿Qué necesitas para realizar esta llamada?
Análisis
- Es momento de: “llamar a un amigo por teléfono”
- La acción es llamar por teléfono
- ¿Tienes teléfono? ¿Está tu amigo disponible? ¿Qué necesitas para realizar esta llamada?
- Evidentes: dispositivo movil,número de teléfono,disponibilidad del amigo
- Especificando un poco más las evidentes:
– Para mi: saldo para realizar llamada, estado operativo del dispositivo, estado de mi linea, saturación del operador, señal según zona, carga de batería, estado del parlante
– Para mi amigo: saldo para recibir llamada, estado operativo del dispositivo, estado de linea, saturación del operador, señal según zona, carga de batería, estado del parlante, bloqueo de llamadas, cercanía al dispositivo, volumen de llamada entrante, desvío de llamadas - Otras variables internas:
– Ubicación geográfica, pais, prefijos telefónicos, torres de repetición, imei de los dispositivos, operadoras de cada uno, costo por llamada, duración máxima llamada