modelado uml
DESCRIPTION
UML.TRANSCRIPT
ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION FICHA 662202
UML Y MODELADO DE DATOS INSTRUCTOR: Andrés Leonardo Castellanos
1. ¿Por qué es importante modelar?
Una de las principales capacidades que debe tener todo informático es la habilidad de
modelar sistemas, ya sean aplicaciones software, dispositivos hardware, procesos de
producción, empresas, entre otros, ya que teniendo muy desarrollada esta capacidad
le permite al informático:
Simplificar la realidad consiguiendo una mejor compresión de la misma
Dividir el sistema en subsistemas para observar como interactúan sus
diferentes partes.
El diseño de software de un sistema bien modelado es mucho más sencillo de
desarrollar y mantener
Adquirir y comprender los requerimientos que el cliente le exige al software.
2. Escribe tu definición de modelado orientado a objetos.
El modelado orientado a objetos sirve para desarrollar sistemas de software con un
alto grado de complejidad, utilizando el paradigma orientado a objetos para el
desarrollo de sus sistemas. Este enfoque realiza la construcción de modelos de un
sistema por medio de la identificación y la especificación de un conjunto de objetos
relacionados, que colaboran entre sí de acuerdo a los requerimientos establecidos
para el sistema de objetos.
3. Dentro del modelado orientado objetos define y da un ejemplo de “objeto”, “clase”,
“encapsulamiento”, “herencia”, “polimorfismo”
Objeto: entidad existente en la memoria del ordenador que tiene unas propiedades
(atributos o datos sobre sí mismo almacenados por el objeto) y unas operaciones
disponibles específicas (métodos). Ejemplo: Objeto Automovil.
Clase: abstracción que define un tipo de objeto especificando qué propiedades
(atributos) y operaciones disponibles va a tener. Ejemplo:
Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse
pertenecientes a una misma entidad, al mismo nivel de abstracción. Ejemplo:
La gerencia de un taller mecánico necesita un sistema para controlar los vehículos que
ingresan a sus instalaciones. En este caso, las características esenciales de la clase
vehículo son: Marca, Modelo, Color, Falla detectada, Nombre del Propietario,
Dirección del Propietario, Teléfono del Propietario.
Herencia: Es una propiedad que permite que los objetos sean creados a partir de otros
ya existentes, obteniendo características (métodos y atributos) similares a los ya
existentes. Ejemplo:
import javax.*;
import javax.swing.JOptionPane;
public class Mamifero{
private int patas;
private String nombre;
public void imprimirPatas(){
JOptionPane.showMessageDialog(null," Tiene " + patas + " patas\n", "Mamifero",
JOptionPane.INFORMATION_MESSAGE);
}
public Mamifero(String nombre, int patas){
this.nombre = nombre;
this.patas = patas;
}
}
public class Perro extends Mamifero {
public Perro(String nombre){
super(nombre, 4);
}
}
public class Gato extends Mamifero {
public Gato(String nombre){
super(nombre, 4);
}
}
public class CrearPerro {
public static void main(String[] args) {
Perro perrito = new Perro("Pantaleon");
perrito.imprimirPatas(); /*Está en la clase mamífero*/
}
}
Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden
compartir el mismo nombre, al llamarlos por ese nombre se utilizará el
comportamiento correspondiente al objeto que se esté usando. Ejemplo:
clase vehiculo {
metodo run()
}
clase carcochita => es un vehículo {
redefine metodo run() { corre a 20km/h }
}
clase lamborghini => es un vehículo {
redefine metodo run() { corre a 150km/h }
}
Y el polimorfismo:
vehiculo carrito1, carrito2 /* ambos son vehículos */
carrito1 = new lamborghini
carrito2 = new carcochita
competir: carrito1.run() vs. carrito2.run() /* ambos llaman a run */
4. Menciona la diferencia entre programación estructurada y orientada a objetos.
Programacion Estructurada Programacion Orientada a Objetos
Esta orientada a acciones
La unidad de programación es la función
La programación estructurada cosnta, de una estructura donde se va ejecutando paso a paso y este debe tener una secuencia y una lógica para que su función sea eficiente.
Encapsula datos(atributos) y métodos (comportamientos) en objetos que están relacionados entre si.
La unidad de la programación es la clase.
La POO se basa consta de una nueva forma de pensar los problemas, declarando como variables o los tipos de datos los objetos del problema, y que a su ves, cada objeto tiene anidadas variables que hacen referencia al dato.
5. ¿Cuál es el significado de UML?
El UML (Lenguaje Unificado de Modelado) prescribe un conjunto de notaciones y
diagramas estándar para modelar sistemas orientados a objetos, y describe la
semántica esencial de lo que estos diagramas y símbolos significan.
6. ¿Cuál es la utilidad de aplicar UML en el desarrollo de sistemas informáticos?
Los principales beneficios y utilidades que nos brinda el UML es:
Mejores tiempos totales de desarrollo.
Modelar sistemas (y no solo de software) utilizando conceptos orientados a
objetos.
Establecer conceptos y artefactos ejecutables.
Encaminar el desarrollo del escalamiento de sistemas complejos de misión
crítica.
Crear un lenguaje modelado utilizado tanto por humanos como por maquinas.
Mejorar soporte a la planeación y al control de proyectos.
Alta reutilización y minimización de costos.
7. ¿UML es un lenguaje de programación?, justifica tu respuesta.
El UML no es un lenguaje de programación, ya que este es una serie de normas y
estándares graficos respecto a como se deben representar los esquemas relativos al
software, el termino lenguaje de programación no es el apropiado para conceptualizar
al UML.
8. Explica la diferencia entre los tipos de diagramas estáticos y dinámicos o de
comportamiento.
Los diagramas estáticos o estructurales se encargan de definir qué cosas (entidades,
objetos, áreas, clases, etc.) deben de estar definidas dentro del sistema y como deben
de estar estructuradas, mientras que los modelos dinámicos se encargan de definir el
comportamiento de estos.
9. ¿Qué son los estereotipos y cuál es su utilidad?
Un estereotipo es una subclase de un elemento existente con los mismos atributos y
relaciones que ese elemento pero con una intención distinta y, posiblemente
restricciones adicionales, es decir para especializar un elemento y se representa con
“<<estereotipo>>”. Permite representar una variación de un elemento existente que
posee otra intención, o distinción de uso.
10. Menciona los elementos de un diagrama de clases y su simbología.
Clases: Es la unidad básica que encapsula toda la información de un objeto a través de
la cual podemos modelar el entorno en estudio
En UML es representada por un rectángulo que posee tres divisiones: Nombre de la
clase, atributos de la clase, métodos de la clase.
Atributos: En UML, los atributos se muestran al menos con su nombre, y también
pueden mostrar su tipo, valor inicial y otras propiedades. Los atributos también
pueden ser mostrados visualmente:
+ Indica atributos públicos # Indica atributos protegidos - Indica atributos privados
Operaciones: Las operaciones (métodos) también se muestran al menos con su nombre, y pueden mostrar sus parámetros y valores de retorno. Las operaciones, al igual que los atributos, se pueden mostrar visualmente:
+ Indica operaciones públicas # Indica operaciones protegidas - Indica operaciones privadas
Relaciones:
1. Herencia (Especialización/Generalización): Indica que una clase (clase derivada) hereda los métodos y atributos especificados por una clase (clase
base), por lo cual una clase derivada además de tener sus propios métodos y atributos, podrá acceder a las características y atributos visibles de su clase base (Public y protected).
Representación: 2. Composiciones: Es un tipo de relación estática, en donde el tiempo de vida del
objeto incluido está condicionado por el tiempo de vida del que lo incluye. Representación:
3. Agregación: Es un tipo de relación dinámica, en donde el tiempo de vida del objeto incluid es independiente del que lo incluye.
Representación:
4. Dependencia o Instanciación: Representa un tipo de relación muy particular, en la que una clase es instanciada. Se denota por una flecha punteada. Usualmente es usada para denotar la independencia que tiene una clase de otra.
Representación:
5. Asociación: Es la relación entre clases, permite asociar objetos que colaboran entre sí. El tiempo de vida de un objeto no depende del otro.
Representación:
11. ¿En qué fase del desarrollo de un sistema informático se utilizan con mayor frecuencia
los diagramas de casos de uso?
Se da en la fase de Diseño ya que se crean diferentes modelos y esquemas con el
objetivo de poder diseñar la base de datos a usar.
12. Modela una clase con atributos y operaciones propios de esta.
13. Realiza un diagrama en el cual ejemplifiques una relación de dependencia.
Cuenta
#balance: int
depositar (monto : int) : void
girar (monto : int) : boolean
balance() : int
Aplicacion Coche
14. Realiza un diagrama en la cual ejemplifiques una relación de generalización.
15. Realiza un diagrama en la cual ejemplifiques una relación de generalización.
Persona
-Nombre -Edad
+Mostrar()
Cliente
-Nombre_emp
+Mostrar() Empleado
-sueldo
+Mostrar() +calc_sueldo()
categoria
-cargo
+Mostrar()
Empresa
-Nombre
+inicia() : void
+aplicacion()
-encendido: boolean
-marca: String
+coche(marca:string)
+enciende() : void
+apaga() : void
+dameMarca() : String
+estaEncendido(): booelan
<<Createa>>
Empleado
Operario
Empleados
16. Realiza un diagrama en la cual ejemplifiques asociación cualificada.
17. Realiza un diagrama en el cual ejemplifiques una asociación reflexiva.
18. Realiza un diagrama en el cual ejemplifiques una “clase de asociación”
19. Realiza un diagrama en la cual ejemplifiques asociación con multiplicidad.
20. Realiza un diagrama en el cual ejemplifiques la diferencia entre agregación y
composición.
21. Menciona los elementos de un diagrama de casos de uso y su simbología.
22. Realiza un diagrama de casos de uso en el cual ejemplifiques las relaciones de
generalización y asociación, dependencia usa y extiende ( ‹‹use›› y ‹‹extend›› )
22. Menciona los elementos de un diagrama de secuencia y su simbología.
Consta de objetos, representados de modo usual: rectángulos con nombres
subrayados, estímulos (también conocidos como mensajes) representados por líneas
continuas con una punta de flecha y el tiempo representado por una progresión
vertical.
Pedidos Producto Línea de pedido
Cantidad
Jugador Equipo
Participa en
Emplea
23. Realiza un diagrama en el cual ejemplifiques un diagrama de secuencia.
24. Menciona los elementos de un diagrama de componentes, diagramar un ejemplo en
el cual utilices estereotipos como: ejecutable, biblioteca, tablas, archivos,
documentos, etc.).
Normalmente los diagramas de Componentes contienen:
• componentes
• interfaces
• Relaciones de dependencia, generalización, asociación y realización
• Paquetes o subsistemas
GUI SISTEMA O CPU T.video Monitor
Presionar
una tecla
Retroalimentación
•
25. Realiza un ejemplo de un diagrama de componentes en el cuál incluyas interfaces
requeridas y ofrecidas.
26. Menciona los elementos de un diagrama de despliegue y simbología.
Los elementos usados por este tipo de diagrama son nodos (representados como un
prisma), componentes (representados como una caja rectangular con dos
protuberancias del lado izquierdo) y asociaciones
27. Realiza un ejemplo de un diagrama de despliegue no olvides incluir los estereotipos
necesarios
MI WEB
index.html
Estilo.css
Js.js
index.html
Estilo.css
Js.js
Orden
Producto
Cliente
Orden
EJERCICIOS:
I.INSTRUCCIONES: Escribe dentro del paréntesis el número que corresponda a la respuesta
correcta.
1. Son diagramas que destacan el orden temporal de los mensajes así como el tiempo de vida y uso de un objeto.
Diagramas de secuencia
( )
2. Son elementos usados en el diagrama de colaboración que son representados mediante rectángulos.
Diagramas de Estado ( )
3. Diagramas que nos muestran la organización estructural de los objetos que envían y reciben mensajes mostrando la secuencia de estos mediante números de secuencia.
Diagrama de Actividades
( )
4. Son diagramas que describen la estructura de un sistema mostrando sus clases, atributos y las relaciones entre estas.
Diagramas estáticos ( )
5. Son diagramas que representan la funcionalidad de un sistema mostrando la relación existente entre los actores y sus casos.
Objetos ( )
6. Son diagramas que nos muestran la secuencia de estados por los que pasa un objeto.
Diagramas de interacción
( 1 )
User.exe
Admin.exe
Config.exe
terminal
consola
servidor Unidad raid
dbadmin.exe
7. Son diagramas que muestran el diagrama de flujo de un sistema de un punto de inicio a un final detallando muchas rutas de decisiones.
Mensajes o flujo de datos
( )
8. Se les llama de esta manera al conjunto de diagramas que muestran el comportamiento dinámico de los sistemas.
Diagramas de clases ( 2 )
9. Se les llama de esta manera al conjunto de diagramas que muestran la estructura de un sistema incluyendo sus componentes y relaciones mas no el comportamiento dinámico de este.
Diagramas de colaboración
( )
10. Son elementos usados en el diagrama de colaboración representados mediante flechas.
Diagramas de casos de uso
( )