Beruflich Dokumente
Kultur Dokumente
HERNAN TORREZ V.
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
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
1.1.- ANTECEDENTES
A continuacin, diversos hitos histricos que dieron inicio al ferrocarril.
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]
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]
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]
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]
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.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
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]
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
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.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.
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
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]
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]
29
Captulo 1: Antecedentes
30
Captulo 1: Antecedentes
Figura 1.10: Mapa Ferroviario elaborado por la empresa Ferroviaria Oriental. Fuente: [SOBRERIELES, 2006]
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
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
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
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
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.
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.
40
41
PARTE II
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.
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.
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
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]
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
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.
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
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
60
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
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
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
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.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
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
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.
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
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
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.
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,
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.
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.
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.
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.
92
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
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
Cdigo:
CU-1
Nombre:
RealizarProyeccin
Propsito
Actores
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.
96
Cdigo:
CU-2
Nombre:
Propsito
Establecer el horario de salida para un tren de carga, previendo otras llegadas y salidas de trenes de la estacin
Actores
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.
97
Cdigo:
CU-3
Nombre:
Actores
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.
98
Captulo 6: Modelo del Negocio y Captura de Requisitos Consultar Hora de Llegada de trenes a estaciones
Cdigo:
Nombre: CU-4
Propsito
Informar a las Estaciones, cuando stas lo requieran, de la hora estimada de llegada de los trenes
Actores
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.
99
Cdigo:
CU-5
Nombre:
Graficar Recorrido
Propsito
Graficar el recorrido de los trenes a medida que estos avanzan por las estaciones
Actores
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.
100
Captulo 6: Modelo del Negocio y Captura de Requisitos 6.2.5.- Diagrama General de Casos de Uso
101
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
102
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.
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).
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.
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.
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.
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.
109
Nombre:
FrmMain
Tipo:
Formulario
Atributos:
Operaciones:
110
Nombre:
FrmElegirTren
Tipo:
Formulario
Responsabilidad: Este formulario se utiliza como dilogo para seleccionar uno de los trenes en trnsito
Atributos:
_result, _trenes
Operaciones:
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:
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:
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
Atributos:
_simulaciones, _nClientes
Operaciones:
Nombre:
Simulacin
Atributos:
_motor
Operaciones:
BuscarHorario, Solve
113
Nombre:
Motor
Responsabilidad: Contiene los algoritmos de bsqueda utilizados para resolver las simulaciones.
Atributos:
_simulacion
Operaciones:
Nombre:
EstadoTransito
Responsabilidad: Maneja toda la informacin relacionada con el trnsito de trenes en un momento dado.
Atributos:
Operaciones:
Nombre:
TrenEnTransito
114
Atributos:
Operaciones:
GetRecorridoItinerario
Nombre:
Cruzamiento
Atributos:
Operaciones:
GetSoluciones
Nombre:
Paso
Atributos:
Operaciones:
GetSoluciones
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:
Operaciones:
GetRecorridos
116
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.
118
120
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.
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.
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.
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).
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.
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.
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.
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.
129
130
Captulo 8: Diseo del Proyecto En la Figura 8.9 se muestra el diagrama de clases del paquete Heurstica.
131
Captulo 8: Diseo del Proyecto En la Figura 8.10 se muestra el diagrama de clases del paquete Remoting.
132
Captulo 8: Diseo del Proyecto En la Figura 8.11 se muestra el diagrama de clases del 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.
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
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
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
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
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
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
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
139
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.
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.
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
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
A continuacin, en la Figura 9.3, la implementacin de uno de los mtodos dentro de la clase TrenEnTransito.
144
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 ); }
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.
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
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
A continuacin, segmentos de cdigo dentro del componente EstadoTransito.cs. Los mtodos: GetSgteCruzamiento y AvanzarHastaCruzar.
148
149
// // 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
151
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
// 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.
A continuacin, en la Figura 9.10, la implementacin del mtodo GetSolution dentro de la clase Motor.
154
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; }
155
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.
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
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.
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.
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
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
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
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.
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.
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.
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.
163
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
i.
170
ii.
171
Anexo A: Pantallas del Sistema iii. Pantalla con Informacin de Cruzamientos y Pasos de Trenes de una Simulacin
172
iv.
173
Fuentes de Informacin
174