55
Diseño Orientado a Objetos y UML

Diseño_Orientado a Objetos y UML Día 1 y 2.pdf

Embed Size (px)

Citation preview

  • Diseo Orientado a Objetos y UML

  • Contacto

    Marco Antonio Martnez Quintana

    [email protected]

  • 2020

    20

    40

    Evaluacin

    Examen

    Ejercicios

    Tareas

    Proyecto

  • Diseo orientado a objetos y UMLSubtemas:

    1) Conceptos de Anlisis y Diseo Orientado a Objetos.

    2) Diagramas UML: Clases y Casos de Uso

    Palabras clave: Modelado, ADOO, objetos, atributos, mtodos,encapsulacin, herencia, generalizacin, especializacin,polimorfismo, clases, clases abstractas, UML, diagrama de casos de usoy diagrama de clases.

  • Introduccin

    La evolucin del software ha experimentadomodificaciones importantes en su corta historia,que se pueden atribuir al desarrollo demetodologas del propio software y a laevolucin del hardware.

  • Desarrollo de un software en el pasado

  • Desarrollo de Software en los aos 60s y 70s

  • Desarrollo de software en los aos 80s y 90s

  • Desarrollo de software en la actualidad

  • Desarrollo de software en el futuro

  • Durante la poca de los aos 50 y 60 lasaplicaciones se desarrollaban enfocadas alproceso por lotes.

    En la poca de los 60 y 70 se comienzan aconstruir sistemas multiusuario y de tiempo real.

  • Durante la poca de los 70 a los 80 se introduceel trmino de arquitectura cliente-servidor,

    surgen los primeros sistemas de desarrollo

    distribuido y el uso de las herramientas CASE

    (Computer Aided/Assisted Software/System

    Engineering).

  • A medida que se acercaban los aos 80, lametodologa orientada a objetos comenzaba a

    madurar como un enfoque de desarrollo de

    software.

    La metodologa orientada a objetos presentacaractersticas que lo hacen idneo para el

    anlisis, diseo y programacin de sistemas.

  • Modelado

    Para finales de los aos 90, se puede decir queel modelado es una parte fundamental dentro delas actividades del desarrollo de software. Seconstruyen modelos para comunicar laestructura y el comportamiento deseado delsistema.

    El software se centra en optimizar al mximo elcdigo, es decir, escribir menos lneas yconseguir el mejor rendimiento sin quedisminuya la eficacia.

  • A travs del modelado seconsiguen 4 objetivos:

    Ayudar a visualizar cmo eso debera ser un sistema.

    Especificar la estructura o elcomportamiento de unsistema.

    Proporcionar plantillas queguen la construccin de unsistema.

    Documentar las decisionesadoptadas.

  • 1. El primer principio se basa en la profunda influenciaque tiene el cmo abordar el problema y cmo se dala forma de solucin.

    2. El segundo principio bsico del modelado nos diceque todo modelo puede ser expresado a diferentesniveles de precisin. Un analista o un usuario final secentrarn en el qu; un desarrollador se centrar enel cmo.

    Principios del Modelado

  • Principios del Modelado

    3. El tercer principio establece que los mejores modelosestn ligados a la realidad. (POO)

    4. Finalmente el cuarto principio establece que un nicomodelo no es suficiente, de manera que cualquiersistema se aborda mejor a travs de un pequeoconjunto de modelos casi independientes.

  • Ejemplo Cuando se esta

    construyendo un edificiose requieren distintostipos de planos: de planta,de alzado, elctricos,calefaccin, sanitarios,etc. Y estos se estudiande manera aislada peroen conjunto nos sirvenpara dar vida al sistemaque todos tienen encomn que es el edificio.

  • Vamos a practicar Cmo aplicaran los 4

    principios del modelado al ejemplo del edificio?

    Idea

    Niveles de precisin

    Modelos

    Unin

  • Pensar como desarrolladores TIC Qu puede convertirse en un sistema TIC que yo

    pueda desarrollar?

  • Perspectiva algortmica contra perspectiva OO

  • Perspectiva algortmica

    La visin tradicional del desarrollo de softwaretoma una perspectiva algortmica.

    En este enfoque, el bloque principal deconstruccin de todo el software es elprocedimiento o funcin.

    Esta jerarqua se organiza en torno a unprograma principal, desde el cual se accede aotros mdulos, llamados subrutinas osubprogramas.

  • Los datos tienen un papel secundario, y no sonms que aquello con lo que se alimenta a losprogramas para que realicen su funcin.

    La programacin estructurada se puede resumiren la siguiente expresin:

    Algoritmos + Estructura de datos = Programas

  • La visin actual del desarrollo de software toma unaperspectiva orientada a objetos.

    En este enfoque, el principal bloque de construccinde todos los sistemas software es el objeto y laclase.

    En sntesis, la programacin orientada a objetospuede ser resumida de la siguiente manera:

    Objetos + Flujo de mensajes = Programas

    Perspectiva orientada a objetos

  • ADOO El Anlisis y Diseo Orientado a Objetos

    (ADOO) es una tcnica para modelar sistemasque se encarga de describir y modelar el sistemacomo si fuera un conjunto de objetosrelacionados que interactan entre s.

    Los mtodos orientados a objetos centran suatencin en objetos y clases:

    Un objeto es una cosa. Una clase es una plantilla o definicin decosas.

  • Clase

    Objeto

    Ejemplo

  • Cul es cul?

  • Los mtodos orientados a objetos creanmodelos con los cuales:

    Se pueden crear clases y objetos.

    Definen su estructura, comportamiento y

    propsito.

    Definen la relacin entre clases.

    Definen la relacin entre objetos.

  • Mtodos

    UsaDefine

  • La promesa de la OO Los requerimientos y la arquitectura (visin global, relacin

    entre objetos) pueden ser capturados en una manerarepetida y razonable.

    Los objetos modelan el comportamiento del mundo real yson fciles de entender.

    Los componentes pueden ser reutilizados a travs deinterfaces bien definidas.

    El cambio de requerimientos es fcil de soportar.

    Los costos de mantenimiento son reducidosconsiderablemente.

  • Objetos Se define a un objeto como "una entidad tangible quemuestra alguna conducta bien definida".

    Un objeto "es cualquier cosa, real o abstracta, acerca dela cual almacenamos datos y hay mtodos que hacen usode dichos datos".

  • Los objetos tienen una cierta integridad, quees necesaria para que podamos interactuar con

    l sin confundirlo con otro, y para que puedan

    existir varios objetos de la misma clase.

  • Atributos

    Son las caractersticas que definen a unobjeto como nico.

    Mtodo

    Es la accin de un objeto, representadogeneralmente por verbos. El nombre de unmtodo debe indicar idealmente la funcin deun objeto.

    Objetos

  • Objetos

  • Mensaje

    Los mensajes son llamadas a los mtodos del

    objeto con el que se quiere comunicar para

    decirle que haga una o varias cosas.

    Un mensaje es una accin que debe hacer

    algn objeto.

    Un objeto por s slo no es muy til, necesita

    interactuar para modelar algn problema.

    Objetos

  • Ejemplos Atributos de las nubes:

    Tamao

    Sombra

    Contenido de agua

    Operaciones de las nubes:

    Llover

    Nevar

    Tronar

  • Ejemplos

  • Vamos a practicar 01_objetos. De acuerdo con el enunciado, revisar

    la informacin acerca del caso de estudio paraencontrar objetos.

  • Abstraccin Este concepto se refiere bsicamente a

    describir una entidad en forma simplificada, atravs de sus propiedades principales, omitiendolos detalles.

    Ejemplo: Todo mundo sabe que un auto sirvepara desplazarse sin importar cmo lo haga.

  • La abstraccin consiste en ignorar detalles yencontrar las principales caractersticas, deesta manera se simplifica cmo los usuariosinteractan con los objetos.

  • Los tipos de abstraccin son:

    Abstraccin de datos: Son las caractersticasy las propiedades de un objeto.

    Abstraccin funcional: Es lo que hace elobjeto (acciones y/o eventos).

  • Finalmente los objetos que encontramos al analizar eldominio del problema y que tienen la misma estructura y

    comportamiento, forman parte de una clase. As que lo

    que un objeto puede saber (estado) o hacer

    (comportamiento), est determinado por la clase a la

    que pertenece.

  • Ejemplo Auto

    Abstraccin de datos

    Color

    Tamao

    Velocidad

    Abstraccin funcional

    Avanzar

    Retroceder

    Frenar

    Chocar

  • Vamos a practicar 02_abstraccin: Encontrar todos los atributos y

    mtodos de los objetos encontrados en el ejercicio anterior (Sanda).

  • Encapsulacin Esta caracterstica se refiere a ocultar la

    informacin de los detalles de laimplementacin.

    El encapsulamiento es guardar o poner algodentro de un objeto, de esta manera se separanlos aspectos externos de un objeto, de losdetalles internos de implementacin que seocultan en los objetos.

  • EjemploTodo mundo sabe que para que un auto frene se

    requiere pisar el pedal de la izquierda, sinembargo slo el mecnico conoce laimplementacin de los frenos.

  • La encapsulacin est formada por:

    Interfaz pblica: Son las operaciones quepodemos hacer con un objeto para interactuarcon l.

    Implementacin: Son las operacionesinternas que realiza un objeto para lograr supropsito.

    Informacin interna: Son los datos queocupa el objeto de manera interna paracomplementar su funcin.

  • Los atributos y operaciones son miembros delobjeto y pueden ser de tipo pblico o privado.

    Si el miembro es pblico, forma parte de lainterfaz pblica, de lo contrario forma partede la implementacin.

    En sistemas orientados a objetos todos losatributos son privados y pueden seraccedidos con operaciones pblicas.

    Encapsulacin

  • Vamos a practicar 03_encapsulacin: Agregar los mtodos

    encapsulados que deben llevar los objetos a los se leagreg atributos y mtodos en el ejercicio anterior(Sanda).