P. 1
Desarrollo de Aplicaciones para Dispositivos Móviles. Tesis de Ivan Carlos Rivera Gonzalez

Desarrollo de Aplicaciones para Dispositivos Móviles. Tesis de Ivan Carlos Rivera Gonzalez

|Views: 17.914|Likes:
Publicado porrivera.ivan
Desarrollo de Aplicaciones para Dispositivos Móviles. Tesis de Iván Carlos Rivera González para obtener el Titulo de Ingeniero en Computación, en la Fundación Arturo Rosenblueth.
Desarrollo de Aplicaciones para Dispositivos Móviles. Tesis de Iván Carlos Rivera González para obtener el Titulo de Ingeniero en Computación, en la Fundación Arturo Rosenblueth.

More info:

Published by: rivera.ivan on Feb 22, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

03/23/2014

pdf

text

original

ESTUDIOS CON RECONOCIMIENTO DE VALIDEZ OFICIAL

NUMERO 00922681 DE FECHA 23 DE JUNIO DE 1992

SVES. DESARROLLO DE APLICACIONES PARA

DISPOSITIVOS MÓVILES

TESIS

QUE PARA OBTENER EL TÍTULO DE

INGENIERO EN COMPUTACIÓN

PRESENTA:

IVÁN CARLOS RIVERA GONZÁLEZ

ASESOR: EUGENIO JACOBO HERNÁNDEZ VALDELAMAR

MÉXICO, D.F.

MARZO DE 2003

RESUMEN

El interés por crear aplicaciones para Dispositivos Móviles ha aumentado en la

misma medida que estos han demostrado su funcionalidad. Además, con el

aumento en las capacidades de procesamiento de estos dispositivos se ha abierto

todo un abanico de posibilidades de aplicación de los mismos.

Sin embargo, cuando se considera elaborar aplicaciones para dispositos móviles,

la principal dificultad que se debe enfrentar es la elección de una plataforma de

desarrollo, entendida ésta como una combinación de metodología de análisis y

diseño de sistemas, lenguaje de programación, sistema operativo sobre el que se

trabaja, etc.

Para enfrentar un problema como este, se debe plantear la elección de una

Metodología de Análisis y Diseño de Sistemas adecuada, muy probablemente

Orientada a Objetos. Se debe hacer un Análisis y Diseño adecuados,

considerando las limitaciones de la plataforma.

A partir de un Análisis cuidadoso y diseñando las aplicaciones considerando las

restricciones propias de un dispositivo móvil, la correcta aplicación de la

plataforma elegida redundará en un proceso de desarrollo más eficiente, rápido,

económico y con aplicaciones mas robustas.

Como un ejemplo de aplicación de este trabajo, se estudia el “Sistema de

Vigilancia Epidemiológica Simplificada” (SVES) de la Secretaría de Salubridad y

Asistencia.

Los asistentes personales digitalizados son dispositivos con una gran capacidad

de procesamiento a un costo relativamente bajo que ponen al alcance de las

masas la posibilidad de realizar actividades que antes solo se podían realizar con

una computadora personal.

Considerando esto, al desarrollar un sistema para PDAs que aplique la

metodología del SVES, una franja mas grande de la población tendrá acceso a

este mecanismo de atención.

El presente trabajo demostrará que es posible aplicar una metodología de Análisis

y Diseño de Sistemas que considere las limitaciones de una plataforma como las

PDAs para desarrollar aplicaciones de Cómputo Móvil.

II

INDICE

INTRODUCCIÓN.....................................................................................................1

CAPITULO I DESARROLLO DE SISTEMAS..........................................................4

I.1 Conceptos del Software..................................................................................5

I.2 Lenguajes de Programación...........................................................................6

I.2.1 Qué es un lenguaje de programación...................................................6

I.2.2 Evolución de los Lenguajes de Programación......................................9

I.2.3 Clasificación de los Lenguajes de Programación................................12

I.2.4 El proceso de la programación............................................................14

I.3 Tipos de Sistemas de Cómputo....................................................................15

I.3.1 Aplicaciones Monolíticas.....................................................................16

I.3.2 Modelo Cliente / Servidor....................................................................16

I.3.3 Sistemas Distribuidos..........................................................................21

I.3.4 Cómputo Móvil....................................................................................22

I.3.5 Comentarios Finales...........................................................................25

CAPITULO II DESARROLLO DE APLICACIONES PARA ASISTENTES

PERSONALES DIGITALIZADOS..........................................................................26

II.1 Introducción a las PDAs...............................................................................27

II.2 Arquitectura de Hardware de la plataforma Palm.........................................28

II.3 Arquitectura del Sistema Operativo Palm.....................................................32

II.4 Tipos de aplicaciones...................................................................................35

II.4.1 Aplicaciones Web reducidas..............................................................35

II.4.2 Aplicaciones estándar de Palm..........................................................37

II.4.3 Conduits.............................................................................................38

II.5 Estructura de una aplicación Palm...............................................................39

II.5.1 Como se genera un ejecutable..........................................................41

II.5.2 Common Object File Format..............................................................43

II.5.2.1 Archivo Objeto......................................................................43

II.5.2.2 COFF....................................................................................44

II.5.2.3 COFF y Palm........................................................................46

III

II.5.2.4 PRC-Tools............................................................................46

II.5.2.5 CodeWarrior.........................................................................48

II.5.2.6 Otros.....................................................................................48

II.6 Integración de un ambiente de desarrollo Palm...........................................49

II.6.1 Herramientas de desarrollo disponibles.................................................49

II.6.1.1 Herramientas Orientadas a formularios..........................................50

II.6.1.2 Herramientas Orientadas a la programación tradicional.................52

II.6.2 El PalmOs Emulator (POSE).................................................................54

II.7 Características del API de Palm...................................................................56

II.7.1 APIs Definidas por el usuario.............................................................59

II.7.2 El ambiente de desarrollo para este trabajo.......................................60

II.7.3 CodeWarrior.......................................................................................60

II.7.4 Eligiendo entre C y C++.....................................................................61

CAPITULO III OMT PARA EL ANÁLISIS Y DISEÑO DE APLICACIONES EN

ASISTENTES PERSONALES DIGITALIZADOS...................................................66

III.1 Elementos de OMT.....................................................................................67

III.1.1 Modelo de Objetos............................................................................67

III.1.2 Modelo Dinámico..............................................................................68

III.1.3 Modelo Funcional..............................................................................68

III.1.4 Relación entre los Modelos...............................................................69

III.2 Proceso de Análisis y Diseño en OMT........................................................70

III.2.1 Análisis..............................................................................................71

III.2.1.1 Casos de Uso.............................................................................74

III.2.2 Diseño...............................................................................................75

III.2.2.1 Diseño de sistemas....................................................................75

III.2.2.2 Diseño de objetos.......................................................................77

III.3 Patrones de Diseño.....................................................................................79

III.3.1 Qué son los patrones........................................................................79

III.3.1.1 Ventajas de los patrones de diseño............................................81

III.3.2 Patrón Modelo Vista Controlador......................................................82

III.3.2.1 Modelo Vista Controlador y desarrollo para Palm.......................87

IV

III.4 Restricciones dadas por la plataforma........................................................87

III.4.1 Los distintos modelos de Palm..........................................................89

III.4.2 Características generales de las computadoras de mano,

independientemente de la marca................................................................90

III.4.3 Comentarios Finales.........................................................................90

CAPITULO IV CASO DE ESTUDIO: SVES...........................................................95

IV.1 Sistemas de Apoyo en la toma de decisiones...........................................96

IV.1.1 Proceso general de toma de decisiones...........................................97

IV.1.2 Sistemas de diagnóstico médico......................................................98

IV.1.2.1 Perspectiva Histórica..................................................................99

IV.1.2.2 Sistemas Expertos...................................................................100

IV.1.2.3 Funcionamiento de los sistemas de diagnóstico medico..........101

IV.1.2.4 Ejemplo....................................................................................101

IV.2 Antecedentes del Sistema de Vigilancia Epidemiológica..........................102

IV.3 Sistema de vigilancia epidemiológica.......................................................105

IV.3.1 Sistemas no convencionales de Información..................................106

IV.3.2 Aspectos epidemiológicos..............................................................107

IV.4 Sistema de Vigilancia Epidemiológica Simplificada..................................107

IV.4.1 Componentes del SVES.................................................................108

IV.4.2 Padecimientos Incluidos.................................................................109

IV.5 Formatos e instructivos de registro y notificación.....................................111

IV.5.1 Plantilla para el Diagnóstico Individual de Enfermedades..............111

IV.6 Análisis y Diseño del Sistema...................................................................113

IV.6.1 Análisis de la Vista..........................................................................113

IV.6.1.1 Enunciado del problema...........................................................113

IV.6.1.2 Modelo de Objetos...................................................................113

IV.6.1.3 Identificación de Objetos y Clases...........................................113

IV.6.1.4 Diccionario de Datos................................................................122

IV.6.1.5 Identificar Asociaciones entre clases.......................................122

IV.6.1.6 Identificar Atributos...................................................................122

IV.6.1.7 Refinamiento del modelo usando herencia..............................125

V

IV.6.1.8 Modelo Dinámico......................................................................126

IV.6.1.9 Modelo Funcional.....................................................................128

IV.6.1.10 Iterar.......................................................................................130

IV.6.2 Análisis del Modelo.........................................................................130

IV.6.2.1 Enunciado del problema (EP)...................................................130

IV.6.2.2 Modelo de Objetos...................................................................130

IV.6.2.2.1 Identificación de Objetos y Clases.................................130

IV.6.2.2.2 Buscar sujetos en el EP.................................................132

IV.6.2.3 Identificar Asociaciones entre clases.......................................134

IV.6.2.4 Identificar Atributos...................................................................134

IV.6.2.5 Modelo Dinámico......................................................................135

IV.6.2.6 Modelo Funcional.....................................................................136

IV.6.2.7 Iterar el proceso.......................................................................137

IV.7 Análisis del Controlador............................................................................138

IV.7.1 Enunciado del problema (EP).........................................................140

IV.7.1.1Modelo de Objetos....................................................................140

IV.7.1.2Modelo Dinámico.......................................................................141

IV.7.1.3Modelo Funcional......................................................................142

CONCLUSIONES................................................................................................144

BIBLIOGRAFÍA....................................................................................................152

ANEXOS..............................................................................................................159

VI

LISTA DE FIGURAS

Figura 1.1 Tipos de software...................................................................................5

Figura 1.2 Construcción de un ejecutable...............................................................8

Figura 1.3 Ensamblador, Compilador e Interprete.................................................10

Figura 1.4 Niveles de los lenguajes de programación...........................................13

Figura 1.5 Proceso de programación.....................................................................15

Figura 1.6 Comunicación Cliente / Servidor..........................................................17

Figura 1.7 Clientes y servidores en Internet..........................................................19

Figura 1.8 Sistemas Distribuidos...........................................................................21

Figura 1.9 Cómputo Móvil......................................................................................23

Figura 1.10 Flujos de Información en cómputo móvil............................................24

Figura 2.1 Palm m505............................................................................................27

Figura 2.2 Palm IIIe...............................................................................................28

Figura 2.3 El procesador Dragonball.....................................................................29

Figura 2.4 Arquitectura del PalmOS......................................................................33

Figura 2.5 Ejecución de una aplicación web reducida...........................................36

Figura 2.6 Otra vista de una aplicación web reducida...........................................37

Figura 2.7 Calculadora..........................................................................................37

Figura 2.8 Juego pBill para Palm...........................................................................38

Figura 2.9 Reloj.....................................................................................................38

Figura 2.10 Conduit de sincronización diaria de Palm...........................................39

Figura 2.11 Secuencia de llamadas de Funciones................................................41

Figura 2.12 Niveles de programación....................................................................43

Figura 2.14 Generación de un ejecutable..............................................................44

Figura 2.15 Generación de un ejecutable con PRC-Tools.....................................48

Figura 2.16 PE-Coff de Microsoft...........................................................................49

Figura 2.17 Satellite Forms....................................................................................51

Figura 2.18 Pendragon Forms...............................................................................52

Figura 2.19 Organización de la API de Palm.........................................................57

Figura 3.1 Relación entre los modelos de OMT.....................................................69

VII

Figura 3.2 El Proceso de desarrollo de OMT.........................................................70

Figura 3.3 Casos de Uso.......................................................................................75

Figura 3.4 Modelo Vista Controlador.....................................................................83

Figura 3.5 Un solo Modelo puede tener varias vistas y controladores...................83

Figura 3.6 Arquitectura de Modelo Vista Controlador............................................86

Figura 4.1 Proceso de toma de decisiones............................................................97

Figura 4.3 Agenda...............................................................................................114

Figura 4.4 Agregar una cita.................................................................................115

Figura 4.5 Detalles de la cita...............................................................................115

Figura 4.6 Nota ligada a una cita.........................................................................116

Figura 4.7 Agregar una Dirección........................................................................116

Figura 4.8 Forma Acerca de................................................................................117

Figura 4.9 Catalogo del Constructor....................................................................118

Figura 4.11 Diagrama de clases de la Vista........................................................125

Figura 4.12. Caso de Uso MV1A. El PalmOS inicia una aplicación:....................126

Figura 4.13. Caso de Uso MV1B. El Usuario o el PalmOS finalizan la aplicación:

.............................................................................................................................127

Figura 4.14 Diagrama de flujo de eventos del caso de uso Arranque y finalización

de una aplicación.................................................................................................128

Figura 4.15 Primera versión del diagrama de clases del Modelo........................135

Figura 4.16. Caso de Uso MD01. Usuario diagnóstica un padecimiento.............135

Figura 4.17 Diagrama de Flujo de Eventos de Elaboración de un diagnóstico....136

Figura 4.18 Algoritmo para obtener un diagnóstico.............................................137

Figura 4.19 Diagrama de Clases del Modelo.......................................................138

Figura 4.20 Funciones creadas por Codewarrior.................................................140

Figura 4.21 Modelo de objetos del Controlador...................................................141

Figura 4.22. El Usuario diagnostica padecimiento...............................................141

Figura 4.23 Diagrama de clases de la Vista........................................................143

Figura C2. Patrón Modelo Vista Controlador Adaptador......................................151

VIII

LISTA DE TABLAS

Tabla 2.1. Archivos importantes de la Interfaz de Programación de Aplicaciones de

Palm.......................................................................................................................59

Tabla 3.1 Lista de Modelos de PDAs por Fabricante.............................................87

Tabla 3.1 (cont.) Lista de Modelos de PDAs por Fabricante.................................88

Tabla 3.2. Comparación entre los modelos de Palm Inc.......................................89

Tabla 3.3 Comparación de modelos de Handhelds contra una PC.......................91

Tabla 3.3 Comparación de modelos de Handhelds contra una PC (cont).............92

Tabla 3.3 Comparación de modelos de Handhelds contra una PC (cont).............93

Tabla 3.3 Comparación de modelos de Handhelds contra una PC (cont).............94

Tabla 4.2 Conocimiento del experto médico, resumido en una tabla..................102

Tabla 4.10 Propiedades de los objetos de la interfaz gráfica..............................124

Tabla C1. Comparación de código entre versiones del SVES.............................149

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->