PDF de programación - Simulador C# de una maqueta de trenes

Imágen de pdf Simulador C# de una maqueta de trenes

Simulador C# de una maqueta de trenesgráfica de visualizaciones

Publicado el 5 de Mayo del 2019
1.163 visualizaciones desde el 5 de Mayo del 2019
2,8 MB
126 paginas
Creado hace 16a (19/10/2007)
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DE TELECOMUNICACIÓN

UNIVERSIDAD POLITÉCNICA DE CARTAGENA



Proyecto Fin de Carrera

Simulador C# de una maqueta de trenes.



AUTOR: Aurelio Javier García García
DIRECTOR: Juan Ángel Pastor Franco
10 / 2007





Aurelio Javier García García
[email protected]
Juan Ángel Pastor Franco
[email protected]
Simulador C# de una maqueta de trenes
Ingeniería del software, control de maqueta ferroviaria, patrones de diseño



Autor
E-mail del Autor
Director
E-mail del Director
Título del PFC
Descriptores
Resumen

Este Proyecto Fin de Carrera trata de diseñar e implementar una aplicación para la simulación y
comunicación con una maqueta de trenes. Para alcanzar este fin, se realiza:



Titulación
Departamento
Fecha de Presentación



Ingeniero Técnico de Telecomunicación, Especialidad Telemática
Tecnologías de la Información y las Comunicaciones
10- 2007


1. El modelado de los componentes de una maqueta ferroviaria.

2. Desarrollo de la aplicación para simular y controlar la maqueta de trenes desde una estación de
trabajo en el laboratorio DSIE de la UPCT, conectada a la misma mediante un interfaz de puerto
serie.

3. Establecer una separación coherente de las áreas de la aplicación, proporcionando bajo
acoplamiento.

4. Desde un enfoque metodológico, identificar y utilizar patrones de diseño para resolver los puntos
anteriores, en concreto, el patrón MVC (Modelo-Vista-Controlador)



2





Índice general

1.
1.1.
1.2.
1.3.
1.4.
1.5.
1.6.
1.7.

2.
2.1.
2.2.
2.3.

3.
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.

4.
4.1.
4.2.


5.
5.1.

5.1.1.
5.1.2.
5.2.

5.2.1.
5.2.2.
5.2.2.1.
5.2.2.2.
5.2.2.3.
5.2.2.4.
5.2.2.5.
5.2.3.
5.2.3.1.

6.
6.1.



3

Introducción……………………………………………………….……...5
Contexto y motivación………………………………………………….…5
Objetivos……………………………………………………..……………..6
Entorno de desarrollo. Microsoft Visual Studio .NET 2003……….…..6
Lenguaje de programación. C#...........................................................8
Infraestructura del laboratorio……………………………………...…...10
Metodología de trabajo. Fases del proyecto…………………………..13
Contenido y estructura de la memoria…………………………………14

Java y C#..........................................................................................15
Introducción……………………………………………………………….15
Ejecución del programa de la práctica……………………….………..16
Traducción del código Java a C#.....................................................18

Diseño general………………………………………………………..…30
Introducción……………………………………………………………….30
Uso de middleware………………………………………………………30
Uso del patrón MVC……………………………………………………..32
Tipos de datos del modelo………………………………………….…..33
Implementación de la vía férrea y los trenes………………………….34
Interfaces………………………………………………………………….34

Traducción del código……………………………………………...….39
Traducción automática………………………………………………......39
Adaptación manual del código……………………………………...…..44

Código resultante……………………………………………………….49
Paquetes y librerías…………………………………………………..….49
Introducción……………………………………………………………….49
Diferentes paquetes desarrollados………………………………..……49
Descripción de la aplicación…………………………………………….52
Introducción…………………………………………………………..…..52
Visión estática del código……………………………………………….52
Bloque constructivos fundamentales. Los nodos……………………..52
El tren………………………………………………………………...……55
Los controladores………………………………………………………...60
Las vistas………………………………………………………………….63
Las clases de Inicio……………………………………………………...68
Visión dinámica del código…………………………………………..….69
Modo Simulador………………………………………………………….69

Código resultante con distribución…………………………………71
Introducción…………………………………………………………….…71





Bibliografía y referencias…………………………………………...…91

Aplicación distribuida………………………………………………….…71
Aplicación distribuida siguiendo el patrón MVC………………………77

Conclusiones……………………………………………………………90
Objetivos de partida……………………………………………………...90
Resultados obtenidos…………………………………………………....90

Manual de usuario……………………………………………………...81
Introducción……………………………………………………………….81
Ejecutable del proyecto………………………………………………….81
Ejecutables del proyecto distribuido……………………………………85

6.2.
6.3.

7.
7.1.
7.2.
7.3.

8.
8.1.
8.2.

9.

Anexo A. Enunciado de la práctica de Complementos de Informática...…92

A.1.
Objetivos y enunciado de la práctica………………………………..…92
Interfaces proporcionadas……………………………………………....93
A.2.

Interfaces ComponenteActivo y ObservadorComponenteActivo…...93
A.2.1.
A.2.2.
Interfaces BufferEntero, BufferObservable y ObservadorBuffer……93
La clase ComponenteActivoAbstracto………………………………....94

A.3.
A.4.

Vistas y controladores proporcionados…………………………….….94

Anexo B. Patrones de diseño…………………………………………………..…97
Introducción……………………………………………………………….97

B.1.
Patrones de diseño utilizados…………………………………………..97
B.2.

B.2.1.
MVC (Modelo-Vista-Controlador)……………………………………....98
Observador…………………………………………………………..….100
B.2.2.
B.2.3.
Estrategia………………………………………………………………..102

Anexo C. Distribución…………………………………………………………….104
Comunicación entre procesos………………………………………...104

C.1.
.NET Remoting………………………………………………………….106
C.2.

Inicios…………………………………………………………………….106
C.2.1.
C.2.2.
Dominios de aplicación………………………………………………...108
Contextos………………………………………………………………..109
C.2.2.1.
Arquitectura de .NET Remoting…………………………………….…110
C.2.3.
C.2.3.1.
Canales………………………………………………………………..…110
Formateadores………………………………………………………….111
C.2.3.2.
Marshalling………………………………………………………………112
C.2.3.3.
Proxy……………………………………………………………………..113
C.2.3.4.
C.2.3.5.
Dispatcher……………………………………………………………….113
Uso de .NET Remoting………………………………………………...113
C.2.4.
Usos de dominio de aplicación dentro de un proceso……………...114
C.2.4.1.
Acceso a objetos remotos con .NET Remoting……………………..116
C.2.4.2.
C.2.4.3.
Control desde el cliente………………………………………………..119
Ficheros de configuración……………………………………………..122
C.2.4.4.



4

Capítulo 1.
Introducción.



1.1. Contexto y motivación.

Este Proyecto Final de Carrera surge de la necesidad de diseñar e implementar una
aplicación en C# para la simulación y comunicación con una maqueta de trenes. Posibilita a
futuros proyectantes el desarrollo de nuevas aplicaciones y ampliaciones relacionadas con
dicha maqueta de trenes, sin la necesidad de partir de cero. De esta manera, Se ha
desarrollado un sistema que se encarga de la gestión de la maqueta de trenes (movimiento
de los trenes, cambio del estado de las bifurcaciones, estado de los sensores…) y lo que es
más importante una API a partir de la cual pueden “construirse” otras maquetas.

A la hora de realizar el diseño, se ha optado por la utilización del Patrón Modelo-Vista-
Controlador permitiendo separar la interfaz de usuario de la aplicación de su lógica interna,
consiguiendo que ambos evolucionen por separado. De esta manera se facilita la sustitución
ciertas partes de la aplicación por otras sin afectar a las demás, ya que el simulador está
dividido en tres áreas acopladas lo menos posible. Es de destacar, además, que la interfaz
gráfica del usuario se ha hecho tan intuitiva y sencilla de manejar como ha sido posible.

La aplicación permite su uso en dos modos, llamados Simulador y Maqueta. El modo
Simulador consiste en disponer de los modelos, las vistas y controladores en el mismo
programa, y simular la maqueta del laboratorio, implementada a escala. El modo Maqueta,
permite, partiendo de una interfaz desarrollada en anteriores proyectos, el funcionamiento
de la maqueta real. Gracias al uso del patrón MVC, la única parte de la implementación que
hay que cambiar es la correspondiente al modelo.

Como ampliación de este Proyecto durante el transcurso del mismo, se ha propuesto
además realizar una distribución de la aplicación (modo Remoto) mediante la API de C#,
.Net Remoting (Invocación Remota de Objetos en la plataforma .Net), estableciendo las
vistas y los controladores en una máquina diferente a donde se encuentran la funcionalidad
básica de la aplicación. Al hacer esto, han surgido problemas, que se explican en el capítulo
6, por lo que se ha dejado para el desarrollo de futuros proyectantes.



5

1.2. Objetivos.

Los objetivos que aborda este Proyecto Final de Carrera son:

1. Introducir la tecnología .Net y el lenguaje C# en el control de la maqueta de trenes.
2. Proporcionar ejemplos didácticos para la docencia.
3. Traducir a C# la aplicación Java de control de la maqueta de trenes.
4. Distribuir dichas aplicaciones mediante .Net Framework Remoting.



1.3. Entorno de desarrollo. Microsoft Visual Studio .NET 2003.


• Microsoft Visual Studio (1997).

Microsoft Visual Studio es un entorno integrado de desarrollo (llamado en inglés por
siglas: IDE) para sistemas Windows. Soporta varios lenguajes de programación tales como:
Visual C++, Visual C#, Visual J#, ASP.NET y Visual Basic .NET, aunque actualmente se
han desarrollado las extensiones necesarias para muchos otros.

Visual Studio permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web, así
como servicios web en cualquier entorno que soporte la plataforma .NET (a partir de la
versión 6). Así se pueden crear aplicaciones que se intercomuniquen entre estaciones de
trabajo, páginas web y dispositivos móviles.



• Microsoft Visual Studio .NET (2002).

Esta versión es la introducción de la plataforma .NET de Microsoft. .NET es una
plataforma de ejecución intermedia multi
  • Links de descarga
http://lwp-l.com/pdf15855

Comentarios de: Simulador C# de una maqueta de trenes (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad