Este documento describe los aspectos clave del diseño de sistemas, incluyendo la selección del lenguaje de programación, la incorporación de bibliotecas, bases de datos e interfaces gráficas, así como consideraciones de procesamiento. También discute los diferentes enfoques para incorporar el ambiente de implementación a la arquitectura del sistema y los modelos de bases de datos.
2. Unidad 4
Modelo de diseño
4.3 Diseño de sistema
Durante el diseño de objetos, se ha desarrollado un diseño
detallado con base en la arquitectura especificada. En
general, el diseño de sistemas incluye aspectos como los
siguientes:
• Selección del lenguaje de programación a utilizarse
• Incorporación de bibliotecas (para interfaces gráficas,
estructuras de datos, etc.)
• Incorporación de una base de datos
3. Unidad 4
Modelo de diseño
4.3 Diseño de sistema
• Incorporación de archivos en sus diferentes formatos
• Consideraciones de procesamiento, como concurrencia,
paralelismo, distribución y tiempo real
Estos aspectos pueden variar entre un sistema y otro.
Además, pueden afectar de manera importante la
arquitectura final del sistema
4. Unidad 4
Modelo de diseño
4.3 Diseño de sistema
Existen diferentes enfoques para la incorporación del
ambiente de implementación a la arquitectura del sistema:
• Agregar clases abstractas o interfaces que luego se
especializarán según el ambiente de implementación
• Instanciar objetos especializados para la administración del
ambiente de implementación
• Configurar múltiples versiones del sistema
correspondientes a diferentes plataformas
5. Unidad 4
Modelo de diseño
4.3 Diseño de sistema - Lenguajes de
programación
Es importante señalar que un diseño orientado a objetos
no necesariamente se tiene que implementar mediante un
lenguaje orientado a objetos. Sin embargo, es más natural
hacerlo de esta manera. Esto es debido a que los lenguajes
orientados a objetos tienen un apoyo directo a los
conceptos del análisis orientado a objetos (encapsulamiento,
generalización, polimorfismo)
6. Unidad 4
Modelo de diseño
4.3 Diseño de sistema - Lenguajes de
programación
Sin embargo, se puede traducir cualquier concepto o
mecanismo orientado a objetos a otros existentes en los
lenguajes no orientados a objetos. El problema con este
tipo de lenguajes es su conveniencia, mantenimiento y
protección contra errores. Un lenguaje orientado a objetos
hace que la escritura, mantenimiento y extensión de los
programas sea más fácil y segura
7. Unidad 4
Modelo de diseño
4.3 Diseño de sistema - Lenguajes de
programación
Cabe mencionar que no todos los lenguajes de
programación orientados a objetos implementan de la
misma forma los conceptos de la metodología orientada a
objetos. Aspectos como manejo de encapsulamiento,
referencias, herencia múltiple varían de manera importante
entre los lenguajes de programación
8. Unidad 4
Modelo de diseño
4.3 Diseño de sistema – Interfaces gráficas
Las interfaces gráficas tienen como objetivo principal
administrar la interacción entre el usuario mediante
elementos gráficos, como son botones, menús y textos. Las
aplicaciones interactivas donde el control del ratón y
teclado desempeñan un papel importante se conocen
como sistemas controlados o dirigidos por eventos. Estos
eventos comprenden: mover el ratón, oprimir uno de sus
botones, oprimir una tecla, etc.
9. Unidad 4
Modelo de diseño
4.3 Diseño de sistema – Interfaces gráficas
Desarrollar un sistema dirigido por eventos significa que la
aplicación desde un inicio debe considerar un diseño
adecuado. Por ejemplo, en Java se escoge alguna de las
bibliotecas gráficas (AWT o Swing) para utilizar el manejo
apropiado de interfaces mediante sus clases (JFrame, Jpanel,
JButton). Más allá de estas bibliotecas o clases también se
afecta la lógica del diseño, ya que se debe contemplar el
momento de procesar eventos
10. Unidad 4
Modelo de diseño
4.3 Diseño de sistema – Interfaces gráficas
Por ejemplo, si se desarrolla un sistema con varias pantallas
se puede manejar cada evento mediante una clase para
cada pantalla. Otra solución es usar un JFrame para todas
las pantallas y declarar una clase que maneje los eventos
del JFrame. En el segundo caso, en lugar de que cada
pantalla reciba un evento del usuario, se hace que los
eventos sean recibidos por parte de la clase y las pantallas
se vuelven más pasivas y fáciles de manipular
13. Unidad 4
Modelo de diseño
4.3 Diseño de sistema – Bases de datos
Las bases de datos son fundamentales en los sistemas de
información. Una decisión estratégica importante en tal
contexto es si debe utilizar bases de datos relacionales u
orientadas a objetos. En general se consideran tres
modelos de bases de datos principales:
14. Unidad 4
Modelo de diseño
4.3 Diseño de sistema – Bases de datos
• Modelo relacional: se define una colección de tablas
donde cada una tiene un número específico de columnas y
un número arbitrario de filas. Cada objeto se representa
como una fila en una tabla y donde cada columna
corresponde a un atributo distinto en el objeto
15. Unidad 4
Modelo de diseño
4.3 Diseño de sistema – Bases de datos
• Modelo relacional extendido: el modelo relacional se
extiende mediante procedimientos, objetos, versiones y
otras nuevas capacidades. No hay un solo modelo
relacional extendido, más bien hay una variedad de ellos,
aunque todos comparten las tablas y consultas básicas del
modelo relacional
16. Unidad 4
Modelo de diseño
4.3 Diseño de sistema – Bases de datos
• Modelo orientado a objetos: se define un modelo
orientado a objetos donde varía el tipo de encapsulamiento
de datos y los procedimientos en el objeto. El término
orientado a objetos varía según cada autor
Las bases de datos son depósitos de datos guardados en
uno o más archivos. Existen sistemas de manejo de bases
de datos (DBMS) y orientados a objetos (OOBDMS)
17. Unidad 4
Modelo de diseño
4.3 Diseño de sistema – Bases de datos
Las bases de datos dan apoyo en los siguientes aspectos:
• Múltiples usuarios
• Múltiples aplicaciones
• Seguridad
• Integridad
• Distribución de datos
18. Unidad 4
Modelo de diseño
4.3 Diseño de sistema – Bases de datos
La tarea del diseño se simplifica, creando una tabla
correspondiente a cada clase entidad del dominio del
problema y manteniendo las asociaciones entre clases.
Obviamente el diseño de tablas puede optimizarse para un
acceso más eficiente
19. Unidad 4
Modelo de diseño
4.3 Diseño de sistema – Archivos
Aunque es más efectivo trabajar con bases de datos, es
posible utilizar archivos, sobre todo cuando la
especificación del sistema así lo requiera. En el caso de usar
una base de datos, regularmente una clase se comunica con
el DBMS para hacer solicitudes a cualquier tabla. Sin
embargo, en el caso de los archivos, tal manejador no
existe por lo que el proceso se hace manualmente