respectivas relaciones.
4.3.2.1 WS SAC
4.3.2.1.1 UBICACIÓN DEL SERVICIO:
http://localhost:8080/webServicesTrackingSAC/SelectTrackingSAC?wsdl 4.3.2.1.2 Método:
84 4.3.2.1.3 Descripción:
Permite obtener datos de envío y rastreo del sistema SAC
Tabla 13 Estructura del WS SAC
Parámetros de Entrada Salida
1. numeroEnvio 2. nombreDestinatario 3. operación 1. TrackingSAC 1. codigoServicio 2. nombreServicio 3. nombreRemitente 4. direccionRemitente 5. nombreCiudadOrigen 6. codigoCiudadOrigen 7. nombreProvinciaOrigen 8. codigoProvinciaOrigen 9. nombrePaisOrigen 10. codigoPaisOrigen 11. nombreDestinatario 12. direccionDestinatario 13. nombreCiudadDestino 14. codigoCiudadDestino 15. nombreProvinciaDestino 16. codigoProvinciaDestino 17. nombrePaisDestino 18. codigoPaisDestino 19. fechaEnvio 20. numeroEnvio 21. numeroEnvioAlterno 22. fechaCiclo 23. telefono 24. codigoSucursal 25. nombreSucursal 26. numeroDespacho 27. aerolineaCodigo 28. aerolineaNombre 29. peso 30. EventosSAC 1. numeroGestion 2. fechaGestion 3. codigoUsuario 4. observacion 5. codigoOficina 6. nombreUsuario 7. nombreGestion
85 Adicionalmente se expone la descripción de los parámetros de entrada y respuesta que gestiona el Web Service de SAC.
Tabla 14 Descripción de parámetros de entrada - WS SAC Nombre del
Elemento
Tipo de Dato
Descripción Mandatorio
numeroEnvio Text Número de envío Es mandatorio si el valor del campo “operación” es
igual a
“PORNUMERO” nombreDestinatario Text Nombre del
destinatario. Se puede utilizar el carácter comodín % para especificar entre cero o más caracteres cualquiera. Es mandatorio si el valor del campo “operación” es
igual a
“PORDESTINATA RIO”
Operación Text Especifica si se buscará por número de envío o por destinatario. Puede tener dos valores:
PORNUMERO y PORBENEFICIARI O
SI
Tabla 15 Descripción de parámetros de respuesta - WS SAC
Nombre del Elemento Tipo de Dato
Descripción Mandatorio
codigoServicio String Código del Servicio SI nombreServicio String Nombre del Servicio SI nombreRemitente String Nombre del Remitente SI direccionRemitente String Dirección del Remitente SI nombreCiudadOrigen String Nombre de la Ciudad de
Origen
SI codigoCiudadOrigen String Código de la Ciudad de
Origen
SI nombreProvinciaOrigen String Nombre de la Provincia de
Origen
SI codigoProvinciaOrigen String Código de la Provincia de
Origen
SI nombrePaisOrigen String Nombre del País de Origen SI codigoPaisOrigen String Código del País de Origen SI
86
4.3.2.2 WS IPS
4.3.2.2.1 UBICACIÓN DEL SERVICIO:
http://localhost:8080/webServicesTrackingIPS/SelectTrackingIPS?wsdl 4.3.2.2.2 Método:
El método para la extracción de información es getTrackingIPS. nombreDestinatario String Nombre del Destinatario SI direccionDestinatario String Dirección del Destinatario SI nombreCiudadDestino String Nombre de la Ciudad de
Destino
SI codigoCiudadDestino String Código de la Ciudad de
Destino
SI nombreProvinciaDestino String Nombre de la Provincia de
Destino
SI codigoProvinciaDestino String Código de la Provincia de
Destino
SI nombrePaisDestino String Nombre del País de Destino SI codigoPaisDestino String Código del País de Destino SI
fechaEnvio String Fecha de envío SI
numeroEnvio String Número de Guía SI numeroEnvioAlterno String Número de Guía Alterno SI
fechaCiclo String SI
Teléfono String Campo de número de teléfono
SI codigoSucursal String Código de la Sucursal SI nombreSucursal String Nombre de la Sucursal SI numeroDespacho String Número del Despacho SI aerolineaCodigo String Código de la aerolínea SI aerolineaNombre String Nombre de la aerolínea SI Peso String Muestra el peso del paquete SI EventosSAC String Presenta los diferentes tipos
de estado que puede tener un envío.
SI
numeroGestion String Campo de número de gestión realizada
SI fechaGestion String Campo de fecha de gestión
realizada
SI codigoUsuario String Código del Usuario SI Observación String Campo de Observación SI codigoOficina String Código de la Oficina Postal SI nombreUsuario String Nombre del Usuario SI nombreGestion String Campo de nombre de gestión
realizada
87 4.3.2.2.3 Descripción:
Permite obtener datos de envío y rastreo del sistema IPS
Tabla 16 Estructura del WS IPS
Parámetros de Entrada Salida
1. numeroEnvio 2. nombreDestinatario 3. operacion 1. TrackingIPS 1. codigoServicio 2. nombreServicio 3. nombreRemitente 4. direccionRemitente 5. nombreCiudadOrigen 6. codigoCiudadOrigen 7. nombreProvinciaOrigen 8. codigoProvinciaOrigen 9. nombrePaisOrigen 10. codigoPaisOrigen 11. nombreDestinatario 12. direccionDestinatario 13. nombreCiudadDestino 14. codigoCiudadDestino 15. nombreProvinciaDestino 16. codigoProvinciaDestino 17. nombrePaisDestino 18. codigoPaisDestino 19. fechaEnvio 20. numeroEnvio 21. codigoSucursal 22. nombreSucursal 23. numeroDespacho 24. aerolineaCodigo 25. aerolineaNombre 26. peso 27. EventosIPS 1. fechaEvento 2. fechaCaptura 3. nombreEvento 4. codigoEvento 5. nombreOficina 6. codigoOficina
De la misma manera se expone la descripción de los parámetros de entrada y respuesta que gestiona el Web Service de IPS.
88
Tabla 17 Descripción de parámetros de entrada - WS IPS
Nombre del
Elemento
Tipo de Dato
Descripción Mandatorio
NumeroEnvio Text Número de envío Es mandatorio si
el valor del
campo
“operación” es
igual a
“PORNUMERO”
nombreDestinatario Text Nombre destinatario.
Se puede utilizar el carácter comodín % para especificar entre
cero o más caracteres cualquiera. Es mandatorio si el valor del campo “operación” es igual a “PORDESTINAT ARIO”
Operación Text Especifica si se
buscará por número
de envío o
destinatario. Puede
tener dos valores:
PORNUMERO y
PORBENEFICIARIO SI
Tabla 18 Descripción de parámetros de respuesta - WS IPS Nombre del /Elemento Tipo de
Dato
Descripción Mandatorio CodigoServicio string Código del Servicio SI
nombreServicio string Nombre del Servicio SI nombreRemitente string Nombre del
Remitente
SI direccionRemitente string Dirección del
Remitente
SI nombreCiudadOrigen string Nombre de la
Ciudad de Origen
SI codigoCiudadOrigen string Código de la Ciudad
de Origen
SI nombreProvinciaOrigen string Nombre de la
Provincia de Origen SI codigoProvinciaOrigen string Código de la
Provincia de Origen SI nombrePaisOrigen string Nombre del País de
Origen
SI codigoPaisOrigen string Código del País de
Origen
SI nombreDestinatario string Nombre del
Destinatario
SI direccionDestinatario string Dirección del SI
89 Destinatario
nombreCiudadDestino string Nombre de la Ciudad de Destino
SI codigoCiudadDestino string Código de la Ciudad
de Destino
SI nombreProvinciaDestino string Nombre de la
Provincia de Destino SI codigoProvinciaDestino string Código de la
Provincia de Destino SI nombrePaisDestino string Nombre del País de
Destino
SI codigoPaisDestino string Código del País de
Destino
SI FechaEnvio string Fecha de envío SI NumeroEnvio string Número de Guía SI numeroEnvioAlterno string Número de Guía
Alterno
SI
FechaCiclo string SI
Teléfono string Campo de número de teléfono
SI codigoSucursal string Código de la
Sucursal
SI nombreSucursal string Nombre de la
Sucursal
SI numeroDespacho string Número del
Despacho
SI aerolineaCodigo string Código de la
aerolínea
SI aerolineaNombre string Nombre de la
aerolínea
SI Peso string Muestra el peso del
paquete
SI
EventosSAC Presenta los
diferentes tipos de estado que puede tener un envío.
SI
numeroGestion string Campo de número de gestión realizada
SI FechaGestion string Campo de fecha de
gestión realizada
SI CodigoUsuario string Código del Usuario SI
Observación string Campo de
Observación
SI CodigoOficina string Código de la Oficina
Postal
SI NombreUsuario string Nombre del Usuario SI NombreGestion string Campo de nombre
de gestión realizada SI
90 Con el objetivo de poder reutilizar los Web Service creados, Correos del Ecuador solicitó la extracción de los campos que consideraron necesarios o que en cualquier momento podrían ser útiles.
La Figura 38 App CDE Resultado rastreo, ejemplifica el consumo y filtro de información del envío EE12345679EC, el cual es un envío de prueba en Correos del Ecuador para el Sistema Postal Internacional (IPS).
Figura 38 App CDE Resultado rastreo
91 Para el caso de la Figura 39 de la misma manera consume un Web Service, dado que este servicio se encuentra consumiendo información del sistema de facturación no es posible publicar ningún tipo de información.
Figura 40 App CDE Servicio cotizador
92
Figura 42 App CDE Sub-menú Puntos de atención
Figura 43 App CDE Atención Oficinas
Para hacer uso de Google Maps, es necesario gestionar una licencia la cual debe ser aplicada al proyecto, a continuación se detallan los pasos para gestionar e instalar en nuestro trabajo de titulación.
93
4.3.2.3 Mapas en Android
Describiremos brevemente los pasos a seguir para obtener una nueva API key de Google Maps.
En nuestro navegador de preferencia se deberá acceder a la siguiente ruta: https://code.google.com/apis/console/?noredirect.
Crear un nuevo proyecto API.
Seleccione servicios y dentro del listado deberá activar Google Maps Android API v2, si es la primera vez que accede deberá aceptar los términos y condiciones de uso.
Una vez aceptados los términos y condiciones, acceda a “API Access” y seleccione “Create new Android key”, ingresar “SHA1 fingerprint” seguido de punto y coma “;” y nombre del package name del proyecto en desarrollo y finalmente seleccionar “Create”.
Nota: Para obtener el “SHA1 fingerprint”, se debe acceder a eclipse y ubicar el proyecto en desarrollo, ir a Windows – Preferences, seleccionar Android – Build y proceda a copiar el SHA1.
Por ejemplo:
45:B5:E4:6F:36:AD:0A:98:94:B4:02:66:2B:12:17:F2:56:26:A0:E0;com.example.CDE
En “Simple API Access” – “Key for Android apps (with certificates)" se obtendrá el “API_key”
Adicionalmente para hacer uso de mapas se deberá incluir las siguientes líneas el AndroidManifest.xml del proyecto en desarrollo.
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="aquí tu API_key"/>
<uses-permissionandroid:name="android.permission.INTERNET"/>
<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-featureandroid:glEsVersion="0x00020000"
94 Una vez realizada esta configuración ya se podrá usar mapas en cualquiera de nuestros Activities, adicionalmente como se puede observar en la Figura 44 App CDE Atención Ubicar, se podrá ubicar las agencias a nivel nacional.
Figura 44 App CDE Atención Ubicar
Adicionalmente se añadió en cada una de las ubicaciones la opción de asistencia de navegación, esta acción realizará la llamada al intent de Google Maps instalado en el Smartphone.
95
4.4 TRANSICIÓN
4.4.1 PRUEBAS Y DESPLIEGUE
La aplicación de Correos del Ecuador App CDE, es muy probable que no se encuentre publicada dentro de Google Play, debido a que para registrarse como desarrollador es necesario realizar un pago mediante Google Wallet (Google, 2014), sin embargo Correos del Ecuador publicará su aplicación para descarga desde su sitio web.
Por esta razón los usuarios que descarguen esta aplicación deberán habilitar la instalación de aplicaciones desde fuentes u orígenes desconocidos. Esta opción por defecto viene inhabilitada y generalmente se la encuentra en el menú de “Ajustes – Seguridad”.
96
4.4.1.1 Pruebas unitarias:
Debemos tener en cuenta que no se realizará pruebas de unidad sobre los componentes de Web Service y Data Set, debido a que son componentes que se programan en la herramienta de desarrollo.
El resultado de estas pruebas se encuentra especificado en el ANEXO 5 “Resultado pruebas unitarias”, debido a que este documento es uno de los entregables a Correos del Ecuador CDE E.P.
Las pruebas unitarias ejecutadas han pasado exitosamente, adicionalmente los resultados han sido devueltos satisfactoriamente de acuerdo a los requerimientos levantados en la Fase de Inicio.
4.4.1.2 Prueba integral
Una vez finalizadas las pruebas unitarias se procede a la ejecución de una prueba total o integral a través de APPTHWACK.
Para iniciar con esta prueba es necesario que nuestra aplicación haya sido compilada correctamente, automáticamente nuestro framework de desarrollo “Eclipse” creará el instalador (apk) en nuestro workspace, en
nuestro caso se localizará dentro de
workspace\ZCorreosEcuador\bin\ZCorreosEcuador.apk, el cual nos permitirá subir a APPTHWACK para realizar las pruebas.
97 Para realizar la prueba deberá registrarse en https://appthwack.com/user/login?_next=/project/index. Una vez registrado se deberá proceder a validar su cuenta e inmediatamente se podrá iniciar con la ejecución de una prueba, para esto se deberá crear un nuevo proyecto como se observa en la siguiente imagen.
Figura 48 Creación de proyecto App CDE - CIC para prueba
Posteriormente en el paso 1, se deberá cargar la aplicación desde la ubicación anteriormente indicada.
El paso 2 determina la cantidad de dispositivos sobre los cuales se ejecutará la prueba; en la figura siguiente se puede observar el mensaje “Your app is compatible with 23 of 25 devices”, sin embargo nosotros ya conocemos que la aplicación se ejecuta en dispositivos con Android 2.3 o superior. Al iniciar la prueba, estos 2 dispositivos incompatibles no serán tomados en cuenta.
98
Figura 49 Configuración general de la prueba
En el caso de la opción 3 es opcional, por lo que podemos omitirla sin alterar nuestro resultado. Debido a que nuestra aplicación puede ser ejecutada en 2 idiomas, se establece estas configuraciones en la opción 4 del proyecto de prueba.
Figura 50 Configuración de idioma y ubicación para pruebas
Finalmente procedemos a ejecutar la prueba presionando en el botón “TEST MY APP”. La ejecución total de la prueba es de aproximadamente 15 minutos sin embargo el consumo del saldo de los minutos de prueba que te ofrece esta herramienta te lo especifica en el paso 2.
99 De esta manera, luego de 15 minutos procedemos a verificar algunos de los datos arrojados por este software.
Dado a que esta prueba es sometida en diferentes dispositivos, se procede con la verificación de las capturas de pantalla cada uno de los dispositivos en la siguiente vínculo, cabe indicar que este resultado es compartido por parte del dueño de la cuenta que ejecuta la prueba https://appthwack.com/public/e59078a3efb0214d61b2e4a96.
Figura 51 Capturas de pantalla ejecución Asus Nexux 7
Figura 52 Capturas de pantalla ejecución HTC Evo 4G
La capacidad de la aplicación para adaptarse en los dispositivos que se realizaron las pruebas es aceptable, adicionalmente la aplicación ha funcionado adecuadamente sin presentar errores tal como lo muestra la siguiente imagen.
100
Figura 53 Resultado general de la prueba aplicada a APP CDE
El valor de 100 establecido en la captura anterior, corresponde a la gestión de 100 pruebas unitarias las mismas que fueron ejecutadas sobre 25 dispositivos y evaluaron 4 tipos de prueba en la aplicación las cuales pasaron sin novedades:
Instalación
Ejecución y exploración
Ejercicio aleatorio
Desinstalación
Figura 54 Resultado de la prueba aplicada por estado
El listado de los dispositivos sobre los que se ejecutó esta prueba es el detallado a continuación:
Asus Nexus 7
Model: Nexus 7, OS: 4.4.4, CPU: 1.3 GHz ARMv7, Heap size: 384
Asus Nexus 7 2
Model: Nexus 7, OS: 4.4.4, CPU: 1.5 GHz ARMv7, Heap size: 512
HTC Desire HD
Model: Desire HD A9191, OS: 2.3.3, CPU: 1.0 GHz ARMv7, Heap size: 32
101 Model: PC36100, OS: 2.3.5, CPU: 1.0 GHz ARMv7, Heap size: 32
HTC One S
Model: HTC VLE_U, OS: 4.0.4, CPU: 1.5. GHz ARMv7, Heap size: 128
HTC One X
Model: HTC One X, OS: 4.0.3, CPU: 1.5 GHz ARMv7, Heap size: 128
Motorola Droid RAZR
Model: DROID RAZR, OS: 4.1.2, CPU: 1.2 GHz ARMv7, Heap size: 128
Motorola Droid RAZR HD
Model: XT926, OS: 4.4.2, CPU: 1.5 GHz ARMv7, Heap size: 256
Motorola Droid X
Model: DROIDX, OS: 2.3.4, CPU: 1.0 GHz ARMv7, Heap size: 32
Samsung Galaxy Ace
Model: GT-S5830L, OS: 2.3.4, CPU: 800 MHz ARMv6, Heap size: 64
Samsung Galaxy Mini
Model: GT-S5570, OS: 2.3.4, CPU: 600 MHz ARMv6, Heap size: 64
Samsung Galaxy Nexus
Model: Galaxy Nexus, OS: 4.3, CPU: 1.2 GHz ARMv7, Heap size: 256
Samsung Galaxy Note
Model: SGH-I717, OS: 2.3.6, CPU: 1.4 GHz ARMv7, Heap size: 128
Samsung Galaxy Note II
Model: GT-N7100, OS: 4.3, CPU: 1.6 GHz ARMv7, Heap size: 256
Samsung Galaxy S II
Model: GT-I9100, OS: 2.3.4, CPU: 1.2 GHz ARMv7, Heap size: 64
Samsung Galaxy S III
Model: GT-I9300, OS: 4.3, CPU: 1.4 GHz ARMv7, Heap size: 256
Samsung Galaxy S II Skyrocket
Model: SGH-I727, OS: 2.3.5, CPU: 1.5 GHz ARMv7, Heap size: 64
Samsung Galaxy S Plus
Model: GT-I9001, OS: 2.3.3, CPU: 1.4 GHz ARMv7, Heap size: 64
Samsung Galaxy Tab 10.1
Model: GT-P7510, OS: 3.2, CPU: 1.0 GHz ARMv7, Heap size: 288
Samsung Galaxy Tab 2 10.1
Model: GT-P5113, OS: 4.2.2, CPU: 1.0 GHz ARMv7, Heap size: 256
Samsung Galaxy Tab 2 7.0
Model: GT-P3113, OS: 4.2.2, CPU: 1.0 GHz ARMv7, Heap size: 256
Samsung Nexus S 4G
102
Samsung Vitality
Model: SCH-R720, OS: 2.3.4, CPU: 800 MHz ARMv6, Heap size: 64
Sony Xperia Arc S
Model: LT18a, OS: 4.0.4, CPU: 1.4 MHz ARMv7, Heap size: 32
Sony Xperia Z
Model: L36i, OS: 4.3, CPU: 1.5 GHz ARMv7, Heap size: 384
Adicionalmente esta herramienta nos permite conocer algunas métricas del rendimiento de nuestra aplicación, en este caso podemos observar que la aplicación no abusa o no exige al dispositivo para su operación teniendo un máximo consumo de CPU de 13,73% y memoria de 82,68. El promedio general del consumo del CPU es de 7,04% y en memoria 36,27 MB, inclusive el trazado entre las diferentes vistas está evaluado 0,00057 segundos.
Figura 55 Rendimiento de App CDE
De acuerdo a estos datos podemos deducir que la aplicación se encuentra estable y lista para su operación.
Finalmente para evidenciar la ejecución de la prueba integral se tomará el dispositivo Sony Xperia Z L36i del cual se obtuvieron las siguientes estadísticas.
103
Figura 56 Prueba integral Sony Xperia Z L36i
Adicionalmente se observa un consumo mínimo de ancho de banda, el cual de acuerdo al seguimiento de las capturas generadas se valida que el dispositivo cotizó un envío con destino Afganistán, servicio Certificado Exporta fácil y un peso de 100 gramos (valor predefinido en la prueba), cuyo costo fue de $28,75.
Figura 57 Uso de cotizador
En función de estos resultados, se da como finalizada la prueba integral de la aplicación, de la cual como anteriormente se explicó, se han compartido los resultados de esta prueba, adicionalmente los log’s de la presente simulación se encuentran adjuntos al presente trabajo en un
104 archivo nombrado como results_prueba_integral.zip ubicado en la carpeta de anexos.
En conclusión se determina que la App CDE se encuentra apta para su puesta en marcha, debido a que la misma no ha presentado errores de ejecución en los diferentes dispositivos evaluados, adicionalmente las interfaces no presentan alteración o distorsión durante su operación.
4.4.1.3 Pruebas de aceptación
La presente prueba será realizada a través de la encuesta a un grupo de 20 personas, los mismos que se encuentran distribuidos de la siguiente manera:
Clientes: 5
Servicio al Cliente: 7
Tecnología; 8
4.4.1.3.1 Usabilidad
Para validar la usabilidad de la aplicación se utilizó la encuesta, la misma que se realizó a 20 usuarios, de acuerdo al detalle de preguntas expuesto a continuación:
Tabla 19 Formato de encuesta para usabilidad
EVALUACIÓN DE LA APP CDE – CIC MÓVIL PARA CORREOS DEL ECUADOR CDE E.P.
La finalidad de la presente encuesta es recopilar los criterios del encuestado sobre la usabilidad de la App CDE. Se recomienda absoluta sinceridad por parte del encuestado para que su criterio sea una contribución en la mejora del sistema.
DATOS INFORMATIVOS
Edad: _____ Sexo: _____
Fecha:_________________________
105
1. ¿La navegación de la aplicación le pareció sencilla? Si__ No__
2. ¿La información que usted requería, la encontró con facilidad? Si__ No__
3. ¿Existió algún tipo de error al utilizar la aplicación? Si__ No__
Si es positiva su respuesta especifique el número de errores….………...
4. ¿Le pareció sencilla la utilización de la aplicación? Si__ No__
5. ¿Indique la impresión que le dejo la aplicación? buena__ mala__ regular__
6. ¿Cree usted que la aplicación ha cumplido con sus expectativas? Si__ No__
Los resultados de la encuesta anteriormente detallada se exponen a continuación:
Tabla 20 Resultado encuesta usabilidad - Pregunta 1
Pregunta: ¿La navegación de la aplicación le pareció sencilla? Total de Respuestas 20
Tipo de Respuesta SI NO
Número de Respuestas 19 1
Figura 58 Resultado encuesta usabilidad - Pregunta 1 Tabla 21 Resultado encuesta usabilidad - Pregunta 2
106 Pregunta: ¿La información que usted requería, la encontró con
facilidad? Total de Respuestas 20
Tipo de Respuesta SI NO
Número de Respuestas 20 0
Figura 59 Resultado encuesta usabilidad - Pregunta 2
Tabla 22 Resultado encuesta usabilidad - Pregunta 3
Pregunta: ¿Existió algún tipo de error al utilizar la aplicación? Total de Respuestas 20
Tipo de Respuesta SI NO
Número de Respuestas 1 19
Figura 60 Resultado encuesta usabilidad - Pregunta 3
Tabla 23 Resultado encuesta usabilidad - Pregunta 4
Pregunta: ¿Le pareció sencilla la utilización de la aplicación? Total de Respuestas 20
Tipo de Respuesta SI NO
107
Figura 61 Resultado encuesta usabilidad - Pregunta 4
Tabla 24 Resultado encuesta usabilidad - Pregunta 5
Pregunta: ¿Indique la impresión que le dejo la aplicación?
Total de Respuestas 20
Tipo de Respuesta Buena Mala Regular
Número de Respuestas 17 0 3
Figura 62 Resultado encuesta usabilidad - Pregunta 5
Tabla 25 Resultado encuesta usabilidad - Pregunta 6
Pregunta: ¿Cree usted que la aplicación ha cumplido con sus