25.10.2014 Views

Tesis Simulador Circuitos 3D.pdf - Maestría en Ciencias de la ...

Tesis Simulador Circuitos 3D.pdf - Maestría en Ciencias de la ...

Tesis Simulador Circuitos 3D.pdf - Maestría en Ciencias de la ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

III. ESTRUCTURA DEL PROYECTO.<br />

Las tres funciones básica que ti<strong>en</strong>e el proyecto son:<br />

1. Permitir dibujar un circuito eléctrico o electrónico <strong>en</strong> un “editor” <strong>de</strong><br />

circuitos.<br />

2. Simu<strong>la</strong>r el circuito <strong>en</strong> corri<strong>en</strong>te directa (CD) y <strong>en</strong> corri<strong>en</strong>te alterna (CA).<br />

3. Mostrar los resultados <strong>de</strong> <strong>la</strong> simu<strong>la</strong>ción <strong>en</strong> difer<strong>en</strong>tes formatos <strong>de</strong><br />

gráficas: gráfica <strong>de</strong> barras, gráfica <strong>de</strong> línea continua y gráfica dinámica<br />

<strong>en</strong> <strong>3D</strong>.<br />

Para <strong>la</strong> e<strong>la</strong>boración <strong>de</strong>l proyecto se eligió un l<strong>en</strong>guaje <strong>de</strong> programación<br />

ori<strong>en</strong>tado a objetos, por todas <strong>la</strong>s características inher<strong>en</strong>tes a éste, como <strong>la</strong><br />

abstracción, el <strong>en</strong>capsu<strong>la</strong>mi<strong>en</strong>to, <strong>la</strong> her<strong>en</strong>cia y el polimorfismo, <strong>la</strong>s cuales<br />

facilitaron <strong>la</strong> e<strong>la</strong>boración <strong>de</strong>l mismo. Sin embargo, uno <strong>de</strong> los puntos mas difíciles<br />

<strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong>l proyecto, fue <strong>la</strong> elección <strong>de</strong> cómo estructurar el proyecto, que<br />

“forma” darle, que objetos crear y como conectarlos <strong>en</strong>tre sí para construir el<br />

editor, el simu<strong>la</strong>dor, <strong>la</strong>s repres<strong>en</strong>taciones <strong>en</strong> <strong>3D</strong> y todos los <strong>de</strong>talles que se fueron<br />

pres<strong>en</strong>tando, como <strong>la</strong> integración <strong>de</strong> todos los objetos para que funcionaran<br />

sincronizados y <strong>en</strong> armonía.<br />

La elección <strong>de</strong> <strong>la</strong> estructura se basó <strong>en</strong> los objetivos <strong>de</strong>l campo <strong>de</strong> <strong>la</strong><br />

programación conocido como “diseño <strong>de</strong> patrones”: El “diseño <strong>de</strong> patrones” es un<br />

conjunto <strong>de</strong> herrami<strong>en</strong>tas que permite hacer fr<strong>en</strong>te a los constantes “cambios” <strong>en</strong><br />

el diseño <strong>de</strong> software, permiti<strong>en</strong>do al programador re-usar <strong>la</strong> mayoría <strong>de</strong>l software<br />

ya <strong>de</strong>sarrol<strong>la</strong>do, y realizar los cambios necesarios sin alterar el código ya<br />

exist<strong>en</strong>te, es <strong>de</strong>cir, permite un alto grado <strong>de</strong> ”flexibilidad” <strong>en</strong> <strong>la</strong> r<strong>en</strong>ovación <strong>de</strong> <strong>la</strong>s<br />

interconexiones <strong>en</strong>tre los objetos ya exist<strong>en</strong>tes y los objetos nuevos necesarios<br />

para realizar el cambio o actualización requerido <strong>en</strong> <strong>la</strong> aplicación. En el caso <strong>de</strong>l<br />

simu<strong>la</strong>dor que se <strong>de</strong>sarrolló, estos “cambios” se refier<strong>en</strong> a <strong>la</strong> adición <strong>de</strong> nuevos<br />

compon<strong>en</strong>tes que no se <strong>en</strong>cu<strong>en</strong>tran actualm<strong>en</strong>te <strong>en</strong> el proyecto.<br />

Con este criterio, se eligió un patrón <strong>de</strong> programación l<strong>la</strong>mado Mo<strong>de</strong>lo-<br />

Vista-Contro<strong>la</strong>dor (MVC), como <strong>la</strong> estructura base principal sobre <strong>la</strong> cual se<br />

com<strong>en</strong>zó a construir el proyecto. Este patrón se eligió por dos razones: 1) por ser<br />

el más utilizado <strong>en</strong> el <strong>de</strong>sarrollo <strong>de</strong> <strong>la</strong> instrum<strong>en</strong>tación virtual (instrum<strong>en</strong>tos<br />

analógicos y digitales <strong>de</strong>sarrol<strong>la</strong>dos alre<strong>de</strong>dor <strong>de</strong> un procesador o computadora) y<br />

simu<strong>la</strong>dores (por ejemplo simu<strong>la</strong>dores <strong>de</strong> vuelo); y 2) por ser el que más se adapta<br />

a <strong>la</strong>s necesida<strong>de</strong>s <strong>de</strong>l proyecto.<br />

Durante el <strong>de</strong>sarrollo <strong>de</strong>l proyecto se vió <strong>la</strong> necesidad <strong>de</strong> incorporar también<br />

otros dos patrones <strong>de</strong> programación mas: 1) el l<strong>la</strong>mado “método <strong>de</strong> <strong>la</strong> fabrica” para<br />

el diseño <strong>de</strong>l editor <strong>de</strong> circuitos; y 2) el patrón conocido como “composición” para<br />

el diseño <strong>de</strong> <strong>la</strong>s difer<strong>en</strong>tes “vistas” <strong>en</strong> <strong>la</strong> pres<strong>en</strong>tación visual <strong>de</strong> los resultados (por<br />

ejemplo <strong>la</strong> gráfica <strong>de</strong> barras y <strong>la</strong>s gráficas dinámicas <strong>en</strong> <strong>3D</strong>).<br />

23

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!