Está en la página 1de 4

IDEAL III

¡HOLA A TODOS!
Seguiremos presentando en detalle el método ideal para solución de problemas
computacionales.

El tema de hoy es bastante interesante, ya que vamos a hablar de la etapa de Algoritmos,


específicamente de los requisitos de software.

¡Bienvenidos!

Después de haber identificado y definido el problema, de haber realizado ejemplos


específicos y tener ya una estrategia de solución, en la tapa de algoritmos es donde se
diseña esta solución de una manera detallada especificando el conjunto de algoritmos que
solucionan el problema planteado para una serie de requisitos que debe cumplir el
software.
De las cuatro tareas que se realizan en la etapa de algoritmos, es decir, especificar
requisitos, escribir los algoritmos para cada subproblema, escribir algoritmo general y las
pruebas de escritorio.

En este vídeo nos vamos a centrar en la especificación de requisitos de software.


Una definición muy breve pero bastante completa de lo que es un requisito de software es
la siguiente: Un requisito de software define una función, que el programa que se va a
construir debe proporcionar para contribuir a solucionar un problema en un contexto real.
Entonces en esta definición se establece que un requisito de software nos dice lo que el
usuario espera que haga el programa y que esto que hace contribuya a la solución general
del problema que tenemos.

Cómo sé que ustedes están bastante interesados en el tema y que van a investigar más
acerca de los requisitos de software, quiero comentarles que también los van a encontrar
como requerimientos de software realmente la palabra correcta, en mi opinión, es
requisitos sin embargo se ha popularizado bastante el uso de la palabra requerimientos.

Nosotros no vamos a entrar en esa discusión semántica y en el contexto de este curso los
trabajaremos indistintamente.
Bajo la perspectiva de los requisitos de software podemos decir entonces que inicialmente,
los stakeholders definen una lista completa y ordenada de requisitos que han obtenido
después varias reuniones en la que se han puesto de acuerdo sobre los requisitos que debe
satisfacer la aplicación computacional que se debe construir.

Luego le pasan esta lista de requisitos al equipo de desarrollo o developers, para que con
esta lista apliquen el método ideal y construyan la aplicación. Finalmente se entrega el
programa, se valida que cumpla con los requisitos y se instala en el computador de los
usuarios y todos felices.
A pesar de que este es un cuento bonito, desafortunadamente no siempre es así la verdad
es que la obtención de requisitos es uno de los retos más complejas y a las que nos
enfrentamos al desarrollar software.

Existen muchas caricaturas o memes al respecto de este problema. En la figura 1 aparece


lo que el cliente quiere o solicita el jefe del proyecto. Miren cómo lo entiende el jefe del
proyecto le dice al analista y él lo diseña de esta forma. Luego el programador, con lo que
entiende del diseño lo construye una vez construido ya sabemos que el de mercadeo lo
vende, así como una de las “7 maravillas del mundo”.

La documentación técnica del proyecto brilla por su ausencia y cuando el jefe de proyecto
dice que hay que instalar el software para que todos queden contentos y felices como decía
el cuento. Lo único que tienes es lacito, eso sí la factura del cliente está bien elaborada.
Ya ven como es el soporte que hay que darle a las aplicaciones, porque las aplicaciones no
son un producto que se entrega y ya está, sino que hay que darle soporte posterior,
mantenimiento y al final, lo más triste es darse cuenta de lo que realmente necesitaba el
cliente.

Por eso es muy importante que desde estos primeros pasos que estamos dando para
aprender a desarrollar programas, entendamos la importancia de los requisitos de software.
Veamos algunos ejemplos de requisitos de software. Esta usuaria nos está diciendo que
como oficial de tránsito quiere consultar las multas de una persona en tránsito y transporte.
Nos está definiendo algo que desea que una aplicación haga es decir, un requisito de
software.

En este otro ejemplo un usuario, que es un enfermero nos está diciendo que como personal
de enfermería quiere conocer en tiempo real la información del estado del paciente, para
poder reaccionar ante cualquier anomalía.

Aquí esta persona que trabaja como domiciliaria en una de


estas plataformas móviles, nos está pidiendo que como
domiciliaria quiere que le informen los domicilios disponibles
cerca de la ubicación en la que se encuentra.

En este ejemplo final vemos como un usuario de la plataforma


de transporte quiere solicitar servicios de transporte locales e
intermunicipales.

En el proceso IDEAL que estamos viendo todas las etapas están relacionadas entre sí, es así
como para cada sub problema que identificamos en la tapa de definición del problema se
debe definir uno o varios requisitos de software.

Y por eso es muy importante utilizar todas estas técnicas, que nos permitan entender y
clarificar los conceptos de ese dominio en el cual nos estamos desenvolviendo.

Vamos a ser un poco más específicos con los ejemplos de requisitos y para ello utilizaremos
este formato para definir requisitos vamos a usar cómo línea base el ejemplo de los
espacios de color, que venimos trabajando desde las etapas anteriores.

El nombre del requisito es convertir de YIA a RVA, en la descripción podemos ser aún más
expresivos, el programa debe convertir los valores del formato del espacio de color YQA a los
valores del formato del espacio de color RVA, aplicando la conversión directa y utilizando la
fórmula dada en la tabla (la que presentamos en la etapa de definición del problema).
Aquí podemos ver un segundo requisito de software para el caso de estudio del observatorio
de Cusco. Vemos que está definido en el formato, el nombre es convertir de YIQ a Y Csub-b
Csub-r la descripción es el programa debe convertir los valores del formato del espacio de
color YIQ a los valores del formato del espacio de color YC-sub-b YCsub_r, aplicando una
conversión intermedia de YIA a RVA y luego la conversión de RVA a YCsub-B Ysub-r,
utilizando las fórmulas dadas en la tabla.

Los animo a que con sus tutores y formadores terminen la definición de requisitos que nos
quedan faltando para este caso de estudio. Es importante anotar que, si bien puede parecer
inicialmente que hay pasos redundantes, la realidad es que en cada etapa se va mejorando
la comprensión del problema porque recuerden que nosotros siempre vamos a desarrollar
software para diferentes dominios por ejemplo salud, finanzas, sector público.

Y por eso es muy importante utilizar todas estas técnicas, que nos permitan entender y
clarificar los conceptos de ese dominio en el cual nos estamos desenvolviendo.
En resumen, el método IDEAL es compuesto por un conjunto de etapas que al aplicarlas nos
van a ayudar a construir soluciones a problemas computacionales.

En este vídeo estuvimos viendo la etapa de algoritmos, específicamente la tarea que tiene
que ver con los requisitos de software. Vimos algunos ejemplos y en particular trabajamos
en el caso de estudio del Observatorio de Cusco.

También podría gustarte