Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified...

21
Análisis y Diseño Orientado a Objetos Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013

Transcript of Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified...

Page 1: Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013 Introducción (I) •Un programa orientado a objetos

Análisis y Diseño Orientado a

Objetos

Lenguaje de Modelado Unificado

UML(Unified Modeling Language)

1

Mayo de 2013

Page 2: Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013 Introducción (I) •Un programa orientado a objetos

Introducción (I)

• Un programa orientado a objetos está formado por una colección de objetos que interaccionan conjuntamente para representar y solucionar algún problema.

2

objeto1

objeto2

objeto3

objeto4

objeto5

objeto7

objeto6

Page 3: Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013 Introducción (I) •Un programa orientado a objetos

Introducción (II)

• El programa está constituido por un conjunto de objetos relacionados entre sí, los cuales permiten hacer la entrada de datos, los cálculos necesarios para resolver el problema y dar salida de datos convertidos en información.

3

Page 4: Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013 Introducción (I) •Un programa orientado a objetos

Objetos

4

Page 5: Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013 Introducción (I) •Un programa orientado a objetos

Objetos (I) • Son entes, entidades, sujetos o cosas que

encontramos en el dominio de un problema de nuestra realidad, entiéndase: en situaciones o problemas cotidianos o empresariales, organizacionales o institucionales, que se requiere manejar o solucionar mediante la computadora.

5

Page 6: Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013 Introducción (I) •Un programa orientado a objetos

Objetos(II)

• Los objetos están formados por dos elementos:

1. Datos que representan su estructura. En otras palabras, atributos que describen su forma o apariencia.

2. Métodos que implementan las funciones propias de su comportamiento, es decir, métodos que manipulan los datos para hacer la entrada, proceso y salida de los mismos

6

Page 7: Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013 Introducción (I) •Un programa orientado a objetos

Objetos – Representación en UML (III)

7

nombreObjeto

dato1 dato2 dato3 datoN

método1() método2() métodoN()

Datos que representan la estructura del objeto

Implementan las operaciones que se deben realizar sobre los datos

Page 8: Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013 Introducción (I) •Un programa orientado a objetos

Objetos (IV)

• Cuándo y cómo identificar objetos

▫ ¿Cuándo? En la etapa de análisis del problema. Se estudia el problema y se identifican los objetos involucrados y sus relaciones.

▫ ¿Cómo? Se buscan los sustantivos presentes en la especificación; los sustantivos son los objetos.

8

Page 9: Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013 Introducción (I) •Un programa orientado a objetos

Objetos (V)

• Definición del Problema.

▫ Elaborar un programa que permita calcular el sueldo de los médicos de un hospital.

9

Page 10: Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013 Introducción (I) •Un programa orientado a objetos

Objetos (VI)

• Planteamiento del Problema.

▫ En el Hospital “Mata Sanitos A. C” trabajan varios médicos; por cada médico se tienen los datos: Nombre, Hora de entrada, Hora de Salida, Localización dependiendo de la hora, Salario por horas trabajadas.

▫ Cada quincena se requiere emitir un cheque con los datos: Nombre del médico y sueldo a pagar.

10

Page 11: Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013 Introducción (I) •Un programa orientado a objetos

Ejercicio 1

• Identificar los objetos y escribir tres ejemplos de posibles médicos utilizando el diagrama que maneja UML.

11

Page 12: Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013 Introducción (I) •Un programa orientado a objetos

Clases y su relación con los objetos

• La clase en una representación abstracta que describe a un conjunto de objetos, es decir, es un tipo de dato abstracto que representa a un conjunto de objetos que tienen en común una misma estructura (de datos) y un mismo comportamiento (las mismas funciones), ósea, que son la misma cosa y hacen lo mismo.

12

Page 13: Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013 Introducción (I) •Un programa orientado a objetos

Clases y su relación con los objetos (I)

• Un conjunto de objetos iguales debe ser representado en forma abstracta por una clase.

• La clase fungirá como una plantilla o molde para crear todos y cada uno de los objetos necesarios para solucionar el problema.

13

Page 14: Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013 Introducción (I) •Un programa orientado a objetos

Determinar las clases

• Una vez identificados los objetos se procede a diseñar el diagrama de clases, para lo cual debemos:

1. Determinar la(s) clase(s) que necesitaremos.

2. Dibujar el diagrama con la representación de la(s) clase(s) y sus instancias.

14

Page 15: Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013 Introducción (I) •Un programa orientado a objetos

Representación de la clase y sus

instancias

• En un programa OO debemos definir una clase como un nuevo tipo de dato abstracto y, con base en la referida de clase, vamos a generar instancias de dicha clase.

15

Page 16: Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013 Introducción (I) •Un programa orientado a objetos

Relación entre una clase y sus

instancias

16

Médico

objetoMedico

Juan

8:00

16:00

Pediatría

15000

objetoMedico

Alejandra

9:00

19:00

Oncología

18000

objetoMedico

Rubén

10:00

20:00

Urgencias

19000

Clase

Instancias

“objeto de”

Page 17: Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013 Introducción (I) •Un programa orientado a objetos

17

Diseñar las clases

Page 18: Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013 Introducción (I) •Un programa orientado a objetos

Encapsulación (I)

• Significa colocar juntos los datos y los métodos dentro de un objeto.

• El programador debe pensar en el código y los datos juntos durante el diseño del programa.

• Los datos dirigen el flujo del código y el código manipula la forma y valores de los datos.

18

Page 19: Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013 Introducción (I) •Un programa orientado a objetos

Encapsulación (II)

• Cuando el código y los datos son entidades separadas, siempre existe el peligro de llamar al método correcto con los datos erróneos o viceversa.

• El objeto mantiene en sincronía los datos y los métodos empacados juntos.

19

Page 20: Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013 Introducción (I) •Un programa orientado a objetos

Encapsulación (III)

• Al diseñar la estructura de la clase debemos considerar:

1. Definir a los datos que representarán a los objetos de la clase. Proporcionados por el usuario

Generados mediante algún cálculo.

2. Definir los métodos que implementarán las acciones de los objetos. Colocan o establecen valores a los datos del objeto.

Acceden u obtienen los valores de los datos para utilizarlos.

20

Page 21: Análisis y Diseño Orientado a Objetos2013/10/02  · Lenguaje de Modelado Unificado UML(Unified Modeling Language) 1 Mayo de 2013 Introducción (I) •Un programa orientado a objetos

Tarea de investigación 2 • Explicar a que se refiere el término de “visibilidad de

los datos y métodos” en el paradigma de la programación orientada a objetos.

• ¿Cuales son los niveles de visibilidad y que símbolos utiliza UML para representarlos?

• Explica porqué es importante el uso de la visibilidad en atributos y métodos en la POO.

• ¿Cuál es el criterio que seguirías para determinar el nivel de visibilidad de un atributo o método en un programa?

• Individual, escrita a mano en una hoja blanca, sólo incluir una

portada.

21