ISSN0121–1129 Desarrollo de aplicaciones móviles bajo la plataforma de Iphone Mobile Apps Development on the Iphone’s Platform Fecha de recepción: 20 de agosto de 2011 KarenMelissaRojasLizarazo*,JaimeEstebanRoa Fecha de aprobación: 15 de noviembrede 2011 Castañeda**,AndreaCatherineAlarcónAldana*** Resumen Abstract El iPhone es un dispositivo móvil que lleva cerca de The iPhone is a mobile device that has been almost cincoañosenelmercadodecelulares,ysusfunciones fiveyearsinthecellphonesmarketanditsfunctions vanmás allá delusocomotalde unteléfonocelular, gobeyondtheuseof itas a phone,thanktotheApp graciasalAppStore,queofrecemilesdeaplicaciones Store that offers thousands of applications made by creadas por desarrolladores alrededor delmundo. La developers around the world. The architecture and arquitecturayelsistemaoperativodeliPhonepermiten operation systemof the iPhone let appcations made quelasaplicacionescreadaspordesarrolladoresusen by developers use specialized technologies for tecnologías especializadas para diferentes tipos de different kind of users, allowing them to include usuarios, permitiendo incluir características como features like high-definition graphics or to use gráficos de alta definición o usar accesorios de hardware accessories by utilizing frameworks hardware,haciendousodelosframeworkssoportados supported by the device’s architecture. All this is porlaarquitecturadeldispositivo;todoestoesposible possiblethanktotheApple´sdevelopmenttools.Data crearlo gracias a las herramientas de desarrollo andpersistentstorageareshowedinthedevelopment provistas por Apple. El almacenamiento y la ofacase-of-study-applicationthatemploysCoreData persistenciadedatossevenplasmadoseneldesarrollo for information management. de una aplicación caso de estudio que hace uso de CoreData para elmanejodela información. Key words: Mobile Device,App Store, iPhone, iOS,CoreData. Palabras clave: Dispositivo Móvil,App Store, iPhone,iOS,CoreData. _________ * Ingeniera deSistemasyComputación, UniversidadPedagógica yTecnológica deColombia, Investigadora del Grupo deInvestigaciónen Software–GIS–[email protected] ** IngenierodeSistemasyComputación,UniversidadPedagógicayTecnológicadeColombia,InvestigadordelGrupodeInvestigaciónenSoftware –GIS–[email protected] ***IngenieradeSistemasyComputación,EspecialistaenIngenieríadeSoftware,MagísterenSoftwareLibre,UniversidadPedagógicayTecnológica deColombia,DocenteeinvestigadoradelGrupodeInvestigaciónenSoftware–GIS–. [email protected] 77 RevistaFacultaddeIngeniería,UPTC,Julio-Diciembrede2011,Vol.20,No.31,pp.77-91 – CEDEC DesarrollodeaplicacionesmóvilesbajolaplataformadeIphone I.INTRODUCCIÓN gestión de proyectos y el desarrollo de herramientas, entre otros aspectos, que van desde la especificación Los dispositivos móviles hacen parte de un mercado derequisitoshastaelmantenimientodelsoftware[16]. creciente tanto en el campo comercial como en el de la investigación; esto ha llevado a sus creadores a Administracióndedatos.Eseldesarrolloyejecución permanecer en constantecompetencia,queimplica la de las arquitecturas, políticas, prácticas y creación de nuevos y más potentes dispositivos, con procedimientosquegestionanadecuadamenteelciclo capacidades tecnológicas que cada vez se asemejan de vida completo de las necesidades de datos de una más a las de un computador personal. El iPhone, empresa [8]. desarrollado por Apple, ha sido popular desde su creaciónenelaño2007,yaquepermitióalosusuarios Dispositivo móvil. Es un aparato diseñado para una realizar actividadesdiferentesa las dehacer yrecibir función específica, aunque puede llevar a cabo otras llamadas, acciones típicas de un celular. Además de funcionesgenerales;secaracterizaporserdepequeño las llamadas, el iPhone permite reproducir música y tamaño, con capacidad de procesamiento y memoria videos, navegar eninternet, capturar imagenyvideo, limitadas y conexión (permanente o intermitente) a y hacer uso del sistema de posicionamiento global, una red; este tipo de dispositivo computarizado entre otras actividades. Debido al auge de este dependecadavezmásdelsoftware,funcionabajouna dispositivo, y a sus capacidades tecnológicas, la plataforma que permite a los desarrolladores crear y empresa Apple permitió a los desarrolladores la ejecutar aplicaciones y funciones complejas. creación y distribución de aplicaciones diferentes a lasdesarrolladasporlamismacompañía,dandoasíla Desarrollodesoftwareparadispositivosmóviles.Con oportunidad de explotar al máximo el dispositivo, y el auge de los dispositivos móviles el desarrollo de de que se generaran ingresos económicos para los aplicaciones ha avanzado con fines lucrativos, de creadores de tales aplicaciones. investigación y de satisfacción de necesidades, entre otros. Las aplicaciones son creadas mediante EnColombia,eliPhonenoespopulardebidoalcosto herramientasykitsdedesarrolloespecíficosparacada y al desconocimiento de él; por esta razón, el plataforma.Porlogeneral,cadaplataformaofreceun porcentajedeaplicaciones enelApp Storealusivas a simulador para probar las aplicaciones,sinembargo, Colombia es muy bajo, lo que demuestra el poco la mejor prueba eseneldispositivoreal. interés en la programación para este dispositivo. Debido a esto, en este trabajo se documenta la AppStore.EsunatiendavirtualcreadaporAppleInc., investigación acerca del uso de la plataforma de donde se encuentran más de 425.000 aplicaciones desarrollo de aplicaciones para el iPhone, y además creadas por desarrolladores deApple y externos a la se tratan temas como la arquitectura, el sistema compañía, las cuales están disponibles para ser operativo, las herramientas para el desarrollo de sus descargadas de forma gratuita o pagando con tarjeta aplicaciones, los métodos de almacenamiento de de crédito. información y, finalmente, se plantea una aplicación casodeestudiopara ser desarrollada a lo largodela III.IPHONE investigación. Esundispositivomóvilsofisticado,catalogadocomo II. CONCEPTUALIZACIÓN smartphone (celular inteligente), perteneciente a la compañía Apple Inc. Tiene un teclado virtual, la Es de gran importancia conocer la siguiente tecnología de pantalla permite el reconocimiento de terminología, asociada con esta investigación: gestos multi-touch; capacidad de almacenamiento de hasta 64 Gb, y elementos de hardware, como antena Ingenieríadesoftware.Esladisciplinaquecomprende GPS, acelerómetro y cámara de 5 Mp, por nombrar los procesos técnicos de desarrollo de software, la algunos [14]. 78 – CEDEC RevistaFacultaddeIngeniería,UPTC,Julio-Diciembrede2011,Vol.20,No.31 RojasLizarazo,RoaCastañeda,AlarcónAldana A.Arquitectura El iPhone cuenta con arquitectura y tecnologías que operativo iOS 4; dicha arquitectura está compuesta permiten ejecutar aplicaciones bajo el sistema porcuatrocapas,comoseobservaenlaFig.1. Fig.1. Capasdela arquitectura deiOS.Fuente:[7] 1)Core OS. Hacereferencia alambientedelkernel, del dispositivo [7], entre los cuales están UIKit, drivers de interfaces básicas del sistema operativo AddressBook,CoreLocation,MessageyGameKit, de iPhone, administra memoria virtual, cadenas, por nombrar algunos. sistema de archivos, redes y comunicaciones, entre otros procesos [7]. B.iOS4 2) Core Services. Ofrece acceso a los servicios El sistema operativo del iPhone era conocido fundamentales del sistema operativo [7], dentro de anteriormentecomoiPhoneOS; sinembargo,conel los cuales están SQLite Library, XML Libraries, lanzamiento de la versión 4, en el evento “Apple CFNetwork Framework, Core Foundation WWDC 2010”[2], se vio la necesidad de cambiarle Framework ySecurity Framework, entre otros. el nombre al de iOS 4, debido a que no solo está presenteeneliPhone,sinoademáseneliPadyiPod. 3) Media. Contiene audio, video y tecnologías Algunas características implementadas en dicho gráficasquesondiseñadasparaproveercapacidades sistemaoperativoson:Multitarea,Carpetas,Bandeja deanimaciónaldispositivo;estacapapermiteagregar de entrada unificada, Cámara mejorada, Game gráficosdealtacalidadalaaplicación,haciendouso Center, iBooks, iAds, Mapas y Brújula, FaceTime, detecnologías2-Dy3-D,entrelascualesestánCore entre otras. Graphics,Quartz,OpenGLES,CoreAnimation,Core Audio & Audio ToolBox Frameworks, OpenAL, C.Xcode Core Audio & Audio ToolBox Frameworks, entre otras. Set de herramientas pertenecientes a la compañía Apple, encontrado bajo el nombre de Xcode 4) Cocoa Touch. Provee las clases primarias para Developer Tools (Herramientas de desarrollo de implementar un evento gráfico; cada aplicación en Xcode) [7]; permiten desarrollar aplicaciones el iPhone usa un framework para implementar basadas en el ambiente orientado a objetos llamado interfaces de usuario; también incluye otros Cocoa, codificar, realizar administración de frameworks quepermitenelaccesoa características proyectos, diseñar interfaces de usuario, depurar y 79 RevistaFacultaddeIngeniería,UPTC,Julio-Diciembrede2011,Vol.20,No.31 – CEDEC DesarrollodeaplicacionesmóvilesbajolaplataformadeIphone realizar análisis de rendimiento, entre otras orientado a objetos, ysus librerías, llamadas Cocoa actividades.Lasherramientasutilizadasparadichas Frameworks [4]; además soporta el lenguaje actividades son: orientadoa objetos ObjectiveC. [15]. Debido a que unproyecto administra la información asociada con 1)XcodeIDE.Eselentornodedesarrollointegrado la aplicación,ella seconcentra enuna única ventana (IDE) que provee todas las herramientas para deproyecto(ProjectWindow),endondeseencuentra codificar,crear ydepurar aplicacionesdesarrolladas Barra deHerramientas,ListadeGruposyArchivos, para los sistemas operativos Mac OS X y iOS [7]; VistadeDetalles,EditordeCódigoyBarradeEstado, está integrado con Cocoa, que es el ambiente entreotros, comoseobserva enla Fig. 2. Fig.2.VentanaPrincipaldeXcode.Fuente[7]. 2)InterfaceBuilder.ElConstructordeInterfaceses DocumentosyPrincipal,talycomoseobserva enla una herramienta que permite y facilita el diseño de Fig.3. interfacesdeusuariotantoparaMacOSXcomopara iOS,sinnecesidaddeescribircódigoparadiseñarlas. 3) Instruments. Es una herramienta que permite Trabaja en tiempo real con Xcode, de manera que analizar el rendimiento de la aplicación, mediante la simplemente se diseña la interfaz de usuario e revisiónyexamendelosprocesos.Esútilparaqueel inmediatamente se conectan los controles gráficos software se comporte de manera adecuada, ya que agregados con el código escrito en Xcode mediante permiterastreardificultadesparadescubrirproblemas elusodeapuntadoresparaquelaaplicaciónfuncione enel código, hacer análisis de rendimiento, actividad completamente [4]. Interface Builder no genera de los discos, actividad de la red, uso de memoria, código, crea objetos del lenguaje de programación rastreardesbordamientosdememoria,entreotras[5]. Objective–CyluegolosconectaconelarchivoNIB Estos análisis se pueden realizar con la ayuda de un [11]. Un archivo nib tiene una extensión .xib y gráficoconocidocomo“Timeline”,ydelosdiferentes contiene toda la información de la interfaz gráfica. panelesdelaventanadeldocumentoderastreo(Trace DocumentWindow), entreloscualesestán[5]:Panel El Constructor de Interfaces contiene una serie de de Instrumentos, Panel de Rastreo, Barra de ventanas que ayudan a realizar las interfaces de Navegación, Panel de Detalle y Panel de Extendido, usuario,entrelascualesestánCatálogo,Inspección, comoseobserva enla Fig.4. 80 – CEDEC RevistaFacultaddeIngeniería,UPTC,Julio-Diciembrede2011,Vol.20,No.31 RojasLizarazo,RoaCastañeda,AlarcónAldana Fig.3.InterfaceBuilder.Fuente[7] Fig.4.VentanaInstruments.Fuente[5] 4) iOS SDK. Es el kit de desarrollo de aplicaciones 5) iOS Simulator. El Simulador iOS está incluido para los dispositivos móviles iPhone, iPod Touch y enel iOS SDK; es una herramienta queayuda a los iPad; contiene el código, la información y las desarrolladoresarealizarpruebasdefuncionamiento herramientasdedesarrolloquefuncionandelamano de las aplicaciones creadas; ejecuta la aplicación y se acoplan perfectamente con Xcode para crear como si se estuviera haciendo en el dispositivo real aplicaciones nativas para dichos dispositivos [11]. ysimula los eventostáctiles conla ayuda delmouse Cuando se trabaja con iOS SDK, las mismas [4],larotacióndelapantalla(delandscapeaportrait herramientas pertenecientes a Xcode seacomodana o viceversa) y advertencias de memoria baja, entre las necesidades del dispositivo para el cual se va a otras [12]. Esta herramienta simula el programar, utilizando diferentes frameworks, como comportamiento del iPhone, sin embargo, tiene el llamado Cocoa Touch Framework. También limitaciones [12], no realiza llamadas ni envía incluyelaherramienta iOSSimulator,utilizada para mensajes, no usa la cámara ni el micrófono, y no realizar pruebas de funcionamiento. puede instalar aplicaciones provenientes del App 81 RevistaFacultaddeIngeniería,UPTC,Julio-Diciembrede2011,Vol.20,No.31 – CEDEC DesarrollodeaplicacionesmóvilesbajolaplataformadeIphone Store, entre otras; dichas limitaciones indican que requieren alta concurrencia de usuarios y para no se puede confiar totalmente en el simulador, aplicaciones que no sean Cliente-Servidor [17]. porque él mismo depende del rendimiento del computador. Entonces, es importante probar las 3) Core Data. Es un framework de persistencia aplicaciones también en el dispositivo para versátil que sirve para crear aplicaciones bajo el comprobar el verdadero comportamiento de la patrón Modelo-Vista-Controlador, y es la forma en aplicación [12]. lacualCocoaalmacenalosdatosdesusaplicaciones sinimportareltamañoqueestastengan[6].Trabajar D. Métodos de almacenamiento de datos en el con Core Data es sencillo debido a que ayuda a iPhone esconder todas esas complejidades existentes en el almacenamiento de datos, gracias a que el Creador Algunas aplicaciones que se ejecutan en el iPhone deInterfaces contieneobjetoscontroladores deCore creandatos quenecesitanser almacenados para que Data para que sea mínimo el esfuerzo de codificar esténdisponibleslapróximavezqueunusuariocorra [3]. La administración de datos en las aplicaciones la aplicación; por esta razón, existen tres métodos para dispositivos móviles es importante, ya que para almacenar los datos generados por las permite que los datos que las aplicaciones generan aplicaciones [1]: persistanpara su posterior uso. 1) Archivos planos. Almacenan pequeños datos de Es importante tener en cuenta que Core Data no es texto que no están estructuralmente relacionados. un motor de bases de datos y no necesita usar una Estosarchivosguardandatosquetienenquever con base de datos relacional para el almacenamiento, configuraciones de aplicaciones o programas, y los aunque permite el uso de entidades, atributos y usuarios dedichas aplicaciones nunca tienenacceso relaciones [13]. Core Data ofrece varios tipos de a su contenido [20]. almacenamiento, como XML, binario y SQL, que almacenan los datos dependiendo del diseño del 2)SQLite.Esunpaquetededominiopúblicoycódigo modelo.EltipodealmacenamientoSQLestábasado libre para cada propósito; provee unAdministrador enlalibreríaSQLite[18].CoreDataofreceventajas deBasesdeDatosRelacionales.SQLiteesuna base como soporte automático para deshacer y rehacer, de datos ligera en términos de configuración, mantiene las relaciones recíprocas entre objetos, sobrecarga de administración y uso de recursos, ayuda a conservar memoria en el dispositivo - además es multiplataforma, no requiere de un evitando su desbordamiento, para que las servidor, ya que la librería de SQLite accesa los aplicaciones no finalicen inesperadamente-, permite archivosdealmacenamientodirectamente,ysoporta definir el modelo de objetos en un editor GUI y lagranmayoríadelascaracterísticasdeloslenguajes provee una infraestructura para el versionado y la deconsulta pertenecientesalEstándar SQL92,entre migraciónde los datos, entreotras [3]. otras[9]. Una vez analizados estos tres métodos de Debido a que solo una librería contiene todo el almacenamiento disponibles en el iPhone, se eligió sistema de base de datos, esta librería está incluida CoreDatacomoelqueseráutilizadoenlaaplicación eneliOSSDKyesútilparaeltrabajodealmacenar caso de estudio, debido a que ofrece una mejor datos generados por las aplicaciones; utiliza una integración con el resto de los frameworks de escritura dinámica, lo cual indica que la columna desarrollo de Cocoa Touch. Además, la compañía donde se está escribiendo el valor reconoce Apple está incitando a todos los desarrolladores de automáticamente qué tipo de dato es. Los tipos de aplicaciones para iPhone a usar Core Data, lo que datos que puede almacenar SQLite son: NULL, llevóaquedesaparecieraladocumentaciónexistente INTEGER,REAL,TEXTyBLOB.Esdedestacar enla página delprograma Developer acerca deluso que SQLite es una opción para proyectos que no de SQLite enlas aplicaciones para iPhone. 82 – CEDEC RevistaFacultaddeIngeniería,UPTC,Julio-Diciembrede2011,Vol.20,No.31 RojasLizarazo,RoaCastañeda,AlarcónAldana IV.DESARROLLODELAAPLICACIÓNCASODEESTUDIO el tiempo estimado para el desarrollo total del proyecto es de doce semanas. La aplicacióncasodeestudioserealiza conelfinde poner en práctica los conocimientos acerca de la B.Diseño arquitecturaysistemaoperativodeliPhone,haciendo uso de las herramientas que Xcode ofrece e Enestafasesediseñalaaplicacióndeacuerdoconlas implementando el método de almacenamiento de historias de usuario descritas por los médicos; para datos Core Data para la persistencia de datos. Para ello se diseñan los prototipos en la herramienta eldesarrollodelaaplicacióncasodeestudiosetoma Interface. como referencia las fases de la metodología de desarrollo XP (Programación eXtrema), descritas a 1) Módulo Paciente. Como se observa en la Fig. 5, continuación. este módulo presenta dos vistas: la primera, llamada “Pacientes”, presenta una lista ordenada alfabética- A.Planificacióndelproyecto mentedetodoslospacientesquehansidotratados;la segunda, llamada “Paciente”, permite diligenciar los La aplicacióncaso de estudio va dirigida a médicos datosdelpacientepor tratar. que desempeñan su labor en el área de consulta externa y necesitan almacenar datos de pacientes, 2)MóduloConsulta.La Fig.6presentauna vistaen agregardatoscomunesdeconsultayllevarunregistro la cual se diligencian los datos referentes a la salud delhistorialdelasconsultas.Losanterioresrequisitos del paciente. surgen de las historias de usuario definidas por médicos. El plan de entregas se define a un tiempo 3) Módulo Historia Clínica. En este módulo, como de realización de dos semanas por cada historia de lo muestra la Fig. 7, es posible visualizar una lista, usuariodefinidaporlosmédicos,conuntotaldeseis organizadaporfecha,detodaslasconsultasrealizadas semanasdedesarrollo.Paracumplir conelproyecto a unpaciente. serealizanuna seriedeactividades, entre las quese incluyen construcción de los prototipos de la 4)Modelodedatos.Elmodelodedatosdelaaplicación aplicación,diseñodelmodelodedatos,pruebaspara caso de estudio MiConsulta está compuesto por 2 determinar el buenfuncionamiento de la aplicación, entidades,comoseobserva enla Fig.8, cada una con documentación y consideraciones adicionales a la suscorrespondientesatributos.Estemodelofuecreado aplicación caso de estudio MiConsulta, entre otras; conla herramienta modeladora dedatosde Xcode. Fig. 5. Módulo Paciente. 83 RevistaFacultaddeIngeniería,UPTC,Julio-Diciembrede2011,Vol.20,No.31 – CEDEC DesarrollodeaplicacionesmóvilesbajolaplataformadeIphone Fig.6.MóduloConsulta. Fig.7.MóduloHistoriaClínica. Fig.8.ModelodedatosaplicaciónMiConsulta 84 – CEDEC RevistaFacultaddeIngeniería,UPTC,Julio-Diciembrede2011,Vol.20,No.31 RojasLizarazo,RoaCastañeda,AlarcónAldana C.Codificación son de tipo UITableViewController, llamadas RootViewController y PacienteListViewController; En esta fase de codificación, la aplicación caso de son las encargadas de listar la información estudio,llamadaMiConsulta,sedesarrollómediante correspondiente a los pacientes yconsultas, además elparadigma deprogramación por parejas; por esta manejan la funcionalidad de la aplicación gracias a razón cada uno de los módulos fue realizado en sus botones ubicados en las barras de navegación. equipo, haciendo uso de las herramientas Xcode y Las dos últimas clases son PacienteViewController iOSSDK. y ConsultaViewController, que son de tipo UIViewController y son las encargadas de guardar TeniendoencuentaqueXcodetrabajaconellenguaje la información personal de los pacientes y sus de programación orientado a objetos Objective-C, consultas. la codificación en este lenguaje fue el principal inconveniente,debidoa quesusintaxissebasa enel Ademásdelasclases,laaplicacióntienelosarchivos uso del pseudocódigo, lo que lo hace diferente. MiConsulta.xcdatamodel,quecontieneelmodelode Algunosdesusconceptos,comoelusodeproperties datos, y PacienteViewController.xib y Consulta y synthesize para la generación de getters y setters, ViewController.xib, encargados del manejo de los clases delegate, así como archivos con extensión elementos de la interfaz de usuario para las clases .XIB, generaron confusión al momento de su que llevan el mismo nombre. aplicación en el desarrollo del caso de estudio. Por último, antes de ejecutar la aplicación es Para el desarrollo de la aplicación fue necesario el necesario tener cuidado con el concepto de uso de la plantilla Navigation-based application, administración de memoria, que es muy importante porque provee tablas y botones para facilitar la debido a que la aplicación va a ser ejecutada en un navegaciónnecesaria ygenera una seriedemétodos dispositivomóvildecapacidades limitadas; por esta para el manejo de la información en filas. El razónesimportanteliberarlamemoriaqueescreada framework usado para la persistencia de datos fue en el proceso. Core Data, que no necesita de una base de datos relacional para el almacenamiento, y en este caso D.Pruebas utiliza el tipo de almacenamiento SQL. Este framework hace uso de sus tres clases principales: Serealizantrestiposdepruebas:laprimera,haciendo NSManagedObjectContext,encargadademanejarel una evaluación del almacenamiento de datos y la contexto; NSManagedObjectModel, que es el persistencia de estos, llamada prueba unitaria; la modelo en sí, y NSPersistentStoreCoordinator, segunda, ejecutando la aplicación en el dispositivo encargada de la persistencia de datos; estas clases real y poniéndola a prueba por uno de los médicos son implementadas en la clase delegate. que colabora con las historias de usuario, llamada prueba de funcionalidad, y la tercera, ejecutando la Se crearon cinco clases que se encargan de dar aplicación desde el iOS Simulator y evaluándola en funcionalidad a la aplicación. La primera es laherramientaInstruments,llamadapruebadeestrés. MiConsultaAppDelegate, de tipo NSObject, y usa el protocolo <UIApplicationDelegate>; esta clase Las pruebas unitarias son llevadas a cabo por el implementa los métodos que proveeCoreData para equipo de desarrolladores, y sus resultados se elalmacenamientodedatos.Lasdossiguientesclases presentan a continuación: 85 RevistaFacultaddeIngeniería,UPTC,Julio-Diciembrede2011,Vol.20,No.31 – CEDEC DesarrollodeaplicacionesmóvilesbajolaplataformadeIphone CUADRO1.Prueba unitariaN.º1 APLICACIÓNMICONSULTA INFORMACIÓNGENERAL Prueba: 01 Fecha: 11/06/01 l Tipo de prueba: Unitaria l Persona que realizó la prueba Karen Melissa Rojas l JaimeEsteban Roa Nombre de la prueba Almacenar paciente l Objetivo Almacenar un nuevo paciente l Área de prueba Simulador iOS l Requisitos - Nohaber almacenadodatos antes. l - Ingresar enel momento en quela aplicación se encuentre activa en el simulador. DESARROLLODELAPRUEBA 1.Ejecutar la aplicación en el simulador. 2.Ubicarse enla barra de navegacióncon nombre del pacientey dar clic en elbotón +. 3.Diligenciar los datos del paciente. 4.Hacer clic enelbotónguardar dela figura presentada en la columna de la derecha. Resultado esperado La aplicación almacena los datos del paciente que l fueron diligenciados. Resultado obtenidos Los datos fueron almacenados correctamente. l 86 – CEDEC RevistaFacultaddeIngeniería,UPTC,Julio-Diciembrede2011,Vol.20,No.31
Description: