ingeniería de requerimientos adquisición (elicitation)

74
Ingeniería de Requerimientos Adquisición (Elicitation)

Upload: rodolfo-bedoya

Post on 18-Apr-2015

47 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Ingeniería de Requerimientos Adquisición (Elicitation)

Ingeniería de RequerimientosAdquisición(Elicitation)

Page 2: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Page 3: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Ingeniería deRequerimientos

Especificación

Validación

Análisis

Adquisición

Desarrollo

Administración Control de Versiones

Seguimiento

Control de Cambios

Page 4: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Temas

•Generalidades•Técnicas de adquisición•Técnicas de modelado

Page 5: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Generalidades

•Es un problema humano▫No tiene una solución técnica definitiva

•Involucra▫Psicología Cognitiva

Entendimiento de las dificultades de las personas para describir sus necesidades

▫Antropología Aproximación metodológica para observar las

actividades humanas, que ayudan al desarrollador a entender cómo el sistema ayuda o dificulta estas actividades

Page 6: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Generalidades

•Involucra▫Sociología

Entendimiento de los cambios políticos y culturales causados por la automatización.

▫Lingüística Importante porque la ingeniería de requerimientos se

basa en la comunicación. Ayuda a definir la forma de usar el lenguaje para evitar ambigüedades.

▫ Filosofía Interpretar y entender los términos, conceptos, puntos

de vista y objetivos de las personas interesadas.

Page 7: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Generalidades

•Es el área con mayor incidencia de malas prácticas y con gran impacto en el proyecto

•Diferencias entre▫Usuarios/Clientes

Términos del dominio del negocio▫Desarrolladores

Términos del software

Page 8: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Generalidades

•Los clientes▫No saben lo que quieren▫No están preparados para definir

adecuadamente lo que quieren▫Tienen muchas influencias externas, que

dificultan saber lo que quieren

Page 9: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Generalidades

•Los ingenieros de software▫Están de acuerdo en que la adquisición de

requerimientos es importante, pero aún así Gastan muy poco tiempo realizándola Se realizan muchos supuestos, se dejan de

lado muchas fuentes de información

Page 10: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Generalidades

•Riesgos de un proceso inadecuado▫Pérdida de tiempo por requerimientos

ambiguos o funcionalidades innecesarias▫Producto no aceptado por el usuario▫No incluir funciones necesarias▫Planificaciones que no se cumplen

Page 11: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Generalidades

•Es fundamental que las personas interesadas conozcan la importancia de los requerimientos▫Implicaciones de costo▫Éxito/Fracaso de proyectos

Page 12: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Temas

•Generalidades•Técnicas de adquisición•Técnicas de modelado

Page 13: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Adquisición

•Obtener de los interesados lo que ellos saben (y nosotros no)

•Proceso de comunicación e interacción•Se debe registrar toda la información que

se obtiene

Page 14: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Técnicas de adquisición

•Tradicionales▫Cuestionarios▫Entrevistas▫Análisis de documentación existente

Manuales de procesos, regulaciones, etc.▫Reingeniería (aplicaciones legado)▫Evaluación de productos existentes

Page 15: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Técnicas de adquisición

•Grupales▫Sesiones intensivas (JAD)▫Tormenta de Ideas▫Muro de las maravillas

•Orientadas a modelos▫Escenarios▫Basados en objetivos

Page 16: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Técnicas de adquisición

•Prototipos▫Desechables - Evolutivos

•Cognitivas▫Observación▫Análisis de protocolos (Las personas

explican en voz alta mientras trabajan)▫Ordenar tarjetas con conceptos/atributos

Page 17: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Técnicas de adquisición

•Determinar las técnicas que se utilizarán (no una sola), de acuerdo con las características del proyecto

•Por ejemplo, para aplicaciones muy restringidas no es necesaria tanta interacción con los usuarios

Page 18: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Técnicas de adquisición

Tipo de aplicación

% Requerimientos aproximadoObtenido de personas

Muy restringida

No restringida

Relativamentebajo

Relativamente alto

Sistema de guía de misiles

Sistema de control de vuelo para aviones

Mejoras al sistema de contabilidad

Sistema de control de la producción

Sistema de contabilidad

Videojuego

Apoyo a decisiones tácticas

Page 19: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Ejercicio

•Adapte los derechos y deberes de los usuarios, propuestos por Karl Wiegers, para usarlos en un posible instructivo del proceso de requerimientos para su empresa

Page 20: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Cuestionarios

•Recolectar información de un gran número de personas

•Centrarse en pocos aspectos del sistemas▫Pocas preguntas, concretas

•Combinar preguntas cerradas y abiertas▫Si-No, Selección múltiple, Ordenar o

calificar•La redacción de las preguntas es

importante▫No ambiguas, no orientar a una respuesta

Page 21: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Entrevistas

•Reuniones “cara a cara” entre analistas y personas interesadas

•Es una forma de conversación, no solo de interrogación

•Ideal para recoger opiniones, sugerencias, comentarios, descubrir errores de entendimiento

Page 22: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Entrevistas

•Preparar▫Definir qué información se desea

Depende del tipo de usuario▫Recolectar información de otras fuentes

Conocer el dominio▫Seleccionar a las personas a entrevistar

Priorizar

Page 23: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Entrevistas

•Preparar▫Acordar cita, definir tiempos y enviar

temas a tratar al entrevistado▫Elaborar un guión preliminar

¿Qué hace cada usuario?, ¿Cómo lo hace?, ¿Qué necesita para hacerlo?, Casos excepcionales

Tener en cuenta requerimientos no funcionales, como disponibilidad, fechas/horas con mayor número de transacciones

Page 24: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Entrevistas

•Directivo▫Políticas, Estrategias▫Limitaciones generales

•Ejecutivo▫Objetivos, procedimientos, requerimientos

de información▫Sistemas relacionados▫Otras personas a entrevistar

Page 25: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Entrevistas

•Operativo▫Funciones que realiza actualmente y

sugerencias para mejorar Tipo de entradas Tipo de salidas Consultas / Informes Prioridades de los procedimientos

Page 26: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Entrevistas

• Aspectos▫ Escuchar, escuchar, escuchar.

Incluso si se aleja del tema▫ No suponga que usted tiene la respuesta

lista▫ No suponga que algunas cosas que se dicen

están fuera del alcance. ¡No se conoce el alcance del problema hasta escuchar a todas las personas interesadas!

Page 27: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Entrevistas

• Aspectos▫ La realidad es mucho más extraña de lo que

usted espera▫ Los deseos pueden ocultar necesidades

Page 28: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Entrevistas

•Aspecto clave: ▫Ir más allá de lo operativo▫Entender la razón – contexto – ejemplos –

posibilidades de mejora

Page 29: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Entrevistas

•Evitar▫Usar lenguaje muy técnico▫Influenciar (tendencia a dar información o

resaltar lo que más nos gusta)▫Ejemplo

Preguntar ¿qué le parece que el software tenga tal característica?

Page 30: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Entrevistas

•Debe incluir un seguimiento posterior▫Correo electrónico▫Actas▫Documentos / diagramas▫Reunión corta

Page 31: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Referencia

•Ejemplo de métricas para el proceso de entrevistas▫Libro “Ingeniería de Software: Una

perspectiva orientada a objetos”, de Eric Braude, página 172

Page 32: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Consideraciones

•Buscar los detalles – ser específicos▫Ejemplo: Los reportes de impuestos deben

reflejar el nuevo proceso que se tiene en la empresa al respecto ¿Cuál es el nuevo proceso al cual se hace

referencia? ¿Qué reportes específicamente? ¿Se tiene algún tipo de prueba para

asegurarse de que los resultados son los esperados?

Page 33: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Consideraciones

•El software no siempre es para el momento actual, es para el futuro▫No limitarse a automatizar lo existente

•Preguntar el porqué de las cosas•Proponer sin imponer

▫Es un diálogo donde cada parte aporta▫Señalar posibles mejoras o costos técnicos

Page 34: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Evaluación de productos existentes•Identificar

▫Información que es importante para los procesos (entradas, reportes)

▫Organización de las funciones▫Características importantes o novedosas▫Problemas que se deben evitar

Page 35: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Evaluación de productos existentes•Obtener medidas que pueden servir de

base▫Tiempos de respuesta▫Tiempo promedio para realizar una acción▫Satisfacción del usuario

Page 36: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

JAD

•Joint Application Development▫Desarrollo conjunto de aplicaciones▫Proceso de recolección de datos acelerado,

en el cual los usuarios y analistas se reúnen en una única e intensa reunión, que puede durar de uno a cuatro días, con el objetivo de definir los requerimientos de los usuarios

Page 37: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

JAD

•Principios▫Hacer partícipes a los usuarios▫Dinámica de grupo▫Uso de ayudas audiovisuales▫Proceso organizado y documentado

Page 38: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

JAD

Page 39: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

JAD

•Preparación▫Obtener información preliminar para

delimitar los aspectos a tratar en la reunión▫Definir grupos de trabajo ▫Elaborar una agenda▫Elaborar un documento (o documentos) con

la información recolectada hasta el momento

Page 40: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

JAD

•Reunión - Orden sugerido▫Recordar reglas, objetivos▫Definir visión, contexto▫Mini – tutorial de las herramientas a usar

Casos de uso, CRC, storyboards, etc.▫Trabajo en subgrupos▫Preguntas, acuerdos

Page 41: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

JAD

Page 42: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

JAD

•Durante 1 a 4 días los equipos crean una especificación del sistema▫Flujo de trabajo▫Datos▫Reportes▫Pantallas

•Se documentan las decisiones tomadas (y se dejan en lugares visibles)

Page 43: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

JAD•Consideraciones

▫Lugar alejado del trabajo▫Ambiente de respeto y confianza

Page 44: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

JAD

•Después▫Se elabora un documento final▫Se distribuye entre los participantes para

su revisión▫Reunión de 1 a 2 horas para la revisión

final del documento

Page 45: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Tormenta de ideas

•No tiene estructura definida•Preguntas y respuestas libres•Ayuda a obtener información general,

llegar a consensos sobre objetivos del sistema e identificar algunos conflictos

•Surgen temas no previstos

Page 46: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Tormenta de ideas

•Ambiente libre de críticas y juicios•Grupos de 4 a 10 personas•No hay un líder•Los participantes se comprometen a

generar ideas sin discutir sus méritos•Se escriben la ideas y se colocan en

lugares visibles

Page 47: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Tormenta de ideas

•Posteriormente▫Se revisan y organizan las ideas

Clarificar Unir ideas comunes

▫Se descartan ideas que no son factibles▫Se priorizan las ideas▫Se documenta

Page 48: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Muro de las maravillas

• Pasos1. Listar ítems, individualmente

Definir previamente las áreas de trabajo mediante preguntas claves

Permitir un espacio breve de discusión Cada persona anota posibles respuestas a

las preguntas clave. Cada respuesta es un ítem

Page 49: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Muro de las maravillas

• Pasos2. Formar subgrupos de participantes para

seleccionar los ítems más importantes Se define el tiempo de trabajo Cada ítem se anota en una tarjeta

De 3 a 5 palabras Letra grande

De 7 a 9 ítems por grupo

Page 50: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Muro de las maravillas

• Pasos3. Pegar las tarjetas en la pared (sin

ningún orden en particular) Algunos grupos pueden aclarar el

significado de sus tarjetas

Page 51: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Muro de las maravillas

• Pasos4. Agrupar las tarjetas relacionadas

Se pueden crear/eliminar tarjetas Se da un nombre significativo a cada

grupo de tarjetas

Abc Def Hij TarjetasSin grupo

Page 52: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Muro de las maravillas

• Pasos5. Analizar

Extender el contenido de cada grupo Preguntar a las personas por los ítems que

definieron inicialmente Realizar verificaciones finales

Page 53: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Escenarios

•Ejemplo concreto de uso del sistema•Representa una situación posible de

interacción con el sistema•Un caso de uso agrupa varios escenarios• Tipos

▫Actuales▫Futuros

Page 54: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Escenarios

•Ejemplo▫Roberto y Alicia, que van en su patrulla,

observan que sale humo de una bodega. ▫Alicia activa la función “Reportar emergencia”

en su PDA. Ingresa la dirección y un nivel de emergencia. Solicita un carro de bomberos y espera respuesta.

▫Juan, el despachador, recibe una alerta en su estación de trabajo. Revisa el reporte enviado y da un acuse de recibo. Asigna un carro de bomberos y envía el tiempo estimado de llegada.

▫Alicia recibe el acuse de recibo.

Page 55: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Escenarios

•Ejemplo▫Juan, quien comenzó a trabajar esta semana,

recibe una llamada telefónica del Sr. Jones. El Sr. Jones le dice que realizó un pedido hace tres meses y aún no ha recibido la mercancía. Con la cédula del Sr. Jones, Juan consulta el estado del pedido y observa que fue despachado la semana pasada. Juan le informa al Sr. Jones que debe recibir la mercancía esta semana. También aprovecha para actualizar el número de teléfono del Sr. Jones, pues está errado.

Page 56: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Escenarios

•Pueden acompañarse de “Storyboards”▫Esquemas o borradores de las pantallas o

las situaciones▫Cada pantalla tiene una descripción de las

acciones que se realizan▫Muy usado para multimedia

•Ejemplo

Page 57: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Escenarios

Dirección:

Nivel Emergencia: Alto

Descripción:

Cra 20 Con Calle 18

Incendio. Enviar bomberos

Alicia activa la función “Reportar emergencia” en su PDA

Ingresa la dirección y un nivel de emergencia. Solicita un carro de bomberos y espera respuesta

Reportar Emergencia

Page 58: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Observación

•El proceso actual puede diferir del establecido formalmente

•Las personas a veces encuentran difícil explicar lo que hacen porque es algo natural para ellos

•Se observa a las personas para luego representar la forma de hacer el trabajo

Page 59: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Observación

•Guías▫Invierta tiempo conociendo a las personas y

estableciendo una relación de confianza ▫Suponga que la gente es buena haciendo su

trabajo▫Busque alternativas para hacer las cosas▫Lleve notas detalladas

Page 60: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Temas

•Generalidades•Técnicas de adquisición•Técnicas de modelado

Page 61: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

•Modelar permite:▫Mostrar los detalles esenciales de un

problema complejo y filtrar los no esenciales

▫Visualizar el sistema ha ser desarrollado desde diferentes perspectivas

▫Mejorar la comunicación, al representar la información claramente para diferentes personas

Page 62: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Técnicas de modelado

•Algunas técnicas (I)▫Diagramas de flujo de datos▫Diagramas UML

Casos de uso Actividades Estados

Page 63: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Técnicas de modelado

•Algunas técnicas (II)▫Prototipos▫Diagramas de Entrada/Salida▫Árboles de decisión▫Tablas de decisión

Page 64: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Diagramas de flujo de datos

•Elementos▫Proceso o Función:

▫Entidad Externa:

▫Flujo:

▫Almacenes de datos:

Page 65: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Diagramas de flujo de datos

•Diagramas de contexto▫Entidades externas▫Sistema como un gran proceso

•Diagramas de nivel uno

Page 66: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Diagramas de flujo de datos

•Ejemplo diagrama de contexto

Agenda de compromisos

Secretaria PersonaSolicitud Compromisos pendientes

Listado compromisos pendientes Datos nuevo

compromiso

Confirmación

Page 67: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Diagrama de Estados

•Permite▫Modelar comportamiento discreto▫Posibles estados de una clase (objeto) o del

sistema Cambios de una pantalla a otra

Page 68: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Diagrama de Estados

•Principales elementos

▫Estado

▫Estado inicial

▫Estado final

▫Transición

Page 69: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Diagrama de Estados

•Ejemplo – un proyecto:

EnDefinición

aprobar

EnDesarrollo

avancesterminar

Cerrado

Page 70: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Diagrama de Estados

•Estado:

Nombre

Actividades Internas

Page 71: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Diagrama de Estados

•Actividades internas:▫On Entry▫On Exit▫Do▫Otras (personalizadas)

Page 72: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Diagrama de Estados

•Ejemplo – pantallas:

Menú CoordinadorPrograma

Salir

Gestionar Evaluación

do/CrearEvaluacióndo/ModificarEvaluacióndo/EliminarEvaluacióndo/ConsultarEvaluación

Opción Gestión Evaluaciones

Salir Activar Evaluaciones

entry/Validar que existan evaluacionesdo/Activar o desactivar evaluaciones

Opción Activar Evaluaciones Salir

Page 73: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Ejercicio

•Elaborar el diagrama de estados que muestre las diferentes pantallas del sistema de ejemplo

Page 74: Ingeniería de Requerimientos Adquisición (Elicitation)

Sandra Victoria Hurtado Gil, 2009

Enlaces

•Método de desarrollo basado en el usuario:▫http://www.usabilitynet.org/trump/methods/

index.htm•Diagramas de estado:

▫http://sparxsystems.com.au/resources/uml2_tutorial/uml2_statediagram.html