BI Modulo IV
BI Modulo IV
BI Modulo IV
ASIGNATURA
INTELIGENCIA DE NEGOCIOS
<< PIN-0622 >>
Objetivo general:
Conocer a fondo cada Metodología de clases e identificar la más
apropiada para cada caso.
Descripción actividades para módulo IV
Descripción breve de actividades:
1. Participación en el foro “Data Warehouse”
2. Ensayo sobre uso de clases.
Tarea:
Elaborar un ensayo acerca del Clases, que contenga como mínimo 5 paginas,
donde explique con sus propias palabras el concepto de clases, su
funcionamiento y su utilidad en su vida profesional ¿Ha usado clases en la
Universidad? ¿De qué tipo han sido? ¿De qué manera este material le
ayudado para aclarar las dudas que tenía acerca del tema de clases? Explique
con detalle. Agregue a su informe por lo menos dos de las clases que ha
usado y menciona todas sus partes según lo aprendido en este material.
Indicaciones: Realizar de manera individual la tarea planteada
anteriormente y enviarla a través de la plataforma en el icono de tarea, debes
agregar una portada, introduccion, el ensayo de cinco paginas, conclusiones
y bibliografia, el informe debe incluir 9 paginas exactamente.
Formato: Times New Roman, tamaño 12, con interlineado de 1.5, margenes
normales.
II. Contenido
La notación de UML está compuesta por dos subdivisiones importantes. Hay
una notación para modelar los elementos estáticos tales como clases,
atributos y relaciones. También hay otra notación para modelar los
elementos dinámicos tales como objetos, mensajes y máquinas de estado
finitas.
Los elementos estáticos se representan mediante diagramas de estructura
estática, más conocidos por su nombre corto, diagramas de clases. Muestran
el conjunto de clases que forman parte de la estructura estática de un sistema,
junto con las relaciones existentes entre estas clases. Pero cuando se modela
la estructura estática de un sistema, podemos usar los diagramas de clases de
tres formas diferentes:
1. para modelar el vocabulario de un sistema
Modelar el vocabulario de un sistema implica tomar una decisión sobre qué
abstracciones forman parte del sistema y qué otras caen fuera de sus límites.
Aquí usamos los diagramas de clases para especificar dichas abstracciones y
sus responsabilidades.
2. para modelar colaboraciones de forma sencilla
Una colaboración es un conjunto de clases, interfaces y otros elementos que
trabajan juntos para proporcionar un comportamiento de cooperación mayor
que la suma de todos los elementos. Por ejemplo, cuando queremos modelar
las semánticas de una transacción en un sistema distribuido, no podemos
fijarnos en una sola clase para entender lo que está sucediendo. Es mejor que
estas semánticas sean llevadas a cabo por un conjunto de clases que trabajen
juntas. Aquí usamos los diagramas de clases para visualizar y especificar este
conjunto de clases y sus relaciones.
3. para modelar el esquema lógico de una base de datos
En muchos dominios podemos querer almacenar información continua
(persistent information) en una base de datos relacional u orientada a objetos.
Aquí usamos los diagramas de clase para modelar los esquemas de dichas
bases de datos.
Nosotros vamos a estudiar los diagramas de clases que se utilizan para
modelar el vocabulario de un sistema.
DIAGRAMAS DE CLASES
Los diagramas de clases se utilizan para modelar la visión estática de un
sistema. Esta visión soporta los requisitos funcionales del sistema, en
concreto, los servicios que el sistema debería proporcionar a sus usuarios
finales. Normalmente contienen: clases, interfaces y relaciones entre ellas:
de asociación, de dependencia y/o de generalización.
Los diagramas de clases también pueden contener a paquetes o subsistemas,
que se usan para agrupar elementos del modelo en partes más grandes (por
ejemplo, paquetes que a su vez contienen a varios diagramas de clases).
Al igual que otros diagramas, en los diagramas de clases pueden aparecer
notas explicativas y restricciones.
Perspectivas
Según Fowler, hay tres perspectivas que podemos tener en cuenta a la hora
de dibujar los diagramas de clases (o cualquier otro tipo de diagrama, pero
es más evidente en los diagramas de clases):
• Conceptual:
Estamos dibujando un diagrama que representa los conceptos del dominio
del sistema. Estos conceptos se relacionarán de forma natural con las clases
que los implementen, pero a menudo no hay una aplicación directa. Es decir,
el modelo se dibuja sin tener en cuenta el software que lo implementa y
generalmente es independiente del lenguaje de programación.
• Análisis:
Desde el punto de vista del software, nos fijamos en las interfaces del
software, no en su implementación. Es decir, miramos los tipos más que las
clases.
El desarrollo orientado a objetos pone mucho énfasis en la diferencia entre
tipo y clase, pero luego no se aplica en la práctica. Es importante separar
interfaz (tipo) de implementación (clase). Muchos lenguajes de
programación no lo hacen y los métodos, influidos por ellos, tampoco. Esto
está cambiando, pero no lo suficientemente rápido (Java y CORBA tendrán
algo de influencia aquí). Los tipos representan una interfaz que puede tener
muchas implementaciones diferentes debido, por ejemplo, a las
características del entorno de instalación.
• Implementación:
Estamos poniendo la implementación al descubierto, pues realmente
tenemos clases. Es la perspectiva más utilizada, pero de todas formas la
perspectiva del análisis se considera la mejor de las tres.
Clases
Las clases describen un conjunto de objetos con características y
comportamiento idénticos, es decir, objetos que comparten los mismos
atributos, operaciones y relaciones.
Las clases se representan gráficamente por medio de un rectángulo con tres
divisiones internas. Los tres compartimentos alojan el nombre de la clase,
sus atributos y sus operaciones, respectivamente. En muchos diagramas se
omiten los dos compartimentos inferiores. Incluso cuando están presentes,
no muestran todos los atributos y todas las operaciones. Por ejemplo, en la
Figura 3.1 viene representada la clase Ventana de tres formas diferentes: sin
detalles, detalles en el ámbito de análisis y detalles en el ámbito de
implementación.
Compartimento del nombre
Cada clase debe tener un nombre que la distinga de las otras clases. Dicho
nombre puede ser un nombre simple (nombre de la clase) o un nombre
compuesto (nombre del paquete que contiene a la clase :: nombre de la clase).
En el ejemplo de la Figura 3.1 Ventana es un nombre simple de clase; pero
si estuviese contenida en el paquete Gráficos, entonces el nombre compuesto
sería Gráficos::Ventana. Otra forma de representar dicho nombre compuesto
es escribir dentro de este compartimento primero el nombre del paquete (en
este caso, «Gráficos») y debajo el nombre de la clase contenida en él.
Compartimento de la lista de atributos
Los atributos describen las características propias de los objetos de una clase.
La sintaxis completa de un atributo es:
[visibilidad] nombre [multiplicidad] [: tipo] [= valor-inicial] [{lista-
propiedades}]
donde visibilidad puede ser:
• + (pública): que hace el atributo visible a todos los clientes de la clase; • -
(privada): que hace el atributo visible sólo para la clase;
• # (protegida): que hace el atributo visible a las subclases de la clase.
Figura 3.9