Modelado UML

13
ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION FICHA 662202 UML Y MODELADO DE DATOS INSTRUCTOR: Andrés Leonardo Castellanos

description

UML.

Transcript of Modelado UML

Page 1: Modelado UML

ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION FICHA 662202

UML Y MODELADO DE DATOS INSTRUCTOR: Andrés Leonardo Castellanos

Page 2: Modelado UML

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.

Page 3: Modelado UML

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()

}

Page 4: Modelado UML

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.

Page 5: Modelado UML

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

Page 6: Modelado UML

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

Page 7: Modelado UML

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

Page 8: Modelado UML

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

Page 9: Modelado UML

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

Page 10: Modelado UML

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

Page 11: Modelado UML

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

Page 12: Modelado UML

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

( )

Page 13: Modelado UML