Apr
8
2013

Ejemplo Práctico de Medición en Puntos Función: Google

Vamos a ver un ejemplo práctico de medición en puntos función. Vamos a medir una aplicación Web conocidas por todos y es la búsqueda de Google.

Nos limitaremos sólo a la caja de texto principal donde podemos escribir lo que queremos buscar y pulsar sobre Buscar o Voy a Tener Suerte.

Este ejemplo lo he expuesto varias veces en los cursos de formación / capacitación que he impartido y es interesante para poder ejercitar la capacidad de ver que funcionalidades se deben medir de una aplicación.



Requisitos

La ventana inicial de Google contiene un sinfín de funcionalidades. Como todas no podríamos medirlas debido a su número y a que no disponemos de información en detalle, nos vamos a concentrar en medir únicamente la búsqueda, tal y como vemos en las siguientes imágenes:


 Búsqueda Google<[/imagen]
</center></p>
<p><center><br />
[imagen url=
Búsqueda Google<[/imagen]


[imagen url="/wp-content/uploads/2013/04/google_02.png"] Resultados Búsqueda Google


 Búsqueda Google mensaje resultados no encontrados
Búsqueda Google mensaje resultados no encontrados

 

APRENDE A MEDIR Y ESTIMAR PROYECTOS DE SOFTWARE

  • ¿Por qué? Aprende a justificar porque se deben medir los proyectos de software
  • ¿Para qué? Aprende para que sirve una medición y los beneficios que obtienes con ellas.
  • ¿Cómo? Aprende métodos de estimación y medición como: COCOMO 81 y COCOMO 2000, Putnam, Estimación de 3 puntos, Puntos Función IFPUG, NESMA, MKII, COSMIC, SiFP, Puntos de Casos de Uso, SNAP, T-Shirt y un largo etc.
Ver Más Información
¡Sólo vale 7,52€ (en papel 12,35€)!

Resumo brevemente el funcionamiento de la ventana por si alguien no lo conoce:

  • Buscar con Google. Cuando pulsamos sobre esta opción se busca el texto que se haya introducido en la caja de texto siguiendo el algoritmo de Google y nos devuelve los resultados encontrados.
  • Voy a tener suerte. En este caso se realiza la misma búsqueda que en el caso anterior pero en lugar de mostrar la lista de resultados encontrados se navega directamente hacia el primero de ellos.



Identificación de los Procesos Elementales

En el ejemplo práctico de medición que nos ocupa vamos a centrarnos en identificar los procesos elementales o funciones transaccionales según el Método de Puntos Función de IFPUG ya que para poder identificar los Grupos Lógicos de Datos (ILF y EIF) y su complejidad no disponemos de información suficiente.

Si quieres intentar resolver el ejemplo por tu cuenta no continues leyendo hasta que hayas concluido.

Lo primero que vemos es que hay dos procesos elementales:

  • Buscar con Google
  • Voy a tener suerte

¿Cual es la intención principal de Buscar con Google? La intención principal es mostrar los resultados de la búsqueda, es decir mostrar información por tanto estaríamos ante una Consulta (EQ) o una Salida (EO).

Si nos fijamos en el resultado que muestra en la ventana la función de Buscar con Google, vemos que se incluye el número de resultados obtenidos (aproximado) por tanto al ser un dato calculado estamos hablando de una Salida (EO) y no de una Consulta (EQ).

Además casi todos conocemos que la búsqueda de google actualiza su sistema de información (aunque desconozcamos como está organizado) con los datos de qué palabras son las que hemos buscado además de otros (navegador, sistema operativo, …), por lo que un proceso elemental cuya intención principal es mostrar información y actualiza un Fichero Lógico Interno (ILF) es una Salida (EO).

¿Cual es la intención principal de Voy a tener suerte? La intención principal es navegar al primer resultado de la búsqueda. Esta situación es más dificil de ver pero en este caso lo que haría es enviar la información de la página a la que se debe ir al navegador web, es decir enviar información fuera de la frontera de la aplicación, por tanto estaríamos hablando también de una Consulta (EQ) o una Salida (EO).

Como en el segundo argumento que dábamos en la anterior función para contarla como Salida: la búsqueda de google actualiza su sistema de información con los datos de qué palabras son las que hemos buscado además de otros (navegador, sistema operativo, …), por lo que un proceso elemental cuya intención principal es mostrar información y actualiza un Fichero Lógico Interno (ILF) es una Salida (EO).



Identificación de la Complejidad de los Procesos

Veamos ahora cuales son los DETs de Entrada de ambas funciones.


 DETs Entrada
DETs Entrada

Los DETs de Entrada son:

  • Texto a buscar. Las palabras que queremos buscar.
  • Acción. En el Método de Puntos Función de IFPUG se cuenta un DET especial denominado Acción por la capacidad de pulsar sobre un botón y ejecutar el proceso elemental.

Veamos ahora cuales son los DETs de Salida de la función transaccional Buscar con Google:


 Buscar Google DETs Salida
Buscar Google DETs Salida

Según el Método de Puntos Función de IFPUG si un mismo DET aparece en la entrada y en la salida sólo se debe contar 1 vez, por tanto el texto de la búsqueda sólo lo contamos en 1 ocasión.

También tenemos que tener en cuenta que si la búsqueda no encuentra resultados nos ofrece esta pantalla:


 Google Mensaje Resultados  DETs
Google Mensaje Resultados DETs

La lista final de los 11 DETs para Buscar con Google es:

  1. Texto a Buscar
  2. Número de resultados
  3. Tiempo en ejecución
  4. Título resultado
  5. URL resultado
  6. Autor resultado
  7. Imagen autor resultador
  8. Fecha resultado
  9. Descripción resultado
  10. Acción
  11. Mensajes

La lista final de los 4 DETs para Voy a tener suerte es:

  1. Texto a Buscar
  2. URL resultado
  3. Acción
  4. Mensajes



Funcionalidad adicional

Junto a estas dos funciones transaccionales que hemos identificado existe otra función más que seguramente habrás utilizado en más de una ocasión.

Vamos a ver una imagen donde se muestra:


 Google textbox
Google textbox

Sí, cuando vas escribiendo las palabras de tu búsqueda, Google te ofrece una serie de resultados que coinciden con las palabras que llevas escritas esto es una función transaccional.

Su objetivo es mostrar los resultados más búscados que coinciden con el texto que has introducido por tanto su intención principal es mostrar información: será una Consulta (EQ) o una Salida (EO).

La lista muestra los datos con negrita y sin negrita, en función de las palabras que coinciden con lo tecleado o no. Por ello está calculando una información (el color).

Una de las condiciones que debe cumplir un proceso elemental para ser considerado como una Consulta (EQ) es que no puede tener datos calculados por tanto el proceso es una Salida.

¿Cuantos DETs? Los DET son 2:

  1. Texto a buscar
  2. Descripción resultado

En este caso no hay DET de Acción ya que no se pulsa ningún botón para ejecutar la función, ésta es automática al teclear el dato de entrada.
Tampoco existe DET de Mensajes ya que no se muestra ninguno.



Funciones Transaccionales

Éste es el resultado de las funciones transaccionales identificadas:

Función Transaccional Tipo DETs
Buscar con Google Salida (EO) 11
Voy a tener suerte Salida (EO) 4
Valores más buscados Salida (EO) 2



¿Has encontrado todas las funciones? ¿Crees que hay alguna más? ¡Escribe un comentario!

 

Consigue Más de 100 Libros gratis

Suscríbete a nuestro newsletter por email y conseguirás Más de 100 Libros Gratis sobre Gestión de Proyectos, Innovación, Emprendimiento, Empresa, etc. directamente en tu correo


The following two tabs change content below.
Te Ayudo a Dirigir tus Proyectos al Éxito. Sólo puedes ir más rápido, juntos podemos ir más lejos ¿Conectamos?

11 Comentarios+ Escribir Comentario

  • Muito legal! Incluiria também o ALI com o Cache das páginas cujos atributos podem ser incluídos, alterados e excluídos pela administração do Google; o ALI com a lista dos sites proíbidos pela Google; o ALI com a relação de políticas de consulta por País; o ALI com a relação de anúncios patrocinados e as respectivas palavras chave; etc.

    []s

    • Obrigado Carlos Eduardo!

      Certo, não tinha incluído a ALI (ILFS) e IEA (EIFS), porque ele pode ser muito muitos e não temos informações suficientes para contar.
      Eu posso pensar bem de você indicar:
      – Usuários, para exibir as informações de acordo com suas seleções.
      – Pesquisas feitas por usuários. Para obter esse jogo você digita

      Saludos.

  • Muy bueno!, el comentario que hago es en términos del método del IFPUG, destacar que la medición funcional debe estar enlazada a un propósito. O sea, muchos pueden al leer el material comentar “Es solo eso??”. Para ellos respondo que otros usuarios que no solo los usuarios finales de las consultas son incluído en varios propósitos de medición y con eso, varias otras funcionalidades son identificadas como aquellas relacionadas al crawler; a la manutención del cache que considerando los requisitos funcionales en el caso sería contado como un ILF; a las funciones administrativas como eliminar entradas que dañan derechos autoriales y el archivo en el que esos datos son mantenidos, etc.

    • Gracias por el comentario y la aportación.

      Estoy de acuerdo contigo en que el propósito de la medición es importante y que no debemos perderlo nunca de vista.

      Saludo.

  • Julian, me parece muy interesante lo que has publicado como ejemplo, resultará instructivo a gpersonas nuevas en FPA. Solo un pequeño comentario, hay un pequeño punto con el que no estoy de acuerdo, es sobre el cáculo que comentas al poner en negrita las palabras que no coinciden con el texto de búsqueda. Yo creo que es mas una comparación, no veo el cálculo, ¿mi texto coincide o hay algo mas?, en ese caso hay algo mas, lo que seria una comparacion y no un cáculo; otra cosa a analizar seria que implicación tiene el cambio a negrita; en mi opinion ninguno de los dos cualifican el cambio de EQ a EO, aunque el último podria dar lugar a debate.
    Saludos

  • Ante todo gracias a ti Juan José por tomarte el tiempo de comentar y por tu comentario!

    Es una cuestión que admite debate y es bueno abrirlo.

    Para mi el cálculo se realiza para saber que parte de las cadenas de texto coincidentes se deben pintar en negrita y que parte no. Habría que hacer una búsqueda de la cadena y obtener la posición que ocupa el texto que se está buscando.
    Luego con esas posiciones calcular cuales son las posiciones delante o detrás (si las hubiera) que deben pintarse en negrita.

    Para mi sería un proceso similar (aunque el resultado es distinto) a obtener las iniciales de un nombre partiendo del mismo sólo que en lugar de obtener la primera letra aqui el resultado es una cadena con algunas partes resaltadas en negrita.

    Saludos.

  • Hola
    Leí su artículo sobre este mismo MetricView de julio. A medida que la complejidad de la función viene dada por el tipo de función de la cantidad de DET y el número de FTR, me gustaría saber cuál es su visión de la FTR interesados en el proceso “Search with Google”. Es claro para mí que hay un ILF mantenido en la fase de investigación, pero la FTR que se leen para dar el resultado como possimao mostrarles? Consideramos que uno convencional?

    Saludos

    • El total de FTRs referenciados por el proceso no lo podemos saber ya que nos falta información de como funciona el proceso exactamente pero si es cierto que podemos contabilizar algunos.

      Como bien dices, hay un FTR mantenido (como mínimo podrían ser más) que es el fichero lógico que almacena la búsqueda realizada y cuantas veces se ha buscado cada término almacenado (FTR Búsquedas).

      Por otro lado, tenemos que se muestra la información de las páginas web resultado de la información (FTR Sitios_Web)

      También se muestra información sobre anuncios relacionados con los términos de búsqueda que hemos introducido (adwords) y para ello debe obtenerse la información de los anunciantes y de sus pujas (FTR Pujas y FTR Anunciante). (Esto último no aparece en las capturas del ejemplo pero puedes comprobarlo haciendo una búsqueda en google).

      En función de si estás logado como usuario de Google+ o no los resultados pueden variar, añadiendo resultados de tu red de Google+ por lo que el FTR Usuarios debe estar incluido y el FTR Publicaciones_Google+.

      Te enumero los FTRs contabilizados hasta el momento sin tener mucha información:

      • FTR Búsquedas
      • FTR Sitios Web
      • FTR Pujas
      • FTR Anunciante
      • FTR Usuario
      • FTR Publicaciones Google+
      • FTR …

      Como ves hay unos cuantos 🙂

  • Hola Julián,

    me parece muy interesante mostrar con ejemplos la capacidad de los PF’s para medir aplicaciones actuales.
    No obstante, me surgen dudas al respecto de lo adecuado de la medición si buscásemos una estimación.
    Es decir, si se requisitara hacer “google” e hiciésemos esa estimación (obviamente nos faltan datos de entidades internas y externas, tal y como comentas en otro comentario).
    Según el ejemplo tendríamos (suponiendo los DET indicados y 4 o más ficheros referenciados):

    2 EO de complejidad Media-> 5×2 PF’s
    1 EO de complejidad Alta-> 7 PF’s

    Podemos sumarle los EIF’s o ILF’s que comentas. Realmente da igual para lo que quiero exponer.

    Digamos que lo hemos estimado en 17 + xx =100 PF’s.

    Ahora bien, tomando valores de productividad de mercado, podemos tomar por ejemplo un valor de dicha productivdad medio, por ejemplo 10horas / 1 PF.

    Estaríamos diciendo que construimos Google en 100×10= 1.000horas !!!

    Quizá si el dueño de Google viera esto despediría a todo su equipo de desarrollo por ineficaces…

    Muchas gracias.

    Un saludo,

    • Rodrigo es un buen punto el que expones pero tenemos que tener en cuenta muchas cosas para calcular el esfuerzo.

      Por un lado, en cuanto a la parte funcional hay muchas cosas que desconocemos en detalle y que forman parte del proceso “Buscar Google” por ejemplo el robot que se encarga de recopilar las páginas con su última versión. Nuestra función Buscar con Google se aprovecha de él pero en caso de medir el sistema también deberíamos contarlo (previa aplicación de las reglas del CPM), etc.

      Haces bien el cálculo de multiplicar horas por productividad pero hay que tener en cuenta si podemos aplicar la productividad de mercado o no en nuestra situación. Puede que nuestra productividad deba ser más baja porque somos muy eficientes o al contrario tenemos ciertas restricciones que nos hacen ser menos productivo.

      Y por último aunque no menos importante, debemos tener en cuenta que los puntos función miden el componente Funcional de los requisitos de usuario pero no miden el componente No funcional. Cualquier requisito del tipo: “esta consulta debe ejecutarse en menos de 2 segundos”, “el resultado debe mostrarse con este diseño”, etc no están incluidos en la medición en PF.

      Para ello hay otro método que complementa a IFPUG y obtener así una medición completa de ambas componentes: SNAP (del que dentro de poco hablaré en un artículo).

      Un saludo y gracias por sacar un tema tan interesante.

  • Gracias por compartir un ejemplo de este calibre. Para medir el esfuerzo parecería obvio que es un dato variable basado en la experiencia de los desarrolladores, la asignación de prioridades, el perfil de cada desarrollador y el equipo que puede aportar análisis, programación y liderazgo. 1 día por punto función es una aproximación que a veces parece dar resultados muy altos en tiempo.

¿Te ha gustado? Pues sólo cuesta un Comentario. ¡Gracias por adelantado!

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

No te pierdas nada de lo que publiquemos…

Comparte lo que te gusta…

¡Síguenos en Twitter!



¡Síguenos por email!

Recibe nuestro contenido exclusivo para suscriptores: Más de 100 Libros gratuitos, notificaciones de nuevo contenido, ventajas, etc.

Únete a otros 12K suscriptores

¡Síguenos por email!

Recibe nuestro contenido exclusivo para suscriptores: Más de 100 Libros gratuitos, notificaciones de nuevo contenido, ventajas, etc.

Únete a otros 12K suscriptores

¡Síguenos por email!

Recibe nuestro contenido exclusivo para suscriptores: Más de 100 Libros gratuitos, notificaciones de nuevo contenido, ventajas, etc.

Únete a otros 12K suscriptores