Saltar la navegación

3. La creatividad del equipo en marcha

Rétor dice:Ahora que conoces el reto que perseguimos en este recurso y te has inspirado con los conocimientos previos que has descubierto que posees sobre estos temas, es la hora de enfrentarse al desafío con todos los superpoderes que tengas a mano. Pero no estarás solo: tu equipo te acompañará en todo momento y cada miembro realizará su aportación. Has reconocido las etapas de un diseño software:

Planificación y Análisis - Diseño - Implementación - Verificación - Mantenimiento

Comenzamos aquí con la primera de ellas: Planificación y Análisis, donde una de las principales aportaciones en este momento inicial es la creatividad para delimitar las funciones del programa.

1. ¿Qué requisitos hemos de cumplir?

Persona creativa con cabeza ilumniada por ideaEn REAldata Inc. ponemos a trabajar en la etapa de Planificación a nuestros mejores creativos del equipo, quienes para crear el programa encargado en un plazo y con costes limitados, comienzan inmediatamente a pensar de manera rigurosa en qué tareas debe realizar el programa.

La especificación de requisitos que realizará nuestro equipo se plasmará en un documento a consensuar con el cliente. Antes de dicha cita, todo el equipo de trabajo os reunís para hacer una lluvia de ideas de los posibles reuisitos que debe cumplir un programa que atienda la funcionalidad contratada. De esa puesta en común surge la siguiente lista de posibilidades. Debéis seleccionar a continuación cuáles de estas propuestas conforman los requisitos específicos y relevantes para el proyecto que nos han encargado, desechando los que no se ajustan totalmente a la funcionalidad destacada. ¡Adelante, equipo!:

  • El programa será una agenda de clientes de una empresa que permitirá guardar datos de personas, con la posibilidad de consultarlos más adelante.

  • El programa pedirá un inicio de sesión.

  • Deberá poder mostrar, para cada persona, el nombre, los apellidos, el DNI, la fecha de nacimiento, el teléfono, el correo electrónico, la dirección postal y los servicios contratados.

  • Localizará a personas que cumplan años en el próximo mes.

  • Los datos obligatorios serán el DNI, el nombre, el primer apellido y el servicio contratado. El resto serán opcionales.

  • Permitirá grabar una cantidad elevada de datos.

  • Los datos se almacenarán en un fichero, para que el programa disponga de ellos cada vez que se conecte.

  • Permitirá hacer búsquedas por cualquier dato personal: DNI, nombre o alguno de sus apellidos. Aparecerán todos los clientes que cumplan el criterio de búsqueda.

  • Permitirá buscar por tipo de producto para listar los clientes que lo han contratado.

  • Debe almacenar las últimas 10 búsquedas.

  • El programa también recogerá los servicios proporcionados por la empresa almacenando el código de la actividad y su descripción, ambos campos obligatorios. Permitirá hacer búsquedas por ambos.

  • Hará visibles los precios abonados por el cliente.

¿Cuáles habéis seleccionado?

A tener en cuenta:

Nuestro programa estará instalado en la propia empresa donde solo hay un trabajador gestor de clientes, por lo que no necesita como requisito específico usar usuarios y contraseñas. Tampoco tiene la finalidad de bonificar a los clientes, por lo que no necesitamos saber su cumpleaños. La agenda de clientes no gestiona las facturas (podría plantearse como un módulo aparte en un futuro), así entonces no puede calcular importes abonados por los clientes (no es su principal objetivo). Finalmente, no necesitamos guardar las últimas búsquedas realizadas por el gestor de clientes, ya que no nos porporciona ningún beneficio adicional sobre la funcionalidad del software contratado por el cliente.
No obstante todas las funcionalidades especificadas, los detalles de los requisitos que puedan parecer no del todo concretos y las dudas se deben resolver en reuniones con el cliente. Esto permitirá afinar detalles y evitará malentendidos y posteriores exigencias de ampliación de funcionalidades, más allá de lo contratado.

2. Identifico lo que tengo que hacer

Ya conoces qué reto te proponemos alcanzar y te acabamos de plantear una actividad que te acercará a la meta. Pero para tener éxito en tu camino, necesitarás algunas estrategias que te servirán para esta y otras tareas parecidas. Las irás descubriendo en un diario que llamamos tu Diario de Aprendizaje.
¡Te proponemos que lo abras y completes el PASO 1 (Identifico lo que tengo que hacer) del Diario de aprendizaje antes de empezar la actividad que acabas de leer!

Haz clic aquí para descargar tu Diario de Aprendizaje


Recuerda:

  1. Pregunta a tu profesor o profesora si lo vas a rellenar en papel o en el ordenador.
  2. Si lo rellenas en el ordenador, no te olvides de guardarlo en una carpeta que más tarde puedas localizar.

¡Ánimo, que lo harás genial!

3. ¿He sido capaz de hacer la actividad?

¡Ya has terminado la actividad “1. ¿Qué requisitos hemos de cumplir?" Los comienzos pueden crearte miedos e inseguridades a la hora de realizarla.
Si completas el PASO 2 (¿Seré capaz de hacerlo?) del Diario de aprendizaje, podrás comprobar que solo con reflexionar sobre esto te ayudará a relajarte, a continuar con la actividad y completarla con éxito. También conseguirás sentir menos inseguridad cuando tengas que realizar las próximas actividades.

Recuerda:

  1. Pregunta a tu profesor o profesora si lo vas a rellenar en papel o en el ordenador.
  2. Si lo rellenas en el ordenador, no te olvides de guardarlo en una carpeta que más tarde puedas localizar.

¡Ánimo, que lo harás genial!

4. Trazando el plan

Como acabas de ver en el ejercicio previo, en el proceso de Planificación, desarrollar una lista de requisitos tiene las ventajas de ayudar a orientar el trabajo a realizar, determinar qué tareas son las más importantes (y cuáles no deben realizarse) y establecer las condiciones en las que el proyecto se dará por terminado.

Todo esto, en nuestro reto (desarrollo pequeño en envergadura) puede simplificarse en una lista de cosas que debe cumplir nuestro programa, pero para grandes aplicaciones reales se hace necesario distinguir entre:

  • Los requisitos funcionales: lo que el programa hará.
  • Los requisitos técnicos: las limitaciones físicas, como el SO de destino, la cantidad de memoria, el espacio mínimo en disco que precisará...

Observa el siguiente vídeo que te aclarará la diferencia entre ambos tipo de requisitos con ejemplos:

REcuerda que se usa SO para Sistema Operativo

¿Quieres saber cuándo termina la planificación?

Tras determinar todos el análisis y la determinación de los requisitos de los que hemos trabajado, se estima el tiempo necesario y se debe aprobar el presupuesto del proyecto de desarrollo. Entonces se da por finalizada esta fase y se comienza a trabajar en el proyecto. Si después de cerrar esta fase se detectan nuevas necesidades se deben aplazar para una versión posterior constituyendo un nuevo proyecto aparte con sus nuevos costes.

Más ejemplos

Si necesitas más ejemplos de requisitos funcionales y no funcionales, aquí te ofrecemos otro recurso visual que te los proporciona aclarando aún más la diferencia entre ambos tipos de requisitos:

5. Respuestas originales y creativas

Para conseguir alcanzar una meta es importante que seas un buen o buena estratega. Es decir, tener métodos, técnicas, “trucos” para llegar antes o de forma más fácil donde tú quieres.

Ahora te voy a enseñar una estrategia, ¡Aprovéchala para alcanzar tu reto!

El nombre de la estrategia es respuestas originales y creativas. Es importante que tus respuestas sean originales y creativas porque a la mayoría de las personas les gustan las novedades. Por eso, si elaboras respuestas que sean originales y creativas, gustarán más.

Saber qué y cómo son estas respuestas te ayudará a poder elaborarlas cuando lo precises.

Podrás encontrar todo lo que necesitas sobre esta estrategia en el siguiente enlace a la guía de la competencia de aprender a aprender.

Tómate el tiempo que necesites y recuerda que siempre puedes preguntarle al docente o a algún compañero o compañera cuando no entiendas algo.

¡Ánimo, seguro que lo haces genial!

6. Afinando el superpoder creativo: Expertos analistas

Imagen estrechando dos manos mostrando acuerdo.En este punto de nuestra primera fase de Planificación y Análisis vamos ahora a centrarnos en el Análisis. Y para ello en el equipo os convertiréis en Analistas.

En nuestra pequeña compañía REAldata Inc. no hay analistas, como en la mayoría de empresas pequeñas, por ello vosotros, el equipo de programadores, tendréis que realizar la función de analistas realizando una segunda lectura pormenorizada de las especificaciones que hemos concretado con el cliente en el ejercicio anterior. El objetivo es realizar un análisis que permita afinar los detalles que puedan quedar ambiguos.

Nuestra empresaLogo de nuestra empresa RealData Inc. refina el programa:

Vamos a detectar estos detalles ambiguos de la especificación de requisitos anterior: para ello responde a las siguientes preguntas. ¡OJO! Tus respuestas determinarán la posterior programación (comportamiento del código) del programa de nuestro reto y pueden dar lugar a distintas interpretaciones y, por tanto, a diferentes implementaciones. ¡Analízalas antes de responder!:

  • ¿Sólo se podrán visualizar datos realizando una búsqueda por datos personales? ¿Se podrán mostrar datos buscando por algún otro criterio?
  • ¿Qué datos se mostrarán de cada cliente encontrado por búsqueda previa?
  • ¿Las búsquedas serán por el valor completo del campo o se podrá buscar por alguna de las partes del valor (por ejemplo: buscar por 'Gonz' en vez de 'González'?
  • ¿Los datos se almacenarán automáticamente o se deberá seleccionar una opción para ello?
  • ¿Será necesario modificar datos? ¿Y borrar?
  • ¿Cómo se dará de alta un servicio nuevo de la empresa?
  • ¿Se deben poder borrar los servicios?
  • ¿El código que se le asigna al servicio de la empresa será automático o decidido por la empresa?¿Qué formato tendrá?
  • ¿Cómo se mostrarán los datos por pantalla (separados por espacios, por líneas, todos los datos de un mismo cliente en una sola línea o en varias...)?
  • ¿La búsqueda por tipo de producto será por código, por nombre o por los dos?

El analista es la persona encargada de hablar con el cliente, observar la forma en que éste trabaja y formular las preguntas adecuadas, para que el proceso de especificación de requisitos sea lo más correcto y detallado posible.

Aplicación a la realidad

Es importante pensar en cómo podremos aplicar todo lo que aprendemos a nuestra vida real, a nuestro día a día. Así, trasladando el proceso que acabamos de presentar, en la realización de un proyecto real es habitual volver varias veces a la fase de análisis, por eso es deseable realizar varias reuniones con el cliente entre fase y fase para que las necesidades y carencias puedan detectarse rápidamente. Por ejemplo: Si el proyecto durase varios meses, son deseables reuniones cada dos semanas ya que esto evitará costes adicionales de tener que volver atrás por malentendidos.

7. Mejor hacemos un croquis

A nuesto cliente le cuesta comprender un documento técnico de especificación de requisitos. Por eso, nuestro equipo decide exponer los principales requisitos de la propuesta del programa de una manera más visual: con un diagrama de casos de uso.

Observa el ejemplo de diagrama de la izquierda, luego, siguiendo las indicaciones de la derecha construye el diagrama de nuestra aplicación en desarrollo para entregar a nuestro cliente. Cuando lo hayas realziado, publica el esquema dibujado, junto con una explicación textual en tu blog de la asignatura. Allí lo tendrás como portfolio de tu aprendizaje.

Diagrama de casos de ejemplo de un restaurante

Aquí al lado puedes ver el diagrama de casos de uso de un restaurante. Para construir tu diagrama debes:

  • Representar el sistema como un rectángulo.
  • Representar las acciones dentro de elipses.
  • Los distintos tipos de personas (actores) se representan como figuras que interactuarán con el sistema para realizar las acciones indicadas.

Es un diagrama que describe el comportamiento que tiene el software en respuesta a eventos realizados por actores externos.

Algunas pistas

Ten en cuenta a la hora de hacer el diagrama para nuestro cliente:

  • Necesitaremos representar al empleado que se encargará de los clientes y al administrador del sistema.
  • El administrador podrá realizar las mismas operaciones que el cliente pero además deberá poder borrar clientes y servicios de la empresa. ¿Debería poder hacerlo también el empleado?

Rétor dice:Las primeras conclusiones: ¿Qué te parece el proyecto planteado? Desafiante, ¿verdad?

Seguramente hayas deducido que la solución tecnológica sobre la que se basa el desarrollo a implementar parte del uso de una Base de Datos. Por eso, a continuación vas a familiarizarte con la creación y usos de las bases de datos. ¡Este reto es multidisciplinar!