Sie sind auf Seite 1von 174

SISTEMA PARA OPTIMIZACION DE CRUZAMIENTOS DE TRENES

HERNAN TORREZ V.

Santa Cruz Bolivia Abril 2008

INDICE DE CONTENIDO
INDICE DE CONTENIDO ................................................................................... 2 INDICE DE FIGURAS ........................................................................................ 6 PARTE I: EL ENTORNO DEL PROYECTO ...................................................... 9 CAPITULO 1: ANTECEDENTES ......................................................................... 11 1.1.- ANTECEDENTES ....................................................................................... 11 1.1.1- Hitos Histricos ........................................................................................ 11 1.1.2.- Antecedentes en Estados Unidos............................................................. 13 1.1.3.- Antecedentes en el continente Africano .................................................. 14 1.1.4.- Antecedentes en Australia ....................................................................... 14 1.1.5.- Antecedentes en el continente Asitico ................................................... 15 1.1.6.- Antecedentes en Amrica Latina............................................................. 15 1.1.7.- Antecedentes en Bolivia .......................................................................... 16 1.1.8.- Antecedentes en el Oriente Boliviano ..................................................... 18 1.2.- ACTUALIDAD ............................................................................................. 18 1.2.1.- Nuevas formas de Energa....................................................................... 19 1.2.2.- Trenes de Alta Velocidad ........................................................................ 19 1.2.3.- Transporte Intermodal ............................................................................. 20 1.3.- FERROVIARIA ORIENTAL S.A. ............................................................. 22 1.3.1.- Misin ..................................................................................................... 24 1.3.2.- Visin ...................................................................................................... 24 1.3.3.- Objetivos Estratgicos ............................................................................. 25 1.3.4.- Servicios .................................................................................................. 25 1.3.5.- Cifras y Datos de la Gestin 2005 ........................................................... 27 1.3.6.- Responsabilidad Social ........................................................................... 28 CAPITULO 2: OBJETIVOS DEL PROYECTO .................................................. 34 2.1.- DESCRIPCION DEL PROBLEMA Y JUSTIFICACION ...................... 34 2.1.1.- Planeamiento de Cruzamientos de Trenes .............................................. 34 2.2.- OBJETIVOS DEL PROYECTO ................................................................ 40 2.2.1.- Objetivo General ..................................................................................... 40 2.2.2.- Objetivos Especficos .............................................................................. 40 2.3.- ALCANCE DEL PROYECTO ................................................................... 41 2.3.1.- Cruzamiento de Trenes............................................................................ 41

Indice de Contenidos

2.3.2.- Salida de Trenes ...................................................................................... 41 2.3.3.- Elaboracin de Surcos ............................................................................. 41 PARTE II: MARCO TEORICO Y METODOLOGICO ....................................... 42 CAPITULO 3: EL FERROCARRIL ...................................................................... 43 3.1.- TRENES ........................................................................................................ 43 3.1.1.- Locomotoras o Material Tractivo ............................................................ 44 3.1.2.- Material Rodante ..................................................................................... 44 3.2.- ESTACIONES .............................................................................................. 45 3.2.1.- Tipos de Estaciones ................................................................................. 46 3.3.- VIAS FERREAS........................................................................................... 48 3.3.1.- Elementos de la Infraestructura ............................................................... 48 3.3.2.- Tipos de Va ............................................................................................ 54 CAPITULO 4: RESOLUCION DE PROBLEMAS MEDIANTE TECNICAS HEURISTICAS......................................................................................................... 56 4.1.- RESOLUCION DE UN PROBLEMA MEDIANTE BUSQUEDA HEURISTICA ....................................................................................................... 57 4.1.1.- Elementos de un Problema de Bsqueda ................................................ 57 4.1.2.- Modelizacin ........................................................................................... 58 4.1.3.- Problemas Multimodales ......................................................................... 58 4.1.4.- Problemas con Restricciones ................................................................... 59 4.2.- METODO DE BUSQUEDA: BUSQUEDA EXHAUSTIVA.................... 60 4.3.- PROBLEMA DE ENCONTRAR LA RUTA MS CORTA DE UNA CIUDAD A OTRA ................................................................................................ 61 4.3.1.- Elementos del Problema .......................................................................... 61 4.3.2.- Solucin Mediante Bsqueda Exhaustiva y Backtracking ...................... 62 4.4.- PROBLEMA DE CRUZAMIENTO DE TRENES ................................... 64 CAPITULO 5: EL PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE .................................................................................................................................... 68 5.1.- DEFINICION DEL PROCESO UNIFICADO .......................................... 69 5.2.- FASES Y FLUJOS DE TRABAJO ............................................................ 73

Indice de Contenidos

PARTE III: DESARROLLO DEL PROYECTO ................................................. 85 CAPITULO 6: MODELO DEL NEGOCIO Y CAPTURA DE REQUISITOS . 86 6.1.- MODELO DEL NEGOCIO ........................................................................ 86 6.1.1.- Modelo de Casos de Uso del Negocio .................................................... 87 6.1.2.- Modelo de Objetos del Negocio .............................................................. 87 6.2.- CAPTURA DE REQUISITOS COMO CASOS DE USO ........................ 93 6.2.1.- Identificacin y Especificacin de Actores ............................................. 93 6.2.2.- Identificacin de Casos de Uso ............................................................... 94 6.2.3.- Priorizacin de Casos de Uso .................................................................. 94 6.2.4.- Especificacin de Casos de Uso .............................................................. 95 6.2.5.- Diagrama General de Casos de Uso ...................................................... 101 CAPITULO 7: ANALISIS DEL PROYECTO .................................................... 102 7.1.- ANALISIS DE LA ARQUITECTURA .................................................... 102 7.2.- ANALISIS DE CASOS DE USO .............................................................. 103 7.3.- ANALISIS DE CLASES ............................................................................ 110 7.3.1.- Clases de Interfaz .................................................................................. 110 7.3.2.- Clases de Control .................................................................................. 113 7.3.3.- Clases de Entidad .................................................................................. 116 7.4.- ANALISIS DE PAQUETES ...................................................................... 117 7.4.1.- Dependencia entre Paquetes .................................................................. 117 7.4.2.- Diagramas de Clases por Paquete ......................................................... 118 CAPITULO 8: DISEO DEL PROYECTO ....................................................... 121 8.1.- DISEO DE LA ARQUITECTURA ....................................................... 121 8.1.1.- Identificacin de Nodos y Componentes .............................................. 121 8.2.- DISEO DE CASOS DE USO .................................................................. 122 8.3.- DIAGRAMAS DE CLASES...................................................................... 129 8.4.- DISEO DE DATOS ................................................................................. 135 CAPITULO 9: IMPLEMENTACION Y PRUEBAS DEL PROYECTO ......... 140 9.2.- TRANSFORMACION DE LOS MODELOS DE DISEO ................... 142

Indice de Contenidos

9.3.- IDENTIFICACIN DE LOS COMPONENTES.................................... 142 9.3.1.- Componentes a partir de la clase Tren .................................................. 142 9.3.2.- Componentes a partir de la clase TrenEnTransito ................................ 143 9.3.3.- Componentes a partir de la clase Recorrido .......................................... 146 9.3.4.- Componentes a partir de la clase Estacion ............................................ 146 9.3.5.- Componentes a partir de la clase EstadoTransito.................................. 147 9.3.6.- Componentes a partir de la clase Motor ................................................ 154 9.3.7.- Componentes a partir de la clase Cruzamiento ..................................... 156 9.3.8.- Componentes a partir de la clase Paso .................................................. 156 9.3.9.- Componentes a partir de la clase Solucion............................................ 157 9.3.10.- Componentes a partir de la clase Server ............................................. 158 9.3.11.- Componentes a partir de la clase Simulacion ..................................... 158 9.3.12.- Componentes a partir de la clase Graficador ...................................... 159 9.3.13.- Componentes a partir de la clase Service ............................................ 160 9.4.- IDENTIFICACIN DE SUBSISTEMAS DE IMPLEMENTACION .. 161 9.4.1.- Subsistema Trenes ................................................................................. 161 9.4.2.- Subsistema Heurstica ........................................................................... 162 9.4.3.- Subsistema Remoting ............................................................................ 162 9.4.4.- Subsistema ClienteT .............................................................................. 162 9.4.5.- Subsistema TrafService ......................................................................... 163 9.5.- PLANIFICACION DE LAS PRUEBAS .................................................. 163 9.6.- PRUEBAS DE UNIDAD ............................................................................ 163 9.7.- PRUEBAS DE INTEGRACION .............................................................. 164 9.8.- PRUEBAS DE SISTEMA.......................................................................... 164 CONCLUSIONES .......................................................................................... 165 FUENTES DE INFORMACION ...................................................................... 166 ANEXO A: PANTALLAS DEL SISTEMA ...................................................... 170

INDICE DE FIGURAS
Figura 1.1: Locomotora construda por George Stephenson en 1825 ....................................................... 12 Figura 1.2: Tren de Gran Velocidad Francs ............................................................................................ 20 Figura 1.3: Ruta cubierta por la Empresa Ferroviaria Oriental ............................................................... 22 Figura 1.4: Vagones para transporte de productos qumicos pertenecientes a la empresa Ferroviaria Oriental ...................................................................................................................................................... 23 Figura 1.5: Trenes en la Terminal Ferroviaria de Puerto Quijarro .......................................................... 23 Figura 1.6: Locomotora con vagones de carga de la empresa Ferroviaria Oriental ................................ 24 Figura 1.7: Ferrobs perteneciente a la empresa Ferroviaria Oriental .................................................... 27 Figura 1.8: Nios aprendiendo con el Tren de Vida .................................................................................. 29 Figura 1.9: Revista Sobre Rieles ........................................................................................................... 30 Figura 1.10: Mapa Ferroviario elaborado por la empresa Ferroviaria Oriental ..................................... 31 Figura 1.11: Vagn-Tanque acondicionado para el transporte de agua ................................................... 32 Figura 2.1: Cruzamiento de trenes............................................................................................................. 35 Figura 2.2: Puesto de Control de Trenes de la Empresa Ferroviaria Oriental ......................................... 36 Figura 2.3: Grfico de Regulacin de Trenes ............................................................................................ 37 Figura 2.4: Estacin Ferroviaria de Cotoca .............................................................................................. 38 Figura 2.5: Estacin Ferroviaria de San Jos ........................................................................................... 38 Figura 3.1: Vagn jaula para el transporte de ganado ............................................................................. 45 Figura 3.2: Vagn para transporte de contenedores perteneciente a Ferroviaria Oriental ...................... 45 Figura 3.3: Disposicin de una estacin de pasajeros .............................................................................. 46 Figura 3.4: Estacin de paso para pasajeros ............................................................................................ 47 Figura 3.5: Va Frrea, sector Este ........................................................................................................... 48 Figura 3.10: Riel utilizada por Ferroviaria Oriental................................................................................. 49 Figura 3.6: Antiguos rieles de vientre de pez ............................................................................................. 50 Figura 3.7: Riel de tipo Vignol ................................................................................................................... 50 Figura 3.8: Acopio de Balasto ................................................................................................................... 51 Figura 3.9: Va Frrea con durmientes de hormign ................................................................................ 52 Figura 3.10: Tirafondo: utilizado para la sujecin de la va ..................................................................... 52 Figura 3.11: Aparatos de va (Sapo) .......................................................................................................... 53 Figura 3.12: Semforo para desvo ............................................................................................................ 53 Figura 3.13: Ancho de Va ......................................................................................................................... 54 Figura 4.1: Problema de determinacin de ruta ........................................................................................ 61 Figura 4.2: Primer solucin hallada siguiendo los nodos cuyo costo de ruta sea meno ........................... 62 Figura 4.3: Despus de explorar todos los nodos, se da con la solucin ptima ...................................... 63 Figura 4.4: Proyeccin de Cruzamientos entre dos trenes ........................................................................ 64 Figura 4.5: El ferrobs espera en la primera estacin al tren de pasajeros ............................................. 65 Figura 4.6: El tren de pasajeros espera en la segunda estacin al ferrobs ............................................. 66 Figura 5.1: Elementos de los Casos de Uso ............................................................................................... 70 Figura 5.2: Fases o flujos de iteracin ...................................................................................................... 73 Figura 5.3: Porcentajes de duracin y esfuerzo tpicos necesarios ........................................................... 79 Figura 5.4: Flujos de Trabajo Fundamentales .......................................................................................... 80 Figura 6.1: Modelo de Casos de Uso del Negocio ..................................................................................... 87 Figura 6.2: Diagrama de Actividades: Graficar Recorrido ....................................................................... 88 Figura 6.3: Diagrama de Actividades: Realizar Proyeccin ..................................................................... 90 Figura 6.4: Diagrama de Actividades: Determinar Horario de Salida ..................................................... 90 Figura 6.5: Diagrama de Actividades: Elaborar Surcos de Trenes ........................................................... 91 Figura 6.6: Diagrama de Actividades: Consultar Horario de Llegada de tren a estacin ........................ 92 Figura 6.7: Priorizacin de Casos de Uso ................................................................................................. 95 Figura 6.8: Caso de Uso: Realizar Proyeccin ......................................................................................... 96

Indice de Figuras

Figura 6.9: Caso de Uso: Determinar Horario de Salida ......................................................................... 97 Figura 6.10: Caso de Uso: Elaborar Surcos de Trenes ............................................................................. 98 Figura 6.11: Caso de Uso: Consultar Hora de Llegada de trenes a estaciones ........................................ 99 Figura 6.12: Caso de Uso: Graficar Recorrido ....................................................................................... 100 Figura 6.13: Diagrama de Paquetes ........................................................................................................ 101 Figura 7.1: Diagrama de Paquetes .......................................................................................................... 102 Figura 7.2: Diagrama de Colaboracin: Realizar Proyeccin................................................................ 104 Figura 7.3: Diagrama de Colaboracin: Determinar Horario de Salida ................................................ 105 Figura 7.4: Diagrama de Colaboracin: Elaborar Surcos de Trenes ..................................................... 106 Figura 7.5: Diagrama de Colaboracin: Consultar Hora de Llegada de trenes a estaciones ................ 107 Figura 7.6: Diagrama de Colaboracin: Graficar Recorrido ................................................................. 108 Figura 7.7: Diagrama de Colaboracin: Resolver Simulacin ............................................................... 109 Figura 7.8: Anlisis de la clase FrmMain................................................................................................ 110 Figura 7.9: Anlisis de la clase FrmElegirTren ...................................................................................... 111 Figura 7.10: Anlisis de la clase FrmNewSimSimpl ................................................................................ 111 Figura 7.11: Anlisis de la clase FrmNewtrenHVar ................................................................................ 112 Figura 7.12: Anlisis de la clase Server .................................................................................................. 113 Figura 7.13: Anlisis de la clase Simulacion ........................................................................................... 113 Figura 7.14: Anlisis de la clase Motor ................................................................................................... 114 Figura 7.15: Anlisis de la clase EstadoTransito .................................................................................... 114 Figura 7.16: Anlisis de la clase TrenEnTransito ................................................................................... 115 Figura 7.17: Anlisis de la clase Cruzamiento ........................................................................................ 115 Figura 7.18: Anlisis de la clase Paso ..................................................................................................... 116 Figura 7.19: Anlisis de la clase BRecorrido .......................................................................................... 116 Figura 7.20: Diagrama de Dependencia entre Paquetes ......................................................................... 117 Figura 7.21: Diagrama de Clases por Paquete. Paquete: Trenes ........................................................... 118 Figura 7.22: Diagrama de Clases por Paquete. Paquete: Remoting ....................................................... 119 Figura 7.23: Diagrama de Clases por Paquete. Paquete: Heurstica ..................................................... 119 Figura 7.24: Diagrama de Clases por Paquete. Paquete: Grficos ........................................................ 119 Figura 7.25: Diagrama de Clases por Paquete. Paquete: Forms ............................................................ 120 Figura 7.26: Diagrama de Clases por Paquete. Paquete: TrafService.................................................... 120 Figura 8.1: Diagrama de Despliegue....................................................................................................... 122 Figura 8.2: Diagrama de Secuencia: Realizar Proyeccin...................................................................... 123 Figura 8.3: Diagrama de Secuencia: Determinar Horario de Salida ...................................................... 124 Figura 8.4: Diagrama de Secuencia: Elaborar Surcos de Trenes ........................................................... 125 Figura 8.5: Diagrama de Secuencia: Consultar Hora de Llegada de trenes a estaciones ...................... 126 Figura 8.6: Diagrama de Secuencia: Graficar Recorrido ....................................................................... 127 Figura 8.7: Diagrama de Secuencia: Resolver Simulacin ..................................................................... 128 Figura 8.8: Diagrama de Clases: Paquete Trenes ................................................................................... 130 Figura 8.9: Diagrama de Clases: Paquete Heurstica ............................................................................. 131 Figura 8.10: Diagrama de Clases: Paquete Remoting ............................................................................ 132 Figura 8.11: Diagrama de Clases: Paquete Forms ................................................................................. 133 Figura 8.12: Diagrama de Clases: Paquete Grficos .............................................................................. 134 Figura 8.13: Diagrama de Clases: Paquete TrafService ......................................................................... 134 Figura 8.14: Diseo de Datos. Tabla: TTren ........................................................................................... 135 Figura 8.15: Diseo de Datos. Tabla: TEstacion .................................................................................... 136 Figura 8.16: Diseo de Datos. Tabla: TTren_Tipos ................................................................................ 136 Figura 8.17: Diseo de Datos. Tabla: TItinerario ................................................................................... 137 Figura 8.18: Diseo de Datos. Tabla: TItinerario_Estacion ................................................................... 137 Figura 8.19: Diseo de Datos. Tabla: TBoletin_Tren ............................................................................. 138 Figura 8.20: Diseo de Datos. Tabla: TBoletin_Recorrido ..................................................................... 139 Figura 9.1: Identificacin de componentes a partir de la clase Tren ...................................................... 143 Figura 9.2: Identificacin de componentes a partir de la clase TrenEnTransito .................................... 144 Figura 9.3: Segmento de cdigo dentro de TrenEnTransito, mtodo AvanzarSgteEstacion ................... 145

Indice de Figuras
Figura 9.4: Identificacin de componentes a partir de la clase Recorrido .............................................. 146 Figura 9.5: Identificacin de componentes a partir de la clase Estacion ................................................ 147 Figura 9.6: Identificacin de componentes a partir de la clase EstadoTransito ..................................... 148 Figura 9.7: Segmento de cdigo dentro de EstadoTransito, mtodo GetSgteCruzamiento ..................... 150 Figura 9.8: Segmento de cdigo dentro de EstadoTransito, mtodo AvanzarHastaCruzar .................... 153 Figura 9.9: Identificacin de componentes a partir de la clase Motor .................................................... 154 Figura 9.10: Mtodo GetSolution dentro del componente Motor.cs ........................................................ 155 Figura 9.11: Identificacin de componentes a partir de la clase Cruzamiento ....................................... 156 Figura 9.12: Identificacin de componentes a partir de la clase Paso .................................................... 157 Figura 9.13: Identificacin de componentes a partir de la clase Solucion .............................................. 157 Figura 9.14: Identificacin de componentes a partir de la clase Server ................................................. 158 Figura 9.15: Identificacin de componentes a partir de la clase Simulacion .......................................... 159 Figura 9.16: Identificacin de componentes a partir de la clase Graficador .......................................... 160 Figura 9.17: Identificacin de componentes a partir de la clase Service ................................................ 161 Figura 9.18: Identificacin del subsistema Trenes .................................................................................. 161 Figura 9.19: Identificacin del subsistema Heuristica ............................................................................ 162 Figura 9.20: Identificacin del subsistema Remoting .............................................................................. 162 Figura 9.21: Identificacin del subsistema ClienteT................................................................................ 162 Figura 9.22: Identificacin del subsistema TrafService ........................................................................... 163 i. Pantalla con Simulacin Realizada sobre el Trfico Actual de Trenes .......................................... 170 ii. Pantalla Para Aadir/Editar Trenes de una Simulacin ................................................................ 171 iii. Pantalla con Informacin de Cruzamientos y Pasos de Trenes de una Simulacin ....................... 172 iv. Pantalla con Ampliacin Realizada al Grfico de una Simulacin ................................................ 173

PARTE I

EL ENTORNO DEL PROYECTO

Compitiendo con medios de transporte ms modernos, el transporte por ferrocarril debe usar sus recursos materiales y humanos con eficiencia y para lograrlo debe hacer uso de las nuevas tecnologas y las facilidades que stas brindan.

CAPITULO 1 ANTECEDENTES

ara una mejor comprensin de las funciones de la empresa, repasaremos brevemente los hechos histricos que dieron origen al ferrocarril y la incursin de ste en

diferentes regiones del mundo.

1.1.- ANTECEDENTES
A continuacin, diversos hitos histricos que dieron inicio al ferrocarril.

1.1.1- Hitos Histricos


El primer transporte de viajeros sobre "carriles de hierro" se realiz en 1801 con vagones tirados por caballos, entre las localidades inglesas de Wandsworth y Croydon. Los dos principios mecnicos, guiado de ruedas y uso de fuerza motriz, fueron combinados por primera vez por el ingeniero de minas ingls Richard Trevithick, quien el 24 de febrero de 1804 logr adaptar la mquina de vapor,

11

Captulo 1: Antecedentes

que se utilizaba desde principios del siglo XVIII para bombear agua, para que tirara de una locomotora que hizo circular a una velocidad de 8 Km. por hora arrastrando cinco vagones, cargados con 10 t de acero y 70 hombres sobre una va de 15 Km. de longitud de la fundicin de Pen-y-Darren, en el sur de Gales. Transcurrieron dos dcadas durante las cuales se desarrollaron los rales de hierro fundido que soportaban el peso de una locomotora de vapor. La potencia necesaria para arrastrar trenes, en lugar de uno o dos vagones, se asegur colocando una locomotora de vapor sobre dos o ms ejes con las ruedas unidas mediante bielas. La primer va frrea pblica del mundo, la lnea Stockton-Darlington, en el noreste de Inglaterra, dirigida por George Stephenson (considerado el padre del ferrocarril moderno por las investigaciones que realiz, junto con su hijo Robert), se inaugur en 1825. Durante algunos aos esta va slo transport carga; en ocasiones tambin utilizaba caballos como fuerza motora. Ver Figura 1.1

Figura 1.1: Locomotora construda por George Stephenson en 1825. Fuente: [TODOTRENES]

12

Captulo 1: Antecedentes La primera va frrea pblica para el transporte de pasajeros y de carga que funcionaba exclusivamente con locomotoras de vapor, fue la de LiverpoolManchester, inaugurada en 1830. Tambin fue dirigida por George Stephenson, en esta ocasin con ayuda de su hijo Robert Stephenson. El xito comercial, econmico y tcnico de la lnea Liverpool-Manchester transform el concepto de vas frreas, y no slo en Gran Bretaa. Algo que antes se vea como medio para cubrir recorridos cortos, beneficioso sobre todo para la minera, se consideraba ahora capaz de revolucionar el transporte de largo recorrido, tanto de pasajeros como de mercancas. Se haba pensado que cualquiera podra, previo pago de un peaje, poner un tren sobre las vas frreas, igual que se haca con los barcos en los canales; pero el volumen de trfico entre Liverpool y Manchester pronto demostr que el uso de una va fija deba controlarse desde una central y que era preciso mantener una distancia segura entre los trenes mediante algn sistema de sealizacin. En 1914 ya exista casi, excepto en Escandinavia, la red de vas frreas que hoy tiene Europa, una vez terminados los tneles de la gran va transalpina: el Mount Cenis (o Frejus) entre Francia e Italia en 1871, el San Gotardo en Suiza en 1881, el Alberg en Austria en 1883 y en Suiza tambin el Simplon en 1906 y el Lotschberg en 1913. [TODOTRENES]

1.1.2.- Antecedentes en Estados Unidos


En Estados Unidos el desarrollo del ferrocarril se vio iniciado por el deseo de llegar al interior del pas desde las ciudades de la costa este, fundadas por los primeros colonos britnicos. Tras la inauguracin en 1830, en Charleston, Carolina del Sur, del primer ferrocarril de vapor para pasajeros, la construccin de vas frreas pronto avanz hacia el oeste desde todos los rincones de la costa este. En 1850 el continente tena ya 14.500 Km. de vas frreas. En la dcada siguiente un nmero cada vez mayor de empresas privadas construy ms vas frreas que en el

13

Captulo 1: Antecedentes resto del mundo, con lo que el total de Estados Unidos pas a ms de 48.300 Km.; Chicago, en el Medio Oeste, convertido de pequea poblacin a gran ciudad, fue la plataforma de una rpida expansin hacia el sur y el oeste. La idea de enlazar el este de los Estados Unidos con la costa del Pacfico, se vio fomentada por los pioneros establecidos en la costa oeste que decidieron a su vez iniciar la construccin del ferrocarril hacia el este, convirtindose la empresa de ambos tendidos en una carrera por conseguir el mayor nmero de kilmetros hasta el punto de encuentro, lo que convirti la construccin del ferrocarril en una gesta ms que en una obra de ingeniera. Diez mil obreros de la Union Pacific salen en diciembre de 1865 de Omaha al encuentro de los doce mil de la Central Pacific que partieron en enero de 1863 de Sacramento. El encuentro tuvo lugar el 10 de mayo de 1869 en Promontory Point. [TODOTRENES]

1.1.3.- Antecedentes en el continente Africano


Las primeras vas frreas cortas de frica fueron construidas entre 1860 y 1870 por las diversas potencias coloniales del continente para facilitar la explotacin de los recursos minerales. Los grandes desarrollos se produjeron a partir de 1880, cuando el estadista y financiero britnico Cecil Rhodes, previendo el potencial del ferrocarril para fomentar el comercio en el continente, trat de tender una va frrea desde Ciudad del Cabo, en Sudfrica, hasta un enlace con la recin terminada va frrea de El Cairo-Suez, en Egipto. El proyecto slo lleg hasta el Congo Belga (hoy Zaire), unos treinta aos despus, pero estimul la construccin de otras lneas troncales en el interior. [TODOTRENES]

1.1.4.- Antecedentes en Australia


En Australia no se adopt un ancho comn, sino que las concesiones se repartieron en va estrecha y ancha, con lo que despus fue necesaria una amplia y costosa conversin para establecer una ruta bsica interprovincial para cargas de 1.435 mm. de ancho y eliminar los lentos transbordos. La construccin del ferrocarril

14

Captulo 1: Antecedentes australiano comenz en serio a partir de 1870, porque la corriente de emigrantes que hizo pasar la poblacin del pas de 400.000 personas en 1850 a ms de 3,25 millones en 1890 exiga un mejor transporte para llegar al interior del pas. En los ltimos treinta aos del siglo XIX, la longitud de los ferrocarriles australianos pas de apenas 1.600 Km. a unos 19.300 Km. [TODOTRENES]

1.1.5.- Antecedentes en el continente Asitico


La red de ferrocarriles mejor organizada de toda Asia surgi en la India, donde a principios de la dcada de 1850 un previsor Gobernador General britnico, Lord Dalhousie, promovi la rpida construccin de lneas troncales que llegaban al interior desde los puertos. La primera lnea de costa a costa de la India, desde Bombay hasta Calcuta, se termin en 1870. Con el estmulo de las prsperas agricultura e industria indias, en 1913 el pas haba conseguido 56.300 Km. de ferrocarril, mucho ms por kilmetro cuadrado que Australia o frica. Japn, hostil a toda influencia extranjera durante el rgimen feudal de los samuris, cambi de golpe cuando el emperador recuper su poder en 1867 y pidi ayuda a Occidente para iniciar la construccin de las vas frreas en el ltimo cuarto del siglo XIX. En China, fue la derrota sufrida a manos japonesas en 1895 lo que la empuj a iniciar el tendido de sus lneas troncales. [TODOTRENES]

1.1.6.- Antecedentes en Amrica Latina


La primera lnea ferroviaria fue la de La Habana-Gines que con una longitud de 90 Km. fue inaugurada el 10 de noviembre de 1837, al ser Cuba en ese entonces provincia espaola de ultramar, tambin se la considera la primer lnea ferroviaria espaola. El siguiente ferrocarril se inaugur el 15 de septiembre de 1850 en Mxico. Se trataba de un tramo de menos de 20 Km. que una el puerto de Veracruz con la

15

Captulo 1: Antecedentes vecina poblacin de San Juan. Ms tarde, en 1873, se complet la lnea que una el famoso puerto con la capital del pas. El primer ferrocarril en Sudamrica, fue el de Caldera a Copiap, en Chile, construido el ao 1852. Las inversiones importantes para el desarrollo de las redes ferroviarias en Amrica Latina se realizaron a travs de concesiones que otorgaban los gobiernos en especial a empresarios britnicos y estadounidenses, como ocurri en Argentina. En 1857 se inaugur el primer ferrocarril de ese pas con el propsito de enlazar los centros de produccin ganadera y minera con el puerto desde donde se exportaba la materia prima a Europa y Estados Unidos. En trminos generales el inconveniente de los ferrocarriles en Amrica Latina hasta las primeras dcadas del siglo XX fue que se desarrollaron en funcin del comercio con el exterior, ms que como una va interna de comunicacin. [TODO TRENES]

1.1.7.- Antecedentes en Bolivia


El primer tramo ferroviario en territorio boliviano, fue el de Mejillones a Caracoles, inaugurado el 30 de enero de 1873, destruido por el terremoto del 9 de Mayo de 1877. La primera locomotora del malogrado ferrocarril tena por nombre La Boliviana. Otro proyecto para unir Antofagasta con El Carmen, fue inaugurado el 20 de diciembre de 1873, la locomotora llev el nombre del presidente de Bolivia, Dr. Toms Fras. [SOBRERIELES, 2006] El desarrollo de las carreteras en Bolivia data de 1945, con la construccin del tramo Santa Cruz Cochabamba y paralelamente se dio inicio al desarrollo del transporte ferroviario en otras zonas del pas. El 06 de Octubre de 1964 mediante Decreto Supremo N 06909, se cre la EMPRESA NACIONAL DE FERROCARRILES ENFE, en base a las lneas que pertenecan a las empresas privadas: Ferrocarril Antofagasta - Bolivia (Seccin

16

Captulo 1: Antecedentes Boliviana) y The Bolivian Railway Company y las que correspondan a los antiguos ferrocarriles estatales, siendo el objetivo crear una sola unidad estatal de servicios de transporte ferroviario. Inicialmente la empresa estuvo conformada por las lneas andinas y posteriormente fueron incluidas las lneas del ferrocarril de la Red Oriental, junto con su material rodante y tractivo, el cual data entre 1950 y 1985. [INTRANET] En 1996 el gobierno de Bolivia emprendi el proceso de capitalizacin de ENFE, en ese momento la empresa tena dos redes que no estaban unidas entre s en territorio boliviano: i. La Red Occidental Con 2.166 Km. un eje que corre de Norte a Sur desde la ciudad de La Paz hasta Villazn en la frontera con Argentina, de este eje se desprenden seis ramales: ii. FC. La Paz Guaqui. FC. Viacha - Charaa (La Paz -Arica). FC. Uyuni Antofagasta. FC. Oruro-Cochabamba-Aiquile. FC. Machamarca Uncia. FC. Rio Mulatos - Potosi - Sucre Tarabuco.

La Red Oriental 1.285 Km. tiene el epicentro en Santa Cruz de la que salen los tres ramales: FC. Santa Cruz Yacuiba.

17

Captulo 1: Antecedentes FC. Santa Cruz Quijarro. FC. Santa Cruz - Santa Rosa Yapacani.

1.1.8.- Antecedentes en el Oriente Boliviano


El desarrollo del ferrocarril en el Oriente Boliviano empez con el tramo construido entre Santa Cruz y Yacuiba en 1949 para transporte hacia los puertos del Atlntico a travs de Argentina. Despus le siguieron el tramo entre Santa Cruz y Quijarro en 1958 para el transporte hacia los puertos del Atlntico en Brasil. [INTRANET] En la dcada de los aos 70 se dio inicio a la construccin del Ferrocarril Santa Cruz Puerto Busch, el cual solo fue concluido hasta Yapacan siendo actualmente operable solo hasta Montero, mismo que tena por objeto principal lograr el desarrollo a travs de la integracin amaznica. [INTRANET]

1.2.- ACTUALIDAD
En la actualidad el Ferrocarril trata de competir en comodidad y largo recorrido trata de competir ya no con el automvil sino con el avin. Los avances en la suspensin en los engranajes y la supresin de las uniones de las vas gracias a la tcnica de la soldadura continua de los carriles hacen que los trenes de pasajeros se deslicen con gran suavidad. Son comunes los vagones equipados con diversas caractersticas que brindan una mejor experiencia a los pasajeros, como ser: aislamiento acstico, aire acondicionado, msica ambiental, servicios de telefona, etc. Entre otros de los cambios y mejoras ms significativas que nos llevaron a los trenes actuales podemos encontrar los que se mencionan a continuacin.

18

Captulo 1: Antecedentes

1.2.1.- Nuevas formas de Energa


Un inconveniente de la locomotora de vapor es la interrupcin de servicio por las paradas tcnicas que impone su frecuente mantenimiento. Por esta causa y por la fuerte competencia del transporte por carretera surgida en la segunda mitad del siglo XX, el transporte por ferrocarril tuvo que reajustar sus costes, operacin que se vio favorecida con la utilizacin de nuevas energas como alternativa al vapor. As empieza la era de las locomotoras equipadas con motor diesel, que precisan menor tiempo de mantenimiento y sobre todo las de traccin elctrica, que pueden funcionar sin descanso durante das. Con estas tcnicas la explotacin de una lnea llega al mximo rendimiento, al hacer los trenes mayor nmero de viajes con tiempo mnimo de entretenimiento, lo que equivale a mantener las lneas con una mxima ocupacin. Este ndice se ve ms favorecido cuando el tren est remolcado por una locomotora elctrica que cuando lo est por una de vapor. Con este principio econmico, empez la decadencia del vapor en favor del desarrollo del diesel y de la electrificacin de las lneas. [TODOTRENES]

1.2.2.- Trenes de Alta Velocidad


Desde la dcada del 60 se empezaron a desarrollar trenes de alta velocidad para poder competir con el transporte areo y de carretera. Actualmente se utilizan trenes con velocidad mxima del orden de los 300 km/h, y con velocidad promedio (o velocidad comercial) tambin elevada.

19

Captulo 1: Antecedentes

Figura 1.2: Tren de Gran Velocidad Francs Por ejemplo, el TGV (Train Grande Vitesse o tren a gran velocidad) de la Figura 1.2, desarrollado y operado por la compaa de ferrocarriles nacional francesa, conecta Pars con otras ciudades de Francia y con pases vecinos como el Reino Unido, Suiza y Blgica. El TGV es uno de los trenes convencionales en operacin ms veloces del mundo. En condiciones especiales de prueba, alcanz velocidades de 515,3 km/h, un rcord mundial en 1990. En servicio comercial, el TGV opera a velocidades de hasta 320 km/h. A finales del ao 2005 el Gobierno de Mxico anunci que durante el transcurso del ao 2006 licitarn la construccin del que sera el primer tren de alta velocidad en Latinoamrica. El trayecto tendr 600 km. de extensin y enlazar a Guadalajara con la Ciudad de Mxico. [TODOTRENES]

1.2.3.- Transporte Intermodal


Para llenar un tren se necesita un volumen grande de productos. Slo cuando se dispone de carga suficiente en volumen y frecuencia para llenar uno que vaya desde la estacin de origen sin paradas hasta la estacin de destino, el ferrocarril muestra su poder competitivo. As surgen los llamados trenes completos dedicados al 20

Captulo 1: Antecedentes transporte de mineral, carburantes, automviles u otros productos, o los recientes trenes postales. Siguiendo esta lnea de llenar un tren a base de paquetera se concibe el transporte intermodal o mixto, desarrollado a partir de la creacin del contenedor, un envase metlico modulado de un tamao suficiente para adaptar uno o dos cajones de este tipo tanto a la plataforma de un camin como a la de un vagn ferroviario. En los contenedores se acopla la mercanca de menor tamao ganando en tiempo de manipulacin, transporte y reparto. Con este sistema los contenedores llegan por carretera hasta las estaciones ferroviarias, llamadas terminales de carga, donde se pueden ir apilando, y posteriormente pasan a los trenes mercantes donde se transportan, despus de un largo recorrido, hasta otra terminal desde la que se hace la distribucin de mercanca (en los contenedores) mediante camiones, siguiendo un camino inverso al de recogida. En los pases desarrollados, estas terminales intermodales tienen un alto grado de mecanizacin con prticos gra y otros avances tecnolgicos para conseguir que el transbordo de la carga del tren a camiones y remolques, y viceversa, sea un servicio gil que favorezca el transporte con este sistema, que hoy resuelta competitivo para el ferrocarril, a partir de una distancia que se estima en unos 800 Km. de transporte. [TODOTRENES]

21

Captulo 1: Antecedentes

1.3.- FERROVIARIA ORIENTAL S.A.


Ferroviaria Oriental S.A. es la principal empresa privada de servicios pblicos integrales de cargas de comercio exterior, importaciones y exportaciones, que conecta el rico entorno agrcola que rodea a Santa Cruz y la regin productora de gas natural del Sur boliviano con la Repblica Argentina, y hacia el Este con el Brasil y los mercados internacionales a travs de los embarques que operan en la Hidrova Paraguay-Paran. [GYW] Nacida como producto del proceso de capitalizacin, opera a partir del 14 de Marzo de 1996 y est constituida bajo escritura Pblica de Constitucin de una Sociedad de Economa Mixta N 3.134/95. [TESIS1, 2004] En total cuenta con 1243 Km. de va, 643 hacia el Este, 539Km. hacia el Sur y 61 Km. hacia el Norte (Ver Figura 1.3).

Figura 1.3: Ruta cubierta por la Empresa Ferroviaria Oriental. 22

Captulo 1: Antecedentes Fuente: [GYW] Ferroviaria Oriental cuenta con 463 empleados, 28 Locomotoras y ms de 1.000 unidades para el transporte de productos de diversas caractersticas (bodegas multiuso, tolvas graneleras, vagones tanques como el de la figura 1.4, contenedores refrigerados, tolvas balasteras, jaulas ganaderas, etc.) y la capacidad de transportar grandes volmenes de carga garantizando la integridad y seguridad de las mismas. [INTRANET] Figura 1.4: Vagones para transporte de productos qumicos pertenecientes a la empresa Ferroviaria Oriental. Fuente: Intranet de la empresa

Figura 1.5: Trenes en la Terminal Ferroviaria de Puerto Quijarro. Fuente: Intranet de la empresa

23

Captulo 1: Antecedentes

Figura 1.6: Locomotora con vagones de carga de la empresa Ferroviaria Oriental. Fuente: Intranet de la empresa Actualmente, los accionistas de la empresa son: Las administradoras bolivianas de fondos y pensiones, en representacin del pueblo de Bolivia. Los trabajadores ferroviarios. Trenes Continentales, liderada por Genesee & Wyoming Inc., una corporacin estadounidense con mas de 100 aos de experiencia en administracin ferroviaria, que opera ferrocarriles en Estados Unidos, Canad, Mxico, Australia y Bolivia.

1.3.1.- Misin
Proveer servicios terrestres de transporte seguros, eficientes y de calidad.

1.3.2.- Visin
Empresa lder de transporte terrestre en Amrica del Sur.

24

Captulo 1: Antecedentes

1.3.3.- Objetivos Estratgicos


Incrementar la participacin de mercado en el transporte terrestre de la regin a travs de servicios mejorados y desarrollo de nuevas opciones logsticas, tanto ferroviarias como de servicios complementarios, que satisfagan plenamente las necesidades de los clientes. Expandir los servicios ms all de las propias lneas de tal manera de captar nuevos mercados de transporte terrestre y proveer servicios adicionales que sean sinrgicos con los actuales y que apoyen las oportunidades de negocio de nuestros clientes. Mejorar permanentemente las prcticas de operacin en cada aspecto de nuestros servicios, con el propsito de satisfacer la demanda del mercado de manera cada vez ms competitiva. Realizar todas las operaciones con el ms alto nivel de seguridad practicable y preservacin del medio ambiente para el beneficio de nuestros clientes, trabajadores y del pblico en general. Preservar y acrecentar el inters de los clientes, empleados y el pblico en general en el largo plazo, de manera que permita crear progreso para el ferrocarril y toda la gente ligada a sus operaciones.

1.3.4.- Servicios
Son bsicamente dos: transporte de carga y de pasajeros. i. Transporte de Carga El transporte de carga tiene tres importantes componentes: Exportacin, Importacin y regional.

25

Captulo 1: Antecedentes Las exportaciones, representan el 43,50% del total transportado, los principales productos transportados son soya, y derivados, y en una menor proporcin minerales, azcar, algodn y frjol. [INTRANET] Las importaciones, contribuyen con un 40,65% del total transportado, los principales productos corresponden a tubos de fierro, diesel, oil, trigo en grano, papel, fierro y materiales de construccin. La carga regional que tiene una participacin del 15,85%, se compone en lo fundamental por el transporte de cemento 53% y en proporciones menores ganado vacuno, productos derivados del petrleo y legumbres.

[INTRANET] ii. Transporte de Pasajeros

Para el transporte de pasajeros se ofrece un parque de coches que operan con Itinerarios tanto para el regin Este como para la regin Sur. Los servicios ofrecidos son: Ferrobuses (ver Figura 1.7), Expreso Oriental (con aire acondicionado, msica ambiental, coche comedor y snack) y Tren Regional (para las comunidades del Oriente y Chaco boliviano). [INTRANET]

26

Captulo 1: Antecedentes Figura 1.7: Ferrobs perteneciente a la empresa Ferroviaria Oriental. Fuente: Intranet de la empresa

1.3.5.- Cifras y Datos de la Gestin 2005


En 2005, Ferroviaria Oriental transport ms de 1,3 millones de toneladas de carga, volumen que representa el 94% ms de lo transportado hace diez aos por la empresa estatal. Del total de carga transporta por la empresa, el 65% representa carga de exportacin, equivalente a ms del 50% del total de las exportaciones no tradicionales de Santa Cruz y un tercio de las nacionales. Por este motivo, esta empresa es considerada por la comunidad empresarial, como El Ferrocarril de la Exportacin. En el rea de pasajeros, el ao pasado los tres servicios de Ferroviaria Oriental, el Tren Regional, Expreso Oriental y la lnea de Ferrobuses, en conjunto transportaron 571.700 pasajeros, cifra que representa ms del doble de lo transportado por la empresa estatal. 27

Captulo 1: Antecedentes De esta manera, Ferroviaria Oriental se constituye en la principal promotora de los destinos tursticos de la ruta ferroviaria, como ser San Jos de Chiquitos, Robor y Pantanal Boliviano, con un programa especfico para este fin, denominado Nuestra Ruta, Nuestros Destinos. En esta gestin, la empresa ejecut una inversin de $us. 6,26 millones, con lo cual los desembolsos acumulados desde 1996 a diciembre de 2005 suman $us. 83 millones. Cerca del 60% de la inversin de la empresa ha estado destinada al mantenimiento y mejoramiento de la infraestructura ferroviaria, es decir, construccin de nuevos puentes, alcantarillas, construccin de nuevas estaciones y refaccin de estaciones histricas, cambio de durmientes, balastado de va, colocado de tirafondos y clips para darle mayor estabilidad a la va frrea, entre otros. [CARTAINF, 2006]

1.3.6.- Responsabilidad Social


La empresa se preocupa por que sus operaciones se realicen de forma segura, preservando la integridad fsica de todas las personas y evitando daar al medio ambiente. Se busca brindar a los trabajadores condiciones de trabajo aceptables, velando as por su salud y seguridad. A continuacin se describen brevemente algunos de los proyectos puestos en marcha por Ferroviaria Oriental.

1.3.6.1.- Tren de Vida


Ms de 4.000 nios de 32 colegios de 12 comunidades de la va frrea recibieron al Tren de Va el ao pasado, el programa de responsabilidad social de Ferroviaria Oriental de educacin sobre seguridad vial y conciencia ambiental, que utiliza herramientas interactivas computarizadas en el

28

Captulo 1: Antecedentes proceso enseanza aprendizaje. En la Figura 1.8 se puede observar a nios aprendiendo sobre seguridad vial.

Figura 1.8: Nios aprendiendo con el Tren de Vida. Fuente: [SOBRERIELES, 2006]

1.3.6.2.- Nuestras Rutas, Nuestros Caminos


Con el objetivo de incentivar el desarrollo econmico de los pueblos aledaos a la va frrea, la empresa lanz su programa Nuestra Ruta, Nuestros Destinos que promueve los destinos tursticos de San Jos de Chiquitos, La Cuna de la Cruceidad; Robor, el Paraso Escondido; el Pantanal Boliviano, Santuario Ecolgico; el Chaco Boliviano, un lugar para disfrutar, destacando sus atractivos naturales y culturales. Para ello, se han producido videos tursticos, trpticos, afiches y banners que se difunden en los trenes, estaciones y en todo el entorno del ferrocarril, adems de hoteles, agencias de viaje y operadores de turismo de todo el pas. En la Figura 1.9 se pueden observar ejemplares de la revista Sobre Rieles.

29

Captulo 1: Antecedentes

Figura 1.9: Revista Sobre Rieles. Fuente: [CARTAINF, 2006]

1.3.6.3.- Nuevo Mapa Ferroviario


En un esfuerzo por contribuir a la tradicin de la elaboracin de mapas, la empresa edit el Mapa Ferroviario de Bolivia, que no slo documenta las dos redes del pas (la Oriental y la Andina), sino los proyectos de desarrollo ferroviario. El mapa est siendo distribuido a las instituciones pblicas, privadas y de la sociedad civil, del pas (Superintendencia, Alcaldas, Comits Cvicos, entre otras). El plano fue elaborado despus de 15 aos, del ltimo que public la Empresa Nacional de Ferrocarriles. En la figura 1.10 se puede observar un ejemplar del mismo.

30

Captulo 1: Antecedentes

Figura 1.10: Mapa Ferroviario elaborado por la empresa Ferroviaria Oriental. Fuente: [SOBRERIELES, 2006]

1.3.6.4.- Agua para El Chaco


El ao pasado, Ferroviaria Oriental firm una Alianza Estratgica de Solidaridad Social, con la Cooperativa de Agua y Alcantarillado de Santa Cruz (Saguapac), la Prefectura del Departamento de Santa Cruz y la ex Delegacin Presidencial para la Reforma y Mejora de la Capitalizacin, a fin de ejecutar el Proyecto de Solidaridad Social Agua para el Chaco, para beneficiar a unas mil familias de siete comunidades guaranes del Chaco cruceo. Para ejecutar este acuerdo, Ferroviaria Oriental reacondicion seis vagones tanques (Ver Figura 1.11) para el trasporte de agua y desde mayo a

31

Captulo 1: Antecedentes diciembre de 2005 se trasportaron 106 vagones tanques al Sur haciendo un total de 3.117 metros cbicos de agua potable de Saguapac.

Figura 1.11: Vagn-Tanque acondicionado para el transporte de agua. Fuente: [SOBRERIELES, 2006]

32

Captulo 1: Antecedentes

33

Captulo 2: Objetivos del Proyecto

CAPITULO 2 OBJETIVOS DEL PROYECTO

n el presente captulo se detallarn los problemas observados en la empresa y se especificarn los objetivos generales y especficos del proyecto, as como tambin el

alcance del mismo.

2.1.- DESCRIPCION DEL PROBLEMA Y JUSTIFICACION


Los problemas observados y a los que se quiere dar solucin con el desarrollo del proyecto son los siguientes:

2.1.1.- Planeamiento de Cruzamientos de Trenes


En prcticamente todos los tramos de la red que administra la empresa Ferroviaria Oriental, el tipo de va es simple, es decir slo cabe un tren a la vez en un mismo punto y el trnsito es en dos direcciones en esa nica va. Para evitar que los trenes que van en direcciones opuestas colisionen, el encuentro de stos debe realizarse en lugares, en su mayora estaciones, que cuenten con vas 34

Captulo 2: Objetivos del Proyecto alternativas. De esta forma, uno de los trenes espera en una de las vas mientras el otro pasa y sigue su recorrido.

Figura 2.1: Cruzamiento de trenes. Fuente: Elaboracin propia En la va hacia el Brasil, en la que hay 33 estaciones; en un lapso de 12 horas se producen alrededor de 30 encuentros de trenes. Los trenes de carga, que son los que ms tiempo pasan en espera al tener menor preferencia y urgencia de llegar a su destino, suelen estar en el mismo lapso de tiempo y por este motivo de 1 a 4 horas parados. Como se comprender, debido al nmero de encuentros que se producen y al tiempo de espera que cada uno de ellos puede llegar a implicar, es de mucha importancia la forma en la que se planifiquen los cruzamientos de trenes (la eleccin de los trenes que debern parar y esperar, el lugar donde debern hacerlo, etc.) ya que de esto depender el tiempo que los trenes pasen esperando y como consecuencia la disponibilidad de las vas, razones que representan un gasto para la empresa.

35

Captulo 2: Objetivos del Proyecto

Figura 2.2: Puesto de Control de Trenes de la Empresa Ferroviaria Oriental. Fuente: Intranet de la empresa. Actualmente, para llevar a cabo los cruzamientos, en el Puesto de Control de Trenes (Figura 2.2) se realiza el llenado de una tabla (Figura 2.3) en donde se trazan lneas que corresponden a los tramos de va recorridos por los trenes (eje vertical) y el instante de tiempo en el que lo hacen (eje horizontal). De esta manera, las intersecciones de lneas que se vayan formando corresponden a encuentros de trenes que estn por producirse. Sabiendo que trenes se van a encontrar, se elige a uno de ellos para que espere al otro en una de las estaciones.

36

Captulo 2: Objetivos del Proyecto

Figura 2.3: Grfico de Regulacin de Trenes. Fuente: Elaboracin propia, basado en tablas reales proporcionadas por el Puesto de Control de Trenes. Algunos factores que se toman en cuenta para determinar la estacin de encuentro y cul de los trenes debe esperar son: a) Preferencia entre Trenes: Por ejemplo, un tren de pasajeros tiene ms preferencia que uno de carga. b) Futuros Cruzamientos: Puede ser preferible hacer esperar ms de lo que a simple vista parezca necesario a ciertos trenes o en estaciones que no parezcan las ms adecuadas, pero evitando de esta forma cruzamientos que impliquen ms adelante tiempos de espera mayores. c) Capacidad de Estaciones: Puede darse el caso de que la segunda va de una estacin est ya ocupada o que, an estando libre, el largo de la

37

Captulo 2: Objetivos del Proyecto misma no cubra el largo de ninguno de los trenes que se quiere hacer cruzar. Mientras que las principales estaciones, adems de una segunda va, cuentan con varios desvos; las ms chicas cuentan con slo una va adems de la principal.

Figura 2.4: Estacin Ferroviaria de Cotoca. Cuenta con solo una va alternativa. Fuente: Puesto de Control de Trenes de la empresa Ferroviaria Oriental

Figura 2.5: Estacin Ferroviaria de San Jos. Fuente: Puesto de Control de Trenes de la empresa Ferroviaria Oriental Actualmente, realizar el cruzamiento de trenes es una tarea tediosa, por el hecho de que se realiza de forma completamente manual y por que comnmente el itinerario sufre modificaciones debidas a diferentes causas (retraso de trenes, problemas en la va, etc.), entonces los encuentros que se tenan planeados se ven alterados sobre la marcha.

38

Captulo 2: Objetivos del Proyecto Entre los beneficios que aportara una herramienta que elabore inteligentemente el plan de cruzamientos de trenes se encuentran los siguientes: Reduccin del tiempo ocioso del personal de la empresa y de locomotoras y vagones al reducirse el tiempo que los trenes pasan esperando por un cruzamiento. Mayor disponibilidad de las vas, al haber menos trenes en espera. Reduccin de costos por los beneficios mencionados anteriormente. Ya que cada tren en espera significa un costo para la empresa, es de esperar que los gastos de la empresa por este motivo se veran tambin reducidos. Aliviara el trabajo del personal del Puesto de Control de Trenes, reducindolo en reas para las que una herramienta informtica resulta ms adecuada.

2.1.2.- Salidas de Trenes


Mientras los trenes de pasajeros tienen horarios establecidos de salida, los trenes de carga salen en el momento en que est lista la carga, locomotora, tripulacin, etc., muchas veces sin prever los cruzamientos que va a tener este tren por salir en ese momento. Cuando esto ocurre, el tren puede provocar cruzamientos y tiempos de espera para otros trenes o para l mismo que se hubieran podido evitar de haber salido en otro horario.

2.1.3.- Programacin de Surcos


Un surco corresponde al desplazamiento de un tren de un punto a otro de la lnea. Programar un surco para un tren significa establecer el horario de salida y paso por cada una de las estaciones para ese tren, considerando las paradas que tenga que realizar por cruzamientos u otros motivos.

39

Captulo 2: Objetivos del Proyecto Actualmente los nicos trenes que tienen surcos establecidos son los de pasajeros (Ver anexo), por la necesidad que hay de saber con seguridad el momento en el que pasarn por cada una de las estaciones. Realizar esta programacin de forma manual es una tarea demasiado tediosa, que puede llegar a demorar incluso semanas. Siendo la parte ms difcil justamente la forma de realizar los cruzamientos.

2.2.- OBJETIVOS DEL PROYECTO


Para una mejor comprensin de los objetivos que se pretenden alcanzar con este proyecto, stos han sido divididos en un objetivo general y otros especficos.

2.2.1.- Objetivo General


Desarrollar un Sistema que mejore el control y desempeo de las terminales minimizando los tiempos de permanencia de trenes en las estaciones.

2.2.2.- Objetivos Especficos


Analizar el proceso actual mediante el que se realizan los cruzamientos de trenes e identificar las formas posibles de optimizarlo. Integrar el Sistema a desarrollar con los que ya existen en la empresa y con los cuales hace falta que interacte. Identificar o disear los algoritmos a utilizar para la parte inteligente del Sistema. Elaborar el Sistema de acuerdo a los requisitos establecidos.

40

Captulo 2: Objetivos del Proyecto

2.3.- ALCANCE DEL PROYECTO


Dentro de los procesos que deber realizar el sistema, se encuentran: 2.3.1.- Cruzamiento de Trenes El Sistema deber calcular y mostrar los cruzamientos de trenes que vayan a producirse y la mejor forma de realizarlos, minimizando el tiempo de espera de los mismos en las estaciones. 2.3.2.- Salida de Trenes El sistema deber permitir buscar un horario ptimo de salida para un tren dado, segn el trfico que haya en ese momento, optimizando los tiempos de espera por los cruzamientos que se vayan a producir con la salida de ese tren. 2.3.3.- Elaboracin de Surcos El Sistema deber permitir elaborar programaciones de surcos de trenes.

41

PARTE II

MARCO TEORICO Y METODOLOGICO

CAPITULO 3 EL FERROCARRIL

e entiende por ferrocarril, en el sentido amplio del trmino, el sistema de transporte terrestre guiado sobre carriles de cualquier tipo. Con ferrocarril se entiende entonces

todo el conjunto de elementos que forman este medio de transporte: Trenes, Estaciones, Vas Frreas, etc. Dichos elementos son los que sern tratados brevemente en el presente captulo.

3.1.- TRENES
Un tren es una composicin de vagones y locomotoras. Tren es el nombre que se le da fuera del mbito ferroviario, dentro de ste la palabra tren se aplica a una composicin formada, con una estacin de salida, un horario y un itinerario establecido. Por ejemplo el Tren 14 que parte todos los lunes, mircoles y viernes de Santa Cruz a Quijarro. Por contrapartida a la composicin de un tren, dos o ms vehculos acoplados entre s por cualquier circunstancia (maniobras interiores en la estacin por clasificacin, agrupacin de vehculos estacionados, etc.) pero que no forman la composicin de un tren propiamente dicha, se denominan corte de material.

Captulo 3: El Ferrocarril 3.1.1.- Locomotoras o Material Tractivo Se denomina locomotora al material rodante con motor, denominado material tractivo, que se utiliza para dar traccin a los trenes siendo, por tanto, una parte fundamental de este. La locomotora a vapor fue la primera en utilizarse. Actualmente existen locomotoras diesel y elctricas, siendo stas ltimas las ms avanzadas y las que mayores velocidades de desplazamiento permiten. 3.1.2.- Material Rodante El material rodante es aquel material que no tiene capacidad tractora pero s puede llevar carga comercial. Se suele dividir por el tipo transporte para el que est destinado: o Coches, son los vehculos remolcados destinados al transporte de viajeros en trenes de viajeros. El nombre especfico de este tipo de material es coche. o Furgones, son los vehculos que circulan en trenes de viajeros trasportando mercanca o personal que desempea su servicio en ellos, pero al que no tienen acceso los viajeros. o Vagones, son los vehculos remolcados que transportan mercanca en trenes de mercancas se llaman vagones; se suelen clasificar por el tipo de mercanca que pueden trasportar.

44

Captulo 3: El Ferrocarril En las siguientes figuras (3.1 y 3.2) se pueden observar algunos tipos de vagones. Figura 3.1: Vagn jaula para el transporte de ganado Fuente: [TODOTRENES]

Figura 3.2: Vagn para transporte de contenedores perteneciente a Ferroviaria Oriental Fuente: [INTRANET]

3.2.- ESTACIONES
Las estaciones comprenden las reas del Ferrocarril, donde se atienden los servicios pblicos de carga y pasajeros, contiguos, en ocasiones, a zonas destinadas a servicios propios de inspeccin, mantenimiento, aprovisionamiento y formacin de trenes de carga y pasajeros. Los diferentes tipos de estaciones, segn su funcin, son las estaciones de trfico de viajeros, de carga y mixtos, que sern detallados a continuacin. 45

Captulo 3: El Ferrocarril 3.2.1.- Tipos de Estaciones Principalmente se distinguen los tipos de estaciones siguientes: 3.2.1.1.- Estaciones de viajeros La misin de las terminales de viajeros o pasajeros es la de recepcin y expedicin de trenes de viajeros as como la transferencia de viajeros desde los vehculos ferroviarios a otros medios de transporte o viceversa. Se puede ver un ejemplo en la Figura 3.3.

Figura 3.3: Disposicin de una estacin de pasajeros Fuente: [VIASFERREAS, 2001]

En estaciones de paso para pasajeros, que son la mayora, los trenes de carga deben pasar sin detenerse empleando otras vas exclusivas para circulacin hasta la estacin de carga, como se ilustra en la figura. Por otra parte el mnimo servicio pblico sobre va troncal, se establece mediante un corto andn y una caseta con tejado, o la caja de un carro fuera de servicio, acondicionado para proteger contra la intemperie, al reducido pasaje de una pequea comunidad, que aborda trenes locales mediante las seales del usuario, Se puede ver un ejemplo en la Figura 3.4.

46

Captulo 3: El Ferrocarril

Figura 3.4: Estacin de paso para pasajeros Fuente: [VIASFERREAS, 2001] 3.2.1.2.- Estaciones de Carga o Mercancas La funcin de las estaciones de carga en el manejo y distribucin a sus diferentes destinos, tales como ciudades vecinas, industrias con vas particulares o el trasbordo de la carga desde los vagones a otros medios de transporte. Los componentes principales de las terminales de carga son las siguientes: Patios o parques de recepcin, expedicin y estacionamiento de material, ordenacin, formacin y descomposicin de trenes, los cuales estn formados por las instalaciones de la va,

comunicaciones, sealizacin y todas las dems instalaciones precisas para el trfico de los trenes en la terminal. Se llama patio al conjunto de vas que sirven en la reparticin de los carros a diferentes destinos y/o a escapes para las empresas a las cuales les llegan grandes cargas por medio de este servicio de transporte. Edificios, muelles y otros departamentos necesarios para la explotacin comercial de la terminal. Accesos a la terminal y aparcamientos.

Los tipos de terminales de carga segn las mercancas que se transporten pueden ser: de trenes directos, los cuales tienen origen, destino y horarios fijos, 47

Captulo 3: El Ferrocarril circulan con carcter regular y, por lo general, sin paradas intermedias; de detalle, para paquetera, servicios de correos y equipajes sin propietarios e intermodal, para el transporte de contenedores o vagones especiales. 3.2.1.3.- Estaciones de Trfico Mixto En este tipo de estaciones, las terminales de viajeros y mercancas no estn separadas claramente la una de la otra. Ambas terminales estn compuestas de los departamentos que se detallan en los tipos de estaciones.

3.3.- VIAS FERREAS


Se denomina va frrea a la parte de la infraestructura ferroviaria, formada por el conjunto de elementos que conforman el sitio por el cual se desplazan los trenes. Son el elemento esencial de la infraestructura ferroviaria, como se puede observar en la Figura 3.5, estn compuestas bsicamente de carriles apoyados sobre traviesas que se disponen dentro de una capa de balasto. Para su construccin es necesario realizar

movimiento de suelos y diferentes tipos de obras: puentes, alcantarillas, muros de Figura 3.5: Va Frrea, sector Este. Fuente: [INTRANET] En las vas modernas se complementa la infraestructura bsica con sistemas de sealizacin y, en el caso de lneas electrificadas, con el tendido elctrico que provee de energa a las locomotoras. 3.3.1.- Elementos de la Infraestructura

contencin, drenes, etc.

48

Captulo 3: El Ferrocarril Entre los elementos utilizados para la construccin de vas frreas se encuentran los siguientes:

3.3.1.1- Riel o Carril Se denominan carriles o rieles a los elementos metlicos sobre los que se desplazan las ruedas de los trenes, los cuales se disponen como una de las partes fundamentales de las vas frreas. Los rieles se obtienen por laminacin del acero en bruto, hasta obtener barras con el perfil requerido, las que se cortan en tramos de 18 a 25 m. Para realizar el montaje se disponen las barras sobre los durmientes, y se unen entre s mediante eclisas y bulones, sujetndose al durmiente mediante algn sistema de fijacin. Tambin se ajusta la trocha y se alinea y nivela el conjunto, luego de lo cual es usual, en las vas modernas, quitar las eclisas y bulones para sustituirlas por uniones soldadas. De esta forma se eliminan las juntas, punto en el cual se produce el mayor desgaste. Figura 3.10: Riel utilizada por Ferroviaria Oriental. Fuente: [INTRANET] Los rieles despus de diversas formas en su seccin transversal han venido a quedar representadas en dos formas; la de doble cabeza (tipo Stephenson) y la de base plana (tipo Vignol). Los primeros se conocen tambin por riel de cojinetes, como se ilustra en la Figura 3.6, por que se monta sobre cojinetes, que son los que aseguran

49

Captulo 3: El Ferrocarril su estabilidad; se emple mucho en el continente Europeo. No estn tan extendidos por el mundo como los de base plana (Figura 3.7).

Figura 3.6: Antiguos rieles de vientre de pez, sobre dados de piedra Fuente: [VIASFERREAS, 2001]

Figura 3.7: Riel de tipo Vignol. Fuente: [VIASFERREAS, 2001]

3.3.1.2- Balasto o Balastro El balasto es la capa de piedra partida que se tiende sobre la explanacin o plataforma y sirve de asiento a los durmientes. Se obtiene por trituracin de rocas sanas y debe cumplir ciertas especificaciones en cuanto a calidad del material madre y en su granulometra. Se transporta en camiones hasta donde puede ser cargado en trenes especiales con tolvas que permiten su descarga en la va. En la Figura 3.8 se puede observar un acopio de balasto.

50

Captulo 3: El Ferrocarril Figura 3.8: Acopio de Balasto Fuente: [WIKIPEDIA]

El balasto de va tiene la funcin de dar estabilidad a la va frrea, haciendo que permanezca con la geometra dada durante su construccin y sanear el asiento de la va, ya que con el balasto se forma una capa permeable. Adicionalmente cumple otras dos funciones importantes: distribuye las presiones que trasmite la va al terreno, haciendo que sean admisibles para este, y permite el drenaje del agua de lluvia, evitando que se deteriore el conjunto. 3.3.1.3- Durmientes o Traviesas Tienen como funcin principal dar apoyo a los carriles, trasmitiendo el peso del material rodante al balasto y, por intermedio de este, al suelo. Tambin cumplen la funcin de mantener la separacin entre carriles con un valor fijo denominado trocha, y la funcin de dar peso al conjunto, de manera que la geometra inicial del trazado se mantenga en la mayor medida posible. Los durmientes mayormente utilizados son de madera, siendo tambin usados los de hormign como los de la Figura 3.9. Para las vas Bolivianas tenemos en general las siguientes dimensiones 200 cm., y su seccin transversal es un rectngulo de base 24 cm. y 12 cm. de altura.

51

Captulo 3: El Ferrocarril Figura 3.9: Va Frrea con durmientes de hormign. Fuente: [VIAS FERREAS]

3.3.1.4- Sujecin de Riel o de Va Las sujeciones del riel son elementos que hacen posible la continuidad estructural de la va. Las funciones de las sujeciones, son: Fijar los rieles a los durmientes, asegurar la invariabilidad del ancho de la va y Facilitar la transferencia de las cargas estticas y dinmicas del material rodante. Se puede apreciar un ejemplar en la Figura3.10. Fuente: [INTRANET]

Figura 3.10: Tirafondo: utilizado para la sujecin de la va. 3.3.1.5- Aparatos de Va Los aparatos de va tienen por objeto realizar bien el desdoblamiento o el cruce de las vas, an cuando adoptan formas variadas, derivan todas ellas de los aparatos fundamentales: el desvo, que permite el paso de los vehculos de una va sobre otra y la entreva, que permite realizar la conexin entre dos vas. A continuacin un ejemplo de aparato de va.

52

Captulo 3: El Ferrocarril

Figura 3.11: Aparatos de va (Sapo) Fuente: [VIASFERREAS, 2001] 3.3.1.6- Sealizacin Se conoce bajo el nombre de seales el conjunto de aparatos y signos claros y precisos, que tienen por objeto controlar, asegurar y proteger el movimiento de trenes, hacer conocer al personal las previsiones y el estado de la lnea, a fin de garantizar que el trfico sea satisfactorio y sin riesgos. Las seales segn la Resolucin Ministerial N 224-74 y 320-74 de la Republica de Bolivia, se clasifican en: seales fijas, transitorias, con brazos, con banderas y luces de color, con campana, pito de boca, silbato y petardos. [VIASFERREAS, 2001] A continuacin, en la Figura 3.12 se muestra un semforo para desvo. El brazo horizontal con la luz roja significa Peligro, Pare. El brazo en ngulo de 45 hacia abajo con la luz amarilla indica Ingreso a desvo. El brazo en posicin vertical hacia abajo con la luz verde indica Va Libre.

Figura 3.12: Semforo para desvo. Fuente: [VIASFERREAS, 2001] 53

Captulo 3: El Ferrocarril

3.3.2.- Tipos de Va En la actualidad no se cuenta con una clasificacin unificada de las lneas del ferrocarril, debido a que las mismas presentan una gran variedad en sus caractersticas. Tomando en cuenta algunos puntos de vista, se pueden clasificar en: 3.3.2.1.- Lneas Principales y Secundarias Las lneas principales son aquellas que forman las grandes lneas trncales, y las lneas secundarias las que complementan la red formada por las anteriores dando as un sistema completo de lneas frreas. 3.3.2.2.- Lneas de Va Angosta y Va Ancha El ancho o trocha de va, es la separacin entre rieles, el cual debe coincidir con la separacin entre ruedas del material rodante, como se muestra en la figura a continuacin.

Figura 3.13: Ancho de Va Fuente: [VIASFERREAS, 2001] 3.3.2.3.- Lneas de Trnsito General, Urbanas y Sub-urbanas

54

Captulo 3: El Ferrocarril Esta es una clasificacin relativa al servicio pblico que prestan. As se tiene que las lneas de trnsito general corresponden al servicio nacional o internacional de larga distancia. Las lneas suburbanas son aquellas que comunican una poblacin con sus zonas de influencia cercanas. Las lneas urbanas son las que prestan servicio dentro de las poblaciones, ya sean estos servicios efectuados sobre la superficie, como los tranvas, subterrneos o elevados, y como los metropolitanos. Existen tambin lneas de servicio particular que corresponden a las lneas dedicadas exclusivamente al servicio de algunas empresas de carcter privado, tales como las lneas mineras.

55

CAPITULO 4 RESOLUCION DE PROBLEMAS MEDIANTE TECNICAS HEURISTICAS

e denomina heurstica a la capacidad de un sistema para realizar de forma inmediata innovaciones positivas para sus fines. La capacidad heurstica es un rasgo

caracterstico de los humanos, desde cuyo punto de vista puede describirse como el arte y la ciencia del descubrimiento y de la invencin o de resolver problemas mediante la creatividad y el pensamiento lateral o pensamiento divergente. [WIKIPEDIA] De acuerdo con ANSI/IEEE, la heurstica trata de aquellos mtodos o algoritmos exploratorios para la resolucin de problemas en los que las soluciones se descubren por la evaluacin del progreso logrado en la bsqueda de un resultado final. Se trata de mtodos en los que, aunque la exploracin se realiza de manera algortmica, el progreso se logra por la evaluacin puramente emprica del resultado. Se gana eficacia, sobre todo en trminos de eficiencia computacional, a costa de la precisin. Las tcnicas heursticas no aseguran soluciones ptimas sino solamente soluciones vlidas, aproximadas; y frecuentemente no es posible justificar en trminos estrictamente lgicos la validez del resultado. 56

Captulo 4: Resolucin de Problemas Mediante Tcnicas Heursticas 4.1.- RESOLUCION DE UN PROBLEMA MEDIANTE BUSQUEDA HEURISTICA Si resulta que un problema se puede efectuar como problema de bsqueda, en muchos casos se puede reducir a un problema de hallar un mximo o mnimo, o sea, un ptimo. Slo va a funcionar esto en el caso de que se pueda calcular la bondad de una solucin: la solucin del problema ser aquella, o aquellas, que optimicen una funcin de bondad, ajuste o evaluacin; en muchos casos, por lo tanto, un problema de bsqueda se puede reducir a un problema de optimizacin (maximizacin o minimizacin). Formalmente, entonces, una heurstica es una funcin matemtica, h(n) definida en los nodos de un rbol de bsqueda, que sirve como una estimacin del coste del camino ms econmico de un nodo dado hasta el nodo objetivo.

4.1.1.- Elementos de un Problema de Bsqueda Los elementos bsicos que definen a un problema de bsqueda son los estados y las acciones: Estado inicial, desde donde se parte para la solucin del problema. Conjunto de Operadores, es el conjunto de posibles acciones que el sistema puede emprender. El espacio de conjunto de estados de un problema es el conjunto de todos los estados que pueden alcanzarse a partir del estado inicial mediante cualquier secuencia de acciones. Prueba de meta es lo que el sistema aplica a la descripcin de un estado para decidir si se trata de un estado meta. El estado meta se produce cuando se encuentra una posible solucin. Funcin costo de ruta, es la funcin objetivo que se buscar minimizar, mediante sta se asigna un costo a una ruta determinada. Este costo es la suma de los costos de cada una de las acciones individuales que se emprendan a lo largo de la ruta. 57

Captulo 4: Resolucin de Problemas Mediante Tcnicas Heursticas 4.1.2.- Primer Paso en la Resolucin de un Problema Mediante Bsqueda: Modelizacin Es el primer paso necesario para resolver un problema, no se trabaja directamente con el mundo real, sino que se realiza un modelo del problema. En ese modelo, se extraen las caractersticas fundamentales del mismo, es decir slo aquellas que tienen una importancia para el desarrollo del problema, y se eliminan todas las que no tienen tanta importancia. Si nos trasladamos al problema de los cruzamientos de trenes, habrn caractersticas o datos que resultan de inters: velocidad de recorrido, largo de los trenes, capacidad de las estaciones, etc. Al contrario, otros datos podran tener menos importancia o ser irrelevantes: tonelaje de los trenes, nmero de pasajeros, etc. En todo caso, slo se puede resolver un problema si se tiene un modelo del mismo; la solucin al problema real ser tanto ms adecuada cuanto ms cercano sea el modelo al problema real, pero la solucin a un problema lo es slo en el sentido que es una solucin al modelo del problema. Modelos diferentes del problema darn soluciones diferentes del mismo. Pero casi siempre ser mejor encontrar una solucin aproximada a un modelo exacto que encontrar una solucin exacta a un modelo aproximado.

4.1.3.- Problemas Multimodales Un problema multimodal es un problema que tiene varios mximos, todos ellos de la misma jerarqua, pero tambin se aplica a aquellos problemas que tienen varias soluciones posibles. En general, casi todo problema de bsqueda, formulado como un problema de optimizacin, suele tener varios mximos, pero uno de ellos es mejor que el resto, y se denomina mximo global. El resto son mximos locales; es decir, se puede definir una vecindad alrededor de ellos en la cual son mximos globales. Sin embargo, en muchos casos, todos los mximos globales tienen la misma jerarqua,

58

Captulo 4: Resolucin de Problemas Mediante Tcnicas Heursticas bien por tener el mismo valor numrico, o bien porque se establezca un criterio de mejor que tal que no se pueda decidir cul de ellos es mejor que otro. Podemos tener, por ejemplo, una solucin que implique el menor tiempo de espera de los trenes en conjunto; otra en donde el itinerario de los trenes de pasajeros se vea afectado de la menor forma posible, aunque eso signifique un tiempo de espera mayor para los otros tipos de trenes y como consecuencia al total del conjunto; otra en donde se minimice el combustible usado, etc. Algunos de estos criterios podran tener menos importancia que los dems (por ejemplo el uso de combustible), en cambio podra ser difcil decidir la importancia entre los otros.

4.1.4.- Problemas con Restricciones Un problema que satisface restricciones es un tipo especial de problema que satisface algunas propiedades estructurales adicionales adems de los requisitos bsicos de los problemas en general. [IARTIFICIAL, 1996] En este tipo de problemas, los estados se definen mediante los valores de un conjunto de variables y la prueba de meta especifica un conjunto de restricciones que los valores deben satisfacer. Con todo lo anterior, se debe tener en cuenta lo siguiente: El estado inicial ser el estado en el que todas las variables todava no estn asignadas. Los operadores asignarn un valor a las variables. La prueba de meta deber verificar que todas las variables estn asignadas y se satisfagan todas las restricciones. La funcin de evaluacin deber tener en cuenta el incumplimiento de restricciones, en cuyo caso podr ser sustituida sta por otra funcin en la que las regiones no alcanzables sean alcanzables, o asignarse un valor numrico al incumplimiento de dicha restriccin.

59

Captulo 4: Resolucin de Problemas Mediante Tcnicas Heursticas

4.2.- METODO DE BUSQUEDA: BUSQUEDA EXHAUSTIVA


Dentro de un rbol de bsqueda, la decisin de qu nodos expandir y en qu turnos viene dada por la estrategia de bsqueda que se utilice. En algunos problemas donde el espacio de bsqueda es suficientemente pequeo y enumerable, se pueden usar mtodos de bsqueda exhaustiva o enumerativas: se examinan una por una todas las soluciones posibles, y se da por buena aquella que tenga el mximo o mnimo valor de la funcin objetivo. El problema con la bsqueda exhaustiva no slo es que no siempre sea factible, sino que su mal comportamiento con respecto al aumento de tamao del espacio de bsqueda, y el hecho de que necesite una cantidad de memoria de ordenador proporcional al tamao del problema, hace que no se pueda aplicar en la mayor parte de los casos. Sin embargo, en algunos casos puede ser til; por ejemplo, en la fase final de la resolucin del problema cuando el subespacio de bsqueda est suficientemente acotado. En este tipo de bsqueda se puede usar tcnicas como el backtracking para mantener el costo de ruta de la mejor solucin y de esa forma descartar partes del espacio de bsqueda que se va a recorrer.

60

Captulo 4: Resolucin de Problemas Mediante Tcnicas Heursticas

4.3.- PROBLEMA DE ENCONTRAR LA RUTA MS CORTA DE UNA CIUDAD A OTRA


Suponiendo que slo queremos viajar entre dos ciudades (en el ejemplo de la Figura 4.1 de A hacia E) y para ello necesitamos saber cul es el recorrido o combinacin de ciudades que nos garantiza el menor nmero de kilmetros a recorrer.
8 7

Figura 4.1: Problema de determinacin de ruta. Fuente: Elaboracin Propia

B C
10 20 15

4.3.1.- Elementos del Problema Los elementos de este problema seran los siguientes: Estado inicial La ciudad desde donde se inicia el recorrido. Conjunto de Operadores Los operadores son los recorridos de una ciudad a otra. El espacio de conjunto de estados Es el conjunto de recorridos posibles que se pueden realizar. Prueba de meta La prueba de meta verifica si se lleg a la ciudad que se tena como destino. Funcin costo de ruta

61

Captulo 4: Resolucin de Problemas Mediante Tcnicas Heursticas Esta funcin indica lo acertado de una ruta, sera igual al nmero de kilmetros recorridos.

4.3.2.- Solucin Mediante Bsqueda Exhaustiva y Backtracking Se empieza a expandir el rbol por los nodos cuyo costo de ruta sea menor hasta dar con la primera solucin (en el ejemplo de la Figura 4.2, la combinacin de ciudades ABE con un costo de ruta de 18). Mantendremos esta solucin como la mejor para compararla con cada nueva solucin que haya, actualizndola si procede.

Figura 4.2: Primer solucin hallada siguiendo los nodos cuyo costo de ruta sea menor. Fuente: Elaboracin Propia

Para mejorar la eficiencia se poda los nodos de los cuales sabemos que no nos llevarn a ninguna solucin mejor que la mejor solucin actual. Si para una solucin parcial se tiene que costo de ruta mejor-costo, podemos podarla y no continuar con ella ya que todas las soluciones en su subrbol tendrn un costo mayor o igual que costo de ruta y por tanto que mejor-costo. Siguiendo con el ejemplo anterior se

62

Captulo 4: Resolucin de Problemas Mediante Tcnicas Heursticas puede ver en la Figura 4.3 la poda realizada y la solucin ptima hallada al final de la bsqueda.

Figura 4.3: Despus de explorar todos los nodos, se da con la solucin ptima Fuente: Elaboracin Propia

63

Captulo 4: Resolucin de Problemas Mediante Tcnicas Heursticas

4.4.- PROBLEMA DE CRUZAMIENTO DE TRENES


Los elementos del problema de cruzamiento de trenes son los siguientes: Estado inicial Es la disposicin de trenes en un momento dado, desde el cual nos queremos anticipar a los cruzamientos que van a producirse. En la siguiente figura se puede apreciar un cruzamiento que va a producirse entre un Ferrobs (lnea color naranja) y un tren de pasajeros (lnea color azul).

Figura 4.4: Proyeccin de Cruzamientos entre dos trenes Fuente: Elaboracin Propia Conjunto de Operadores Bsicamente, las acciones que puede sugerir el sistema son dos: la estacin en la que debe realizarse el cruzamiento y el tren que debe esperar en dicha estacin.

64

Captulo 4: Resolucin de Problemas Mediante Tcnicas Heursticas Para el ejemplo de la figura anterior hay, en el menor de los casos, dos operaciones que pueden realizarse, cada una de ellas produce un determinado tiempo de espera para uno de los trenes y afecta de una forma diferente a los siguientes cruzamientos: El ferrobs espera en la primera estacin al tren de pasajeros (Figura 4.5). El tren de pasajeros espera en la segunda estacin al ferrobs (Figura 4.6).

Figura 4.5: El ferrobs espera en la primera estacin al tren de pasajeros: La demora es de poco ms de 30 minutos Fuente: Elaboracin Propia

65

Captulo 4: Resolucin de Problemas Mediante Tcnicas Heursticas

Figura 4.6: El tren de pasajeros espera en la segunda estacin al ferrobs: El tiempo de espera es de poco ms de 50 minutos Fuente: Elaboracin Propia

El espacio de conjunto de estados Es el conjunto de todas las posibles soluciones a las que puede llegar el sistema, algunas sern ms eficientes, otras producirn tiempos de espera mayores, etc.

Prueba de meta En este caso todas las acciones o rutas son consideradas soluciones vlidas, por lo que la bsqueda podra terminar despus de hallar la mejor ruta (o conjunto de acciones) para el primer cruzamiento que se presente. Sin embargo, es conveniente proseguir con la bsqueda ya que, aunque la ruta hallada parezca la ms eficiente, sta podra no ser la mejor a largo plazo debido a que los futuros cruzamientos varan con cada accin que se realice. Por este motivo la prueba de meta podra ser un lmite en el nivel de exploracin de la bsqueda. Por ejemplo, tomar en cuenta slo los cruzamientos que se produzcan en las siguientes 12 horas. 66

Captulo 4: Resolucin de Problemas Mediante Tcnicas Heursticas Funcin costo de ruta Indica lo acertado de una solucin, estara en funcin a los siguientes valores: o Tiempo total de espera de los trenes. o Tiempo de retraso producido para los trenes que tienen que cumplir con un itinerario (por ejemplo los de pasajeros).

( )

Adicionalmente se deben tener en cuenta las restricciones del problema, una de ellas es la capacidad de las estaciones. No siempre un tren podr esperar en una estacin, ya que el largo de la va secundaria podra no alcanzar a cubrir el largo del tren.

67

CAPITULO 5 EL PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE

n estos das, dada la importancia de la informacin como recurso estratgico que ayuda a generar ventajas competitivas para las empresas, se tiende a construir

sistemas cada vez ms grandes y complejos donde intervienen equipos de trabajos formados por numerosas personas con distintas funciones y roles. Tal situacin lleva a definir mecanismos que ayuden a administrar esos grandes proyectos: programar las actividades en tiempo y forma, coordinar las actividades de cada integrante del equipo, y ofrecer criterios para permitir un control y medicin de estas actividades. Sea cual fuese el tamao del sistema, es necesario siempre apoyarse en un proceso de anlisis y diseo. A continuacin se describir un proceso para encarar proyectos de desarrollo de software denominado Proceso Unificado de Desarrollo de Software, que abarca las actividades

68

Captulo 5: El Proceso Unificado de Desarrollo de Software necesarias para transformar los requisitos de los distintos usuarios en un Sistema Informtico.

5.1.- DEFINICION DEL PROCESO UNIFICADO


El Proceso Unificado de Desarrollo de Software o simplemente Proceso Unificado, es un marco de desarrollo de software iterativo e incremental. En general, un marco de desarrollo son las recomendaciones acerca de qu pasos seguir para transformar los requisitos del usuario en un sistema. El Proceso Unificado utiliza el Lenguaje Unificado de modelado (Unified Modeling Language, UML) para preparar todos los esquemas de un sistema software.

5.2.- CARACTERISTICAS
Los aspectos fundamentales que definen este proceso son: 5.1.1.- Dirigido por Casos de Uso Las necesidades del cliente no son fciles de detectar, esto lleva a utilizar algn modo de capturar esas necesidades y comunicarlas a los diferentes integrantes del proyecto. Los Casos de Uso indican cmo debera interactuar el sistema con los usuarios o con otros sistemas para conseguir un objetivo especfico. Normalmente, en los casos de usos se evita el empleo de trminos tcnicos, prefiriendo en su lugar un lenguaje ms cercano al usuario final. En ocasiones, se utiliza a usuarios sin experiencia junto a los analistas para el desarrollo de casos de uso.

69

Captulo 5: El Proceso Unificado de Desarrollo de Software La idea es que cada iteracin tome un conjunto de casos de uso o escenarios y desarrolle todo el camino a travs de las distintas disciplinas: diseo, implementacin, prueba, etc. Los diagramas de casos de uso sirven para especificar la comunicacin y el comportamiento de un sistema mediante su interaccin con los usuarios y/o otros sistemas. O lo que es igual, un diagrama que muestra la relacin entre los actores y los casos de uso en un sistema. Los diagramas de casos de uso se utilizan para ilustrar los requerimientos del sistema al mostrar cmo reacciona en respuesta a eventos que se producen en el mismo.

Figura 5.1: Elementos de los Casos de Uso Fuente: [WIKIPEDIA] Los elementos que componen los Casos de Uso e ilustrados en la Figura 5.1 son: Actores Un actor es el rol o funcin que asume una persona, sistema o entidad que interacta con el sistema que estamos construyendo. Tiene la propiedad de

70

Captulo 5: El Proceso Unificado de Desarrollo de Software ser externo a este. Hay que tener en cuenta que un usuario puede acceder al sistema como distintos actores. Casos de Uso Como se ha dicho antes, un caso de uso es una secuencia de interacciones entre un sistema y alguien o algo que usa alguno de sus servicios. Ese alguien o algo es el actor. Tienen una representacin grfica de valos. Los Casos de Uso tienen varias ventajas, entre las cuales podemos mencionar: La tcnica de caso de uso tiene xito en sistemas interactivos, ya que expresa la intencin que tiene el actor (su usuario) al hacer uso del sistema. Como tcnica de extraccin de requerimientos permite que el analista se centre en las necesidades del usuario, qu espera ste lograr al utilizar el sistema, evitando que la gente especializada en computacin dirija la funcionalidad del nuevo sistema basndose solamente en criterios tecnolgicos. A su vez, durante la extraccin, el analista se concentra en las tareas centrales del usuario describiendo por lo tanto los casos de uso que mayor valor aportan al negocio. Esto facilita luego la priorizacin de los requerimientos 5.1.2.- Centrado en la arquitectura La arquitectura describe los cimientos del sistema que son necesarios para comprenderlo, desarrollarlo y producirlo. El objetivo de la elaboracin es construir una arquitectura slida para que a partir de la misma podamos realizar la construccin total del sistema.

71

Captulo 5: El Proceso Unificado de Desarrollo de Software A la hora de ir pasando por las distintas fases del proyecto, los desarrolladores utilizaran la arquitectura como gua general y los distintos diagramas, ms detallados, para realizar su trabajo. El Proceso Unificado asume que no existe un modelo nico que cubra todos los aspectos del sistema. Por dicho motivo existen mltiples modelos y vistas que definen la arquitectura de software de un sistema. La analoga con la construccin es clara, cuando construyes un edificio existen diversos planos que incluyen los distintos servicios del mismo: electricidad, fontanera, etc. 5.1.3.- Iterativo e incremental La estrategia que propone el Proceso Unificado es tener un proceso iterativo e incremental en donde el trabajo se divide en partes ms pequeas o mini proyectos. Permitiendo que el equilibrio entre Casos de Uso y Arquitectura se vaya logrando durante cada mini proyecto, as durante todo el proceso de desarrollo. El Proceso Unificado est compuesto de cuatro fases denominadas Inicio, Elaboracin, Construccin y Transicin. Cada una de estas fases es a su vez dividida en una serie de iteraciones. Cada mini proyecto se puede ver como una iteracin (un recorrido ms o menos completo a lo largo de todos los flujos de trabajo fundamentales) del cual se obtiene un incremento que produce un crecimiento en el producto. Una iteracin puede realizarse por medio de una cascada, como se muestra en la figura. Se pasa por los flujos fundamentales (Requisitos, Anlisis, Diseo, Implementacin y Pruebas), tambin existe una planificacin de la iteracin, un anlisis de la iteracin y algunas actividades especficas de la iteracin. Al finalizar se realiza una integracin de los resultados con lo obtenido de las iteraciones anteriores.

72

Captulo 5: El Proceso Unificado de Desarrollo de Software

Figura 5.2: Fases o flujos de iteracin Fuente: [WIKIPEDIA] Cada iteracin aborda una parte de la funcionalidad total, pasando por todos los flujos de trabajo relevantes y refinando la arquitectura. Cada iteracin se analiza cuando termina. Se puede determinar si han aparecido nuevos requisitos o han cambiado los existentes, afectando a las iteraciones siguientes. Durante la planificacin de los detalles de la siguiente iteracin, el equipo tambin examina cmo afectarn los riesgos que an quedan al trabajo en curso. Toda la retroalimentacin de la iteracin pasada permite reajustar los objetivos para las siguientes iteraciones. Se contina con esta dinmica hasta que se haya finalizado por completo con la versin actual del producto

5.2.- FASES Y FLUJOS DE TRABAJO


En el Proceso Unificado estn las fases de desarrollo o flujos de iteracin y los flujos de trabajo fundamentales. Cada fase es un proyecto en s mismo, y constituye una pasada por los flujos de trabajo fundamentales.

73

Captulo 5: El Proceso Unificado de Desarrollo de Software 5.2.1.- Fases de Desarrollo Las fases son: Inicio, Elaboracin, Construccin y Transicin. Las mismas se detallan a continuacin. 5.2.1.1.- Inicio Durante la fase de inicio se define el modelo del negocio y el alcance del proyecto. Se identifican todos los actores y Casos de Uso, y se disean los Casos de Uso ms esenciales (aproximadamente el 20% del modelo completo). Se desarrolla, un plan de negocio para determinar que recursos deben ser asignados al proyecto. Los objetivos de esta fase son: Establecer el mbito del proyecto y sus lmites. Encontrar los Casos de Uso crticos del sistema, los escenarios bsicos que definen la funcionalidad. Mostrar al menos una arquitectura candidata para los escenarios principales. Estimar el coste en recursos y tiempo de todo el proyecto. Estimar los riesgos, las fuentes de incertidumbre.

Los resultados de la fase de inicio deben ser: Un documento de visin: Una visin general de los requerimientos del proyecto, caractersticas clave y restricciones principales. Modelo inicial de Casos de Uso (10-20% completado). Un glosario inicial: Terminologa clave del dominio.

74

Captulo 5: El Proceso Unificado de Desarrollo de Software El caso de negocio. Lista de riesgos y plan de contingencia. Prototipos exploratorios para probar conceptos o la arquitectura candidata. 5.2.1.2.- Elaboracin El propsito de la fase de elaboracin es analizar el dominio del problema, establecer los cimientos de la arquitectura, desarrollar el plan del proyecto y eliminar los mayores riesgos. En esta fase se construye un prototipo de la arquitectura, que debe evolucionar en iteraciones sucesivas hasta convertirse en el sistema final. Este prototipo debe contener los Casos de Uso crticos identificados en la fase de inicio. Tambin debe demostrarse que se han evitado los riesgos ms graves. Los objetivos de esta fase son: Definir, validar y cimentar la arquitectura. Completar la visin. Crear un plan fiable para la fase de construccin. Este plan puede evolucionar en sucesivas iteraciones. Debe incluir los costes si procede. Demostrar que la arquitectura propuesta soportar la visin con un coste razonable y en un tiempo razonable. Al terminar deben obtenerse los siguientes resultados:

75

Captulo 5: El Proceso Unificado de Desarrollo de Software Un modelo de Casos de Uso completo al menos hasta el 80%: todos los casos y actores identificados, la mayora de los casos desarrollados. Requisitos adicionales que capturen los requisitos no funcionales y cualquier requisito no asociado con un Caso de Uso especfico. Descripcin de la arquitectura software. Un prototipo ejecutable de la arquitectura. Lista de riesgos y caso de negocio revisados. Plan de desarrollo para el proyecto. Un caso de desarrollo actualizado que especifica el proceso a seguir.

En esta fase se debe tratar de abarcar todo el proyecto con la profundidad mnima. Slo se profundiza en los puntos crticos de la arquitectura o riesgos importantes. 5.2.1.3.- Construccin La finalidad principal de esta fase es alcanzar la capacidad operacional del producto de forma incremental a travs de las sucesivas iteraciones. Durante esta fase todos los componentes, caractersticas y requisitos deben ser implementados, integrados y probados en su totalidad, obteniendo una versin aceptable del producto. Los objetivos concretos incluyen: Minimizar los costes de desarrollo mediante la optimizacin de recursos y evitando el tener que rehacer un trabajo o incluso desecharlo. 76

Captulo 5: El Proceso Unificado de Desarrollo de Software Conseguir una calidad adecuada tan rpido como sea prctico. Conseguir versiones funcionales (alfa, beta, y otras versiones de prueba) tan rpido como sea prctico. Los resultados de la fase de construccin deben ser: Modelos Completos (Casos de Uso, Anlisis, Diseo, Despliegue e Implementacin). Arquitectura ntegra (mantenida y mnimamente actualizada). Riesgos Presentados Mitigados. Plan del Proyecto para la fase de Transicin. Manual Inicial de Usuario (con suficiente detalle). Prototipo Operacional beta. Caso del Negocio Actualizado.

5.2.1.4.- Transicin La finalidad de la fase de transicin es poner el producto en manos de los usuarios finales, para lo que se requiere desarrollar nuevas versiones actualizadas del producto, completar la documentacin, entrenar al usuario en el manejo del producto, y en general tareas relacionadas con el ajuste, configuracin, instalacin y facilidad de uso del producto. Algunas de las tareas que debe incluir esta fase son: Prueba de la versin Beta para validar el nuevo sistema frente a las expectativas de los usuarios.

77

Captulo 5: El Proceso Unificado de Desarrollo de Software Funcionamiento paralelo con los sistemas legados que estn siendo sustituidos por nuestro proyecto. Conversin de las bases de datos operacionales. Entrenamiento de los usuarios y tcnicos de mantenimiento. Traspaso del producto a los equipos de marketing, distribucin y venta. Los principales objetivos de esta fase son: Conseguir que el usuario se valga por si mismo. Un producto final que cumpla los requisitos esperados, que funcione y satisfaga suficientemente al usuario. Los resultados de la fase de transicin son: Prototipo Operacional. Documentos Legales. Caso del Negocio Completo. Lnea de Base del Producto completa y corregida que incluye todos los modelos del sistema. Descripcin de la Arquitectura completa y corregida. Las iteraciones de esta fase irn dirigidas normalmente a conseguir una nueva versin.

78

Captulo 5: El Proceso Unificado de Desarrollo de Software La duracin y esfuerzo dedicado en cada fase es variable dependiendo de las caractersticas del proyecto. En la tabla se muestran porcentajes que frecuentemente son necesarios.

Inicio Esfuerzo Tiempo Dedicado 5%

Elaboracin 20 %

Construccin 65 %

Transicin 10%

10 %

30 %

50 %

10%

Figura 5.3: Porcentajes de duracin y esfuerzo tpicos necesarios Fuente: [RUP02, 2000] 5.2.2.- Flujos de Trabajo Fundamentales Un flujo de trabajo es una relacin de actividades que nos producen unos resultados observables. Los flujos de trabajo fundamentales son: Modelo del Negocio, Captura de Requisitos, Anlisis, Implementacin y Pruebas.

79

Captulo 5: El Proceso Unificado de Desarrollo de Software Figura 5.4: Flujos de Trabajo Fundamentales Fuente: [RUP02, 2000] A continuacin se describen cada uno de ellos de forma detallada. 5.2.2.1.- Modelo del Negocio Con este flujo de trabajo pretendemos llegar a un mejor entendimiento de la organizacin donde se va a implantar el producto. Los objetivos del modelo del negocio son: Entender la estructura y la dinmica de la organizacin para la cual el sistema va ser desarrollado (organizacin objetivo). Entender el problema actual en la organizacin objetivo e identificar potenciales mejoras. Asegurar que clientes, usuarios finales y desarrolladores tengan un entendimiento comn de la organizacin objetivo. Derivar los requisitos del sistema necesarios para apoyar a la organizacin objetivo. Para lograr estos objetivos, el modelo de negocio describe como desarrollar una visin de la nueva organizacin, basado en esta visin se definen procesos, roles y responsabilidades de la organizacin por medio de un modelo de Casos de Uso del negocio y un Modelo de Objetos del Negocio. Complementario a estos modelos, se desarrollan otras especificaciones tales como un Glosario.

80

Captulo 5: El Proceso Unificado de Desarrollo de Software 5.2.2.2.- Captura de Requisitos Este es uno de los flujos de trabajo ms importantes, porque en l se establece qu tiene que hacer exactamente el sistema que construyamos. En esta lnea los requisitos son el contrato que se debe cumplir, de modo que los usuarios finales tienen que comprender y aceptar los requisitos que especifiquemos. Los objetivos de este flujo de trabajo son: Establecer y mantener un acuerdo entre clientes u otras personas relacionadas con las actividades de la empresa sobre lo que el sistema podra hacer. Proveer a los desarrolladores un mejor entendimiento de los requisitos del sistema. Definir el mbito del sistema. Proveer una base para la planeacin de los contenidos tcnicos de las iteraciones. Proveer una base para estimar costos y tiempo de desarrollo del sistema. Definir una interfaz de usuarios para el sistema, enfocada a las necesidades y metas del usuario. Los requisitos se dividen en dos grupos. Los requisitos funcionales representan la funcionalidad del sistema. Se modelan mediante diagramas de Casos de Uso. Los requisitos no funcionales representan aquellos atributos que debe exhibir el sistema, pero que no son una funcionalidad especfica. Por ejemplo requisitos de facilidad de uso, fiabilidad, eficiencia, portabilidad, etc. 81

Captulo 5: El Proceso Unificado de Desarrollo de Software Para capturar los requisitos es preciso entrevistar a todos los interesados en el proyecto, no slo a los usuarios finales, y anotar todas sus peticiones. A partir de ellas hay que descubrir lo que necesitan y expresarlo en forma de requisitos. En este flujo de trabajo, y como parte de los requisitos de facilidad de uso, se disea la interfaz grfica de usuario. Para ello habitualmente se construyen prototipos de la interfaz grfica de usuario que se contrastan con el usuario final. 5.2.2.3.- Anlisis El anlisis consiste en obtener una visin del sistema que se preocupa de ver qu hace, de modo que slo se interesa por los requisitos funcionales. El resultado del flujo de trabajo del anlisis es el modelo del anlisis, que es un modelo de objetos conceptual que analiza los requisitos mediante su refinamiento y estructuracin. El objetivo de refinar y estructurar los requisitos es conseguir una comprensin mas precisa de los mismos y su descripcin. 5.2.2.4.- Diseo El diseo es un refinamiento del anlisis que tiene en cuenta los requisitos no funcionales, en definitiva cmo cumple el sistema sus objetivos. En el diseo se modela el sistema y se encuentra su forma (incluida la arquitectura) para dar soporte a todos los requisitos. El principal resultado del diseo es el modelo de diseo, que consiste en colaboraciones de clases, que pueden ser agregadas en paquetes y subsistemas. El mismo que procura conservar la estructura del sistema impuesta por el anlisis.

82

Captulo 5: El Proceso Unificado de Desarrollo de Software 5.2.2.5.- Implementacin En este flujo de trabajo se implementan las clases y objetos en ficheros fuente, binarios, ejecutables y dems. Adems se deben hacer las pruebas de unidad: cada implementador es responsable de probar las unidades que produzca. El resultado final de este flujo de trabajo es un sistema ejecutable. En cada iteracin habr que hacer lo siguiente: Planificar qu subsistemas deben ser implementados y en que orden deben ser integrados, formando el Plan de Integracin. Cada implementador decide en que orden implementa los elementos del subsistema. Si encuentra errores de diseo, los notifica. Se prueban los subsistemas individualmente. Se integra el sistema siguiendo el plan.

La estructura de todos los elementos implementados forma el modelo de implementacin. La integracin debe ser incremental, es decir, en cada momento slo se aade un elemento. De este modo es ms fcil localizar fallos y los componentes se prueban ms a fondo. En fases tempranas del proceso se pueden implementar prototipos para reducir el riesgo. Su utilidad puede ir desde ver si el sistema es viable desde el principio, probar tecnologas o disear la interfaz de usuario. Los prototipos pueden ser exploratorios (desechables) o evolutivos. Estos ltimos llegan a

transformarse en el sistema final.

83

Captulo 5: El Proceso Unificado de Desarrollo de Software 5.2.2.6.- Pruebas Este flujo de trabajo es el encargado de evaluar la calidad del producto que estamos desarrollando, pero no para aceptar o rechazar el producto al final del proceso de desarrollo, sino que debe ir integrado en todo el ciclo de vida. Sus objetivos son: Encontrar y documentar defectos en la calidad del software. Generalmente asesora sobre la calidad del software percibida. Provee la validacin de los supuestos realizados en el diseo y especificacin de requisitos por medio de demostraciones concretas. Verificar las funciones del producto de software segn lo diseado. Verificar que los requisitos tengan su apropiada implementacin.

Las actividades de este flujo comienzan pronto en el proyecto con el plan de prueba (el cual contiene informacin sobre los objetivos generales y especficos de las prueba en el proyecto, as como las estrategias y recursos con que se dotar a esta tarea), o incluso antes con alguna evaluacin durante la fase de inicio, y continuar durante todo el proyecto.

84

PARTE III

DESARROLLO DEL PROYECTO

CAPITULO 6 MODELO DEL NEGOCIO Y CAPTURA DE REQUISITOS

na de las primeras etapas dentro del proceso de desarrollo del Software es la captura de requisitos. Con la introduccin del estndar UML, los requisitos funcionales del

software se capturan, bsicamente, utilizando diagramas de casos de uso, en los que se representan las funcionalidades del sistema y las entidades externas con las que interacta.

6.1.- MODELO DEL NEGOCIO


A continuacin se presentan los modelos definidos en el Proceso Unificado como modelo de negocio: de Casos de Uso del Negocio y de los Objetos del Negocio.

86

Captulo 6: Modelo del Negocio y Captura de Requisitos 6.1.1.- Modelo de Casos de Uso del Negocio Es un modelo de las funciones de negocio vistas desde la perspectiva de los actores externos, permite situar al sistema en el contexto organizacional haciendo nfasis en los objetivos. Este modelo se representa con un Diagrama de Casos de Uso usando estereotipos especficos para este modelo. A continuacin, en la Figura 6.1, el Modelo de Casos de Uso del Negocio.

Figura 6.1: Modelo de Casos de Uso del Negocio Fuente: Elaboracin Propia 6.1.2.- Modelo de Objetos del Negocio Es un modelo que describe la realizacin de cada caso de uso del negocio,

estableciendo los actores internos, la informacin que en trminos generales

87

Captulo 6: Modelo del Negocio y Captura de Requisitos manipulan y los flujos de trabajo (workflows) asociados al caso de uso del negocio. Para la representacin de este modelo se utilizan Diagramas de Colaboracin (para mostrar actores externos, internos y las entidades (informacin) que manipulan, Diagramas de Clases para mostrar grficamente las entidades del sistema y sus relaciones, y Diagramas de Actividad para mostrar los flujos de trabajo. En las Figuras 6.2 a 6.6 se pueden ver los diagramas de actividades utilizados para modelar los flujos de trabajo actuales del rea del problema. Graficar Recorrido Una vez el maquinista informa al Puesto de Control de Trfico su llegada a una de las estaciones, el Controlador registra esa informacin en el Sistema de Operaciones y actualiza el Grfico de Regulacin de Trenes.

Figura 6.2: Diagrama de Actividades: Graficar Recorrido 88

Captulo 6: Modelo del Negocio y Captura de Requisitos Realizar Proyeccin Segn la informacin proporcionada por el Sistema de Operaciones, los Controladores de Trfico realizan la proyeccin del recorrido de los trenes para tener de forma estimada el horario de llegada de los mismos a las siguientes estaciones.

89

Captulo 6: Modelo del Negocio y Captura de Requisitos Figura 6.3: Diagrama de Actividades: Realizar Proyeccin

Determinar Horario de Salida de un Tren de Carga Para determinar el horario de salida de un tren de carga, la Jefatura de Trfico tiene que tener en cuenta una serie de factores e informacin proporcionada por otras reas de la empresa, como ser: estado de la carga (hora estimada en la que puede estar lista), disponibilidad de vagones, disponibilidad de locomotoras, etc.

Figura 6.4: Diagrama de Actividades: Determinar Horario de Salida

90

Captulo 6: Modelo del Negocio y Captura de Requisitos Elaborar Surcos de Trenes Los surcos de trenes son hechos por la Gerencia de Operaciones en base a informacin y requerimientos proporcionados por la Jefatura de Trfico y las Jefaturas de Estacin.

Figura 6.5: Diagrama de Actividades: Elaborar Surcos de Trenes

91

Captulo 6: Modelo del Negocio y Captura de Requisitos Consultar Horario de Llegada de Tren a Estacin Las diferentes estaciones pueden requerir esta informacin, la cual es proporcionada por los Controladores de Trfico en base a informacin dada por el Sistema de Operaciones.

Figura 6.6: Diagrama de Actividades: Consultar Horario de Llegada de tren a estacin

92

Captulo 6: Modelo del Negocio y Captura de Requisitos

6.2.- CAPTURA DE REQUISITOS COMO CASOS DE USO


Los requisitos del proyecto se detallaran mediante la utilizacin de casos de uso. Primero se identifican y especifican los actores del sistema, describiendo los roles que cumplen en su interaccin con el sistema, luego se identifican y especifican los casos de uso y finalmente se presenta el diagrama general de casos de uso completo. 6.2.1.- Identificacin y Especificacin de Actores Para el desarrollo del proyecto se identificaron los siguientes actores: Controlador de Trfico Representa al personal encargado de dirigir el trfico de trenes en el Puesto de Control de Trenes (PCT) y que constantemente est comunicndose con los trenes y estaciones. Jefatura de Trfico Dependiente de la Gerencia de Operaciones, es la directa responsable del trfico de trenes. Los Controladores son dependientes de esta jefatura. Jefatura de Estacin Es la que dirige las operaciones de la empresa en una estacin. Sistema Operaciones Este actor es el sistema encargado de manejar la informacin relacionada con los trenes, locomotoras y vagones; sus recorridos, estados, ubicaciones, etc. Atencin de Clientes El departamento, dependiente de la Gerencia de Operaciones, que administra la distribucin de vagones a los clientes. 93

Captulo 6: Modelo del Negocio y Captura de Requisitos Gerencia Operaciones El ente encargado de dirigir toda el rea de operaciones de la empresa. Maquinista Es la persona que maneja la locomotora. Es ayudada por un auxiliar de maquinista. 6.2.2.- Identificacin de Casos de Uso A continuacin se presentan los casos de uso identificados: Modulo de Trenes o Proyectar Recorrido o Determinar Hora de Salida o Elaborar Surcos de Trenes o Consultar Hora de Llegada de trenes a estaciones Modulo de Grficos o Graficar Recorrido

6.2.3.- Priorizacin de Casos de Uso A continuacin, en la Figura 6.7, los Casos de Uso a desarrollar para el proyecto, los actores que intervienen y la prioridad asignada a cada uno de ellos.

94

Captulo 6: Modelo del Negocio y Captura de Requisitos

Cdigo CU-1 CU-2 CU-3 CU-4 CU-5

Nombre Realizar Proyeccin

Actores

Prioridad A B B C A

Controlador de Trfico, Sistema Operaciones Jefatura Trfico, Jefatura Estacin, Mecnica, Atencin de Determinar Hora de Salida Clientes Jefatura Trfico, Gerencia Elaborar Surcos de Trenes Operaciones Consultar Hora de Llegada de trenes Jefatura Estacin, Controlador a estaciones de Trfico, Sistema Operaciones Controlador de Trfico, Maquinista, Sistema de Graficar Recorrido Operaciones

A = Esencial

B = Moderado

C = No Influyente

Figura 6.7: Priorizacin de Casos de Uso 6.2.4.- Especificacin de Casos de Uso A continuacin se hace una descripcin detallada de los Casos de Uso, mediante una tabla, donde se incluyen: el propsito del caso de uso, los actores involucrados y el flujo de eventos.

95

Captulo 6: Modelo del Negocio y Captura de Requisitos Realizar Proyeccin

Cdigo:

CU-1

Nombre:

RealizarProyeccin

Propsito

Proyectar el recorrido de los trenes resolviendo los cruzamientos que se produzcan

Actores

Controlador de Trfico, Sistema Operaciones

Iniciador Controlador de Trfico

Flujo

1. El Controlador de Trfico ir introduciendo al Sistema de Operaciones los horarios en que los trenes vayan pasando por las estaciones. 2. Se recogen los datos introducidos al Sistema de Operaciones. 3. Se procede a la bsqueda de soluciones para los cruzamientos y pasos de tren que se produzcan con los trenes en trnsito. 4. Se proyecta el recorrido de los trenes, incluyendo las paradas por cruzamientos y pasos de tren. 5. Se muestra grficamente el recorrido proyectado.

Figura 6.8: Caso de Uso: Realizar Proyeccin

96

Captulo 6: Modelo del Negocio y Captura de Requisitos Determinar Horario de Salida

Cdigo:

CU-2

Nombre:

Determinar Hora de Salida

Propsito

Establecer el horario de salida para un tren de carga, previendo otras llegadas y salidas de trenes de la estacin

Actores

Jefatura Trfico, Jefatura Estacin, Mecnica, Atencin Cliente

Iniciador Jefatura de Trfico

Flujo

1. Obtener informacin sobre el estado de la carga. 2. Obtener informacin sobre la disponibilidad de vagones. 3. Obtener informacin sobre el estado y disponibilidad de locomotoras. 4. En base a la informacin obtenida, determinar un o rango horario de salida. 5. Dentro del rango de horario elegido, determinar el horario de salida que minimice los tiempos de espera de los trenes producidos por los cruzamientos y pasos de trenes.

Figura 6.9: Caso de Uso: Determinar Horario de Salida

97

Captulo 6: Modelo del Negocio y Captura de Requisitos Elaborar Surcos de Trenes

Cdigo:

CU-3

Nombre:

Elaborar Surcos de Trenes

Propsito Elaborar la planificacin de salidas diarias de trenes

Actores

Gerencia Operaciones, Jefatura de Trfico, Jefatura de Estacin

Iniciador Gerencia de Operaciones

Flujo

1. La pantalla muestra una lista de trenes disponibles. 2. El usuario puede elegir los trenes con los que quiere realizar los surcos pasndolos a una segunda lista. 3. En una segunda pantalla se puede establecer el da, hora y estacin de salida para los trenes elegidos. 4. En una tercera pantalla se muestran los trenes elegidos e informacin de los mismos. 5. El usuario puede: Realizar la simulacin o introducir algunas condiciones para la simulacin. Si se elije realizar la simulacin, el sistema realizar la planificacin de surcos con los horarios elegidos, resolviendo los cruzamientos y pasos de trenes. Entre las condiciones para la simulacin estn: modificar el itinerario de los trenes y establecer una solucin con anterioridad para un cruzamiento dado.

Figura 6.10: Caso de Uso: Elaborar Surcos de Trenes

98

Captulo 6: Modelo del Negocio y Captura de Requisitos Consultar Hora de Llegada de trenes a estaciones

Cdigo:

Nombre: CU-4

Consultar Hora de Llegada de trenes a estaciones

Propsito

Informar a las Estaciones, cuando stas lo requieran, de la hora estimada de llegada de los trenes

Actores

Jefatura Estacin, Controlador de Trfico, Sistema Operaciones

Iniciador Jefatura Estacin

Flujo

1. Puede ser que ya se haya realizado ya una proyeccin. Si es que no es as, se realiza la proyeccin, resolviendo los cruzamientos y pasos de trenes. 2. La pantalla mostrar una lista de los trenes. 3. Seleccionando el tren correspondiente, se mostrar el recorrido o pasos por estacin previstos para ese tren segn la ltima proyeccin realizada.

Figura 6.11: Caso de Uso: Consultar Hora de Llegada de trenes a estaciones

99

Captulo 6: Modelo del Negocio y Captura de Requisitos Graficar Recorrido

Cdigo:

CU-5

Nombre:

Graficar Recorrido

Propsito

Graficar el recorrido de los trenes a medida que estos avanzan por las estaciones

Actores

Controlador de Trfico, Maquinista, Sistema de Operaciones

Iniciador Maquinista, Controlador de Trfico, Sistema de Operaciones

Flujo

1. Obtener los trenes en trnsito. 2. Para cada tren, obtener su respectivo Boletn con la fecha y hora de paso por cada una de las estaciones. 3. Graficar el recorrido realizado por los trenes.

Figura 6.12: Caso de Uso: Graficar Recorrido

100

Captulo 6: Modelo del Negocio y Captura de Requisitos 6.2.5.- Diagrama General de Casos de Uso

Figura 6.13: Diagrama de Paquetes

101

CAPITULO 7 ANALISIS DEL PROYECTO

l anlisis consiste en obtener una visin del sistema que se preocupa de ver qu hace, de modo que slo se interesa por los requisitos funcionales. Se parte de los

requerimientos descritos en la Captura de Requisitos, los cules se analizan, refinan y estructuran.

7.1.- ANALISIS DE LA ARQUITECTURA


En la Figura 7.1 se detalla el Diagrama de Paquetes que especifica la manera en la que se ha organizado el proyecto.

Figura 7.1: Diagrama de Paquetes Fuente: Elaboracin Propia

102

Captulo 7: Anlisis del Proyecto

7.2.- ANALISIS DE CASOS DE USO


A continuacin (Figuras 7.2 a 7.7) se utilizan diagramas de colaboracin donde se observan cmo los objetos interactan unos con otros para el mismo fin, esto se describe textualmente en los flujos de sucesos descritos para cada diagrama de colaboracin.

103

Captulo 7: Anlisis del Proyecto i. Realizar Proyeccin El usuario, mediante una interfaz cliente, solicita al Sistema realizar la proyeccin del recorrido de trenes. La solicitud llega a Server, primero para recuperar informacin sobre el estado de los trenes en trnsito y despus para realizar la simulacin en s. Una vez obtenido el resultado, la solucin es mostrada y los recorridos de la misma son graficados.

Figura 7.2: Diagrama de Colaboracin: Realizar Proyeccin 104

Captulo 7: Anlisis del Proyecto ii. Determinar Horario de Salida El usuario, mediante una interfaz cliente, solicita al Sistema realizar una bsqueda de horario para una salida de tren, el formulario FrmNewTrenHVar es mostrado, en l se ingresan los datos necesarios para la bsqueda y se enva la orden a Server para efectuar la misma. Una vez obtenido, el resultado es mostrado al usuario en el formulario principal (FrmMain).

Figura 7.3: Diagrama de Colaboracin: Determinar Horario de Salida

105

Captulo 7: Anlisis del Proyecto iii. Elaborar Surcos de Trenes Despus de solicitar una nueva simulacin desde el men del formulario principal (FrmMain), el usuario ingresa la informacin necesaria para los surcos en el formulario FrmNewSimSimpl. La solicitud es mandada a Server, quien a su vez iniciar los objetos necesarios y ordenar la simulacin. Una vez obtenidos, el resultado es mostrado y los surcos de trenes graficados en el formulario principal.

Figura 7.4: Diagrama de Colaboracin: Elaborar Surcos de Trenes

106

Captulo 7: Anlisis del Proyecto iv. Consultar Hora de Llegada de trenes a estaciones La solicitud la realiza el usuario a travs del formulario principal, la consulta es hecha sobre la ltima proyeccin realizada y el resultado mostrado en el mismo formulario principal.

Figura 7.5: Diagrama de Colaboracin: Consultar Hora de Llegada de trenes a estaciones

107

Captulo 7: Anlisis del Proyecto v. Graficar Recorrido Los grficos de los recorridos de trenes son hechos por objetos de la clase Graficador. A su vez se crean objetos TrenLine (lneas de recorrido en el grfico), cada uno de los cuales corresponde a un tren en trnsito.

Figura 7.6: Diagrama de Colaboracin: Graficar Recorrido

108

Captulo 7: Anlisis del Proyecto vi. Resolver Simulacin Diferentes tareas realizadas por el Sistema requieren de realizar una simulacin del recorrido de los trenes. La misma se inicia desde Server (objeto encargado de interactuar con los clientes), sigue por Simulacion, hasta llegar a Motor, donde residen los algoritmos de bsqueda heurstica utilizados para la simulacin.

Figura 7.7: Diagrama de Colaboracin: Resolver Simulacin

109

Captulo 7: Anlisis del Proyecto

7.3.- ANALISIS DE CLASES


En esta seccin se identifican los atributos de las clases del anlisis, indicndose el tipo de las mismas, sus atributos, operaciones y una pequea descripcin de la funcin que cumplen. 7.3.1.- Clases de Interfaz En las siguientes figuras (7.8 a 7.11) el anlisis de las clases de interfaz, utilizadas para la interaccin con el usuario.

Nombre:

FrmMain

Tipo:

Formulario

Responsabilidad: Formulario principal desde donde el usuario interacta con el sistema.

Atributos:

_id, _server, _grafSim

Operaciones:

NuevaSimulacion, ConsultarHoraLlegada, BuscarHorario, RealizarProyeccion

Figura 7.8: Anlisis de la clase FrmMain

110

Captulo 7: Anlisis del Proyecto

Nombre:

FrmElegirTren

Tipo:

Formulario

Responsabilidad: Este formulario se utiliza como dilogo para seleccionar uno de los trenes en trnsito

Atributos:

_result, _trenes

Operaciones:

ShowDialog, btnOk, btnCancel

Figura 7.9: Anlisis de la clase FrmElegirTren

Nombre:

FrmNewSimSimpl

Tipo:

Formulario

Responsabilidad: Desde este formulario se crea una nueva simulacin y se elijen los trenes que van a estar en ella.

Atributos:

_server, _trenesElegidos

Operaciones:

ShowDialog, btnCerrar_Click, btnCancel_Click, MostrarInfoTren

Figura 7.10: Anlisis de la clase FrmNewSimSimpl 111

Captulo 7: Anlisis del Proyecto

Nombre:

FrmNewTrenHVar

Tipo:

Formulario

Responsabilidad: Desde este formulario se elije un tren y establecen las condiciones para la bsqueda de un horario de salida para el mismo.

Atributos:

_result, _server

Operaciones:

ShowDialog, btnOk_Click, btnCancel_Click

Figura 7.11: Anlisis de la clase FrmNewtrenHVar

112

Captulo 7: Anlisis del Proyecto 7.3.2.- Clases de Control En las siguientes figuras (7.12 a 7.18) el anlisis de las clases de Control, que contienen la lgica del negocio y los algoritmos utilizados para efectuar las simulaciones.

Nombre:

Server

Responsabilidad: Es responsable de atender las peticiones de los clientes.

Atributos:

_simulaciones, _nClientes

Operaciones:

BuscarHorario, NuevaSimulacion, ResolverSimulacion, RecuperarTrenesEnTransito

Figura 7.12: Anlisis de la clase Server

Nombre:

Simulacin

Responsabilidad: Maneja toda la informacin concerniente a las simulaciones

Atributos:

_motor

Operaciones:

BuscarHorario, Solve

Figura 7.13: Anlisis de la clase Simulacion

113

Captulo 7: Anlisis del Proyecto

Nombre:

Motor

Responsabilidad: Contiene los algoritmos de bsqueda utilizados para resolver las simulaciones.

Atributos:

_simulacion

Operaciones:

Init, Solve, GetSolution

Figura 7.14: Anlisis de la clase Motor

Nombre:

EstadoTransito

Responsabilidad: Maneja toda la informacin relacionada con el trnsito de trenes en un momento dado.

Atributos:

_simulacion, _fechaHora, _trenes

Operaciones:

GetTrenes, AgregarSolucion, GetSgteCruzamiento, GetSgteAlcance

Figura 7.15: Anlisis de la clase EstadoTransito

Nombre:

TrenEnTransito

114

Captulo 7: Anlisis del Proyecto Responsabilidad: Representa a un tren en circulacin

Atributos:

_idBoletin, _transito, _recorrido, _ultEst, _vagones, _locomotoras

Operaciones:

GetRecorridoItinerario

Figura 7.16: Anlisis de la clase TrenEnTransito

Nombre:

Cruzamiento

Responsabilidad: Representa a un cruzamiento entre dos trenes.

Atributos:

_trenA, _trenB, _fhEncuentro, _ptoEncuentro, _soluciones

Operaciones:

GetSoluciones

Figura 7.17: Anlisis de la clase Cruzamiento

Nombre:

Paso

Responsabilidad: Representa a un paso de tren. 115

Captulo 7: Anlisis del Proyecto

Atributos:

_trenAtr, _trenDel, _fhEncuentro, _ptoEncuentro, _soluciones

Operaciones:

GetSoluciones

Figura 7.18: Anlisis de la clase Paso

7.3.3.- Clases de Entidad A continuacin, en la Figura 7.19, el anlisis de la clase de entidad BRecorrido.

Nombre:

BRecorrido

Responsabilidad: Representa el itinerario de los trenes. Los tiempos que demoran de una estacin a otra.

Atributos:

_idEstacion, _itiLlegada, _itiSalida

Operaciones:

GetRecorridos

Figura 7.19: Anlisis de la clase BRecorrido

116

Captulo 7: Anlisis del Proyecto

7.4.- ANALISIS DE PAQUETES


Una arquitectura flexible asegura la consistencia del sistema y ayuda a acomodar cambios futuros, siendo la estructura de paquetes del sistema una parte importante de la misma. A continuacin se presenta el anlisis de los paquetes del proyecto, la dependencia entre ellos y las clases que contienen. 7.4.1.- Dependencia entre Paquetes En la siguiente figura se muestra la dependencia de los paquetes del proyecto, que fueron identificados en el Anlisis de la Arquitectura (seccin 7.2).

Figura 7.20: Diagrama de Dependencia entre Paquetes

117

Captulo 7: Anlisis del Proyecto 7.4.2.- Diagramas de Clases por Paquete A continuacin (Figuras 7.21 a 7.26) se utilizan diagramas de clases por paquete, para representar las clases necesarias para llevar a cabo los casos de uso descritos en la captura de requisitos.

Figura 7.21: Diagrama de Clases por Paquete. Paquete: Trenes

118

Captulo 7: Anlisis del Proyecto

Figura 7.22: Diagrama de Clases por Paquete. Paquete: Remoting

Figura 7.23: Diagrama de Clases por Paquete. Paquete: Heurstica

Figura 7.24: Diagrama de Clases por Paquete. Paquete: Grficos 119

Captulo 7: Anlisis del Proyecto

Figura 7.25: Diagrama de Clases por Paquete. Paquete: Forms

Figura 7.26: Diagrama de Clases por Paquete. Paquete: TrafService

120

CAPITULO 8 DISEO DEL PROYECTO

l diseo es un refinamiento del anlisis que tiene en cuenta los requisitos no funcionales, en definitiva cmo cumple el sistema sus objetivos. El resultado de este

captulo es un modelo del sistema hecho de tal forma que cumpla con los requisitos especificados anteriormente.

8.1.- DISEO DE LA ARQUITECTURA


El objetivo del diseo de la arquitectura es esbozar el modelo de diseo mediante la identificacin de nodos y componentes. 8.1.1.- Identificacin de Nodos y Componentes Los diagramas de despliegue sirven para modelar el hardware para el sistema y el software instalado en ese hardware. Entre los elementos usados en un diagrama de 121

Captulo 8: Diseo del Proyecto

despliegue estn: los nodos (cubos), los componentes (cajas rectangulares con dos rectngulos saliendo desde el lado izquierdo) y las asociaciones. A continuacin, en la Figura 8.1, el diagrama de despliegue del sistema.

Figura 8.1: Diagrama de Despliegue

8.2.- DISEO DE CASOS DE USO


Para el diseo de casos de uso se utilizan diagramas de secuencia donde se pueden observar cmo los objetos del diseo interactan unos con otros, sus procesos, mensajes entre ellos y el orden en que ocurren. Estos permiten mostrar un escenario de ejecucin simple de forma grfica. A continuacin (Figuras 8.2 a 8.7) los diagramas de secuencia segn los casos de uso identificados para el sistema.

122

Captulo 8: Diseo del Proyecto i. Realizar Proyeccin El usuario, mediante una interfaz cliente, solicita al Sistema realizar la proyeccin del recorrido de trenes. La solicitud llega a Server, primero para recuperar informacin sobre el estado de los trenes en trnsito y despus para realizar la simulacin en s. Una vez obtenido el resultado, la solucin es mostrada y los recorridos de la misma son graficados.

Figura 8.2: Diagrama de Secuencia: Realizar Proyeccin

123

Captulo 8: Diseo del Proyecto ii. Determinar Horario de Salida El usuario, mediante una interfaz cliente, solicita al Sistema realizar una bsqueda de horario para una salida de tren, el formulario FrmNewTrenHVar es mostrado, en l se ingresan los datos necesarios para la bsqueda y se enva la orden a Server para efectuar la misma. Una vez obtenido, el resultado es mostrado al usuario en el formulario principal (FrmMain).

Figura 8.3: Diagrama de Secuencia: Determinar Horario de Salida

124

Captulo 8: Diseo del Proyecto iii. Elaborar Surcos de Trenes Despus de solicitar una nueva simulacin desde el men del formulario principal (FrmMain), el usuario ingresa la informacin necesaria para los surcos en el formulario FrmNewSimSimpl. La solicitud es mandada a Server, quien a su vez iniciar los objetos necesarios y ordenar la simulacin. Una vez obtenidos, el resultado es mostrado y los surcos de trenes graficados en el formulario principal.

Figura 8.4: Diagrama de Secuencia: Elaborar Surcos de Trenes

125

Captulo 8: Diseo del Proyecto iv. Consultar Hora de Llegada de trenes a estaciones La solicitud la realiza el usuario a travs del formulario principal, la consulta es hecha sobre la ltima proyeccin realizada y el resultado mostrado en el mismo formulario principal.

Figura 8.5: Diagrama de Secuencia: Consultar Hora de Llegada de trenes a estaciones

126

Captulo 8: Diseo del Proyecto v. Graficar Recorrido Los grficos de los recorridos de trenes son hechos por objetos de la clase Graficador. A su vez se crean objetos TrenLine (lneas de recorrido en el grfico), cada uno de los cuales corresponde a un tren en trnsito.

Figura 8.6: Diagrama de Secuencia: Graficar Recorrido

127

Captulo 8: Diseo del Proyecto vi. Resolver Simulacin Diferentes tareas realizadas por el Sistema requieren de realizar una simulacin del recorrido de los trenes. La misma se inicia desde Server (objeto encargado de interactuar con los clientes), sigue por Simulacion, hasta llegar a Motor, donde residen los algoritmos de bsqueda heurstica utilizados para la simulacin.

Figura 8.7: Diagrama de Secuencia: Resolver Simulacin 128

Captulo 8: Diseo del Proyecto

8.3.- DIAGRAMAS DE CLASES


Los diagramas de clases constituyen el pilar del anlisis y diseo. En UML, los diagramas de clases muestran las clases del sistema, sus relaciones, y las operaciones y atributos de las clases. En la Figura 8.8 se muestra el diagrama de clases del paquete Trenes.

129

Captulo 8: Diseo del Proyecto

Figura 8.8: Diagrama de Clases: Paquete Trenes

130

Captulo 8: Diseo del Proyecto En la Figura 8.9 se muestra el diagrama de clases del paquete Heurstica.

Figura 8.9: Diagrama de Clases: Paquete Heurstica

131

Captulo 8: Diseo del Proyecto En la Figura 8.10 se muestra el diagrama de clases del paquete Remoting.

Figura 8.10: Diagrama de Clases: Paquete Remoting

132

Captulo 8: Diseo del Proyecto En la Figura 8.11 se muestra el diagrama de clases del paquete Forms.

Figura 8.11: Diagrama de Clases: Paquete Forms

133

Captulo 8: Diseo del Proyecto En la Figura 8.12 se muestra el diagrama de clases del paquete Grficos.

Figura 8.12: Diagrama de Clases: Paquete Grficos En la Figura 8.13 se muestra el diagrama de clases del paquete TrafService.

Figura 8.13: Diagrama de Clases: Paquete TrafService 134

Captulo 8: Diseo del Proyecto

8.4.- DISEO DE DATOS


El diseo de la base de datos se realiza con el fin de eliminar informacin redundante. Generalmente contiene la misma informacin de las clases, sus atributos y relaciones entre ellas. A continuacin las tablas utilizadas desde el sistema e informacin sobre sus campos: tipos de dato, tamao, si permiten o no valores nulos y si sirven de llave primaria (PK) o fornea (FK). A continuacin (Figuras 8.14 a 8.20) se muestra el diseo de las diferentes tablas utilizadas en el Sistema.

Tabla: TTren Descripcin: Almacena informacin concerniente a los trenes. Atributo Nrotren Descripcin IdTrenTipos Dias HoraSalida IdItinerario Estado Tipo de Dato nvarchar nvarchar nvarchar nvarchar datetime int tinyint Tamao 10 30 5 7 8 4 1 Nulo No Si Si Si Si Si Si FK FK Llave PK

Figura 8.14: Diseo de Datos. Tabla: TTren

135

Captulo 8: Diseo del Proyecto Tabla: TEstacion Descripcin: Alamacena informacin conerniente a las estaciones. Atributo IdEstacion Estacion Sigla Sector Tipo Kmp LargoDesvio Tipo de Dato smallint nvarchar nvarchar nvarchar tinyint float smallint Tamao 2 30 6 1 1 8 2 Nulo No Si Si Si Si Si No Llave PK

Figura 8.15: Diseo de Datos. Tabla: TEstacion

Tabla: TTren_Tipos Descripcin: Almacena informacin relacionada con los tipos de trenes que existen. Atributo IdTrenTipos Descripcin Prioridad Tipo de Dato nvarchar nvarchar smallint Tamao 5 30 2 Nulo No Si No Llave PK

Figura 8.16: Diseo de Datos. Tabla: TTren_Tipos

136

Captulo 8: Diseo del Proyecto Tabla: TItinerario Descripcin: Almacena los informacin relacionada al itinerario de los trenes. Atributo IdItinerario Sector Descripcin IdEstOrigen IdEstDestino Estado Tipo de Dato int nvarchar nvarchar smallint smallint tinyint Tamao 4 1 60 2 2 1 Nulo No Si Si Si Si Si FK FK Llave PK

Figura 8.17: Diseo de Datos. Tabla: TItinerario

Tabla: TItinerario_Estacion Descripcin: Almacena informacin relacionada con el itinerario de los trenes y los tiempos que estos emplean en recorrer las estaciones correspondientes. Atributo IdItinerario IdEstacion TiempoParada TiempoRecorrido OrdenLogico ParadaObligada Tipo de Dato int smallint int int tinyint int Tamao 4 2 4 4 1 4 Nulo No No Si Si Si Si Llave PK PK FK

Figura 8.18: Diseo de Datos. Tabla: TItinerario_Estacion

137

Captulo 8: Diseo del Proyecto Tabla: TBoletin_Tren Descripcin: Almacena informacin sobre los boletines de trenes. Siempre que sale un tren se crea un boletn. Atributo IdBoletin NroTren fechaHoraSalida FechaHoraLlegada IdEstOrigen IdEstDestino IdEstTermino Sector Distancia Estado TipoBoletin Tipo de Dato bigint nvarchar dateTime dateTime smallint smallint smallint nvarchar real tinyint tinyint Tamao 8 10 8 8 2 2 2 1 4 1 1 Nulo No Si Si Si Si Si Si Si Si Si Si FK FK FK Llave PK FK

Figura 8.19: Diseo de Datos. Tabla: TBoletin_Tren

138

Captulo 8: Diseo del Proyecto Tabla: TBoletin_Recorrido Descripcin: Almacena informacin sobre los recorridos de los trenes y los tiempos que stos desarrollaron. Por cada boletn se crea uno para cada estacin del recorrido. Atributo IdBRecorrido IdBoletin IdEstacion ItinerarioLlegada ItinerarioSalida FechaHoraLlegada FechaHoraSalida Tipo de Dato bigint bigint smallint datetime datetime datetime datetime Tamao 8 8 2 8 8 8 8 Nulo No No Si Si Si Si Si Llave PK FK FK

Figura 8.20: Diseo de Datos. Tabla: TBoletin_Recorrido

139

CAPITULO 9 IMPLEMENTACION Y PRUEBAS DEL PROYECTO

a implementacin es la realizacin de la aplicacin, la realizacin de las especificaciones tcnicas o algoritmos para obtener un programa, sistema de

computacin o componente de software. Despus de implementado, se puede creer que ste funciona correctamente cuando en realidad no es as. Es por esta razn que una gran parte del desarrollo de software se enfoca a una cultura de calidad, de asegurarse de crear software que no tenga defectos, de disear los detalles importantes para evitar que hayan malas interpretaciones. Sin embargo, aunque la cultura de calidad es lo ms importante, no es suficiente y es preciso realizar pruebas que garanticen que los sistemas funcionan de la manera correcta. Lo que se quiere mostrar en este capitulo es, empezando con el resultado del diseo, la implementacin del el sistema en forma de componentes, archivos de cdigo, ejecutables, etc. Se expondr todos los aspectos relacionados con la implementacin del sistema, tales como ser: el cdigo fuente en un lenguaje de programacin y la definicin de la base de datos utilizando un Sistema de Gestin de Base de Datos (SGBD). Adems se detallarn todos los aspectos relacionados con las pruebas del sistema, las cuales son un elemento

140

Captulo 9: Implementacin y Pruebas del Proyecto crtico para garantizar la funcionalidad y calidad del mismo, adems de representar una revisin final de las especificaciones y requisitos.

9.1.- DESCRIPCION DE LAS HERRAMIENTAS DE DESARROLLO


Para la implementacin y desarrollo del sistema se utilizaron las siguientes herramientas: i. Entorno de Desarrollo: Visual Studio 2005 Es un entorno de desarrollo integrado (IDE, por sus siglas en ingls) para la plataforma .Net. Soporta varios lenguajes de programacin tales como: Visual C++, Visual C#, Visual Basic .Net; y se han desarrollado extensiones para muchos otros. .Net es una plataforma de desarrollo con nfasis en la transparencia de redes, con independencia de plataforma de hardware y que permite un desarrollo rpido de aplicaciones. ii. Lenguaje de Programacin: C# Es un lenguaje de programacin orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .Net, que despus fue aprobado como un estndar como un estndar ECMA e ISO. Se escogi este lenguaje por la amplia difusin que ha ganado en los ltimos aos y por la familiaridad que se tiene con l. iii. Sistema de Gestin de Base de Datos: SQL Server 2000 Es capaz de poner a disposicin de muchos usuarios grandes cantidades de datos de manera simultnea. Incluye adems un potente entorno grfico de administracin. Es el Sistema Gestor de Base de Datos usado por el Sistema de Operaciones de la empresa Ferroviaria Oriental. iv. Sistema Operativo: Microsoft Windows Server 2003 Es un sistema operativo de la familia Windows para servidores. En trminos generales se puede considerar como un Windows XP modificado, no con menos

141

Captulo 9: Implementacin y Pruebas del Proyecto funciones, sino que stas estn deshabilitadas por defecto para obtener un mejor rendimiento y para centrar el uso del procesador en las caractersticas de servidor.

9.2.- TRANSFORMACION DE LOS MODELOS DE DISEO EN CODIGO


Para la implementacin en un lenguaje de programacin orientado a objetos es necesaria la escritura de cdigo fuente para la Definicin de las Clases y la Definicin

9.3.- IDENTIFICACIN DE LOS COMPONENTES


Para la identificar los componentes existen dos formas: A partir de clases activas. A partir de los subsistemas identificados durante el diseo.

A continuacin, la identificacin de componentes a partir de las clases del anlisis y diseo. 9.3.1.- Componentes a partir de la clase Tren A partir de la clase activa Tren se pueden identificar componentes de estereotipo: <<File>>: Componente Tren.cs En la figura 9.1 se puede observar el diagrama de componentes correspondiente con sus respectivas especificaciones en las notas.

142

Captulo 9: Implementacin y Pruebas del Proyecto

Figura 9.1: Identificacin de componentes a partir de la clase Tren

9.3.2.- Componentes a partir de la clase TrenEnTransito A partir de la clase activa TrenEnTransito se pueden identificar componentes de estereotipo: <<File>>: Componente TrenEnTransito.cs En la figura 9.2 se puede observar el diagrama de componentes correspondiente con sus respectivas especificaciones en las notas.

143

Captulo 9: Implementacin y Pruebas del Proyecto

Figura 9.2: Identificacin de componentes a partir de la clase TrenEnTransito

A continuacin, en la Figura 9.3, la implementacin de uno de los mtodos dentro de la clase TrenEnTransito.

144

Captulo 9: Implementacin y Pruebas del Proyecto

public void AvanzarSgteEstacion() { if ( _ultEst.Equals( this.Destino )) { return; } DateTime regFHLlegada = this._fhSgteLlegada; _ultEst = _sgteEst; _sgteEst = GetSgteEstacion(); // // Tiempos de salida y sgte llegada segn itinerario // DateTime itiNewSalida = TrenEnTransito.GetItinerarioSalida( this ); DateTime itiSgteLlegada = TrenEnTransito.GetItiSgteLlegada( this ); TimeSpan diferencia = TimeSpan.Zero; if ( _ultEst.Equals( this.Destino )) // el tren lleg a destino { RegistrarRecorrido( _ultEst, regFHLlegada, regFHLlegada ); return; } diferencia = diferencia.Add( TimeSpan.FromMinutes( this.Atraso )); diferencia = diferencia.Add( this.PrimerAtraso ); _fhUltSalida = itiNewSalida.Add( diferencia ); _fhSgteLlegada = itiSgteLlegada.Add( diferencia ); _itinerarioSalida = itiNewSalida; _fechaHora = _fhUltSalida; _kmEstimado = _ultEst.Kmp; // // Dejar o recoger vagones y locomotoras que tengan que // quedarse o subir en la estacion por la que pasa el tren // DejarVagones( _ultEst ); DejarLocomotoras( _ultEst ); RecogerVagones( _ultEst ); RecogerLocomotoras( _ultEst ); // // Registrar recorrido // RegistrarRecorrido( _ultEst, regFHLlegada, _fhUltSalida ); }

Figura 9.3: Segmento de cdigo dentro de TrenEnTransito, mtodo AvanzarSgteEstacion

145

Captulo 9: Implementacin y Pruebas del Proyecto 9.3.3.- Componentes a partir de la clase Recorrido A partir de la clase activa Recorrido se pueden identificar componentes de estereotipo: <<File>>: Componente Recorrido.cs En la figura 9.4 se puede observar el diagrama de componentes correspondiente con sus respectivas especificaciones en las notas.

Figura 9.4: Identificacin de componentes a partir de la clase Recorrido

9.3.4.- Componentes a partir de la clase Estacion A partir de la clase activa Estacion se pueden identificar componentes de estereotipo: <<File>>: Componente Estacion.cs En la figura 9.5 se puede observar el diagrama de componentes correspondiente con sus respectivas especificaciones en las notas.

146

Captulo 9: Implementacin y Pruebas del Proyecto

Figura 9.5: Identificacin de componentes a partir de la clase Estacion.

9.3.5.- Componentes a partir de la clase EstadoTransito A partir de la clase activa EstadoTransito se pueden identificar componentes de estereotipo: <<File>>: Componente EstadoTransito.cs En la figura 9.6 se puede observar el diagrama de componentes correspondiente con sus respectivas especificaciones en las notas.

147

Captulo 9: Implementacin y Pruebas del Proyecto

Figura 9.6: Identificacin de componentes a partir de la clase EstadoTransito.

A continuacin, segmentos de cdigo dentro del componente EstadoTransito.cs. Los mtodos: GetSgteCruzamiento y AvanzarHastaCruzar.

148

Captulo 9: Implementacin y Pruebas del Proyecto


private Cruzamiento GetSgteCruzamiento() { ArrayList cruzamientos = new ArrayList(); Cruzamiento result = null; DateTime fhPrimerCruz = DateTime.MaxValue; foreach ( TrenEnTransito trenA in TrenesEnTransito ) { foreach ( TrenEnTransito trenB in TrenesEnTransito ) { if ( trenA != trenB && trenA.Direccion != trenB.Direccion && !ResueltoAntes( trenA, trenB, cruzamientos )) { TrenEnTransito tren1, tren2; tren1 = trenA; tren2 = trenB; if ( tren1.KmActualEstimado > tren2.KmActualEstimado ) { continue; } if ( tren1.UltimaEstacion.Kmp > tren2.UltimaEstacion.Kmp || tren1.Destino.Kmp < tren2.Destino.Kmp ) continue; if ( tren1.UltimaEstacion.Equals( tren1.Destino ) || tren2.UltimaEstacion.Equals( tren2.Destino )) { continue; } if ( YaResuelto( trenA, trenB )) continue; double x, y; TrenEnTransito tren1c = tren1.Clone( this ); TrenEnTransito tren2c = tren2.Clone( this ); if ( !HacerAvanzarHastaCruzar( tren1c, tren2c, out x, out y, fhPrimerCruz )) { continue; } if ( tren1.Destino.Kmp >= x && tren2.Destino.Kmp <= x ) { DateTime fhEncuentro = ( tren1c.FechaHora > tren2c.FechaHora ? tren1c.FechaHora.AddHours( y ) : tren2c.FechaHora.AddHours( y )); if ( fhEncuentro < fhPrimerCruz ) { fhPrimerCruz = fhEncuentro; } Cruzamiento c = new Cruzamiento( _sector, tren1, tren2, x, y, fhEncuentro, this ); c.CalcularEstacionesCruzam(); cruzamientos.Add( c ); } } } }

149

Captulo 9: Implementacin y Pruebas del Proyecto

// // result debe quedar con el cruzamiento que se va a // producir primero // if ( cruzamientos.Count > 0 ) { Cruzamiento sgteC = (Cruzamiento)cruzamientos[ 0 ]; foreach ( Cruzamiento c in cruzamientos ) { if ( c.FHEncuentro < sgteC.FHEncuentro ) sgteC = c; } result = sgteC; } return result; }

Figura 9.7: Segmento de cdigo dentro de EstadoTransito, mtodo GetSgteCruzamiento, en donde se obtiene el siguiente cruzamiento a producirse.

150

Captulo 9: Implementacin y Pruebas del Proyecto


private bool HacerAvanzarHastaCruzar( TrenEnTransito tren1, TrenEnTransito tren2, out double x, out double y, DateTime fhPrimerCruz ) { x = 0; y = 0; // Igualar tiempos. Con precision de estaciones // if ( tren1.FechaHora > tren2.FechaHora ) { while ( tren1.FechaHora > tren2.FechaHora ) { if ( tren2.SiguienteEstacion != null && (tren2.SiguienteEstacion.Equals( tren1.SiguienteEstacion ) || tren2.SiguienteEstacion.Equals( tren1.UltimaEstacion ) || tren2.UltimaEstacion.Equals(tren1.UltimaEstacion) )) { break; } tren2.AvanzarSgteEstacion(); if (tren2.LlegoDestino()) return false; } } else { while ( tren1.FechaHora < tren2.FechaHora ) { if ( tren1.SiguienteEstacion != null && (tren1.SiguienteEstacion.Equals( tren2.SiguienteEstacion ) || tren1.SiguienteEstacion.Equals( tren2.UltimaEstacion ) || tren1.UltimaEstacion.Equals(tren2.UltimaEstacion)) ) { break; } tren1.AvanzarSgteEstacion(); if ( tren1.LlegoDestino() ) return false; } } // Una vez los dos trenes estan con la misma hora // hacerlos avanzar hasta que crucen // DateTime fhTransito = this.FechaHora; DateTime fhTren1SgteLleg = tren1.FechaHSgteLlegada; DateTime fhTren2SgteLleg = tren2.FechaHSgteLlegada; while ( tren1.SiguienteEstacion.Kmp < tren2.UltimaEstacion.Kmp && tren2.SiguienteEstacion.Kmp > tren1.UltimaEstacion.Kmp ) { if ( fhTransito >= fhTren1SgteLleg ) { tren1.AvanzarSgteEstacion2(); if ( tren1.UltimaEstacion.Equals( tren1.Destino )) { return false; } fhTren1SgteLleg = tren1.FechaHora.Add( tren1.TiempoPrevSgteEst ); }

151

Captulo 9: Implementacin y Pruebas del Proyecto

if ( fhTransito >= fhTren2SgteLleg ) { tren2.AvanzarSgteEstacion2(); if ( tren2.UltimaEstacion.Equals( tren2.Destino )) { // // uno de los trenes llega antes a su destino return false; } fhTren2SgteLleg = tren2.FechaHora.Add( tren2.TiempoPrevSgteEst ); } fhTransito = ( fhTren1SgteLleg > fhTren2SgteLleg ? fhTren2SgteLleg : fhTren1SgteLleg ); // // Poda if ( tren1.FechaHora > fhPrimerCruz && tren2.FechaHora > fhPrimerCruz ) { return false; } } // Hasta aqui los trenes estan en dos estaciones seguidas // if (tren1.FechaHSgteLlegada < tren2.FechaHUltSalida && tren1.FechaHSgteLlegada > tren2.FHUltimaLlegada) { DateTime fh1 = (tren1.FechaHora > tren2.FechaHora ? tren1.FechaHora : tren2.FechaHora); x = tren2.UltimaEstacion.Kmp; y = ((TimeSpan)tren1.FechaHSgteLlegada.Subtract(fh1)) .TotalHours; return true; } else if (tren2.FechaHSgteLlegada < tren1.FechaHUltSalida && tren2.FechaHSgteLlegada > tren1.FHUltimaLlegada) { DateTime fh1 = (tren1.FechaHora > tren2.FechaHora ? tren1.FechaHora : tren2.FechaHora); x = tren1.UltimaEstacion.Kmp; y = ((TimeSpan)tren2.FechaHSgteLlegada.Subtract(fh1)) .TotalHours; return true; } Estacion est1, est2; if ( tren1.UltimaEstacion.Kmp < tren2.UltimaEstacion.Kmp ) { est1 = tren1.UltimaEstacion; est2 = tren2.UltimaEstacion; } else { est1 = tren2.UltimaEstacion; est2 = tren1.UltimaEstacion; } double v1 = tren1.GetVelocidad( est1, est2 ); double v2 = tren2.GetVelocidad( est2, est1 ); double km1 = tren1.UltimaEstacion.Kmp; double km2 = tren2.UltimaEstacion.Kmp; double km1Ini = km1, km2Ini = km2;

152

Captulo 9: Implementacin y Pruebas del Proyecto

// Igualar la posicion de los trenes con respecto al tiempo // double recPrev; TimeSpan dif; if ( tren1.FechaHora > tren2.FechaHora ) // igualar tren2 { dif = tren1.FechaHora.Subtract( tren2.FechaHora ); recPrev = v2 * dif.TotalHours; km2 = km2 - recPrev; } else // igualar tren1 { dif = tren2.FechaHora.Subtract( tren1.FechaHora ); recPrev = v1 * dif.TotalHours; km1 = km1 + recPrev; } // calcular punto y momento del encuentro // x = ( v1 * km2 + v2 * km1 ) / ( v1 + v2 ); y = ( x - km1 ) / v1; return true; }

Figura 9.8: Segmento de cdigo dentro de EstadoTransito, mtodo AvanzarHastaCruzar, en donde se calcula el momento y punto de encuentro entre dos trenes que van a cruzar

153

Captulo 9: Implementacin y Pruebas del Proyecto 9.3.6.- Componentes a partir de la clase Motor A partir de la clase activa Motor se pueden identificar componentes de estereotipo: <<File>>: Componente Motor.cs En la figura 9.9 se puede observar el diagrama de componentes correspondiente con sus respectivas especificaciones en las notas.

Figura 9.9: Identificacin de componentes a partir de la clase Motor

A continuacin, en la Figura 9.10, la implementacin del mtodo GetSolution dentro de la clase Motor.

154

Captulo 9: Implementacin y Pruebas del Proyecto

private EstadoTransito GetSolution(EstadoTransito t, EstadoTransito mejorT, int limH, ref bool end ) { EstadoTransito result = null; end = false; if (t == null) { return mejorT; } if (limH > 0 && t.Nivel > limH ) { return t; } Cruzamiento cruzam = t.NextCruzamiento(); Paso paso = t.GetSgteAlcance(); ArrayList soluciones; if (cruzam == null && paso == null) { end = true; return t; } soluciones = new ArrayList(); soluciones.AddRange(cruzam.GetSoluciones(_sim.SolucionesP)); soluciones.AddRange(paso.GetSoluciones(_sim.SolucionesP)); // // Ordenar segn Hora de ejecucin de la Solucin // soluciones.Sort(); DejarSolucionesCoherentes(soluciones); foreach (Solucion s in soluciones) { if (s.Estacion == null) { break; } EstadoTransito newT = t.Clone(); EstadoTransito candidate = null; newT.AgregarSolucion(s); if (mejorT != null && newT.H >= mejorT.H) // poda { continue; } candidate = GetSolution(newT, mejorT, limH, ref end); if (mejorT == null || candidate.H < mejorT.H) { mejorT = candidate; } } return mejorT; }

Figura 9.10: Mtodo GetSolution dentro del componente Motor.cs

155

Captulo 9: Implementacin y Pruebas del Proyecto

9.3.7.- Componentes a partir de la clase Cruzamiento A partir de la clase activa Cruzamiento se pueden identificar componentes de estereotipo: <<File>>: Componente Cruzamiento.cs En la figura 9.11 se puede observar el diagrama de componentes correspondiente con sus respectivas especificaciones en las notas.

Figura 9.11: Identificacin de componentes a partir de la clase Cruzamiento

9.3.8.- Componentes a partir de la clase Paso A partir de la clase activa Paso se pueden identificar componentes de estereotipo: <<File>>: Componente Paso.cs En la figura 9.12 se puede observar el diagrama de componentes correspondiente con sus respectivas especificaciones en las notas.

156

Captulo 9: Implementacin y Pruebas del Proyecto

Figura 9.12: Identificacin de componentes a partir de la clase Paso

9.3.9.- Componentes a partir de la clase Solucion A partir de la clase activa Solucion se pueden identificar componentes de estereotipo: <<File>>: Componente Solucion.cs En la figura 9.13 se puede observar el diagrama de componentes correspondiente con sus respectivas especificaciones en las notas.

Figura 9.13: Identificacin de componentes a partir de la clase Solucion 157

Captulo 9: Implementacin y Pruebas del Proyecto 9.3.10.- Componentes a partir de la clase Server A partir de la clase activa Server se pueden identificar componentes de estereotipo: <<File>>: Componente Server.cs En la figura 9.14 se puede observar el diagrama de componentes correspondiente con sus respectivas especificaciones en las notas.

Figura 9.14: Identificacin de componentes a partir de la clase Server

9.3.11.- Componentes a partir de la clase Simulacion A partir de la clase activa Simulacion se pueden identificar componentes de estereotipo: <<File>>: Componente Simulacion.cs En la figura 9.15 se puede observar el diagrama de componentes correspondiente con sus respectivas especificaciones en las notas.

158

Captulo 9: Implementacin y Pruebas del Proyecto

Figura 9.15: Identificacin de componentes a partir de la clase Simulacion

9.3.12.- Componentes a partir de la clase Graficador A partir de la clase activa Graficador se pueden identificar componentes de estereotipo: <<File>>: Componente Graficador.cs En la figura 9.16 se puede observar el diagrama de componentes correspondiente con sus respectivas especificaciones en las notas.

159

Captulo 9: Implementacin y Pruebas del Proyecto

Figura 9.16: Identificacin de componentes a partir de la clase Graficador

9.3.13.- Componentes a partir de la clase Service A partir de la clase activa Service se pueden identificar componentes de estereotipo: <<File>>: Componente Service.cs En la figura 9.17 se puede observar el diagrama de componentes correspondiente con sus respectivas especificaciones en las notas.

160

Captulo 9: Implementacin y Pruebas del Proyecto

Figura 9.17: Identificacin de componentes a partir de la clase Service

9.4.- IDENTIFICACIN DE SUBSISTEMAS DE IMPLEMENTACION


Los paquetes detallados en la etapa de anlisis son utilizados para identificar los subsistemas dentro del modelo de implementacin. Cabe recordar que cada uno de los subsistemas de implementacin est compuesto por los componentes que fueron descritos anteriormente. A continuacin, los distintos subsistemas identificados.

9.4.1.- Subsistema Trenes A partir del paquete Trenes se puede identificar el subsistema del mismo nombre, el cual est conformado por los siguientes componentes: Tren.cs, TrenEnTransito.cs, EstadoTransito, Estacion.cs, Vagon.cs, Recorrido.cs y Locomotora.cs.

Figura 9.18: Identificacin del subsistema Trenes

161

Captulo 9: Implementacin y Pruebas del Proyecto 9.4.2.- Subsistema Heurstica A partir del paquete Heuristica se puede identificar el subsistema del mismo nombre, el cual est conformado por los siguientes componentes: Motor.cs, Solucion.cs, Paso.cs y Cruzamientos.cs.

Figura 9.19: Identificacin del subsistema Heuristica 9.4.3.- Subsistema Remoting A partir del paquete Remoting se puede identificar el subsistema del mismo nombre, el cual est conformado por los siguientes componentes: Server.cs y Simulacion.cs.

Figura 9.20: Identificacin del subsistema Remoting

9.4.4.- Subsistema ClienteT A partir del paquete ClienteT se puede identificar el subsistema del mismo nombre, el cual est conformado por el componente Graficador.cs ademas de los componentes de formularios FrmMain.cs, FrmNewSimSimpl.cs, FrmEscogerTrenes.cs.

Figura 9.21: Identificacin del subsistema ClienteT 162

Captulo 9: Implementacin y Pruebas del Proyecto 9.4.5.- Subsistema TrafService A partir del paquete TrafService se puede identificar el subsistema del mismo nombre, el cual est conformado por los siguientes componentes: Server.cs y Simulacion.cs.

Figura 9.22: Identificacin del subsistema TrafService

9.5.- PLANIFICACION DE LAS PRUEBAS


Para el presente proyecto se han realizado tres tipos de pruebas de unidad, de Integracin y de Sistemas. Las pruebas de unidad consisten en probar los componentes implementados como unidades individuales; en las pruebas de integracin se verificaron que los componentes interaccionen entre si de manera adecuada y consistente, por ultimo en las pruebas de sistema se verifico que el sistema trabaje correctamente como un todo.

9.6.- PRUEBAS DE UNIDAD


En las pruebas de unidad se revisa que una unidad de cdigo fuente funcione correctamente. Si no se dispone de los recursos para hacer una prueba de unidad completa se deben seleccionar los mdulos crticos y los que tengan una elevada complejidad en ciclos y slo esos deben probarse. Se construyeron casos diferentes para los mtodos ms importantes y se sometieron a pruebas para comprobar su correcto funcionamiento.

163

Captulo 9: Implementacin y Pruebas del Proyecto

9.7.- PRUEBAS DE INTEGRACION


Las pruebas de integracin se refieren a las pruebas de todos los elementos unitarios que componen un proceso. El objetivo es verificar que un gran conjunto de partes de software funcionan juntos. Se utilizaron los casos de uso como referencia para las pruebas de integracin, ya que las realizaciones de los casos de uso describen la interaccin y relacin de los diferentes componentes individuales (mtodos) probados en las pruebas de unidad.

9.8.- PRUEBAS DE SISTEMA


Las pruebas de sistema se usan para probar que el sistema funciona correctamente como un todo. Cada prueba de sistema prueba principalmente combinaciones de casos de uso instanciados bajo condiciones diferentes. Estas condiciones incluyen diferentes configuraciones de hardware (procesadores, memoria principal, discos duros), diferentes niveles de carga, diferente numero de actores, etc. Se someti el sistema a pruebas con diferentes equipos y sistemas operativos, siendo el nico requisito el Framework de .Net para la plataforma donde se quiera tener ejecutndose el sistema.

164

CONCLUSIONES

Se puede concluir que la aplicacin ha sido desarrollada segn los requerimientos establecidos y cubriendo las expectativas que se tenan del mismo. El sistema grafica el recorrido de trenes en trnsito y permite realizar simulaciones del recorrido de stos, resolviendo los cruzamientos y pasos de tren, minimizando los tiempos de permanencia de los trenes en las estaciones tomando en cuenta las restricciones de las mismas y las diferentes preferencias entre trenes. El sistema permite tambin simular las salidas de trenes en diferentes horarios con el objetivo de hallar un horario ptimo de salida para los mismos. Adems se pueden realizar las programaciones de surcos, que consisten en simulaciones desde cero en donde el operador aade a gusto trenes en diferentes das y horarios. Tambin se han identificado varias funcionalidades que podran aadirse, como ser la posibilidad de graficar un determinado periodo de trfico pasado. Debido a que la Superintendencia de Transporte podra pedir esta informacin. Actualmente se guardan las tablas de circulacin de trenes realizadas manualmente por los controladores, pero el sistema podra tener a disposicin esta informacin de una manera ms rpida y en un formato que resulte ms cmodo mediante su exportacin a archivos de imgenes.

165

FUENTES DE INFORMACION

BIBLIOGRAFIA
[CARTAINF, 2006] Ferroviaria Oriental S.A. Carta Informativa Semestral de la Empresa Ao 2, No. 2, Febrero 2006 [SOBRERIELES, 2006] Ferroviaria Oriental S.A. Revista Sobre Rieles Febrero, 2006 [TESIS1, 2004] Universidad Autnoma Gabriel Ren Moreno Sistema de Monitoreo de trenes mediante GPS y SIG, Ing. Yamil Romero. [METOD, 2003] Mc Graw Hill Metodologa de la Investigacin Roberto Hernndez Sampieri, Carlos Fernndez Collado, Pilar Baptista Lucio

166

Fuentes de Informacin

[IARTIFICIAL, 1996]

Prentice Hall Inteligencia Artificial: Un Enfoque Moderno Stuart Russell, Peter Norvig Len Clavijo Guido

[HEURISTIC, 2004]

Springer How to Solve It: Modern Heuristics Zbigniew Michalewicz, David B. Fogel 2004

[PRESSMAN, 1997]

Mc Graw Hill Ingeniera del Software: Un enfoque prctico Presuman, Roger S. Madrid, 1997

[RUP01, 2003]

Addison Wesley The Rational Unified Process Made Easy - A Practitioner's Guide to the RUP Per Kroll, Philippe Kruchten 2003

[RUP02, 2000]

Addison Wesley

167

Fuentes de Informacin The Rational Unified Process: An Introduction Philippe Kruchten 2000 [VIASFERREAS, 2001] Universidad Mayor de San Simn Vas Frreas Primera Edicin 2001 Len Clavijo Guido

SITIOS WEB
[INTRANET] Ferroviaria Oriental S.A. Intranet de la empresa [GYW] Genesee & Wyoming Inc. http://www.gwrr.com [WIKIPEDIA] Wikipedia www.wikipedia.com Enciclopedia colaborativa de carcter libre. [TODOTRENES] Web Todo Trenes http://www.todotrenes.com Web dedicada a los ferrocarriles

168

Fuentes de Informacin

ENTREVISTAS
Entrevistas a personal de la empresa: Ing. Juan Carlos Revollo, Gerente de Operaciones Armando Quiroga, Jefe de Trfico Julio Cesar Tardo, Jefe del Puesto de Control de Trenes Ing. Enrique Alarcn, Sub-Gerente de Operaciones Elvis Velasco, anterior Jefe del Puesto de Control de Trenes Ing. Yamil Romero, Jefe del rea de Telecomunicaciones Ing. Dante Montero, Jefe del rea de Desarrollo y Tecnologa Wilson Barba Escalante, Controlador de Trfico Rosendo Rivero Justiniano, Controlador de Trfico Carlos Flores Do Santos, Controlador de Trfico Wilson Ivanov Sulzer, Controlador de Trfico Daniel Aez Salazar, Controlador de Trfico Ivo Velasco Suarez, Controlador de Trfico Fernando Argota Moreno, Controlador de Trfico Denner Torrez Barrerro, Controlador de Trfico

169

ANEXO A PANTALLAS DEL SISTEMA

i.

Pantalla con Simulacin Realizada sobre el Trfico Actual de Trenes

170

Anexo A: Pantallas del Sistema

ii.

Pantalla Para Aadir/Editar Trenes de una Simulacin

171

Anexo A: Pantallas del Sistema iii. Pantalla con Informacin de Cruzamientos y Pasos de Trenes de una Simulacin

172

Anexo A: Pantallas del Sistema

iv.

Pantalla con Ampliacin Realizada al Grfico de una Simulacin

173

Fuentes de Informacin

174

Das könnte Ihnen auch gefallen