ADSO
2023
Maicol Samuel Angulo Bedoya
Servicio Nacional de Aprendizaje
30/12/1899 /12/04
Bases conceptuales de uml
INTRODUCCIÓN
En este documento realizaremos un glosario de la terminología utilizada en la
Programación Orientada a Objetos POO, teniendo en cuenta que esta se basa en el
concepto de crear un modelo del problema de destino en sus programas y está orientada
disminuir los errores y promociona la reutilización del código.
LENGUAJE UNIFICADO DE MODELADO UML
UML es ante todo un lenguaje. Un lenguaje proporciona un vocabulario y unas reglas
para
permitir una comunicación. En este caso, este lenguaje se centra en la representación
gráfica de un sistema. Este lenguaje nos indica cómo crear y leer los modelos, pero no
dice
cómo crearlos. Esto último es el objetivo de las metodologías de desarrollo.
Los objetivos de UML son muchos, pero se pueden sintetizar sus funciones:
Visualizar: UML permite expresar de una forma gráfica un sistema de forma que
otro lo puede entender.
Especificar: UML permite especificar cuáles son las características de un sistema
antes de su construcción.
Construir: A partir de los modelos especificados se pueden construir los sistemas
diseñados.
Documentar: Los propios elementos gráficos sirven como documentación del
sistema desarrollado que pueden servir para su futura revisión.
Un modelo UML está compuesto por tres clases de bloques de
construcción:
Elementos: Los elementos son abstracciones de cosas reales o ficticias (objetos,
acciones, etc.)
Relaciones: relacionan los elementos entre sí.
Diagramas: Son colecciones de elementos con sus relaciones.
Diagramas UML
Un diagrama es la representación gráfica de un conjunto de elementos con sus
relaciones.
En concreto, un diagrama ofrece una vista del sistema a modelar. Para poder representar
correctamente un sistema, UML ofrece una amplia variedad de diagramas para
visualizar el
sistema desde varias perspectivas. UML incluye los siguientes diagramas:
*Diagrama de casos de uso.
*Diagrama de clases.
*Diagrama de objetos.
*Diagrama de secuencia.
*Diagrama de colaboración.
*Diagrama de estados.
*Diagrama de actividades.
*Diagrama de componentes.
*Diagrama de despliegue.
Conclusión, podemos decir que UML sirve para el modelado completo de sistemas
complejos,
tanto en el diseño de los sistemas software como para la arquitectura hardware donde se
ejecuten, este lenguaje no sólo para comunicar las ideas a otros desarrolladores sino
también
para servir de apoyo en los procesos de análisis de un problema.
Ventajas del UML
Mayor rigor en la especificación.
Permite realizar una verificación y validación del modelo realizado.
Se pueden automatizar determinados procesos y permite generar código a partir de los
modelos y a la inversa (a partir del código fuente generar los modelos). Esto permite
que el modelo y el código estén actualizados, con lo que siempre se puede mantener la
visión en el diseño, de más alto nivel, de la estructura de un proyecto.
DISEÑO DEL MODELO CONCEPTUAL
El diseño del modelo conceptual es una fase del proceso de desarrollo de sistemas es el
diseño de la base de datos. Con la información obtenida en la etapa de análisis, se
produce una solución de almacenamiento de datos mediante un modelo - relacional,
orientado a objetos, etc.
El modelo más utilizado es el de entidad-relación, cuya principal ventaja es que resulta
independiente del modelo de base de datos en el que será implementado. Por esto, es
importante que revises su concepto y características principales.
Posteriormente, podrás realizar dos actividades de aprendizaje y una autoevaluación
para
verificar tus conocimientos adquiridos y, si lo crees necesario, puedes revisar
nuevamente el
contenido y realizar las actividades para obtener un mejor desempeño.
Conclusión: podemos decir que el diseño de bases de datos consiste en traducir un
conjunto
de datos inmersos en una realidad a un modelo manejable y entendible. Esta traducción
debe
decirnos la estructura lógica de las estructuras para almacenar los datos y las
restricciones
sobre éstos. El proceso de diseño de base de datos puede verse como una interacción de
tres
etapas generales:
MODELO SEMANTICO
El modelo relacional ha demostrado ser un modelo muy útil para el desarrollo de
sistemas de información organizacionales y en algunas otras áreas de la actividad
humana; sin embargo, desde sus inicios ha sido criticado porque no representa mucha de
la semántica de la realidad. El hecho de estar basado en relaciones y nada más que en
relaciones le impide captar el significado de las interacciones entre éstas, su jerarquía y
sus restricciones asociadas.
DISEÑO CONCEPTUAL
Mediante un modelado semántico, es posible obtener uno de datos en el nivel
conceptual que nos permitirá representar la realidad en una forma dirigida al
almacenamiento de datos. Este modelo es conocido como entidad-relación. A partir del
modelo conceptual, se deriva uno lógico específico para un tipo de base de datos
orientado a objetos, relacional, jerárquico, etc. En nuestro caso, el modelo lógico se
basará en el relacional.
PATRONES DE DISEÑO / DESIGN PATTERNS
Los patrones de diseño o design patterns, son una solución general, reutilizable y
aplicable a diferentes problemas de diseño de software. Se trata de plantillas que
identifican problemas en el sistema y proporcionan soluciones apropiadas a problemas
generales a los que se han enfrentado los desarrolladores durante un largo periodo de
tiempo, a través de prueba y error.
Tipos de patrones de diseño de software
Los patrones de diseño más utilizados se clasifican en tres categorías principales, cada
patrón
de diseño individual conforma un total de 23 patrones de diseño. Las cuatro categorías
principales son:
*Patrones creacionales
*Patrones estructurales
*Patrones de comportamiento
GLOSARIO DE UML
Entidad: Una entidad es cualquier “objeto, real o abstracto, que existe en la realidad y
acerca del cual queremos almacenar información en la base de datos” (De Miguel,
Piattini y Marcos, 2000, p. 49). Los tipos de entidades se representan con un rectángulo
con el nombre en su interior. Existen entidades llamadas débiles, cuya existencia
depende de que exista otra denominada fuerte o regular; las débiles se representan con
doble rectángulo.
Atributo: Un atributo es una característica o propiedad de un tipo de entidad o
interrelación que puede tomar distintos valores. Al conjunto de valores se le distingue
como dominio. Los atributos se representan con una elipse que incluye el nombre en su
interior. Existen los atributos compuestos, atributos clave, atributos sencillos y atributos
derivados.
Interrelación: Una interrelación es “una asociación, vinculación o correspondencia
entre entidades” (De Miguel, et ál., 2001, p. 51). Igual que las entidades, las
interrelaciones se agrupan en diferentes tipos.
Class library [Librería de clases o biblioteca de clases]: Colección organizada de
clases que proporciona un conjunto de componentes y abstracciones reutilizables.
Cardinalidad: Describe el número máximo de posibles instancias de relación para una
entidad que participa en un tipo de relación dado. La cardinalidad de una relación es el
número de tuplas que contiene.
Class diagram [Diagrama de clases]: Representación gráfica construida utilizando
una notación formal para visualizar y documentar las relaciones entre clases de un
sistema.
Class hierarchy [Jerarquía de clases]: Colección de clases organizadas en términos
de relaciones de superclases y subclases.
Clave: Valor que permite distinguir un registro de otro de forma fiable, como podría ser
el DNI o el Pasaporte para el caso de una persona.
Contenedor (container): Clase que implementa una estructura de datos que contiene
una colección de objetos.
Data Access Object (DAO) [Objeto de Acceso a Datos]: Componente de software
que suministra una interfaz común entre la aplicación y uno o más dispositivos de
almacenamiento de datos, tales como una Base de datos o un archivo.
Data Definition Language (DDL) [Lenguaje de Definición de Datos]: Comandos que
se utilizan para la creación de todos sus elementos (tablas, índices, disparadores,
procedimientos entre otros) en una base de datos.
Debugger [Depurador]: Herramienta para ayudar a la localización de errores de un
programa.
Diagrama de secuencia: Gráfico que muestra la interacción de objetos en un escenario
determinado. Pertenece al UML – Lenguaje Unificado de Modelado.
Diseño físico de la base de datos: Proceso de generar una descripción de la
implementación de la base de datos en el almacenamiento secundario; describe las
relaciones base, la organización de los archivos y los índices utilizados para conseguir
un acceso eficiente a los datos, así como cualesquiera medidas de seguridad y
restricciones de integridad asociadas.
Diseño lógico de la base de datos: Proceso de construcción de un modelo de los
datos utilizados en una empresa basándose en un modelo de datos específico, pero de
forma independiente de un SGBD concreto y de cualquier otra consideración física.
Data Manipulation Language (DML) [Lenguaje de Manipulación de Datos]:
Comandos que permiten añadir, consultar, borrar o actualizar datos en una base de
datos.
Scenario [Escenario]: Descripción o conjunto de secuencias de sucesos que se
utilizan para describir parte del comportamiento de un programa.
Generalización: Proceso de minimizar las diferencias entre entidades identificando sus
características comunes.
Implementation [Implementación]: Actividad de escribir, compilar, probar y depurar el
código de un programa.
Inheritance [Herencia]: Relación entre clases en que una subclase se extiende desde una
superclase.
Instance [Instancia]: Objeto de una clase.
Integrated Development Environment (IDE): Programa informático que proporciona
un editor de código, un compilador, un depurador y un constructor de interfaz gráfica
para uno o varios lenguajes de programación.
Interfaz de usuario: Medio con que el usuario puede comunicarse con una máquina, un
equipo o una computadora, y comprende todos los puntos de contacto entre el usuario y
el equipo, normalmente suelen ser fáciles de entender y fáciles de accionar. Puede ser
gráfica o de texto. La interfaz gráfica se denomina Graphical User Interface (GUI).
Application programming interface (API) [Interfaz de Programación de
Aplicaciones]: Conjunto de funciones que facilitan el intercambio de mensajes o datos
entre dos aplicaciones. Para bases de datos se utilizan entre otras: OLE DB, JDBC,
DAO, ADO, [Link].
Java Virtual Machine (JVM): Software que interpreta y ejecuta bytecode de Java.
Java Data Base Connectivity (JDBC): API estándar para la conexión a bases de
datos.
Java Development Kit (JDK): Conjunto de aplicaciones que se utiliza para crear
aplicaciones en lenguaje Java.
Standard query language (DQL) [Lenguaje de consulta]: Lenguaje de computadora
para realizar consultas y actualizaciones en una base de datos.
Parameter list [Lista de parámetros]: Relación de valores dados a un método para
inicializar sus parámetros o la lista de parámetros de las declaraciones de Variables.
Network Address Translation (NAT) [Traducción de Dirección de Red]: Mecanismo
utilizado por enrutadores IP para intercambiar paquetes entre dos redes que se asignan
mutuamente direcciones incompatibles.
Object Linking and Embedding for Databases (OLE DB): Tecnología desarrollada por
Microsoft usada para tener acceso a diferentes fuentes de información, o bases de
datos, de manera uniforme.
Pattern [Patrón de diseño]: Modelo que plantea una solución a un problema de diseño
efectiva y reutilizable.
Protocolo - de comunicaciones: Conjunto de reglas que permiten la comunicación
entre varios sistemas informáticos a través de líneas de comunicaciones.
Prueba/ probar –test: En términos de programación, la actividad de verificación
sistemática de que un programa funciona correctamente.
Recovery: Proceso de recuperación de datos.
Registro: Cada una de las entradas que componen una tabla, en el mundo de las
bases de datos.
Relación: Tabla con columnas y filas.
Restricciones generales: Reglas adicionales especificadas por los usuarios o
administradores de la base de datos que definen o restringen algún aspecto de la
organización.
Router [Encaminador]: Dispositivo hardware usado para la interconexión de redes
informáticas.
Selección: Operación de selección se aplica a una única relación (R) y define otra
relación que contiene únicamente aquellas tuplas de (R) que satisfagan la condición
(predicado) especificada.
Semantics [Semántica]: Conjunto de reglas que definen el significado de un programa
sintácticamente válido.
Overload [Sobrecarga]: Proporciona dos o más métodos con el mismo nombre en el
mismo ámbito, diferenciado por tener listas de parámetros deferentes.
Structured Query Language (SQL): Lenguaje estándar crear, modificar, mantener y
consultar bases de datos.
Sistema de control de versiones: Programas que permiten gestionar un repositorio de
archivos y sus distintas versiones.
Event (Suceso): Tipo de señal que indica ha ocurrido alguna acción.
Abstract Data Type (ADT) [Tipo abstracto de datos, TAD]: Especificación formal de
un tipo de dato que consta de un nombre, un conjunto de operaciones y una descripción
algebraica del comportamiento de las operaciones.
Transacción: Acción o serie de acciones llevadas a cabo por un único usuario o
programa de aplicación y que acceden al contenido de la base de datos o los modifican.