Programacion orientada a objetos parte 2
-
Upload
andres-esteves-aharonian -
Category
Technology
-
view
163 -
download
0
Transcript of Programacion orientada a objetos parte 2
![Page 1: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/1.jpg)
Programación Orientada a ObjetosNo es difícil aprender a programar en un lenguaje OO, el problema es que es necesario cierto tiempo para aprender a aprovechar las ventajas que contiene el lenguaje OO
Los lenguajes permiten ventajas, pero no las proporcionan
En la programación poo, la unidad básica es el objeto, los cuales forman una jerarquía y se comunican entre ellos con mensajes
![Page 2: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/2.jpg)
OBJETOS Un objeto es cualquier entidad tangible del
problema, esta formado por un conjunto complejo de datos y los procedimientos que manejan a los mismos, están insertos dentro de una jerarquía, la identidad es única dentro del dominio.
Los datos se conocen como propiedades y la forma de operar con ellos métodos
Las propiedades definen las características (estados)
Los métodos las operaciones (comportamiento)
![Page 3: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/3.jpg)
OBJETOS RELACIONES
Permite al objeto entroncarse dentro de la jerarquía, son punteros
MENSAJESLa forma de comunicarse con un objeto se llama mensaje, y este ejecuta un método
![Page 4: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/4.jpg)
Clases Equivale a la generalización de un tipo
especifico de objetos, los objetos NO existen por si solo, existe cuando se instancia la clase
LAS PROPIEDADES Y LOS METODOS FORMAN LA INTERFASE DE LA CLASE
![Page 5: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/5.jpg)
Metodos
Siempre es recomendable evitar las asignaciones directas a atributos para dejar mas solida la clase, ocultando asi el nombre y tipo verdadero del atributo, para ello existen dos tipos de metodos
Accesores Se utilizan para poder acceder los atributos a través
de un metodo
Modificadores Se utilizan para modifcar el valor del atributo
![Page 6: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/6.jpg)
Metodos
Constructores Es el metodo que inicializa los atributos con
un valor por defecto
Instancia Pertenece a una instancia de un objeto
creado
Tipos Procedimientos Funciones (siempre devuelven un valor)
![Page 7: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/7.jpg)
Programación Orientada a Objetos Encapsulado
Protege los datos ante la corrupción que pueden causar desde el exterior
Oculta los detalles de implementación Depurar los objetos en forma individualmente Dividir los proyectos
Abstracción Centrarse en el problema Reutilización
![Page 8: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/8.jpg)
Programación Orientada a Objetos Polimorfismo
Dado los mismos métodos responden en forma diferente dependiente del objeto
Simplifica la interfaz del objeto Reutilización
Herencia Reduce la programación redundante Reduce tamaño y optimiza la velocidad Viola el encapsulamiento
![Page 9: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/9.jpg)
Proceso unificadoConcepcion
Elaboracion
Constuccion
Transicion
Dirigido por casos de uso, centrado en la arquitectura, iterativo e incremental
![Page 10: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/10.jpg)
Concepción Situacion economica del proyecto
Alcance
Analisis inicial
Viabilidad
![Page 11: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/11.jpg)
Elaboración Que se va a construir Como se va a construir Con que tecnología Analisis de riesgo
Requerimientos Tecnologicos Experiencia Politicos Gerencia Dominio
![Page 12: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/12.jpg)
Constucción Cada iteración en un miniproyecto, es un
recorrido completo por el flujo de trabajo fundamental, reduce los riesgos
Una Iteracción es Requisitos
Analisis
Diseño
Implementacion
Pruebas
![Page 13: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/13.jpg)
Qué es UML UML es un Lenguaje de Modelado Unificado
basado en una notación gráfica la cual permite: especificar, construir, visualizar y documentar los objetos de un sistema programado.
Este lenguaje es el resultado de la unificación de los métodos de modelado orientados a objetos de Booch, Rumbaugh (OMT: Object Modeling Technique) y Jacobson (OOSE: Object-Oriented Sotfware Engineering) .
![Page 14: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/14.jpg)
Qué es UML El UML modela sistema mediante el uso
de objetos que forman parte de él así como, las relaciones estáticas o dinámicas que existen entre ellos.
UML puede ser utilizado por cualquier metodología de análisis y diseño orientada por objetos para expresar los diseños.
![Page 15: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/15.jpg)
Qué es UML
Es un lenguaje unificado de modelado
Toma elementos de los métodos de BOOCH, RUMBAUGH, JACOBSON
Es un lenguaje de modelado y no un método
![Page 16: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/16.jpg)
Qué es UMLMétodo : Lenguaje + Proceso
Lenguaje:Es la notación generalmente gráfica que se valen los métodos para expresar los diseños
Proceso: Pasos a seguir para hacer el diseño
(tratado en los libros User Guide)
Lo que tenemos que aprender es el lenguaje, porque el proceso lo adapta cada individuo
![Page 17: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/17.jpg)
Qué es UML 1. Diagrama de Casos de Uso 2. Diagrama de Clases 3. Diagrama de Actividades 4. Diagrama de Iteración 4.1. Diagrama de Secuencia 4.2. Diagrama de Colaboración
![Page 18: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/18.jpg)
Qué es UML 5. Diagrama de Estados 6. Diagrama de Implementación 6.1. Diagrama de Componentes 6.2 Diagrama de Despliegue Conceptos de patrones
![Page 19: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/19.jpg)
Casos de uso Un diagrama de Casos de Uso muestra la
distintas operaciones que se esperan de una aplicación o sistema y cómo se relaciona con su entorno (usuario u otras aplicaciones).
Es una herramienta esencial para la captura de requerimientos y para la planificación y control de un proyecto interactivo.
![Page 20: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/20.jpg)
Casos de uso Según Jacobson Es el elemento primario
de la planificación y el desarrollo de proyectos.
Es un documento narrativo que describe la secuencia de eventos de un actor (agente externo) que utiliza un sistema para completar un proceso.
Es una interacción típica entre un usuario
y un sistema informático
![Page 21: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/21.jpg)
Casos de uso Los casos de Uso Se representa en el diagrama
por una elipse que denota un requerimiento solucionando por el sistema.
Cada caso de uso de uso es una operación completa desarrollada por los actores y por el sistema en un diálogo.
El conjunto de casos de uso representa la totalidad de operaciones desarrolladas por el sistema.
![Page 22: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/22.jpg)
Casos de uso
Comunica
<<extend>>
Actor <<use>>
Profesor
Fig. 1 Ejemplo de Diagramas de Casos de Uso.
![Page 23: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/23.jpg)
Casos de uso Actor: Es un usuario del sistema, que
necesita o usa alguno de los casos de uso. Un usuario puede jugar más de un rol. Un solo actor puede actuar en muchos casos de uso; recíprocamente, un caso de uso puede tener varios actores. Los actores no necesitan ser humanos pueden ser sistemas externos que necesitan alguna información del sistema actual.
![Page 24: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/24.jpg)
Casos de uso Especificación narrativa
Numerarlo Ponerle un nombre Identificar los actores Primario: Destinado al caso de uso Secundario: Pueden ser o no destinado al caso
de uso Descripción Pre Condición Post Condición
![Page 25: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/25.jpg)
Casos de uso Curso Básico
Curso de ejecucion Cuando se contesta que si a todas las preguntas
y esta todo bien Forma
Narrativa Conversaciones
No hay modelos estáticos son evolucionables Curso Alternativo
Bifucurcasiones al curso básico Excepciones
Mensajes de Error
![Page 26: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/26.jpg)
Casos de uso Primario
Surgen de las primeras conversaciones con los actores
Extendido A partir del caso primerio se comienza a
implementar el sistema, comienzan los detalles de implementacion
![Page 27: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/27.jpg)
Diagrama de Clases
Clase: representa un conjunto de entidades que tienen propiedades comunes.
Una clase es un constructo que define la estructura y comportamiento de una colección de objeto denominados instancia de la clase.
En UML la clase está representada por un rectángulo con tres divisiones internas, son los elementos fundamentales del diagrama.
![Page 28: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/28.jpg)
Diagrama de ClasesEjemplo:
Publicación Nombre de la clase
Nombre de
Clase
Atributos
# Código P: Cadena [2]
-Ncopias: Entero
+Actor: Cadena [30]
-MontoA: Monetario
+Fecha: Date
-Agregar ()
-Consultar ()
+Listar()
Método
Fig.2 Representación de una clase
![Page 29: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/29.jpg)
Diagrama de Clases
Propiedades: Representa una propiedad de una entidad. Cada atributo de un objeto tiene un valor que pertenece a un dominio de valores determinado.
Las sintaxis de una atributo es:Visibilidad <nombre>: tipo = valor incialDonde visibilidad es uno de los siguientes:+ público.# protegido.- privado.
![Page 30: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/30.jpg)
Diagrama de Clases
Metodos: El conjunto de operaciones que describen el comportamiento de los objetos de una clase. La sintaxis de una operación en UML es:
Visibilidad nombre (lista de parámetros): tipo que retorna { propiedades}
![Page 31: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/31.jpg)
Diagrama de Clases
Objeto: es una instancia de una clase. Se caracteriza por tener una identidad única, un estado definido por un conjunto de valores de atributos y un comportamiento representado por sus operaciones y métodos.
Asociación (rol, multiplicidad, calificador): representan las relaciones entre instancias de clase. Una asociación es una línea que une dos o más clases
![Page 32: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/32.jpg)
Diagrama de Clases
Rol: Identificado como un nombre a los finales de la línea, describe la semántica de la relación en el sentido indicado. Cada asociación tiene dos roles; cada rol es una dirección en la asociación. El rol puede estar representado en el nombre de la clase.
Multiplicidad: Describe la cardinalidad de la relación, es decir, cuanto objetos de esa clase pueden participar en la relación dada [ Int-2].
![Page 33: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/33.jpg)
Diagrama de Clases
La multiplicidad puede ser:
1 Clase Exactamente uno
* Clase Cero o más
O ..1 Clase Cero o uno
m..n Clase Especificada numéricamente
Fig. 3 Tipos de Multiplicidad
![Page 34: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/34.jpg)
Diagrama de secuencia El diagrama de secuencia forma parte de
los diagramas de interacción
Describen la manera que colaboran grupos de objetos para un cierto comportamiento de un caso de uso. Se describen los objetos y los mensajes que son pasados entre ellos
![Page 35: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/35.jpg)
Diagrama de secuencia Un diagrama de secuencia muestra la
interacción de un conjunto de objetos de una aplicación a través del tiempo. Esta descripción es importante porque puede dar detalle a los casos de uso, aclarándolos al nivel de mensajes de los objetos existentes, como también muestra el uso de los mensajes de las clases diseñadas en el contexto de una operación
![Page 36: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/36.jpg)
Diagrama de secuencia
Cada objeto se muestra como una caja el la parte superior de una línea vertical punteada, esta línea se denomina línea de vida.
Cada mensaje se representa mediante una flecha entre las líneas de vida de dos objetos
Los mensajes trascurren hacia abajo
![Page 37: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/37.jpg)
Diagrama de secuenciaMensaje Común Prepara()
Mensaje con iteración (*Para cada artículo) Baja Stock
Mensaje con condición(No existe artículo)Doy de alta(nro,nombre,familia)
![Page 38: Programacion orientada a objetos parte 2](https://reader034.fdocuments.mx/reader034/viewer/2022052602/559806701a28ab78398b4668/html5/thumbnails/38.jpg)
Diagrama de secuencia
ACTUALIZAR DEPOSITO F.T.
:USUARIO AUTORIZADO
:DEPOSITO F.T.
:TOTAL_D
ACTUALIZAR TOTAL_D.
ACTUALIZAR DEPOSITO F.T.
OK
ACTUALIZAR TOTAL_D
OK
FIG. 3.9 Diagrama de secuencias asociadas al proceso “Actualizar Depósito”