Se adapta el modelo al ambiente de implementación. Este paso incluye identificar e investigar las consecuencias del ambiente de implementación sobre el diseño. Aquí deben ser tomadas las decisiones de implementación estratégicas:
·
cómo
se incorporará una base de datos en el sistema,
·
qué
bibliotecas de componentes se usarán y cómo,
·
qué
lenguajes de programación se utilizarán,
·
cómo
se manejarán los procesos, incluyendo comunicación y requisitos de
rendimiento,
Durante
el diseño se debe decidir cómo mecanismos abstractos como la asociación, serán
implementados. Similarmente, si el lenguaje de programación no ofrece ninguna
técnica para apoyar herencia, se debe especificar cómo ésta será
implementada.
Durante el diseño de sistema se toman consideraciones en base al ambiente de implementación teniendo como objetivo lograr una buena rastreabilidad de la arquitectura de objetos al código final. Estos objetos deben ser vistos como abstracciones del código a ser escrito donde, por ejemplo, un típico objeto sería representado por un archivo en el sistema, como es el caso de Java. En otros lenguajes, como C++, en lugar de un archivo se escriben dos, uno correspondiente a la interface del objeto y el otro a su implementación. En general, el diseño de sistema incluye diversos aspectos como:
Durante el diseño de sistema se toman consideraciones en base al ambiente de implementación teniendo como objetivo lograr una buena rastreabilidad de la arquitectura de objetos al código final. Estos objetos deben ser vistos como abstracciones del código a ser escrito donde, por ejemplo, un típico objeto sería representado por un archivo en el sistema, como es el caso de Java. En otros lenguajes, como C++, en lugar de un archivo se escriben dos, uno correspondiente a la interface del objeto y el otro a su implementación. En general, el diseño de sistema incluye diversos aspectos como:
·
Selección
del lenguajes de programación a utilizarse, típicamente estructurados u
orientados a objetos;
·
Incorporación
de una base de datos, típicamente relacionales, relacionales extendidos u
orientados a objetos;
·
Acceso
a archivos, en sus diferentes formatos;
Estos aspectos pueden variar radicalmente entre uno y otro sistema y también pueden afectar de gran manera la arquitectura resultante del sistema. En general existen diversos enfoques para la incorporación del ambiente de implementación a la arquitectura del sistema:
Agregando clases abstractas o interfaces que luego serán especializadas según el ambiente de implementación particular. Esto es posible hacer, por ejemplo, cuando el lenguaje de programación, como en el caso de Java, es común a los diversos ambientes.
Instanciando
objetos especializados que administren los aspectos particulares del ambiente
de implementación particular. Esto puede significar una integración parcial o
completa de componentes adicionales a la arquitectura del sistema. Por ejemplo,
una integración con las interfaces nativas de Java (JNI) para manejo de
aspectos de bajo nivel del ambiente.
Configurando múltiples versiones del sistema correspondientes a diferentes plataformas. Este es el enfoque más flexible, aunque por lo general el de mayor costo de desarrollo. Por ejemplo, cambios radicales en los lenguajes de programación incluyendo diseños para lenguajes estructurados.
Configurando múltiples versiones del sistema correspondientes a diferentes plataformas. Este es el enfoque más flexible, aunque por lo general el de mayor costo de desarrollo. Por ejemplo, cambios radicales en los lenguajes de programación incluyendo diseños para lenguajes estructurados.
INTERFACES
GRÁFICAS
Las
interfaces gráficas tienen como aspecto esencial que toda interacción con el
usuario es a través de elementos gráficos, como lo son los botones, menús y
textos. En lo que se refiere a la aplicación, todo sistema que interactúe
mediante interfaces gráficas está dirigido por eventos. Estos eventos
corresponden al movimiento del ratón, el oprimir o soltar uno de sus botones,
el oprimir una tecla, junto con los que no son directamente iniciados por el
usuario, como los eventos de desplegar una pantalla o interrumpir un
programa.
El desarrollar un sistema dirigido por eventos significa que la aplicación debe desde un inicio considerar un diseño adecuado.
El desarrollar un sistema dirigido por eventos significa que la aplicación debe desde un inicio considerar un diseño adecuado.
BASES
DE DATOS
El
aspecto de bases de datos siempre juega un papel fundamental en los sistemas de
información. La decisión estratégica más importante en nuestro contexto es si
utilizar bases de datos relacionales o las orientadas a objetos. Dado su amplia
utilización y la situación actual en el mercado, escogeremos para nuestro
desarrollo una base de datos relacional utilizando el lenguaje SQL estándar.
Simplificaremos al máximo el diseño de la base de datos para minimizar su
efecto sobre el sistema completo. Más bien, demostraremos cómo es posible
diseñar buenas clases que permitan en un futuro cambiar de manejadores de bases
de datos.
No hay comentarios:
Publicar un comentario